Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2008-08-08 15:52:34

Delico
Гость

Количество новых сообщений

Здравствуйте,

интересует такая модификация как количество новых сообщений, есть "Показать новые сообщения, с момента Вашего последнего визита" было бы неплохо что бы рядом была цифра сколько новых сообщений, подскажите пжст как это организовать?

#2 2008-08-11 12:50:33

hcs
Гость

Re: Количество новых сообщений

Это дополнительный запрос к базе. Ты уверен что тебе это надо?

Добавлено спустя     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>

из мода "пометка тем прочтенными"

#3 2008-08-11 14:36:00

Delico
Гость

Re: Количество новых сообщений

Спасибо, буду ставить, это будет только для зарегистрированных пользователей и только на главной = считаю допустимая нагрузка, ещё очень интересует кэширование, возможно имеет смысл кэшировать имена форумов и их описание, они не часто меняют, это вприницпе возможно сделать?

Добавлено спустя     41 минуту   17 секунд:
Поставил всё отлично, [ Generated in 0.018 seconds, 13 queries executed ] = на это можно ориентироваться?

Редактировался Delico (2008-08-11 15:17:41)

#4 2008-08-11 16:27:29

hcs
Гость

Re: Количество новых сообщений

Можно на это ориентироваться. Кэшировать тут нечего, поскольку количество новых непрочтенных тем у каждого пользователя своё.
Имена форумов кэшировать можно, и сделать это несложно.

Подвал доски

Под управлением FluxBB. Хостинг Hostens