Полезная примочка для форума!

1.68K
.
+5 За идею!
.
╭∩╮ (`-`) ╭∩╮
Не рекомендую ставить данный модуль на крупных сайтах, ибо в функции используются циклические запросы, да и сама функция вызывается в цикле.

На крупных сайтах это может убить (перегрузить) сервер
.
aka Sex Terror
AlkatraZ (11.03.2011/22:36)
Не рекомендую ставить данный модуль на крупных сайтах, ибо в функции используются циклические запросы, да и сама функция вызывается в цикле.

На крупных сайтах это может убить (перегрузить) сервер :
Ну я лично не так уж много крупных сайтов на джоне водел в основном мелкие а для них это в самый раз будет
.
ReaIs
А какой сайт можно отнести к крупному?
.
BupTyo3 (11.03.2011/21:55)
Архив для 3.xx
Изменены файлы
forum/index.php
forum/new.php
Скажи в forum/index.php
только это вписано

////////////////////////////////////////////////////////////
// Счетчик новых постов by Bup[T]yo3 //
////////////////////////////////////////////////////////////

function new_posts_forum($theme_id) {
global $user_id, $rights, $kmess, $home;
// Всего постов
$out = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type`='m' AND `refid`='" . $theme_id . "'" . ($rights >= 7 ? "" : " AND `close` != '1'") . ";"), 0);
if ($user_id && $out > 1) {
$res = mysql_query("SELECT `time` FROM `forum` WHERE `type`='m' AND `refid`='" . $theme_id . "' AND `user_id` = '$user_id'" . ($rights >= 7 ? "" : " AND `close` != '1'") . " ORDER BY `time` DESC LIMIT 1;");
if (mysql_num_rows($res)) {
$res = mysql_fetch_array($res);
// Если в теме есть посты юзера то проверяем есть ли посты других юзеров написанные после него
$rss = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum` WHERE `type`='m' AND `refid`='" . $theme_id . "' AND `user_id` != '$user_id' AND `time` >= '" . $res['time'] . "'" . ($rights >= 7 ? "" : " AND `close` != '1'") . ";"), 0);
if ($rss > 0) {
if ($out > $kmess) {
// Если есть таковые то едем дальше =)
$position = $out - $rss;
$page = ceil($position / $kmess);
$out .= ' / <span class="red"><a href="' . $home . '/forum/index.php?id=' . $theme_id . '&amp;page=' . $page . '">' . $rss . 'нов.</a></span>';
} else {
$out .= ' / <span class="red">' . $rss . 'нов.</span>';
}
}
}
}
return $out;
}

Или ещё есть, а то мой форум изминён малёха, просто заменить фаил не могу
.
aka Sex Terror
Это сама функция а ниже в одном месте её вызов идёт. сейчас покажу где именно.
.
*Враг общества*
ReaIs (11.03.2011/22:43)
А какой сайт можно отнести к крупному?
Ждон, газен и о5ве
.
╭∩╮ (`-`) ╭∩╮
ReaIs (11.03.2011/22:43)
А какой сайт можно отнести к крупному?
Это сколько у тебя тем и постов на форуме.
Если более 1000 тем и (или) более 5000 постов, то форум однозначно крупный.
З.Ы.
Многое еще зависит от мощности хостинга.
Говнохостинги могут не потянуть и 300 тем.
.
aka Sex Terror
для четвёрки это тут 380-383 строки
echo functions::display_menu($icons, '&#160;', '&#160;');
echo '<a href="index.php?id=' . $res['id'] . '">' . $res['text'] . '</a> [' . new_posts_forum($res['id']) . ']';
if ($cpg > 1) {
echo '<a href="index.php?id=' . $res['id'] . '&amp;page=' . $cpg . '">&#160;&gt;&gt;</a>';
}
.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
А более правильно, считать число записей в таблице `forum`
Если более 5000 записей, то на слабых хостингах этот модуль ставить настоятельно не рекомендую.
З.Ы.
Да и число посетителей онлайн сильно влияет.
Если сидит 1-2 человека, то нагрузки меньше.
А если к примеру онлайн на форуме 100 человек, они запросто завалят сервак и при 2000 записей.
Всего: 70