News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Como saber o ID do membro que iniciou o tópico?

Started by Nícholas Carballo, December 09, 2010, 03:38:51 PM

Previous topic - Next topic

Nícholas Carballo

Olá a todos,venho por meio deste sanar uma dúvida,gostaria de saber como eu descubro a ID do membro que iniciou um tópico no fórum.Você todos sabem que acessamos o sumário do perfil de um membro da seguinte forma http://url.com/forum/index.php?action=profile;u=idperfil onde idperfil é o número único que identifica o membro,o seguinte é... quero colocar um sistema muito simples no meu fórum.

Quando um membro clica em um botão do fórum com a função onclick=popup(); o código javascript automáticamente aplauda o membro que criou o tópico.Entenderam? já tenho o código javascript pronto que eu criei,falta apenas saber como descobrir o ID do membro que criou o tópico.
Quote
function popup() {
window.open("', $scripturl, '?action=modifykarma;sa=applaud;uid=idmembro;topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '","_self");
};

TaijovuNeji

Hospedagem 20GB, Cpanel, Windows ou Linux, com suporte a PHP ou ASP, R$ 30,00 por mes ou 290 por ano


meu site: http://www.dungeonmakers.com.br/forum
Não atendo PM para pedidos de suporte/ajuda. Para isso existe o forum!!!

Nícholas Carballo

já havia posto isso no código e não funcionou,a função em javascript está bem no topo,será que devo colocá-la no arquivo display.template.php e após a mensagem do membro?

TaijovuNeji

Tente fazer isso que disse, e anexe o display.template.php para eu ver como ficou o código modificado na página..
Hospedagem 20GB, Cpanel, Windows ou Linux, com suporte a PHP ou ASP, R$ 30,00 por mes ou 290 por ano


meu site: http://www.dungeonmakers.com.br/forum
Não atendo PM para pedidos de suporte/ajuda. Para isso existe o forum!!!

Nícholas Carballo

TaijovuNeji fiz o que você disse,coloquei os códigos mas ele acaba aplaudindo o último que postou e não o primeiro,eu andei analisando o código e notei isso.
Quotewhile ($message = $context['get_message']())

ele vai repetindo os códigos até que retorne falso,ou seja pega todas as mensagens,acho que descobri como eu farei o sistema,faço tipo
Quote
if(message = $context['get_message']() == "1"){
function popup() {
window.open("', $scripturl, '?action=modifykarma;sa=applaud;uid=idmembro;topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '","_self");
};
}
coloco isto no final,eai ele verifica se depois dos códigos aquela mensagem for a primeira ele faz o echo para aparecer o código do javascript,caso não seja a mensagem primeira ele não exibe nada e segue os códigos... mais tarde vou testar isto e coloco o resultado aqui.


Abraço TaijovuNeji.

Nícholas Carballo


TaijovuNeji

Então poste aqui dizendo como ficou para que se alguém tiver a mesma dúvida saiba como resolver
Hospedagem 20GB, Cpanel, Windows ou Linux, com suporte a PHP ou ASP, R$ 30,00 por mes ou 290 por ano


meu site: http://www.dungeonmakers.com.br/forum
Não atendo PM para pedidos de suporte/ajuda. Para isso existe o forum!!!

Nícholas Carballo

não foi fácil mas também não foi dificil, dentro do código
Quote// Get all the messages...
   while ($message = $context['get_message']())
   {

}
onde ele vai retornandos os resultados e códigos HTML até que retorne um valor falso ou seja não tenha mais mensagens para exibir,com aquele $context é onde acessa todos os valores como assunto do tópico,número de visitas,etc.

Tive que abrir o arquivo Sources/Display.php e ler bastante,depois encontrei que pode-se saber a ID do membro que iniciou o tópico.
Quote', $context['topic_starter_id'], '
então no final dos posts coloquei o seguinte código parq eu quando clicado em botão seja ativada a função javascript que aplaude o membro que iniciou o tópico.
Quoteecho'<script language="JavaScript" type="text/javascript">
      function popup() {
      window.open("', $scripturl, '?action=modifykarma;sa=applaud;uid=', $context['topic_starter_id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '","_self");
      };
      </script>';
o ruim é que embaixo de todos os posts ele faz o echo do código em javascript,mas penso que isso não seja problema.


Abraços.

Advertisement: