function mactrack_view_ip_ranges() { global $title, $colors, $config, $item_rows; /* ================= input validation ================= */ input_validate_input_number(get_request_var_request("site_id")); input_validate_input_number(get_request_var_request("page")); /* ==================================================== */ /* clean up sort_column */ if (isset($_REQUEST["sort_column"])) { $_REQUEST["sort_column"] = sanitize_search_string(get_request_var("sort_column")); } /* clean up search string */ if (isset($_REQUEST["sort_direction"])) { $_REQUEST["sort_direction"] = sanitize_search_string(get_request_var("sort_direction")); } if (isset($_REQUEST["reset"])) { kill_session_var("sess_mactrack_view_ips_rows_selector"); kill_session_var("sess_mactrack_view_ips_current_page"); kill_session_var("sess_mactrack_view_ips_sort_column"); kill_session_var("sess_mactrack_view_ips_sort_row"); $_REQUEST["page"] = 1; } /* if any of the settings changed, reset the page number */ /* if the user pushed the 'clear' button */ if (isset($_REQUEST["clear_x"]) || isset($_REQUEST["reset"])) { kill_session_var("sess_mactrack_view_ips_rows_selector"); kill_session_var("sess_mactrack_view_ips_current_page"); kill_session_var("sess_mactrack_view_ips_sort_column"); kill_session_var("sess_mactrack_view_ips_sort_row"); $_REQUEST["page"] = 1; if (isset($_REQUEST["clear_x"])) { unset($_REQUEST["rows"]); unset($_REQUEST["sort_column"]); unset($_REQUEST["sort_direction"]); } }else{ $changed = 0; $changed += mactrack_check_changed("site_id", "sess_mactrack_view_ips_site_id"); $changed += mactrack_check_changed("rows", "sess_mactrack_view_ips_rows"); if ($changed) { $_REQUEST["page"] = "1"; } } /* remember these search fields in session vars so we don't have to keep passing them around */ load_current_session_value("page", "sess_mactrack_view_ips_current_page", "1"); load_current_session_value("site_id", "sess_mactrack_view_ips_site_id", "-1"); load_current_session_value("rows", "sess_mactrack_view_ips_rows", "-1"); load_current_session_value("sort_column", "sess_mactrack_view_ips_sort_column", "site_name"); load_current_session_value("sort_direction", "sess_mactrack_view_ips_sort_direction", "ASC"); if ($_REQUEST["rows"] == -1) { $row_limit = read_config_option("num_rows_mactrack"); }elseif ($_REQUEST["rows"] == -2) { $row_limit = 999999; }else{ $row_limit = $_REQUEST["rows"]; } if (defined("URL_PATH")) { $webroot = URL_PATH; }else{ $webroot = $config["url_path"]; } mactrack_tabs(); mactrack_view_header(); mactrack_ips_filter(); mactrack_view_footer(); html_start_box("", "100%", $colors["header"], "3", "center", ""); $sql_where = ""; $ip_ranges = mactrack_view_get_ip_range_records($sql_where, $row_limit); $total_rows = db_fetch_cell("SELECT COUNT(mac_track_ip_ranges.ip_range) FROM mac_track_ip_ranges INNER JOIN mac_track_sites ON (mac_track_ip_ranges.site_id=mac_track_sites.site_id) $sql_where"); /* generate page list */ $url_page_select = str_replace("&page", "?page", get_page_list($_REQUEST["page"], MAX_DISPLAY_PAGES, $row_limit, $total_rows, "mactrack_view_ips.php")); if (isset($config["base_path"])) { if ($total_rows > 0) { $nav = "<tr bgcolor='#" . $colors["header"] . "'> <td colspan='13'> <table width='100%' cellspacing='0' cellpadding='0' border='0'> <tr> <td align='left' class='textHeaderDark'> <strong><< "; if ($_REQUEST["page"] > 1) { $nav .= "<a class='linkOverDark' href='mactrack_view_ips.php?page=" . ($_REQUEST["page"]-1) . "'>"; } $nav .= "Previous"; if ($_REQUEST["page"] > 1) { $nav .= "</a>"; } $nav .= "</strong> </td>\n <td align='center' class='textHeaderDark'> Showing Rows " . ($total_rows == 0 ? "None" : (($row_limit*($_REQUEST["page"]-1))+1) . " to " . ((($total_rows < $row_limit) || ($total_rows < ($row_limit*$_REQUEST["page"]))) ? $total_rows : ($row_limit*$_REQUEST["page"])) . " of $total_rows [$url_page_select]") . " </td>\n <td align='right' class='textHeaderDark'> <strong>"; if (($_REQUEST["page"] * $row_limit) < $total_rows) { $nav .= "<a class='linkOverDark' href='mactrack_view_ips.php?page=" . ($_REQUEST["page"]+1) . "'>"; } $nav .= "Next"; if (($_REQUEST["page"] * $row_limit) < $total_rows) { $nav .= "</a>"; } $nav .= " >></strong> </td>\n </tr> </table> </td> </tr>\n"; }else{ $nav = "<tr bgcolor='#" . $colors["header"] . "' class='noprint'> <td colspan='22'> <table width='100%' cellspacing='0' cellpadding='0' border='0'> <tr> <td align='center' class='textHeaderDark'> No Rows Found </td>\n </tr> </table> </td> </tr>\n"; } }else{ $nav = html_create_nav($_REQUEST["page"], MAX_DISPLAY_PAGES, $row_limit, $total_rows, 13, "mactrack_view_sites.php"); } print $nav; $display_text = array( "nosort" => array("Actions", ""), "site_name" => array("Site Name", "ASC"), "ip_range" => array("IP Range", "ASC"), "ips_current" => array("Current IP Addresses", "DESC"), "ips_current_date" => array("Current Date", "DESC"), "ips_max" => array("Maximum IP Addresses", "DESC"), "ips_max_date" => array("Maximum Date", "DESC")); html_header_sort($display_text, $_REQUEST["sort_column"], $_REQUEST["sort_direction"]); $i = 0; if (sizeof($ip_ranges) > 0) { foreach ($ip_ranges as $ip_range) { form_alternate_row_color($colors["alternate"],$colors["light"],$i); $i++; ?> <td width=80> <a href='<?php print htmlspecialchars($webroot . "plugins/mactrack/mactrack_sites.php?action=edit&site_id=" . $ip_range['site_id']);?>' title='Edit Site'><img border='0' src='<?php print $webroot;?>plugins/mactrack/images/edit_object.png'></a> <a href='<?php print htmlspecialchars($webroot . "plugins/mactrack/mactrack_view_macs.php?report=macs&reset&ip_filter_type_id=3&ip_filter=" . $ip_range["ip_range"] . "." . "&device_id=-1&scan_date=3&site_id=" . $ip_range['site_id']);?>' title='View MAC Addresses'><img border='0' src='<?php print $webroot;?>plugins/mactrack/images/view_macs.gif'></a> <a href='<?php print htmlspecialchars($webroot . "plugins/mactrack/mactrack_view_arp.php?report=arp&reset&ip_filter_type_id=3&ip_filter=" . $ip_range["ip_range"] . "." . "&device_id=-1&scan_date=3&site_id=" . $ip_range['site_id']);?>' title='View IP Addresses'><img border='0' src='<?php print $webroot;?>plugins/mactrack/images/view_ipaddresses.gif'></a> </td> <td width=200> <?php print "<strong>" . $ip_range["site_name"] . "</strong>";?> </td> <td><?php print $ip_range["ip_range"] . ".*";?></td> <td><?php print number_format($ip_range["ips_current"]);?></td> <td><?php print $ip_range["ips_current_date"];?></td> <td><?php print number_format($ip_range["ips_max"]);?></td> <td><?php print $ip_range["ips_max_date"];?></td> </tr> <?php } }else{ print "<tr><td colspan='10'><em>No MacTrack Site IP Ranges Found</em></td></tr>"; } print $nav; html_end_box(false); mactrack_display_stats(); }
function mactrack_view_ip_ranges() { global $title, $config, $item_rows; mactrack_view_ips_validate_request_vars(); if (get_request_var('rows') == -1) { $row_limit = read_config_option('num_rows_table'); } elseif (get_request_var('rows') == -2) { $row_limit = 999999; } else { $row_limit = get_request_var('rows'); } $webroot = $config['url_path'] . 'plugins/mactrack/'; mactrack_tabs(); html_start_box($title, '100%', '', '3', 'center', ''); mactrack_ips_filter(); html_end_box(); $sql_where = ''; $ip_ranges = mactrack_view_get_ip_range_records($sql_where, $row_limit); $total_rows = db_fetch_cell("SELECT\n\t\tCOUNT(mac_track_ip_ranges.ip_range)\n\t\tFROM mac_track_ip_ranges\n\t\tINNER JOIN mac_track_sites ON (mac_track_ip_ranges.site_id=mac_track_sites.site_id)\n\t\t{$sql_where}"); $nav = html_nav_bar('mactrack_view_ips.php', MAX_DISPLAY_PAGES, get_request_var('page'), $row_limit, $total_rows, 7, __('IP Address Ranges')); print $nav; html_start_box('', '100%', '', '3', 'center', ''); $display_text = array('nosort' => array(__('Actions'), ''), 'site_name' => array(__('Site Name'), 'ASC'), 'ip_range' => array(__('IP Range'), 'ASC'), 'ips_current' => array(__('Current IP Addresses'), 'DESC'), 'ips_current_date' => array(__('Current Date'), 'DESC'), 'ips_max' => array(__('Maximum IP Addresses'), 'DESC'), 'ips_max_date' => array(__('Maximum Date'), 'DESC')); html_header_sort($display_text, get_request_var('sort_column'), get_request_var('sort_direction')); if (sizeof($ip_ranges)) { foreach ($ip_ranges as $ip_range) { form_alternate_row(); ?> <td width=80> <a href='<?php print htmlspecialchars($webroot . 'mactrack_sites.php?action=edit&site_id=' . $ip_range['site_id']); ?> ' title='Edit Site'><img border='0' src='<?php print $webroot; ?> images/edit_object.png'></a> <a href='<?php print htmlspecialchars($webroot . 'mactrack_view_macs.php?report=macs&reset&ip_filter_type_id=3&ip_filter=' . $ip_range['ip_range'] . '&device_id=-1&scan_date=3&site_id=' . $ip_range['site_id']); ?> ' title='View MAC Addresses'><img border='0' src='<?php print $webroot; ?> images/view_macs.gif'></a> <a href='<?php print htmlspecialchars($webroot . 'mactrack_view_arp.php?report=arp&reset&ip_filter_type_id=3&ip_filter=' . $ip_range['ip_range'] . '.' . '&device_id=-1&scan_date=3&site_id=' . $ip_range['site_id']); ?> ' title='View IP Addresses'><img border='0' src='<?php print $webroot; ?> images/view_ipaddresses.gif'></a> </td> <td class='hyperLink'> <?php print $ip_range['site_name']; ?> </td> <td><?php print $ip_range['ip_range'] . '.*'; ?> </td> <td><?php print number_format_i18n($ip_range['ips_current']); ?> </td> <td><?php print $ip_range['ips_current_date']; ?> </td> <td><?php print number_format_i18n($ip_range['ips_max']); ?> </td> <td><?php print $ip_range['ips_max_date']; ?> </td> </tr> <?php } } else { print '<tr><td colspan="10"><em>' . __('No MacTrack Site IP Ranges Found') . '</em></td></tr>'; } html_end_box(false); if (sizeof($ip_ranges)) { print $nav; mactrack_display_stats(); } }