NoDeny - отображение статуса подключенных пользователей в режиме "Всегда онлайн"

Версия для печатиОтправить другуPDF version

NoDeny - это "конструктор", который можно "собрать" под свои нужды. Однако иногда необходимо править исходный код биллинга.

Во многих сетях есть абоненты, работающие в режиме "Всегда онлайн". Для того, чтобы в админке биллинга наблюдать, кто из этих пользователей работает в данный момент, необходимо внести небольшие изменения в файл nodeny.pl, который находится в каталоге /usr/local/nodeny.

Находим в файле такие строки:

   &CountMoney($id);
 }
 
 &SaveTrafTime(3,tv_interval($t0));
 $t0=[gettimeofday];

И перед строкой &SaveTrafTime(3,tv_interval($t0)); вносим дополнительный SQL-запрос:

$dbh->do("INSERT INTO dblogin (mid,act,time) SELECT `users`.`id`,'17',UNIX_TIMESTAMP() FROM `users` LEFT JOIN `$x_traf_tbl` ON `users`.`id`=`$x_traf_tbl`.`mid` WHERE `in` > 0 AND `out` > 0 AND `$x_traf_tbl`.`time`>$t-$Kern_t_traf*2 and `users`.`lstate`>0 group by users.id");

Тоесть, после внесения изменений имеем следующие строки:

 

   &CountMoney($id);
 }
 
$dbh->do("INSERT INTO dblogin (mid,act,time) SELECT `users`.`id`,'17',UNIX_TIMESTAMP() FROM `users` LEFT JOIN `$x_traf_tbl` ON `users`.`id`=`$x_traf_tbl`.`mid` WHERE `in` > 0 AND `out` > 0 AND `$x_traf_tbl`.`time`>$t-$Kern_t_traf*2 and `users`.`lstate`>0 group by users.id");
 
 &SaveTrafTime(3,tv_interval($t0));
 $t0=[gettimeofday];

Для того, чтобы изменения вступили в силу, необходимо из админки биллинга, отправить ядру команду "Рестарт". По истечению небольшого промежутка времени напротив работающих пользователей будет отображаться зеленый ключик.

NoDeny - отображение авторизированных пользователей

Ваша оценка: Нет Средняя: 4.5 (6 голосов)

Вставай, Україно!

Литература

Спам придумали боги в отместку за наши молитвы.