News:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu

[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


arkanoidblue

Quote from: Costa on November 12, 2008, 01:45:20 PM
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 '






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ópico

pelo 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

Tonecas

ja corri tudo no default e no theme que uso e nao encontro - /Sources/Display.php

Darkness_Black

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

Translator - Brazilian

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

Darkness_Black

#23
Aqui você encontra o mod para a versa 2.0 beta 4 em portugues em anexo não testei no 1.1.8

Translator - Brazilian

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

CesarManara

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

CesarManara

#25
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? =/

silverf0x

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

Costa

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."

CesarManara


Costa

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
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."

CesarManara

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.

Costa

WTF?!?!?!?!

Tentem pedir suporte ao criador do mod, o mod é só para o beta 4 :P
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."

Jumper™

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

Advertisement: