2010-02-07 14:17:02 +00:00
< ? php print_optionbar_start ( 28 ); ?>
2009-08-12 15:01:01 +00:00
2011-03-17 00:09:20 +00:00
< table cellpadding = " 0 " cellspacing = " 0 " class = " devicetable " width = " 100% " >
2009-08-12 15:01:01 +00:00
< tr >
2011-03-17 00:09:20 +00:00
< form method = " post " action = " " >
< td width = " 200 " style = " padding: 1px; " >
< select name = " device_id " id = " device_id " >
< option value = " " > All Devices </ option >
< ? php
$query = mysql_query ( " SELECT `device_id`,`hostname` FROM `devices` GROUP BY `hostname` ORDER BY `hostname` " );
2011-04-06 13:54:50 +00:00
while ( $data = mysql_fetch_assoc ( $query ))
2011-03-17 00:09:20 +00:00
{
echo ( '<option value="' . $data [ 'device_id' ] . '"' );
if ( $data [ 'device_id' ] == $_POST [ 'device_id' ]) { echo ( " selected " ); }
echo ( " > " . $data [ 'hostname' ] . " </option> " );
}
?>
2009-08-05 16:05:14 +00:00
</ select >
</ td >
2011-03-17 00:09:20 +00:00
< td width = " 200 " style = " padding: 1px; " >
< select name = " interface " id = " interface " >
< option value = " " > All Interfaces </ option >
< option value = " Loopback% " < ? php if ( $_POST [ 'interface' ] == " Loopback% " ){ echo ( " selected " ); } ?> >Loopbacks</option>
< option value = " Vlan% " < ? php if ( $_POST [ 'interface' ] == " Vlan% " ){ echo ( " selected " ); } ?> >VLANs</option>
2009-08-05 16:05:14 +00:00
</ select >
</ td >
< td >
</ td >
< td width = 400 >
2011-03-26 19:28:39 +00:00
< input type = " text " name = " address " id = " address " size = 40 value = " <?php echo( $_POST['address'] ); ?> " />
2010-02-07 14:17:02 +00:00
< input style = " align:right; " type = submit class = submit value = Search ></ div >
2009-08-05 16:05:14 +00:00
</ td >
</ form >
</ tr >
</ table >
< ? php
2010-02-07 14:17:02 +00:00
print_optionbar_end ();
2011-04-29 23:09:35 +00:00
echo ( '<table width="100%" cellspacing="0" cellpadding="5">' );
2009-08-05 16:05:14 +00:00
2011-03-25 15:47:42 +00:00
if ( is_numeric ( $_POST [ 'device_id' ])) { $where .= " AND I.device_id = ' " . $_POST [ 'device_id' ] . " ' " ; }
if ( $_POST [ 'interface' ]) { $where .= " AND I.ifDescr LIKE ' " . mres ( $_POST [ 'interface' ]) . " ' " ; }
2009-08-05 16:05:14 +00:00
2010-02-20 17:22:22 +00:00
$sql = " SELECT * FROM `ipv4_addresses` AS A, `ports` AS I, `devices` AS D, `ipv4_networks` AS N WHERE I.interface_id = A.interface_id AND I.device_id = D.device_id AND N.ipv4_network_id = A.ipv4_network_id $where ORDER BY A.ipv4_address " ;
2009-08-05 16:05:14 +00:00
$query = mysql_query ( $sql );
2011-03-17 00:09:20 +00:00
echo ( '<tr class="tablehead"><th>Device</a></th><th>Interface</th><th>Address</th><th>Description</th></tr>' );
2009-08-05 16:05:14 +00:00
$row = 1 ;
2011-04-06 13:54:50 +00:00
while ( $interface = mysql_fetch_assoc ( $query ))
2011-03-17 00:09:20 +00:00
{
if ( $_POST [ 'address' ])
{
2009-08-05 16:05:14 +00:00
list ( $addy , $mask ) = explode ( " / " , $_POST [ 'address' ]);
2011-03-17 00:09:20 +00:00
if ( ! $mask ) { $mask = " 32 " ; }
2011-03-27 10:21:19 +00:00
if ( ! match_network ( $addy . " / " . $mask , $interface [ 'ipv4_address' ])) { $ignore = 1 ; }
2009-08-05 16:05:14 +00:00
}
2011-03-17 00:09:20 +00:00
if ( ! $ignore )
{
if ( is_integer ( $row / 2 )) { $row_colour = $list_colour_a ; } else { $row_colour = $list_colour_b ; }
2009-08-05 16:05:14 +00:00
2011-03-17 00:09:20 +00:00
$speed = humanspeed ( $interface [ 'ifSpeed' ]);
$type = humanmedia ( $interface [ 'ifType' ]);
2009-08-05 16:05:14 +00:00
2011-03-17 00:09:20 +00:00
list ( $prefix , $length ) = explode ( " / " , $interface [ 'ipv4_network' ]);
2009-10-12 09:48:40 +00:00
2011-03-17 00:09:20 +00:00
if ( $interface [ 'in_errors' ] > 0 || $interface [ 'out_errors' ] > 0 )
{
$error_img = generate_port_link ( $interface , " <img src='images/16/chart_curve_error.png' alt='Interface Errors' border=0> " , errors );
} else { $error_img = " " ; }
2009-08-05 16:05:14 +00:00
2011-03-17 00:09:20 +00:00
if ( port_permitted ( $interface [ 'interface_id' ]))
{
2011-04-29 23:09:35 +00:00
$interface = ifLabel ( $interface , $interface );
2011-03-17 00:09:20 +00:00
echo ( '<tr bgcolor="' . $row_colour . ' " >
2010-08-02 22:09:52 +00:00
< td class = " list-bold " > ' . generate_device_link($interface) . ' </ td >
2011-04-29 23:09:35 +00:00
< td class = " list-bold " > ' . generate_port_link($interface) . ' ' . $error_img . ' </ td >
2010-01-03 20:13:10 +00:00
< td > ' . $interface[' ipv4_address '] . ' / '.$length.' </ td >
< td > ' . $interface[' ifAlias ' ] . " </td>
2009-08-05 16:05:14 +00:00
</ tr > \n " );
2011-03-17 00:09:20 +00:00
$row ++ ;
}
2009-08-05 16:05:14 +00:00
}
2011-03-17 00:09:20 +00:00
unset ( $ignore );
2009-08-05 16:05:14 +00:00
}
echo ( " </table> " );
2011-04-29 23:09:35 +00:00
?>