2010-02-07 14:17:02 +00:00
< ? php print_optionbar_start ( 28 ); ?>
2014-01-13 10:05:19 +00:00
< form method = " post " action = " " class = " form-inline " role = " form " >
< div class = " form-group " >
< select name = " device_id " id = " device_id " class = " form-control input-sm " >
< option value = " " > All Devices </ option >
2011-03-17 00:09:20 +00:00
< ? php
2011-05-16 09:38:44 +00:00
foreach ( dbFetchRows ( " SELECT `device_id`,`hostname` FROM `devices` GROUP BY `hostname` ORDER BY `hostname` " ) as $data )
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 >
2014-01-13 10:05:19 +00:00
</ div >
< div class = " form-group " >
< select name = " interface " id = " interface " class = " form-control input-sm " >
< 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 >
2014-01-13 10:05:19 +00:00
</ div >
< div class = " form-group " >
< input type = " text " name = " address " id = " address " size = 40 value = " <?php echo( $_POST['address'] ); ?> " class = " form-control input-sm " placeholder = " IPv6 Address " />
</ div >
< button type = " submit " class = " btn btn-default input-sm " > Search </ button >
2009-08-05 16:05:14 +00:00
</ form >
< ? php
2011-03-17 00:09:20 +00:00
print_optionbar_end ();
2014-01-13 10:05:19 +00:00
echo ( '<table class="table table-condensed">' );
2009-08-05 16:05:14 +00:00
2012-05-16 13:25:50 +00:00
$query = " SELECT * FROM `ipv6_addresses` AS A, `ports` AS I, `devices` AS D, `ipv6_networks` AS N WHERE I.port_id = A.port_id AND I.device_id = D.device_id AND N.ipv6_network_id = A.ipv6_network_id " ;
2009-08-05 16:05:14 +00:00
2011-05-16 09:38:44 +00:00
if ( is_numeric ( $_POST [ 'device_id' ]))
{
$query .= " AND I.device_id = ? " ;
$param [] = $_POST [ 'device_id' ];
}
if ( $_POST [ 'interface' ])
{
$query .= " AND I.ifDescr LIKE ? " ;
$param [] = $_POST [ 'interface' ];
}
$query .= " ORDER BY A.ipv6_address " ;
2009-08-05 16:05:14 +00:00
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
2011-05-16 09:38:44 +00:00
foreach ( dbFetchRows ( $query , $param ) as $interface )
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 = " 128 " ; }
if ( ! Net_IPv6 :: isInNetmask ( $interface [ 'ipv6_address' ], $addy , $mask )) { $ignore = 1 ; } else { $ignore = 0 ; }
2009-08-05 16:05:14 +00:00
}
2011-03-17 00:09:20 +00:00
if ( ! $ignore )
{
$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 [ 'ipv6_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
2012-05-16 13:25:50 +00:00
if ( port_permitted ( $interface [ 'port_id' ]))
2011-03-17 00:09:20 +00:00
{
2011-04-29 23:09:35 +00:00
$interface = ifLabel ( $interface , $interface );
2012-04-10 17:21:49 +00:00
echo ( ' < tr class = " search " >
2011-03-17 00:09:20 +00:00
< td class = " list-bold " > ' . generate_device_link($interface) . ' </ td >
< td class = " list-bold " > ' . generate_port_link($interface, makeshortif(fixifname($interface[' ifDescr ']))) . ' ' . $error_img . ' </ td >
< td > ' . Net_IPv6::compress($interface[' ipv6_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
}
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
?>