[TUTORIAL] Saber quem viu o tópico

Started by Costa, November 12, 2008, 01:45:20 PM

Previous topic - Next topic

Costa

In4tek 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

Code (encontre) Select
      fatal_lang_error('smf232', false);

Code (substitua por) Select
      fatal_lang_error('smf232', false);

   if(!empty($_REQUEST['sa']) && $_REQUEST['sa'] == 'log') {
      DisplayLog();
   }


Code (encontre) Select
?>

Code (substitua por) Select
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

Code (encontre) Select
?>

Code (substitua por) Select
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>';
}

?>


Code (encontre) Select
         <div class="nav" style="margin-bottom: 2px;"> ', $context['previous_next'], '</div>

Code (substitua por) Select
         <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 '




Hugo "Costa" Fernandes - PT SMF
Todas as MP's a pedir ajuda são sujeitas a radioactividade, microondas, queimadas e atiradas borda fora.

"At least someone appreciates the fact that I am doing and not thinking..."
"Laziness is counter-revolutionary."

margarett

Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

Amendoim

Isto so dá para Admins neh?
Ver o Log do topico.. :)
Versão 2.0 RC2 Portuguese_Pt

Simple Portal 2.3 Portuguese_Pt

Em crescimento na programação :)

http://www.gamextuga.com

margarett

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
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

Amendoim

Sim eu tambem, éra mesmo essa duvida, se todos visem o log era um bocado exaxerado :P


Obrigado pela ajuda
Versão 2.0 RC2 Portuguese_Pt

Simple Portal 2.3 Portuguese_Pt

Em crescimento na programação :)

http://www.gamextuga.com

Amendoim

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?

Versão 2.0 RC2 Portuguese_Pt

Simple Portal 2.3 Portuguese_Pt

Em crescimento na programação :)

http://www.gamextuga.com

margarett

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
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

Amendoim

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!
Versão 2.0 RC2 Portuguese_Pt

Simple Portal 2.3 Portuguese_Pt

Em crescimento na programação :)

http://www.gamextuga.com

vms

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.

Amendoim

Se tiveres rato com scrool, clicas em çima do link com o scrool, e ele vai abrir numa nova janela ;)
Versão 2.0 RC2 Portuguese_Pt

Simple Portal 2.3 Portuguese_Pt

Em crescimento na programação :)

http://www.gamextuga.com

margarett


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 ;)
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

vms

#11
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.)

Darkness_Black

É 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?

Translator - Brazilian

Não respondo MP de ajuda, Poste sua duvida no forum!!! Se alguém te Ajudou Agradeça!!!

margarett

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
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

vms

pois em prencipio devia dar já testei de varias maneiras mas não deu.

margarett

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.
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

vms

andei a pesquisar mas não encontrei nada sobre este MOD, tambem não percebo muito de ingles para pesquisar por outa forma.....

Darkness_Black

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.

Translator - Brazilian

Não respondo MP de ajuda, Poste sua duvida no forum!!! Se alguém te Ajudou Agradeça!!!

margarett

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?
Se forem conduzir, não bebam. Se forem beber... CHAMEM-ME!!!! :D

QuoteOver 90% of all computer problems can be traced back to the interface between the keyboard and the chair

vms


Advertisement: