In4tek SMF (http://www.in4tek.com.br/smf/), fórum de suporte e traduções de mods para o SMF.
Este truque irá permitir quem viu um tópico X
/Sources/Display.php
fatal_lang_error('smf232', false);
fatal_lang_error('smf232', false);
if(!empty($_REQUEST['sa']) && $_REQUEST['sa'] == 'log') {
DisplayLog();
}
?>
function DisplayLog()
{
global $context, $scripturl, $db_prefix, $topic;
isAllowedTo('moderate_forum');
$request = db_query("
SELECT
lt.ID_MEMBER, lt.ID_TOPIC, mem.realName
FROM {$db_prefix}log_topics AS lt
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = lt.ID_MEMBER)
WHERE ID_TOPIC = $topic", __FILE__, __LINE__);
while ($row = mysql_fetch_assoc($request))
{
// Build the array.
$context['logs'][] = array(
'member' => array(
'id' => $row['ID_MEMBER'],
'name' => $row['realName'],
'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['realName'] . '</a>',
'href' => $scripturl . '?action=profile;u=' . $row['ID_MEMBER'],
),
);
}
mysql_free_result($request);
$context['sub_template'] = 'displaylog';
}
?>
/Themes/default/Display.template.php
?>
function template_displaylog()
{
global $context, $settings, $options, $txt, $scripturl, $modSettings;
echo '
<table border="0" cellpadding="0" cellspacing="0" style="padding-top: 1ex;" align="center">
<tr class="titlebg">
<td>Quem viu o Tópico</td>
</tr>';
foreach($context['logs'] as $log) {
echo '
<tr class="windowbg">
<td>', $log['member']['link'], '</td>
</tr>';
}
echo '
</table>';
}
?>
<div class="nav" style="margin-bottom: 2px;"> ', $context['previous_next'], '</div>
<div class="nav" style="margin-bottom: 2px;"> ', $context['previous_next'], '</div>';
if($context['can_moderate_forum'])
echo '
<a href="' . $scripturl . '?topic='. $context['current_topic'] . '.0;sa=log">Ver o Log do tópico</a>';
echo '
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fimg505.imageshack.us%2Fimg505%2F5594%2Fimagem1zk0.png&hash=1418ac8d7d3aa397a50737f84ac3f23c446e6736)
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fimg100.imageshack.us%2Fimg100%2F223%2Fimagem2do0.png&hash=4663c398d01188209819984b52aee0a66a620800)
--> indice ;)
Isto so dá para Admins neh?
Ver o Log do topico.. :)
O log do tópico sim. Se quiseres que dê para toda a gente é só trocar isto:
<div class="nav" style="margin-bottom: 2px;"> ', $context['previous_next'], '</div>';
if($context['can_moderate_forum'])
echo '
<a href="' . $scripturl . '?topic='. $context['current_topic'] . '.0;sa=log">Ver o Log do tópico</a>';
echo '
Por:
<div class="nav" style="margin-bottom: 2px;"> ', $context['previous_next'], '</div>';
echo '
<a href="' . $scripturl . '?topic='. $context['current_topic'] . '.0;sa=log">Ver o Log do tópico</a>';
echo '
edit: se bem que eu ache que só os moderadores devam ver o log, mas isso é lá contigo :P
Sim eu tambem, éra mesmo essa duvida, se todos visem o log era um bocado exaxerado :P
Obrigado pela ajuda
Funcionou a 100% ;D
Só uma pergunta, estas mudificações todas que se faz no forum, falo de manualmente, nao afecta o desempenho do mesmo pois nao?
Nem pode dar erros futuros ou assim?
Ermmm....
Os MODs não são mais que alterações manuais automatizadas (que raio de expressão :P )
Com mais alterações ao código base, mais são as hipóteses de os MODs depois falharem a instalar, e de alguns buracos de segurança poderem (e nota bem o PODEREM, não quer dizer que vá acontecer) aparecer.
Se te quiseres manter 100% seguro, usa o SMF com tema default e sem MODs :P
Hum, já percebi e desculpa la a expressao "manualmente" mas foi a unica que encontrei...
Se começar com muitos erros, ou algo do genero nada como desintalar alguns mods e apagalos!
Para dizer a verdade, o seguro que percebo acerca do assunto é de encontrarem a pass de um admin :P
Agora conheço bem, roubarem backups por folhas de estilo ou notepad ou algumas coisas do genero, ate por flash conseguem hackiar o forum..
Mas isso nao sao todos como é obvio!
obrigado amigo já funciona só queria pedir uma coisa se der para fazer, que é quando se clica no texto ele abri-se uma nova janela com os nomes de quem vio o poste.
Se tiveres rato com scrool, clicas em çima do link com o scrool, e ele vai abrir numa nova janela ;)
link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['realName'] . '</a>',
passa a :
link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '" target="_new">' . $row['realName'] . '</a>',
Na função function template_displaylog() do Display.template.php ;)
Quote from: margarett on April 03, 2009, 01:06:22 PM
link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['realName'] . '</a>',
passa a :
link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '" target="_new">' . $row['realName'] . '</a>',
Na função function template_displaylog() do Display.template.php ;)
fins isso mas não resultou
e a opção para todes verem tambem não funciona clica-se no link e aparece esta mensagem de erro ( Você não está autorizado a moderar este Fórum.)
É no meu também a função de todos verem também não deu certo só deu certo o que é para admins sera que tem outra forma de por os moderadores acima a verem este log?
Devia funcionar. O link em HTML com um "target" devia chutar-te para uma janela nova, a menos que o SMF já tenha o "_new" atribuido... Experimenta trocar o "_new" por outra coisa qualquer (tipo "_dsdfsdf") :P
pois em prencipio devia dar já testei de varias maneiras mas não deu.
Então não sei... Tenta postar no tópico do MOD, indicando que fizeste a alteração que te indiquei e não resultou.
andei a pesquisar mas não encontrei nada sobre este MOD, tambem não percebo muito de ingles para pesquisar por outa forma.....
Este ainda não se tornou um mod (Mod modificação automatica) é uma modificação manual que tu tens que abrir seus fixeiros php e incrementa-los amnualmente. Agora se n consege é melhor nem mexer pois um erro e pode ser fatal pro teu forum mas se quer tentar baixe os arquivos via ftp (pode baixar o Filezilla no baixaki) abre e encontre os fixeiros que pede e a linha certa de inserir e se te ajudar um pouco procure um site de tradução no google.
Tens razão, eu é que fiz confusão... Isto é uma modificação manual que o Costa traduziu do quadro "Tips and Tricks".
O que quer dizer que eu tava a dizer-te asneiras :P
Aquilo lá deve funcionar, mas para outra coisa qualquer :P
Experimenta trocar isto:
<a href="' . $scripturl . '?topic='. $context['current_topic'] . '.0;sa=log">Ver o Log do tópico</a>';
Por:
<a href="' . $scripturl . '?topic='. $context['current_topic'] . '.0;sa=log" target="_new">Ver o Log do tópico</a>';
Se bem percebi, tu queres ver o log numa nova janela, certo?
obrigado já está a funcionar :D
Quote from: Costa on November 12, 2008, 01:45:20 PM
Este truque irá permitir quem viu um tópico X
/Sources/Display.php
fatal_lang_error('smf232', false);
fatal_lang_error('smf232', false);
if(!empty($_REQUEST['sa']) && $_REQUEST['sa'] == 'log') {
DisplayLog();
}
?>
function DisplayLog()
{
global $context, $scripturl, $db_prefix, $topic;
isAllowedTo('moderate_forum');
$request = db_query("
SELECT
lt.ID_MEMBER, lt.ID_TOPIC, mem.realName
FROM {$db_prefix}log_topics AS lt
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = lt.ID_MEMBER)
WHERE ID_TOPIC = $topic", __FILE__, __LINE__);
while ($row = mysql_fetch_assoc($request))
{
// Build the array.
$context['logs'][] = array(
'member' => array(
'id' => $row['ID_MEMBER'],
'name' => $row['realName'],
'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['realName'] . '</a>',
'href' => $scripturl . '?action=profile;u=' . $row['ID_MEMBER'],
),
);
}
mysql_free_result($request);
$context['sub_template'] = 'displaylog';
}
?>
/Themes/default/Display.template.php
?>
function template_displaylog()
{
global $context, $settings, $options, $txt, $scripturl, $modSettings;
echo '
<table border="0" cellpadding="0" cellspacing="0" style="padding-top: 1ex;" align="center">
<tr class="titlebg">
<td>Quem viu o Tópico</td>
</tr>';
foreach($context['logs'] as $log) {
echo '
<tr class="windowbg">
<td>', $log['member']['link'], '</td>
</tr>';
}
echo '
</table>';
}
?>
<div class="nav" style="margin-bottom: 2px;"> ', $context['previous_next'], '</div>
<div class="nav" style="margin-bottom: 2px;"> ', $context['previous_next'], '</div>';
if($context['can_moderate_forum'])
echo '
<a href="' . $scripturl . '?topic='. $context['current_topic'] . '.0;sa=log">Ver o Log do tópico</a>';
echo '
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fimg505.imageshack.us%2Fimg505%2F5594%2Fimagem1zk0.png&hash=1418ac8d7d3aa397a50737f84ac3f23c446e6736)
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fimg100.imageshack.us%2Fimg100%2F223%2Fimagem2do0.png&hash=4663c398d01188209819984b52aee0a66a620800)
Pra sofisticar ainda mais, se quizer crie um botão igual aos do seu forum respeitando as dimenssoes dos demais, suba-o até a pasta /images/buttons/log.gif
E defina um link HTML para ele.
Por exemplo:
http://www.seuforum/seutema/images/buttons/log.gif
e altere todo conteúdo do seu código.
Onde Le-se:
>Ver o Log do tópico<Por:
><img src="http://www.seuforum/seutema/images/buttons/log.gif" alt=" Ver o Log do tópico"></a><
ou altere apenas o conteudo TEXTO:
Ver o Log do tópicopelo código html:
<img src="http://www.seuforum/seutema/images/buttons/log.gif" alt=" Ver o Log do tópico"></a>
Inseri o codigo entre as tags :
>< para
demostrar que não deve ficar espaços dentro da tag html.
É isso, espero ter ajudado
ja corri tudo no default e no theme que uso e nao encontro - /Sources/Display.php
naum é no thema muito menos no defaut, no seu diretorio de pastas vc vai abrir e lah havera mais pastas antes de chegar a pasta theme vc vai ver outras onde uma ta escrito sources dai vc abre ela e vai encontrar o display dentro. Entao n é na pasta themes e sim na pasta sources
Aqui você encontra o mod para a versa 2.0 beta 4 em portugues em anexo não testei no 1.1.8
Quote from: Darkness_Black on May 15, 2009, 01:01:29 AM
Aqui você encontra o mod para a versa 2.0 beta 4 em portugues em anexo não testei no 1.1.8
Meu fórum não conseguiu encontrar "// Special case for the custom one. "
Display Template .php
http://www.samp.destroyercorp.com
Quote from: CesarManara on July 24, 2009, 09:54:33 PM
Quote from: Darkness_Black on May 15, 2009, 01:01:29 AM
Aqui você encontra o mod para a versa 2.0 beta 4 em portugues em anexo não testei no 1.1.8
Meu fórum não conseguiu encontrar "// Special case for the custom one. "
Display Template .php
http://www.samp.destroyercorp.com
Alguém? =/
queria instalar aqui, mas encontrei alguns problemas
já na primeira parte
onde manda editar o /Sources/Display.php
e achar fatal_lang_error('smf232', false);
o mais parecido que achei foi
fatal_lang_error('no_board', false);
e
fatal_lang_error('not_a_topic', false);
fatal_lang_error('no_access', false);
eu to usando o 2.0RC1.2
http://custom.simplemachines.org/mods/index.php?mod=1300
Quote from: Costa on July 28, 2009, 12:30:02 PM
http://custom.simplemachines.org/mods/index.php?mod=1300
Este deu o mesmo erro que o mod do Darkness
instalem o mod á mão... poxa gente, já foi dito várias vezes que isso é conflito com outros mods, é só editarem os arquivos à mão da maneira como está o parser
Quote from: Costa on July 28, 2009, 02:48:32 PM
instalem o mod á mão... poxa gente, já foi dito várias vezes que isso é conflito com outros mods, é só editarem os arquivos à mão da maneira como está o parser
Costa, o problema de instalar a mão, é que a única coisa que ele fornece no "Find", é: "// Special case for the custom one. "
E meu Display.Template não tem isso =/
Anexei no post anterior.
WTF?!?!?!?!
Tentem pedir suporte ao criador do mod, o mod é só para o beta 4 :P
Olá gente.
Tenho esta modificação a funcionar há algum tempo e parecia-me que estava a 100%, mas reparei que há membros que não aparecem mesmo que tenham sido eles a fazer o tópico.
Será que alguém sabe a solução?
Cumprimentos a todos