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(); } }
function mactrack_view_ips() { global $title, $report, $mactrack_search_types, $rows_selector, $config; global $item_rows; mactrack_view_ips_validate_request_vars(); mactrack_tabs(); html_start_box($title, '100%', '', '3', 'center', ''); mactrack_ip_address_filter(); html_end_box(); $sql_where = ''; 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'); } $port_results = mactrack_view_get_ip_records($sql_where, TRUE, $row_limit); /* prevent table scans, either a device or site must be selected */ if (!strlen($sql_where)) { $total_rows = 0; } elseif (get_request_var('rows') == 1) { $rows_query_string = "SELECT\n\t\t\tCOUNT(mac_track_ips.device_id)\n\t\t\tFROM mac_track_ips\n\t\t\tLEFT JOIN mac_track_sites ON (mac_track_ips.site_id=mac_track_sites.site_id)\n\t\t\tLEFT JOIN mac_track_oui_database ON (mac_track_oui_database.vendor_mac=SUBSTRING(mac_track_ips.mac_address,1,8))\n\t\t\t{$sql_where}"; $total_rows = db_fetch_cell($rows_query_string); } else { $rows_query_string = "SELECT\n\t\t\tCOUNT(DISTINCT device_id, mac_address, port_number, ip_address)\n\t\t\tFROM mac_track_ips\n\t\t\tLEFT JOIN mac_track_sites ON (mac_track_ips.site_id=mac_track_sites.site_id)\n\t\t\tLEFT JOIN mac_track_oui_database ON (mac_track_oui_database.vendor_mac=SUBSTRING(mac_track_ips.mac_address,1,8))\n\t\t\t{$sql_where}"; $total_rows = db_fetch_cell($rows_query_string); } $nav = html_nav_bar('mactrack_view_arp.php', MAX_DISPLAY_PAGES, get_request_var('page'), $row_limit, $total_rows, 13, __('ARP Cache')); print $nav; html_start_box('', '100%', '', '3', 'center', ''); if (strlen(read_config_option('mt_reverse_dns')) > 0) { if (get_request_var('rows') == 1) { $display_text = array('device_name' => array(__('Switch Name'), 'ASC'), 'hostname' => array(__('Switch Hostname'), 'ASC'), 'ip_address' => array(__('ED IP Address'), 'ASC'), 'dns_hostname' => array(__('ED DNS Hostname'), 'ASC'), 'mac_address' => array(__('ED MAC Address'), 'ASC'), 'vendor_name' => array(__('Vendor Name'), 'ASC'), 'port_number' => array(__('Port Number'), 'DESC')); } else { $display_text = array('device_name' => array(__('Switch Name'), 'ASC'), 'hostname' => array(__('Switch Hostname'), 'ASC'), 'ip_address' => array(__('ED IP Address'), 'ASC'), 'dns_hostname' => array(__('ED DNS Hostname'), 'ASC'), 'mac_address' => array(__('ED MAC Address'), 'ASC'), 'vendor_name' => array(__('Vendor Name'), 'ASC'), 'port_number' => array(__('Port Number'), 'DESC')); } html_header_sort($display_text, get_request_var('sort_column'), get_request_var('sort_direction')); } else { if (get_request_var('rows') == 1) { $display_text = array('device_name' => array(__('Switch Name'), 'ASC'), 'hostname' => array(__('Switch Hostname'), 'ASC'), 'ip_address' => array(__('ED IP Address'), 'ASC'), 'mac_address' => array(__('ED MAC Address'), 'ASC'), 'vendor_name' => array(__('Vendor Name'), 'ASC'), 'port_number' => array(__('Port Number'), 'DESC')); } else { $display_text = array('device_name' => array(__('Switch Device'), 'ASC'), 'hostname' => array(__('Switch Hostname'), 'ASC'), 'ip_address' => array(__('ED IP Address'), 'ASC'), 'mac_address' => array(__('ED MAC Address'), 'ASC'), 'vendor_name' => array(__('Vendor Name'), 'ASC'), 'port_number' => array(__('Port Number'), 'DESC')); } html_header_sort($display_text, get_request_var('sort_column'), get_request_var('sort_direction')); } $i = 0; $delim = read_config_option('mt_mac_delim'); if (sizeof($port_results) > 0) { foreach ($port_results as $port_result) { form_alternate_row(); echo '<td>' . $port_result['device_name'] . '</td>'; echo '<td>' . $port_result['hostname'] . '</td>'; echo '<td>' . filter_value($port_result['ip_address'], get_request_var('filter')) . '</td>'; if (strlen(read_config_option('mt_reverse_dns')) > 0) { echo '<td>' . filter_value($port_result['dns_hostname'], get_request_var('filter')) . '</td>'; } echo '<td>' . filter_value($port_result['mac_address'], get_request_var('filter')) . '</td>'; echo '<td>' . filter_value($port_result['vendor_name'], get_request_var('filter')) . '</td>'; echo '<td>' . $port_result['port_number'] . '</td>'; form_end_row(); } } else { if (get_request_var('site_id') == -1 && get_request_var('device_id') == -1) { print '<tr><td colspan="10"><em>' . __('You must first choose a Site, Device or other search criteria.') . '</em></td></tr>'; } else { print '<tr><td colspan="10"><em>' . __('No MacTrack IP Results Found') . '</em></td></tr>'; } } html_end_box(false); if (sizeof($port_results)) { print $nav; mactrack_display_stats(); } }