%PDF- %PDF-
Direktori : /www/old2/_music/ingress/ |
Current File : /www/old2/_music/ingress/portals.php |
<?php require("config.php"); //set_time_limit(300); function playerNameResolve($pname) { return $pname; } //error_reporting(0); header("Content-type: text/plain"); $db = new mysqli($srv, $usr, $pwd, $dbname); $res = $db->query("select time from updated"); $res = $res->fetch_array()[0]; $portals = array(); $sources = array( 'curl http://www.ingress.com/rpc/dashboard.getThinnedEntitiesV2 --compressed --user-agent "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0" --cookie "'.$ing_cookie.'" --cookie-jar "ingress_intel_chat.cookie.jar" --referer "http://www.ingress.com/intel" --header "X-CSRFToken: '.$ing_csrf.'" --header "X-Requested-With: XMLHttpRequest" --data-binary "{\"minLevelOfDetail\":3,\"boundsParamsList\":[{\"id\":\"12_2233_1402\",\"minLatE6\":49210420,\"minLngE6\":16259766,\"maxLatE6\":49267805,\"maxLngE6\":16347656,\"qk\":\"12_2233_1402\"},{\"id\":\"12_2237_1402\",\"minLatE6\":49210420,\"minLngE6\":16611328,\"maxLatE6\":49267805,\"maxLngE6\":16699219,\"qk\":\"12_2237_1402\"},{\"id\":\"12_2234_1403\",\"minLatE6\":49152970,\"minLngE6\":16347656,\"maxLatE6\":49210420,\"maxLngE6\":16435547,\"qk\":\"12_2234_1403\"},{\"id\":\"12_2238_1403\",\"minLatE6\":49152970,\"minLngE6\":16699219,\"maxLatE6\":49210420,\"maxLngE6\":16787109,\"qk\":\"12_2238_1403\"},{\"id\":\"12_2235_1404\",\"minLatE6\":49095452,\"minLngE6\":16435547,\"maxLatE6\":49152970,\"maxLngE6\":16523438,\"qk\":\"12_2235_1404\"},{\"id\":\"12_2239_1404\",\"minLatE6\":49095452,\"minLngE6\":16787109,\"maxLatE6\":49152970,\"maxLngE6\":16875000,\"qk\":\"12_2239_1404\"}],\"method\":\"dashboard.getThinnedEntitiesV2\"}"', 'curl http://www.ingress.com/rpc/dashboard.getThinnedEntitiesV2 --compressed --user-agent "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0" --cookie "'.$ing_cookie.'" --cookie-jar "ingress_intel_chat.cookie.jar" --referer "http://www.ingress.com/intel" --header "X-CSRFToken: '.$ing_csrf.'" --header "X-Requested-With: XMLHttpRequest" --data-binary "{\"minLevelOfDetail\":3,\"boundsParamsList\":[{\"id\":\"12_2234_1402\",\"minLatE6\":49210420,\"minLngE6\":16347656,\"maxLatE6\":49267805,\"maxLngE6\":16435547,\"qk\":\"12_2234_1402\"},{\"id\":\"12_2238_1402\",\"minLatE6\":49210420,\"minLngE6\":16699219,\"maxLatE6\":49267805,\"maxLngE6\":16787109,\"qk\":\"12_2238_1402\"},{\"id\":\"12_2235_1403\",\"minLatE6\":49152970,\"minLngE6\":16435547,\"maxLatE6\":49210420,\"maxLngE6\":16523438,\"qk\":\"12_2235_1403\"},{\"id\":\"12_2239_1403\",\"minLatE6\":49152970,\"minLngE6\":16787109,\"maxLatE6\":49210420,\"maxLngE6\":16875000,\"qk\":\"12_2239_1403\"},{\"id\":\"12_2236_1404\",\"minLatE6\":49095452,\"minLngE6\":16523438,\"maxLatE6\":49152970,\"maxLngE6\":16611328,\"qk\":\"12_2236_1404\"}],\"method\":\"dashboard.getThinnedEntitiesV2\"}"', 'curl http://www.ingress.com/rpc/dashboard.getThinnedEntitiesV2 --compressed --user-agent "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0" --cookie "'.$ing_cookie.'" --cookie-jar "ingress_intel_chat.cookie.jar" --referer "http://www.ingress.com/intel" --header "X-CSRFToken: '.$ing_csrf.'" --header "X-Requested-With: XMLHttpRequest" --data-binary "{\"minLevelOfDetail\":3,\"boundsParamsList\":[{\"id\":\"12_2235_1402\",\"minLatE6\":49210420,\"minLngE6\":16435547,\"maxLatE6\":49267805,\"maxLngE6\":16523438,\"qk\":\"12_2235_1402\"},{\"id\":\"12_2239_1402\",\"minLatE6\":49210420,\"minLngE6\":16787109,\"maxLatE6\":49267805,\"maxLngE6\":16875000,\"qk\":\"12_2239_1402\"},{\"id\":\"12_2236_1403\",\"minLatE6\":49152970,\"minLngE6\":16523438,\"maxLatE6\":49210420,\"maxLngE6\":16611328,\"qk\":\"12_2236_1403\"},{\"id\":\"12_2233_1404\",\"minLatE6\":49095452,\"minLngE6\":16259766,\"maxLatE6\":49152970,\"maxLngE6\":16347656,\"qk\":\"12_2233_1404\"},{\"id\":\"12_2237_1404\",\"minLatE6\":49095452,\"minLngE6\":16611328,\"maxLatE6\":49152970,\"maxLngE6\":16699219,\"qk\":\"12_2237_1404\"}],\"method\":\"dashboard.getThinnedEntitiesV2\"}"', 'curl http://www.ingress.com/rpc/dashboard.getThinnedEntitiesV2 --compressed --user-agent "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0" --cookie "'.$ing_cookie.'" --cookie-jar "ingress_intel_chat.cookie.jar" --referer "http://www.ingress.com/intel" --header "X-CSRFToken: '.$ing_csrf.'" --header "X-Requested-With: XMLHttpRequest" --data-binary "{\"minLevelOfDetail\":3,\"boundsParamsList\":[{\"id\":\"12_2236_1402\",\"minLatE6\":49210420,\"minLngE6\":16523438,\"maxLatE6\":49267805,\"maxLngE6\":16611328,\"qk\":\"12_2236_1402\"},{\"id\":\"12_2233_1403\",\"minLatE6\":49152970,\"minLngE6\":16259766,\"maxLatE6\":49210420,\"maxLngE6\":16347656,\"qk\":\"12_2233_1403\"},{\"id\":\"12_2237_1403\",\"minLatE6\":49152970,\"minLngE6\":16611328,\"maxLatE6\":49210420,\"maxLngE6\":16699219,\"qk\":\"12_2237_1403\"},{\"id\":\"12_2234_1404\",\"minLatE6\":49095452,\"minLngE6\":16347656,\"maxLatE6\":49152970,\"maxLngE6\":16435547,\"qk\":\"12_2234_1404\"},{\"id\":\"12_2238_1404\",\"minLatE6\":49095452,\"minLngE6\":16699219,\"maxLatE6\":49152970,\"maxLngE6\":16787109,\"qk\":\"12_2238_1404\"}],\"method\":\"dashboard.getThinnedEntitiesV2\"}"' ); if(time() > $res+300) { $db->query("truncate table portal"); foreach($sources as $src) { $entities = false; $i = 0; while((!$entities || !isset($dashboard->result)) && $i < 2) { $i++; $data = ""; $input = popen($src, "r"); while(!feof($input)) { $data .= fgets($input, 64*1024); } pclose($input); //print_r($data); $entities = json_decode($data); } foreach ($entities->result->map as $tile) { foreach ($tile->gameEntities as $entity) { if(!isset($entity[2]->portalV2)) continue; $dist = 0; $lvl = 0; $resNum = 0; $topRes = 0; $energy = 0; foreach ($entity[2]->resonatorArray->resonators as $resonator) { if(!$resonator) continue; $resNum++; $dist += $resonator->distanceToPortal; $lvl += $resonator->level; $topRes = $topRes < $resonator->level ? $resonator->level : $topRes; $energy += $resonator->energyTotal; } $portal = new stdClass(); $portal->level = $lvl / 8; $portal->dist = $dist / $resNum; $portal->topResonator = $topRes; $portal->energy = $energy; $portal->name = str_replace("'", "\\'", $entity[2]->portalV2->descriptiveText->TITLE); $portal->address = str_replace("'", "\\'", $entity[2]->portalV2->descriptiveText->ADDRESS); $portal->owner = playerNameResolve($entity[2]->captured->capturingPlayerId); $portal->faction = $entity[2]->controllingTeam->team; $portal->lat = $entity[2]->locationE6->latE6; $portal->lng = $entity[2]->locationE6->lngE6; $db->query("insert into portal(level, distance, topResonator, energy, name, address, owner, faction, latitude, longitude) values(".$portal->level.", ".$portal->dist.", ".$portal->topResonator.", ".$portal->energy.", '".$portal->name."', '".$portal->address."', '".$portal->owner."', '".$portal->faction."', ".$portal->lat.", ".$portal->lng.")"); //$portals[] = $portal; header("X-Updated: now"); } } } $db->query('update `updated` set `time`='.time()); } else { header("X-Updated: ".(time()-$res)." seconds ago"); } if($_GET['what'] == 'resonator' && $_GET['precise'] == 'false') $res = $db->query('SELECT level, distance, topResonator, energy, name, address, owner, faction, latitude, longitude FROM portal where topResonator >= '.mysql_real_escape_string($_GET['level'])); if($_GET['what'] == 'resonator' && $_GET['precise'] == 'true') $res = $db->query('SELECT level, distance, topResonator, energy, name, address, owner, faction, latitude, longitude FROM portal where topResonator = '.mysql_real_escape_string($_GET['level'])); if($_GET['what'] == 'portal' && $_GET['precise'] == 'false') $res = $db->query('SELECT level, distance, topResonator, energy, name, address, owner, faction, latitude, longitude FROM portal where level >= '.mysql_real_escape_string($_GET['level'])); if($_GET['what'] == 'portal' && $_GET['precise'] == 'true') $res = $db->query('SELECT level, distance, topResonator, energy, name, address, owner, faction, latitude, longitude FROM portal where level = '.mysql_real_escape_string($_GET['level'])); while($r = $res->fetch_array()) { $portal = new stdClass(); $portal->level = $r[0]; $portal->distance = $r[1]; $portal->topResonator = $r[2]; $portal->energy = $r[3]; $portal->name = $r[4]; $portal->address = $r[5]; $portal->owner = $r[6]; $portal->faction = $r[7]; $portal->latitude = $r[8]; $portal->longitude = $r[9]; $portals[] = $portal; } echo json_encode($portals, JSON_PRETTY_PRINT); ?>