Autor Subscrever este autor
Avatar do usuário
Chico Gois
Administrador
Administrador
 
Artigos: 19
Registrado em: Sáb Jul 03, 2004 03:53
Localização: São Paulo - Capital
Nome Real: Chico Gois
Exportar Artigo
 

Adicionar o número de novas mensagens.

ID do artigo: 96
Escrito por: Chico Gois
Escrito em: Qua Mar 09, 2011 11:23
Descrição do artigo: Adiciona o número de novas mensages ao lado de Ver novas mensagens
Link externo para este artigo:
http://www.suportephpbb.com.br/forum/kb.php?a=96
Descrição: Adiciona o número de novas mensages ao lado de Ver novas mensagens

Abra: includes/functions.php
Localize:
Código: Selecionar todos
// The following assigns all _common_ variables that may be used at any point in a template


Antes, Adicione:
Código: Selecionar todos
$sql = 'SELECT COUNT(post_id) as count
    FROM ' . POSTS_TABLE . '
      WHERE post_time > ' . $user->data['user_lastvisit'] . '
    AND poster_id != ' . $user->data['user_id'];

$result = $db->sql_query($sql);
$post_count = $db->sql_fetchfield('count', false, $result);
$db->sql_freeresult($result);


Localize:
Código: Selecionar todos
'U_SEARCH_SELF'         => append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=egosearch'),


Antes, Adicione:
Código: Selecionar todos
'NEW_POST_COUNT'      => $post_count,


Abra:prosilver/template/index_body.html
Localize:
Código: Selecionar todos
<a href="{U_SEARCH_NEW}">{L_SEARCH_NEW}</a>


Substitua por:
Código: Selecionar todos
<a href="{U_SEARCH_NEW}">{L_SEARCH_NEW} (<span style="color:#b22222; font-weight: bold;">{NEW_POST_COUNT}</span>)</a>


Não esqueça de atualizar o template.
Este artigo foi editado por robra em Qui Mar 21, 2013 11:04

Comentários

{ PERMANENT_LINK }por robra em Qui Mar 21, 2013 11:35

No caso das mensagens estarem sujeitas à aprovação, o contador de mensagens registra as novas mensagens mesmo elas ainda pendentes de aprovação.
Exemplo:
Digamos que 2 mensagens foram postadas e ainda estão pendentes de aprovação.
O link das "novas mensagens" vai aparecer desta forma:
Ver novas mensagens (2)

Porém, quando o usuário comum clica no link, carrega a página com a mensagem:
"Nenhuma mensagem foi encontrada utilizando estes critérios"

Neste caso, onde se deseja que apenas sejam registradas no contador somente as novas mensagens já aprovadas, é preciso adicionar esta a condição à consulta ao banco de dados.
O código da consulta existente no artigo é:
Código: Selecionar todos
$sql = 'SELECT COUNT(post_id) as count
    FROM '
 . POSTS_TABLE . 
      WHERE post_time > '
 . $user->data['user_lastvisit'] . '
    AND poster_id != '
 . $user->data['user_id'];

$result = $db->sql_query($sql);
$post_count = $db->sql_fetchfield('count', false, $result);
$db->sql_freeresult($result); 

Substitua a linha...
WHERE post_time > ' . $user->data['user_lastvisit'] . '
... por:
Código: Selecionar todos
WHERE post_approved = 1
      AND post_time 
> ' . $user->data['user_lastvisit'] . '

Abraço. Imagem
[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
Avatar do usuário
robra
Moderador
Moderador
 
Artigos: 21
Registrado em: Qui Dez 02, 2010 10:29

Quem está online

Usuários registrados: Bing [Bot], Brandwatch/Magpie [Bot], Exabot [Bot], Google [Bot], murilo_ns, Yandex [Bot]