Озвучь еще разок, если не трудно (без глупых вопросов) т.к. не успел себе переписать, или в личку.
из-за личного уважения к т.Cell
после строк
$eurl=''; # end url - строка, дописываемая к запросу в кнопках страниц
$Fw=int $F{w}; # кнопка `Вид` - какие столбцы выводить в списке
$eurl.="&w=$Fw" if $Fw;
$Fed=int $F{ed}; # единица измерения трафика (Мб/кб/байт)
$eurl.="&ed=$Fed" if $Fed;
$Fed||=2; # по умолчанию целые Мб
$Fed--;
добавляем это определение текущей таблицы трафика в даном случае х таблица
$sdbtr=`date +x%Yx%-mx%-d`;
$au_t=time();
$au_t=$au_t-300;#период вермени за какой будем считать траф если упользователя стоит всегда онлине
после строк
# =======================
# Поиск
# =======================
$sel_from_users="id FROM users WHERE $where_grp";
$sel_from_fullusers="id FROM fullusers WHERE $where_grp";
$sel_from_users=$sel_from_fullusers if abs($F{sort})>5;
втавляем строку
$sel_from_users_au="users.id as id,ip,`in`,`out` from users left join $sdbtr on users.id=$sdbtr.mid where (auth<>'no' and lstate=0) or (time>$au_t and auth='no' and lstate>0) group by users.id";
собственно сам запрос
меняем строки на такую (она идеч чуть ниже )
'2' => ["$sel_from_users_au", 'Авторизованные в данный момент'],
и и приводим кусок кода к виду
while( %h=%{ $sql2->get_line } )
{
$at=$oln='';
# показать метод авторизации
if( $show_auth_m && nSql->new({
dbh =>$dbh,
sql =>"SELECT act,time FROM login WHERE act>0 AND mid=$h{id} ORDER BY time DESC LIMIT 1",
show => 'line',
comment => 'Последняя авторизация',
hash =>\%hh }) )
{
$auth_t=$hh{time}>0 && '('.&the_short_time($hh{time},$t).')';
$auth_t=~s| | |g;
$auth_t.=' ';
$at=$h{auth};
}else{
$auth_t=' ';
$sthst=&sql($dbh," select sum(`in`) as `in`,sum(`out`) as `out` from $sdbtr where mid=$h{id} and time>$au_t limit 1");
$pst=$sthst->fetchrow_hashref();
$tin=$pst->{in};
$tout=$pst->{out};
if (($tin >0)&($tout>0))
{
$at="on";
$oln=1;
}
}
if ($oln == 1)
{
$ips_tbl.=&tag('tr',
&tag('td',$auth_t,'width=50%').
&tag('td',&ShowModeAuth($at),'width=1%').
&tag('td',$h{ip}).
&tag('td',$h{lstate}? &tag('acronym','♥',"title='всегда online активность входящий=".$tin." исходящий=".$tout."' class=error") : ' ','width=1%')
);
}else{
$ips_tbl.=&tag('tr',
&tag('td',$auth_t,'width=50%').
&tag('td',&ShowModeAuth($h{auth}),'width=1%').
&tag('td',$h{ip}).
&tag('td',$h{lstate}? &tag('acronym','♥',"title='всегда online активность входящий=".$tin." исходящий=".$tout."' class=error") : ' ','width=1%')
);
}
$ids.=&RRow('','c',$h{id});
}
тоесть пользователей которые всегда онлайн мониторим по наличию входящего и исходященно (именно и а не или )
ну вот и все.