Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Тема закрыта
Здравствуйте,
интересует такая модификация как количество новых сообщений, есть "Показать новые сообщения, с момента Вашего последнего визита" было бы неплохо что бы рядом была цифра сколько новых сообщений, подскажите пжст как это организовать?
Это дополнительный запрос к базе. Ты уверен что тебе это надо?
Добавлено спустя 6 минут 42 секунды:
Найти в header.php строки:
if (in_array(basename($_SERVER['PHP_SELF']), array('index.php', 'search.php')))
$tpl_temp .= "\n\t\t\t".'</ul>'."\n\t\t\t".'<ul class="conr">'."\n\t\t\t\t".'<li><a href="search.php?action=show_new">'.$lang_common['Show new posts'].'</a></li>'."\n\t\t\t\t".'<li><a href="misc.php?action=markread">'.$lang_common['Mark all as read'].'</a></li>'."\n\t\t\t".'</ul>'."\n\t\t\t".'<div class="clearer"></div>'."\n\t\t".'</div>';
Заменить на это:
if (in_array(basename($_SERVER['PHP_SELF']), array('index.php', 'search.php'))) {
$hit_result = $db->query('SELECT t.id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.last_post>'.$pun_user['last_visit'].' AND t.moved_to IS NULL') or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());
$num_hits = $db->num_rows($hit_result);
$tpl_temp .= "\n\t\t\t".'</ul>'."\n\t\t\t".'<ul class="conr">'."\n\t\t\t\t".'<li><a href="search.php?action=show_new">(Новых: '.$num_hits.')'.$lang_common['Show new posts'].'</a></li>'."\n\t\t\t\t".'<li><a href="misc.php?action=markread">'.$lang_common['Mark all as read'].'</a></li>'."\n\t\t\t".'</ul>'."\n\t\t\t".'<div class="clearer"></div>'."\n\t\t".'</div>';
}
В твой сборке искомый код d header.php может отличаться, потомучто эта часть:
<li><a href="misc.php?action=markread">'.$lang_common['Mark all as read'].'</a></li>
из мода "пометка тем прочтенными"
Спасибо, буду ставить, это будет только для зарегистрированных пользователей и только на главной = считаю допустимая нагрузка, ещё очень интересует кэширование, возможно имеет смысл кэшировать имена форумов и их описание, они не часто меняют, это вприницпе возможно сделать?
Добавлено спустя 41 минуту 17 секунд:
Поставил всё отлично, [ Generated in 0.018 seconds, 13 queries executed ] = на это можно ориентироваться?
Редактировался Delico (2008-08-11 15:17:41)
Можно на это ориентироваться. Кэшировать тут нечего, поскольку количество новых непрочтенных тем у каждого пользователя своё.
Имена форумов кэшировать можно, и сделать это несложно.
Страницы 1
Тема закрыта