2017-03-22 10:17:13 +00:00
< ? php
// Exclude Private and reserved ASN ranges
// 64512 - 65535
// 4200000000 - 4294967295
$sql = " FROM `devices` WHERE `disabled` = 0 AND `ignore` = 0 AND `bgpLocalAs` > 0 AND (`bgpLocalAs` < 64512 OR `bgpLocalAs` > 65535) AND `bgpLocalAs` < 4200000000 " ;
if ( isset ( $searchPhrase ) && ! empty ( $searchPhrase )) {
$sql .= " AND (`bgpLocalAs` LIKE '% $searchPhrase %') " ;
}
$count_sql = " SELECT COUNT(*) $sql " ;
$total = dbFetchCell ( $count_sql );
if ( empty ( $total )) {
$total = 0 ;
}
if ( ! isset ( $sort ) || empty ( $sort )) {
$sort = 'bgpLocalAs ASC' ;
}
$sql .= " GROUP BY `bgpLocalAs` ORDER BY $sort " ;
if ( isset ( $current )) {
$limit_low = (( $current * $rowCount ) - ( $rowCount ));
$limit_high = $rowCount ;
}
if ( $rowCount != - 1 ) {
$sql .= " LIMIT $limit_low , $limit_high " ;
}
$sql = " SELECT `bgpLocalAs` $sql " ;
foreach ( dbFetchRows ( $sql ) as $asn ) {
$astext = get_astext ( $asn [ 'bgpLocalAs' ]);
$response [] = array (
2018-08-28 11:54:11 +02:00
'bgpLocalAs' => $asn [ 'bgpLocalAs' ],
2017-03-22 10:17:13 +00:00
'asname' => $astext ,
2018-09-05 20:26:18 +02:00
'action' => " <a class='btn btn-sm btn-primary' href=' " . generate_url ( array ( 'page' => 'peering' , 'section' => 'ix-list' , 'bgpLocalAs' => $asn [ 'bgpLocalAs' ])) . " ' role='button'>Show connected IXes</a> " ,
2017-03-22 10:17:13 +00:00
);
}
$output = array (
'current' => $current ,
'rowCount' => $rowCount ,
'rows' => $response ,
'total' => $total ,
);
echo _json_encode ( $output );