toDB($page, true); $ip = $e107->getip(); $udata = (USER === true ? USERID.".".USERNAME : "0"); if (USER) { // Find record that matches IP or visitor, or matches user info if ($sql->db_Select("online", "*", "(`online_ip` = '{$ip}' AND `online_user_id` = '0') OR `online_user_id` = '{$udata}'")) { $row = $sql->db_Fetch(); if ($row['online_user_id'] == $udata) { //Matching user record if ($row['online_timestamp'] < (time() - $online_timeout)) { //It has been at least 'timeout' seconds since this user has connected //Update user record with timestamp, current IP, current page and set pagecount to 1 $query = "online_timestamp='".time()."', online_ip='{$ip}', online_location='{$page}', online_pagecount=1 WHERE online_user_id='{$row['online_user_id']}' LIMIT 1"; } else { if (!ADMIN) { $row['online_pagecount'] ++; } // Update user record with current IP, current page and increment pagecount $query = "online_ip='{$ip}', `online_location` = '{$page}', `online_pagecount` = '".intval($row['online_pagecount'])."' WHERE `online_user_id` = '{$row['online_user_id']}' LIMIT 1"; } } else { //Found matching visitor record (ip only) for this user if ($row['online_timestamp'] < (time() - $online_timeout)) { // It has been at least 'timeout' seconds since this user has connected // Update record with timestamp, current IP, current page and set pagecount to 1 $query = "`online_timestamp` = '".time()."', `online_user_id` = '{$udata}', `online_location` = '{$page}', `online_pagecount` = 1 WHERE `online_ip` = '{$ip}' AND `online_user_id` = '0' LIMIT 1"; } else { if (!ADMIN) { $row['online_pagecount'] ++; } //Update record with current IP, current page and increment pagecount $query = "`online_user_id` = '{$udata}', `online_location` = '{$page}', `online_pagecount` = ".intval($row['online_pagecount'])." WHERE `online_ip` = '{$ip}' AND `online_user_id` = '0' LIMIT 1"; } } $sql->db_Update("online", $query); } else { $sql->db_Insert("online", " '".time()."', '0', '{$udata}', '{$ip}', '{$page}', 1, 0"); } } else { //Current page request is from a visitor if ($sql->db_Select("online", "*", "`online_ip` = '{$ip}' AND `online_user_id` = '0'")) { $row = $sql->db_Fetch(); if ($row['online_timestamp'] < (time() - $online_timeout)) //It has been at least 'timeout' seconds since this ip has connected { //Update record with timestamp, current page, and set pagecount to 1 $query = "`online_timestamp` = '".time()."', `online_location` = '{$page}', `online_pagecount` = 1 WHERE `online_ip` = '{$ip}' AND `online_user_id` = '0' LIMIT 1"; } else { //Update record with current page and increment pagecount $row['online_pagecount'] ++; // echo "here {$online_pagecount}"; $query="`online_location` = '{$page}', `online_pagecount` = {$row['online_pagecount']} WHERE `online_ip` = '{$ip}' AND `online_user_id` = '0' LIMIT 1"; } $sql->db_Update("online", $query); } else { $sql->db_Insert("online", " '".time()."', '0', '0', '{$ip}', '{$page}', 1, 0"); } } if (ADMIN || ($pref['autoban'] != 1 && $pref['autoban'] != 2) || (!isset($row['online_pagecount']))) // Auto-Ban is switched off. (0 or 3) { $row['online_pagecount'] = 1; } if ($row['online_pagecount'] > $online_bancount && ($e107->ipDecode($row['online_ip'],TRUE) != "127.0.0.1")) { include_lan(e_LANGUAGEDIR.e_LANGUAGE.'/admin/lan_banlist.php'); if ($e107->add_ban(2,str_replace('--HITS--',$row['online_pagecount'],BANLAN_78),$ip,0)) { $e_event->trigger("flood", $ip); exit; } } if ($row['online_pagecount'] >= $online_warncount && $row['online_ip'] != "127.0.0.1") { echo "