У меня отображаются и гости (цифрой) и те, кто зарегистрированы (имена).... так как ты на форуме не зареген, то видел только цифру 1, ввиду того, что посещаемость моего форума практически нулевая. Мод который я использовал - https://www.wr-script.ru/mod/wrforum.1.8.8-line-sent.zip
Файлы
session.php - новый файл, нужно залить на сервер
sessin.dat - новый файл, нужно залить на сервер
index.php - добавил следующие строки:
1) в самом начале
include "session.php";
2) примерно в районе строки 144 должно быть так:
// Выбран ВЫХОД из форума - очищаем куки
if(isset($_GET['event'])) {if ($_GET['event']=="clearcooke") {setcookie("wrfcookies","",time()); Header("Location: index.php");
/// Блок редактирования информации в БД
$fp=fopen($sessindat,"w");
flock ($fp,LOCK_EX);//блокировка файла
ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА
for($i=0;$i<$vsego_polzovateley;$i++){$dt=explode("|", $lines[$i]);
if ($dt[0]==$ssid) { unset($lines[$i]);} else {fputs($fp,$lines[$i]);}
}
fflush ($fp);//очищение файлового буфера
flock ($fp,LOCK_UN);//снятие блокировки
fclose($fp);
chmod("$sessindat", 0600);
exit;
}}
3) в самом конце перед копирайтом
echo "
<small>Посетители online: <b>$vsego_polzovateley</b></small>";
echo "
";
echo implode(", ", $namearray);
tools.php - добавил следующие строки
1) в самом начале над строкой include "config.php";
session_start();
2) следующий код, примерно 338-я строка:
/// XXXXXXX Вставка session
$sessindat="sessin.dat";
$st = time()+60*5; // для гостей 5 минут
$wrfname="$rdt[0]";
if (isset($_COOKIE['wrssid'])) { $wrssid = $_COOKIE['wrssid'];
$itssid=explode("|", $wrssid);
$ssid = "$itssid[0]";
$stime = "$itssid[1]"; // Время которое было установлено для этой сессии
// Сессия найдена, устанавливаем новое время для продолжения жизни
$lines_sessindat = file("$sessindat"); /// массив строк БД
$masiv = implode("",$lines_sessindat);
$time_uid="$st";
$vremya_wrname="$time_uid|$wrfname";
$masiv=str_replac e("$stime|",$vremya_wrname,$masiv); // Редактируем
// Устанавливаем новое время сессии
$ssidcookies="$ssid|$time_uid";
setcookie("wrssid", $ssidcookies, time()+1728000);
/// Блок редактирования информации в БД
$fp=fopen($sessindat,"w");
flock ($fp,LOCK_EX);//блокировка файла
fputs($fp,"$masiv");
flock ($fp,LOCK_UN);//снятие блокировки
fclose($fp);
chmod("$sessindat", 0600);
}
}} // if-ы
Вроде все, кто он-лайн должно отображатся. Если будут выскакивать Ворнинги (Worning...) на странице после вставки и проверки работы форума, попробуйте закомментировать строки chmod("$sessindat", 0600); и session_start(); в этих добавленных кусках кода, то есть сделать вместо chmod("$sessindat", 0600); сделать #chmod("$sessindat", 0600);
Вначале закомментируйте chmod("$sessindat", 0600); после проверьте форум, затем если не помогло закомментируйте и session_start(); (сделать #session_start(); )
Но это еще не все дополненя которые сделал автор этого мода. Автор сделал еще вставку
отправки уведомления на эл.адрес пользователя, если его ник кто-то прокоментировал, с ссылкой на этот топик. Только для зарегестрированых пользователей и только одно уведомление. Но этот код я не вставлял у себя и здесь не приводил.