query(" SELECT um.Username, p.Level AS Class FROM users_main AS um LEFT JOIN permissions AS p ON p.ID = um.PermissionID WHERE um.ID = $UserID"); list($Username, $Class) = $DB->next_record(); if (!check_perms('users_view_ips', $Class)) { error(403); } $UsersOnly = $_GET['usersonly']; if (isset($_POST['ip'])) { $SearchIP = db_string(str_replace("*", "%", trim($_POST['ip']))); $SearchIPQuery = " AND h1.IP LIKE '$SearchIP' "; } View::show_header("IP address history for $Username"); ?> list($Page, $Limit) = Format::page_limit(IPS_PER_PAGE); if ($UsersOnly == 1) { $RS = $DB->query(" SELECT SQL_CALC_FOUND_ROWS h1.IP, h1.StartTime, h1.EndTime, GROUP_CONCAT(h2.UserID SEPARATOR '|'), GROUP_CONCAT(h2.StartTime SEPARATOR '|'), GROUP_CONCAT(IFNULL(h2.EndTime,0) SEPARATOR '|'), GROUP_CONCAT(um2.Username SEPARATOR '|'), GROUP_CONCAT(um2.Enabled SEPARATOR '|'), GROUP_CONCAT(ui2.Donor SEPARATOR '|'), GROUP_CONCAT(ui2.Warned SEPARATOR '|') FROM users_history_ips AS h1 LEFT JOIN users_history_ips AS h2 ON h2.IP = h1.IP AND h2.UserID != $UserID LEFT JOIN users_main AS um2 ON um2.ID = h2.UserID LEFT JOIN users_info AS ui2 ON ui2.UserID = h2.UserID WHERE h1.UserID = '$UserID' AND h2.UserID > 0 $SearchIPQuery GROUP BY h1.IP, h1.StartTime ORDER BY h1.StartTime DESC LIMIT $Limit"); } else { $RS = $DB->query(" SELECT SQL_CALC_FOUND_ROWS h1.IP, h1.StartTime, h1.EndTime, GROUP_CONCAT(h2.UserID SEPARATOR '|'), GROUP_CONCAT(h2.StartTime SEPARATOR '|'), GROUP_CONCAT(IFNULL(h2.EndTime,0) SEPARATOR '|'), GROUP_CONCAT(um2.Username SEPARATOR '|'), GROUP_CONCAT(um2.Enabled SEPARATOR '|'), GROUP_CONCAT(ui2.Donor SEPARATOR '|'), GROUP_CONCAT(ui2.Warned SEPARATOR '|') FROM users_history_ips AS h1 LEFT JOIN users_history_ips AS h2 ON h2.IP = h1.IP AND h2.UserID != $UserID LEFT JOIN users_main AS um2 ON um2.ID = h2.UserID LEFT JOIN users_info AS ui2 ON ui2.UserID = h2.UserID WHERE h1.UserID = '$UserID' $SearchIPQuery GROUP BY h1.IP, h1.StartTime ORDER BY h1.StartTime DESC LIMIT $Limit"); } $DB->query('SELECT FOUND_ROWS()'); list($NumResults) = $DB->next_record(); $DB->set_query_id($RS); $Pages = Format::get_pages($Page, $NumResults, IPS_PER_PAGE, 9); ?>
IP address search |
IP address | Started Toggle | Started Toggle | Ended | Ended | Elapsed |
=$IP?> (=Tools::get_country_code_by_ajax($IP)?>)
if ($CanManageIPBans) {
if (!isset($IPs[$IP])) {
$sql = "
SELECT ID, FromIP, ToIP
FROM ip_bans
WHERE '".Tools::ip_to_unsigned($IP)."' BETWEEN FromIP AND ToIP
LIMIT 1";
$DB->query($sql);
if ($DB->has_results()) {
$IPs[$IP] = true;
?>
[Banned]
} else {
$IPs[$IP] = false;
?>
Ban
}
$counter++;
}
}
?>
=Tools::get_host_by_ajax($IP)?> =($HasDupe ? '('.count($UserIDs).')' : '(0)')?> |
=time_diff($StartTime)?> | =$StartTime?> | =time_diff($EndTime)?> | =$EndTime?> | //time_diff(strtotime($StartTime), strtotime($EndTime)); ?> |