Example #1
0
         $json['error'] = 'database';
         break;
     }
     if ($res = $db->query("SELECT IP \n\t\tFROM `free` \n\t\tWHERE (`latitude` != 0 AND `longitude` != 0)\n\t\t\t\tAND (`latitude` BETWEEN {$lat1} AND {$lat2} AND `longitude` BETWEEN {$lon1} AND {$lon2})\n\t\t\t\tAND IP !=''\n\t\tORDER BY INET_ATON(IP)")) {
         require 'ipext.php';
         $last_upper = '0.0.0.0';
         while ($row = $res->fetch_row()) {
             if (compare_ip($row[0], $last_upper) <= 0) {
                 continue;
             }
             $ip_range = GetIPRange($db, $row[0]);
             if (is_null($ip_range)) {
                 continue;
             }
             $last_upper = $ip_range["endIP"];
             $json['data'][] = array("range" => pretty_range($ip_range["startIP"], $ip_range["endIP"]), "descr" => $ip_range["descr"]);
         }
         $res->close();
         usort($json['data'], function ($a, $b) {
             return strcmp($a['descr'], $b['descr']);
         });
     }
     $db->close();
     break;
     // Определение устройства по MAC
 // Определение устройства по MAC
 case 'devicemac':
     $json['result'] = true;
     $json['auth'] = $level > 0;
     if ($level == 0) {
         break;
Example #2
0
     }
     if ($res = QuerySql("SELECT DISTINCT IP FROM \n\t\t(SELECT IP \n\t\tFROM `BASE_TABLE`, `GEO_TABLE` \n\t\tWHERE (`GEO_TABLE`.`quadkey` >> 32) IN {$quadkeys} AND\n\t\t\t\t`BASE_TABLE`.`BSSID` = `GEO_TABLE`.`BSSID` \n\t\t\t\tAND (`GEO_TABLE`.`quadkey` IS NOT NULL) \n\t\t\t\tAND (`GEO_TABLE`.`latitude` BETWEEN {$lat1} AND {$lat2} AND `GEO_TABLE`.`longitude` BETWEEN {$lon1} AND {$lon2}) \n\t\t\t\tAND (IP != 0 AND IP != -1) \n\t\tUNION SELECT WANIP \n\t\tFROM `BASE_TABLE`, `GEO_TABLE` \n\t\tWHERE (`GEO_TABLE`.`quadkey` >> 32) IN {$quadkeys} AND\n\t\t\t\t`BASE_TABLE`.`BSSID` = `GEO_TABLE`.`BSSID` \n\t\t\t\tAND (`GEO_TABLE`.`quadkey` IS NOT NULL) \n\t\t\t\tAND (`GEO_TABLE`.`latitude` BETWEEN {$lat1} AND {$lat2} AND `GEO_TABLE`.`longitude` BETWEEN {$lon1} AND {$lon2}) \n\t\t\t\tAND (WANIP != 0 AND WANIP != -1)\n\t\t) IPTable ORDER BY CAST(IP AS UNSIGNED INTEGER)")) {
     }
     require 'ipext.php';
     $last_upper = 0;
     while ($row = $res->fetch_row()) {
         $ip = (int) $row[0];
         if (compare_ip($ip, $last_upper) <= 0) {
             continue;
         }
         $ip_range = get_ip_range($db, $ip);
         if (is_null($ip_range)) {
             continue;
         }
         $last_upper = $ip_range['endIP'];
         $json['data'][] = array('range' => pretty_range($ip_range['startIP'], $ip_range['endIP']), 'netname' => $ip_range['netname'], 'descr' => $ip_range['descr'], 'country' => $ip_range['country']);
     }
     $res->close();
     usort($json['data'], function ($a, $b) {
         return strcmp($a['descr'], $b['descr']);
     });
     array_unique($json['data'], SORT_REGULAR);
     $db->close();
     break;
     // Определение устройства по MAC
 // Определение устройства по MAC
 case 'devicemac':
     $json['result'] = true;
     $json['auth'] = $UserManager->Level >= 0;
     if (!$json['auth']) {
         break;