public function importFromFlightAware() { global $globalFlightAwareUsername, $globalFlightAwarePassword, $globalLatitudeMax, $globalLatitudeMin, $globalLongitudeMax, $globalLongitudeMin, $globalAirportIgnore; $Spotter = new Spotter(); $SPotterLive = new SpotterLive(); $options = array('trace' => true, 'exceptions' => 0, 'login' => $globalFlightAwareUsername, 'password' => $globalFlightAwarePassword); $client = new SoapClient('http://flightxml.flightaware.com/soap/FlightXML2/wsdl', $options); $params = array('query' => '{range lat ' . $globalLatitudeMin . ' ' . $globalLatitudeMax . '} {range lon ' . $globalLongitudeMax . ' ' . $globalLongitudeMin . '} {true inAir}', 'howMany' => '15', 'offset' => '0'); $result = $client->SearchBirdseyeInFlight($params); $dataFound = false; $ignoreImport = false; if (isset($result->SearchBirdseyeInFlightResult)) { if (is_array($result->SearchBirdseyeInFlightResult->aircraft)) { foreach ($result->SearchBirdseyeInFlightResult->aircraft as $aircraft) { if (!strstr($aircraft->origin, 'L ') && !strstr($aircraft->destination, 'L ')) { foreach ($globalAirportIgnore as $airportIgnore) { if ($aircraft->origin == $airportIgnore || $aircraft->destination == $airportIgnore) { $ignoreImport = true; } } if ($ignoreImport == false) { $flightaware_id = $aircraft->faFlightID; $ident = $aircraft->ident; $aircraft_type = $aircraft->type; $departure_airport = $aircraft->origin; $arrival_airport = $aircraft->destination; $latitude = $aircraft->latitude; $longitude = $aircraft->longitude; $waypoints = $aircraft->waypoints; $altitude = $aircraft->altitude; $heading = $aircraft->heading; $groundspeed = $aircraft->groundspeed; $dataFound = true; //gets the callsign from the last hour $last_hour_ident = $this->getIdentFromLastHour($ident); //change the departure/arrival airport to NA if its not available if ($departure_airport == "" || $departure_airport == "---" || $departure_airport == "ZZZ" || $departure_airport == "ZZZZ") { $departure_airport = "NA"; } if ($arrival_airport == "" || $arrival_airport == "---" || $arrival_airport == "ZZZ" || $arrival_airport == "ZZZZ") { $arrival_airport = "NA"; } //if there was no aircraft with the same callsign within the last hour and go post it into the archive if ($last_hour_ident == "") { //adds the spotter data for the archive $Spotter->addSpotterData($flightaware_id, $ident, $aircraft_type, $departure_airport, $arrival_airport, $latitude, $longitude, $waypoints, $altitude, $heading, $groundspeed); } //adds the spotter LIVE data $SpotterLive->addLiveSpotterData($flightaware_id, $ident, $aircraft_type, $departure_airport, $arrival_airport, $latitude, $longitude, $waypoints, $altitude, $heading, $groundspeed); } } $ignoreImport = false; } } else { if (!strstr($result->SearchBirdseyeInFlightResult->aircraft->origin, 'L ') && !strstr($result->SearchBirdseyeInFlightResult->aircraft->destination, 'L ')) { foreach ($globalAirportIgnore as $airportIgnore) { foreach ($globalAirportIgnore as $airportIgnore) { if ($aircraft->origin == $airportIgnore || $aircraft->destination == $airportIgnore) { $ignoreImport = true; } } if ($ignoreImport == false) { $flightaware_id = $result->SearchBirdseyeInFlightResult->aircraft->faFlightID; $ident = $result->SearchBirdseyeInFlightResult->aircraft->ident; $aircraft_type = $result->SearchBirdseyeInFlightResult->aircraft->type; $departure_airport = $result->SearchBirdseyeInFlightResult->aircraft->origin; $arrival_airport = $result->SearchBirdseyeInFlightResult->aircraft->destination; $latitude = $result->SearchBirdseyeInFlightResult->aircraft->latitude; $longitude = $result->SearchBirdseyeInFlightResult->aircraft->longitude; $waypoints = $result->SearchBirdseyeInFlightResult->aircraft->waypoints; $altitude = $result->SearchBirdseyeInFlightResult->aircraft->altitude; $heading = $result->SearchBirdseyeInFlightResult->aircraft->heading; $groundspeed = $result->SearchBirdseyeInFlightResult->aircraft->groundspeed; $dataFound = true; //gets the callsign from the last hour $last_hour_ident = $this->getIdentFromLastHour($ident); //change the departure/arrival airport to NA if its not available if ($departure_airport == "" || $departure_airport == "---" || $departure_airport == "ZZZ" || $departure_airport == "ZZZZ") { $departure_airport = "NA"; } if ($arrival_airport == "" || $arrival_airport == "---" || $arrival_airport == "ZZZ" || $arrival_airport == "ZZZZ") { $arrival_airport = "NA"; } //if there was no aircraft with the same callsign within the last hour and go post it into the archive if ($last_hour_ident == "") { //adds the spotter data for the archive $Spotter->addSpotterData($flightaware_id, $ident, $aircraft_type, $departure_airport, $arrival_airport, $latitude, $longitude, $waypoints, $altitude, $heading, $groundspeed); } //adds the spotter LIVE data $SpotterLive->addLiveSpotterData($flightaware_id, $ident, $aircraft_type, $departure_airport, $arrival_airport, $latitude, $longitude, $waypoints, $altitude, $heading, $groundspeed); } $ignoreImport = false; } } } } }