Atualização automática das mensagens

Suporte aos MODs/Hacks para phpBB.
marcosrom
Novato
Novato
Mensagens: 5
Registrado em: 24 Abr 2012, 00:38

Atualização automática das mensagens

Mensagem por marcosrom »

Qual a URL do seu fórum: localhost
Tipo de Hospedagem: Pago
Qual a versão do phpBB: phpBB 3.0.10
É um novo ou uma conversão: Instalação Limpa
Usuário de teste: Usuário: Senha:
Estilos instalados: xandpurple
Modificações instaladas: \Advanced BBCode Box 3 (aka ABBC3)\ \Anti-Spam ACP\ \Auto Backup\ \Breizh Ajax Checks\ \Custom Header Logo with custom backgrounds\
Qual seu nivel de experiência: Intermediario
Quando começou o problema: Atualização automática das mensagens
Descreva seu problema: Boa noite galera,

Estou preparando um fórum que receberá muitos usuários migrados do orkut. A versão atual da plataforma do Google recarrega dinâmicamente as mensagens postadas quando o usuário está visitando a última página do tópico, dispensando qualquer forma de atualização por parte do usuário.
De forma a evitar futuras reclamações de visitantes migrados, que consideram o ato de atualizar a página inúmeras vezes desagradável, gostaria de saber se há alguma solução semelhante para o recarregamento automático das mensagens no phpBB.
Avatar do usuário
Chico Gois
Administrador
Administrador
Mensagens: 3777
Registrado em: 03 Jul 2004, 03:53
Nome Real: Chico Gois
Localização: São Paulo - Capital
Contato:

Re: Atualização automática das mensagens

Mensagem por Chico Gois »

Seria o index?
marcosrom
Novato
Novato
Mensagens: 5
Registrado em: 24 Abr 2012, 00:38

Re: Atualização automática das mensagens

Mensagem por marcosrom »

Na verdade poderia ser uma função específica para o viewtopic mas se for para todo o fórum, tudo bem.
Avatar do usuário
Chico Gois
Administrador
Administrador
Mensagens: 3777
Registrado em: 03 Jul 2004, 03:53
Nome Real: Chico Gois
Localização: São Paulo - Capital
Contato:

Re: Atualização automática das mensagens

Mensagem por Chico Gois »

marcosrom
Novato
Novato
Mensagens: 5
Registrado em: 24 Abr 2012, 00:38

Re: Atualização automática das mensagens

Mensagem por marcosrom »

Nesse caso, caso o usuário esteja escrevendo uma mensagem e utrapasse os 60 segundos, ocorrerá a atualização e ele a perderá, certo?
Queria evitar isso atualizando somente as mensagens. ;)
Avatar do usuário
Chico Gois
Administrador
Administrador
Mensagens: 3777
Registrado em: 03 Jul 2004, 03:53
Nome Real: Chico Gois
Localização: São Paulo - Capital
Contato:

Re: Atualização automática das mensagens

Mensagem por Chico Gois »

marcosrom escreveu:Nesse caso, caso o usuário esteja escrevendo uma mensagem e utrapasse os 60 segundos, ocorrerá a atualização e ele a perderá, certo?
Queria evitar isso atualizando somente as mensagens. ;)
´
Não vai perder, é só no index.
marcosrom
Novato
Novato
Mensagens: 5
Registrado em: 24 Abr 2012, 00:38

Re: Atualização automática das mensagens

Mensagem por marcosrom »

Infelizmente não é isso que procuro ainda. Essse código só atualiza o index e gostaria de uma solução para atualizar automaticamente as mensagens dos tópicos (no viewtopic) sem afetar, por exemplo, a escrita de novas mensagens (em outras palavras, que a página não atualize se o usuário estiver escrevendo uma resposta).
marcosrom
Novato
Novato
Mensagens: 5
Registrado em: 24 Abr 2012, 00:38

Re: Atualização automática das mensagens

Mensagem por marcosrom »

Chico,

Baseado no código para o index que você enviou, fiz uma adaptação para o viewtopic:

Código: Selecionar todos

meta_refresh(60, append_sid("{$phpbb_root_path}viewtopic.$phpEx?f=$forum_id&t=$topic_id&start=$start"));
Isso solucionou o problema da atualização das mensagens mas, ainda assim, o usuário tem que avançar para a próxima página. Se algum companheiro tivesse alguma ideia para avançar automaticamente de página ou mesmo emitir um aviso indicando que é necessário mudar a página, ficaria agradecido.

Outro ponto: a atualização ocorre mesmo quando o usuário está digitando uma resposta rápida. Não seria possível suspendê-la nesse momento?
gssilva
Membro Avançado
Membro Avançado
Mensagens: 1109
Registrado em: 27 Jul 2010, 19:40
Nome Real: Guilherme Silva
Localização: Araraquara - SP
Contato:

Re: Atualização automática das mensagens

Mensagem por gssilva »

Como fazer para avançar para a próxima automaticamente eu não vou saber lhe dizer se tem como.
Mas tem uma coisa que você pode fazer que é alterar os valores da tabela responsável pela ordem do tópico.

Para fazer isso você terá que criar um arquivo com o nome de updatetable.php (updatetable é apenas como exemplo, mas você pode usar outro nome se assim desejar) com o seguinte conteúdo:

Código: Selecionar todos

<HTML><BODY>

<?php
$db="phpbb";
$link = mysql_connect('localhost', 'root', '');
if (! $link)
die(mysql_error());
mysql_select_db($db , $link) or die("Select Error: ".mysql_error());

$result=mysql_query("UPDATE phpbb_users SET user_post_sortby_dir = 'd' ") or die("Alter Error: ".mysql_error());
mysql_close($link);
print "Field added";
?>

</BODY>
</HTML>
Altere as linhas abaixo com as informações do seu fórum caso necessário

$db="phpbb";
$link = mysql_connect('localhost', 'root', '');


Envie o arquivo updatetable.php para a raiz do seu fórum e o execute acessando pelo link do seu fórum.
www.seusite.com/forum/updatetable.php
www.seusite.com/updatetable.php

Isso vai depender de onde o seu fórum estiver instalado. Coloque o nome do diretório em que seu fórum está instalado.

Bom, isso resolve um problema que é da ordem do tópico para os usuários já registrados, ai vem a pergunta: mas e os usuários novos?

Fazendo só o passo acima não afetará os usuários novos.
Para que os novos usuários também recebam essa configuração você deverá alterar o arquivo viewtopic.php que está na raiz do fórum.

Procure pela linha:

Código: Selecionar todos

$default_sort_dir	= (!empty($user->data['user_post_sortby_dir'])) ? $user->data['user_post_sortby_dir'] : 'a';
Substitua por:

Código: Selecionar todos

$default_sort_dir	= (!empty($user->data['user_post_sortby_dir'])) ? $user->data['user_post_sortby_dir'] : 'd';
Após fazer essa alteração e enviar o arquivo para o servidor lembre-se de limpar o cache do fórum.

Quanto a página atualizar enquanto o usuário digita eu não vou poder lhe ajudar.

O formulário do primeiro passo foi disponibilizado pelo robra, eu adaptei o código para o seu caso.


Qualquer dúvida basta postar.
Trancado