$condition.=" OR (uid='0' AND ip1='{$session['ip1']}' AND ip2='{$session['ip2']}' AND ip3='{$session['ip3']}' AND ip4='{$session['ip4']}' AND lastactivity>$guestspan) ";
$condition.=$session['uid']?" OR (uid='{$session['uid']}') ":'';
DB::delete('session',$condition);
}
}
publicfunctionfetch_by_uid($uid){
return!empty($uid)?DB::fetch_first('SELECT * FROM %t WHERE uid=%d',array($this->_table,$uid)):false;
returnDB::query('UPDATE '.DB::table('session')." SET groupid='6' WHERE ('$ip1'='-1' OR ip1='$ip1') AND ('$ip2'='-1' OR ip2='$ip2') AND ('$ip3'='-1' OR ip3='$ip3') AND ('$ip4'='-1' OR ip4='$ip4')");
returnDB::query('DELETE FROM '.DB::table('session'));
}
publicfunctioncount_by_fid($fid){
return($fid=dintval($fid))?DB::result_first('SELECT COUNT(*) FROM '.DB::table('session')." WHERE uid>'0' AND fid='$fid' AND invisible='0'"):0;
}
publicfunctionfetch_all_by_fid($fid,$limit=12){
return($fid=dintval($fid))?DB::fetch_all('SELECT uid, groupid, username, invisible, lastactivity FROM '.DB::table('session')." WHERE uid>'0' AND fid='$fid' AND invisible='0' ORDER BY lastactivity DESC".DB::limit($limit)):array();
$data=DB::fetch_all('SELECT * FROM %t WHERE ip1=%d AND ip2=%d AND ip3=%d ORDER BY lastactivity DESC'.DB::limit($start,$limit),array($this->_table,$ip[0],$ip[1],$ip[2]),null);