Example #1
0
 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;
                 }
             }
         }
     }
 }