/** * Adds a new spotter data * * @param String $flightaware_id the ID from flightaware * @param String $ident the flight ident * @param String $aircraft_icao the aircraft type * @param String $departure_airport_icao the departure airport * @param String $arrival_airport_icao the arrival airport * @return String success or false * */ public static function addLiveSpotterData($flightaware_id = '', $ident = '', $aircraft_icao = '', $departure_airport_icao = '', $arrival_airport_icao = '', $latitude = '', $longitude = '', $waypoints = '', $altitude = '', $heading = '', $groundspeed = '', $departure_airport_time = '', $arrival_airport_time = '', $squawk = '', $route_stop = '', $ModeS = '', $putinarchive = false, $registration = '', $pilot_id = '', $pilot_name = '', $verticalrate = '') { global $globalURL, $globalArchive, $globalDebug; date_default_timezone_set('UTC'); $registration = ''; //getting the registration // if ($ModeS != '') $registration = Spotter::getAircraftRegistrationBymodeS($ModeS); //getting the airline information if ($ident != "") { if (!is_string($ident)) { return false; } /* else { //if (!is_numeric(substr($ident, -1, 1))) if (!is_numeric(substr($ident, 0, 3))) { if (is_numeric(substr(substr($ident, 0, 3), -1, 1))) { $airline_array = Spotter::getAllAirlineInfo(substr($ident, 0, 2)); } elseif (is_numeric(substr(substr($ident, 0, 4), -1, 1))) { $airline_array = Spotter::getAllAirlineInfo(substr($ident, 0, 3)); } else { $airline_array = Spotter::getAllAirlineInfo("NA"); } //print_r($airline_array); if (count($airline_array) == 0) { $airline_array = Spotter::getAllAirlineInfo("NA"); } elseif ($airline_array[0]['icao'] == ""){ $airline_array = Spotter::getAllAirlineInfo("NA"); } } else { //echo "\n arg numeric : ".substr($ident, -1, 1)." - ".substr($ident, 0, 3)."\n"; $airline_array = Spotter::getAllAirlineInfo("NA"); } } */ } //getting the aircraft information if ($aircraft_icao != "") { if (!is_string($aircraft_icao)) { return false; } /* else { if ($aircraft_icao == "" || $aircraft_icao == "XXXX") { $aircraft_array = Spotter::getAllAircraftInfo("NA"); } else { $aircraft_array = Spotter::getAllAircraftInfo($aircraft_icao); } } */ } //getting the departure airport information if ($departure_airport_icao != "") { if (!is_string($departure_airport_icao)) { return false; } /* else { $departure_airport_array = Spotter::getAllAirportInfo($departure_airport_icao); } */ } //getting the arrival airport information if ($arrival_airport_icao != "") { if (!is_string($arrival_airport_icao)) { return false; } /* else { $arrival_airport_array = Spotter::getAllAirportInfo($arrival_airport_icao); } */ } if ($latitude != "") { if (!is_numeric($latitude)) { return false; } } if ($longitude != "") { if (!is_numeric($longitude)) { return false; } } if ($waypoints != "") { if (!is_string($waypoints)) { return false; } } if ($altitude != "") { if (!is_numeric($altitude)) { return false; } } if ($heading != "") { if (!is_numeric($heading)) { return false; } } if ($groundspeed != "") { if (!is_numeric($groundspeed)) { return false; } } date_default_timezone_set('UTC'); $date = date("Y-m-d H:i:s", time()); /* //getting the aircraft image if ($registration != "") { $image_array = Image::getSpotterImage($registration); if (!isset($image_array[0]['registration'])) { Image::addSpotterImage($registration); } } */ $flightaware_id = filter_var($flightaware_id, FILTER_SANITIZE_STRING); $ident = filter_var($ident, FILTER_SANITIZE_STRING); $aircraft_icao = filter_var($aircraft_icao, FILTER_SANITIZE_STRING); $departure_airport_icao = filter_var($departure_airport_icao, FILTER_SANITIZE_STRING); $arrival_airport_icao = filter_var($arrival_airport_icao, FILTER_SANITIZE_STRING); $latitude = filter_var($latitude, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $longitude = filter_var($longitude, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $waypoints = filter_var($waypoints, FILTER_SANITIZE_STRING); $altitude = filter_var($altitude, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $heading = filter_var($heading, FILTER_SANITIZE_NUMBER_INT); $groundspeed = filter_var($groundspeed, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $squawk = filter_var($squawk, FILTER_SANITIZE_NUMBER_INT); $route_stop = filter_var($route_stop, FILTER_SANITIZE_STRING); $ModeS = filter_var($ModeS, FILTER_SANITIZE_STRING); $pilot_id = filter_var($pilot_id, FILTER_SANITIZE_STRING); $pilot_name = filter_var($pilot_name, FILTER_SANITIZE_STRING); $verticalrate = filter_var($verticalrate, FILTER_SANITIZE_NUMBER_INT); /* if (!isset($airline_array) || count($airline_array) == 0) { $airline_array = Spotter::getAllAirlineInfo('NA'); } if (!isset($aircraft_array) || count($aircraft_array) == 0) { $aircraft_array = Spotter::getAllAircraftInfo('NA'); } if ($registration == '') $registration = 'NA'; $airline_name = $airline_array[0]['name']; $airline_icao = $airline_array[0]['icao']; $airline_country = $airline_array[0]['country']; $airline_type = $airline_array[0]['type']; $aircraft_shadow = $aircraft_array[0]['aircraft_shadow']; $aircraft_type = $aircraft_array[0]['type']; $aircraft_manufacturer = $aircraft_array[0]['manufacturer']; */ $airline_name = ''; $airline_icao = ''; $airline_country = ''; $airline_type = ''; $aircraft_shadow = ''; $aircraft_type = ''; $aircraft_manufacturer = ''; $aircraft_name = ''; if (isset($departure_airport_array[0])) { $departure_airport_name = $departure_airport_array[0]['name']; $departure_airport_city = $departure_airport_array[0]['city']; $departure_airport_country = $departure_airport_array[0]['country']; } else { $departure_airport_name = ''; $departure_airport_city = ''; $departure_airport_country = ''; } if (isset($arrival_airport_array[0])) { $arrival_airport_name = $arrival_airport_array[0]['name']; $arrival_airport_city = $arrival_airport_array[0]['city']; $arrival_airport_country = $arrival_airport_array[0]['country']; } else { $arrival_airport_name = ''; $arrival_airport_city = ''; $arrival_airport_country = ''; } $query = "INSERT INTO spotter_live (flightaware_id, ident, registration, airline_name, airline_icao, airline_country, airline_type, aircraft_icao, aircraft_shadow, aircraft_name, aircraft_manufacturer, departure_airport_icao, departure_airport_name, departure_airport_city, departure_airport_country, arrival_airport_icao, arrival_airport_name, arrival_airport_city, arrival_airport_country, latitude, longitude, waypoints, altitude, heading, ground_speed, date, departure_airport_time, arrival_airport_time, squawk, route_stop, ModeS, pilot_id, pilot_name, verticalrate) \n\t\tVALUES (:flightaware_id,:ident,:registration,:airline_name,:airline_icao,:airline_country,:airline_type,:aircraft_icao,:aircraft_shadow,:aircraft_type,:aircraft_manufacturer,:departure_airport_icao,:departure_airport_name, :departure_airport_city, :departure_airport_country, :arrival_airport_icao, :arrival_airport_name, :arrival_airport_city, :arrival_airport_country, :latitude,:longitude,:waypoints,:altitude,:heading,:groundspeed,:date,:departure_airport_time,:arrival_airport_time,:squawk,:route_stop,:ModeS, :pilot_id, :pilot_name, :verticalrate)"; $query_values = array(':flightaware_id' => $flightaware_id, ':ident' => $ident, ':registration' => $registration, ':airline_name' => $airline_name, ':airline_icao' => $airline_icao, ':airline_country' => $airline_country, ':airline_type' => $airline_type, ':aircraft_icao' => $aircraft_icao, ':aircraft_shadow' => $aircraft_shadow, ':aircraft_type' => $aircraft_type, ':aircraft_manufacturer' => $aircraft_manufacturer, ':departure_airport_icao' => $departure_airport_icao, ':departure_airport_name' => $departure_airport_name, ':departure_airport_city' => $departure_airport_city, ':departure_airport_country' => $departure_airport_country, ':arrival_airport_icao' => $arrival_airport_icao, ':arrival_airport_name' => $arrival_airport_name, ':arrival_airport_city' => $arrival_airport_city, ':arrival_airport_country' => $arrival_airport_country, ':latitude' => $latitude, ':longitude' => $longitude, ':waypoints' => $waypoints, ':altitude' => $altitude, ':heading' => $heading, ':groundspeed' => $groundspeed, ':date' => $date, ':departure_airport_time' => $departure_airport_time, ':arrival_airport_time' => $arrival_airport_time, ':squawk' => $squawk, ':route_stop' => $route_stop, ':ModeS' => $ModeS, ':pilot_id' => $pilot_id, ':pilot_name' => $pilot_name, ':verticalrate' => $verticalrate); //$query_values = array(':flightaware_id' => $flightaware_id,':ident' => $ident, ':registration' => $registration,':airline_name' => $airline_array[0]['name'],':airline_icao' => $airline_array[0]['icao'],':airline_country' => $airline_array[0]['country'],':airline_type' => $airline_array[0]['type'],':aircraft_icao' => $aircraft_icao,':aircraft_type' => $aircraft_array[0]['type'],':aircraft_manufacturer' => $aircraft_array[0]['manufacturer'],':departure_airport_icao' => $departure_airport_icao,':arrival_airport_icao' => $arrival_airport_icao,':latitude' => $latitude,':longitude' => $longitude, ':waypoints' => $waypoints,':altitude' => $altitude,':heading' => $heading,':groundspeed' => $groundspeed,':date' => $date); try { $Connection = new Connection(); $sth = Connection::$db->prepare($query); $sth->execute($query_values); // Connection::$db = null; } catch (PDOException $e) { return "error : " . $e->getMessage(); } if (isset($globalArchive) && $globalArchive && $putinarchive) { if ($globalDebug) { echo "(Add to SBS archive : "; } $result = SpotterArchive::addSpotterArchiveData($flightaware_id, $ident, $registration, $airline_name, $airline_icao, $airline_country, $airline_type, $aircraft_icao, $aircraft_shadow, $aircraft_name, $aircraft_manufacturer, $departure_airport_icao, $departure_airport_name, $departure_airport_city, $departure_airport_country, $departure_airport_time, $arrival_airport_icao, $arrival_airport_name, $arrival_airport_city, $arrival_airport_country, $arrival_airport_time, $route_stop, $date, $latitude, $longitude, $waypoints, $altitude, $heading, $groundspeed, $squawk, $ModeS, $pilot_id, $pilot_name); if ($globalDebug) { echo $result . ')'; } } return "success"; }
require 'require/class.SpotterArchive.php'; $from_archive = false; if (isset($_GET['ident'])) { $ident = $_GET['ident']; $spotter_array = SpotterLive::getLastLiveSpotterDataByIdent($ident); if (empty($spotter_array)) { $from_archive = true; $spotter_array = SpotterArchive::getLastArchiveSpotterDataByIdent($ident); } } if (isset($_GET['flightaware_id'])) { $flightaware_id = $_GET['flightaware_id']; $spotter_array = SpotterLive::getLastLiveSpotterDataById($flightaware_id); if (empty($spotter_array)) { $from_archive = true; $spotter_array = SpotterArchive::getLastArchiveSpotterDataById($flightaware_id); } } /* ?> <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>Spotter TV</title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"> <link rel="apple-touch-icon" href="<?php print $globalURL; ?>/images/touch-icon.png"> <link href='http://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900,900italic' rel='stylesheet' type='text/css'> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<?php require 'require/class.Connection.php'; require 'require/class.Spotter.php'; require 'require/class.SpotterLive.php'; require 'require/class.SpotterArchive.php'; $SpotterLive = new SpotterLive(); $SpotterArchive = new SpotterArchive(); $from_archive = false; if (isset($_GET['ident'])) { $ident = $_GET['ident']; $spotter_array = $SpotterLive->getLastLiveSpotterDataByIdent($ident); if (empty($spotter_array)) { $from_archive = true; $spotter_array = $SpotterArchive->getLastArchiveSpotterDataByIdent($ident); } } if (isset($_GET['flightaware_id'])) { $flightaware_id = $_GET['flightaware_id']; $spotter_array = $SpotterLive->getLastLiveSpotterDataById($flightaware_id); if (empty($spotter_array)) { $from_archive = true; $spotter_array = $SpotterArchive->getLastArchiveSpotterDataById($flightaware_id); } } ?> <div class="alldetails"> <button type="button" class="close">×</button> <?php $spotter_item = $spotter_array[0]; date_default_timezone_set('UTC');
<?php require 'require/class.Connection.php'; require 'require/class.Spotter.php'; require 'require/class.SpotterLive.php'; require 'require/class.SpotterArchive.php'; if (!isset($_GET['ident'])) { header('Location: ' . $globalURL . ''); } else { $Spotter = new Spotter(); $SpotterArchive = new SpotterArchive(); //calculuation for the pagination if (!isset($_GET['limit'])) { $limit_start = 0; $limit_end = 25; $absolute_difference = 25; } else { $limit_explode = explode(",", $_GET['limit']); $limit_start = $limit_explode[0]; $limit_end = $limit_explode[1]; } $absolute_difference = abs($limit_start - $limit_end); $limit_next = $limit_end + $absolute_difference; $limit_previous_1 = $limit_start - $absolute_difference; $limit_previous_2 = $limit_end - $absolute_difference; $page_url = $globalURL . '/ident/' . $_GET['ident']; if (isset($_GET['sort'])) { $spotter_array = $Spotter->getSpotterDataByIdent($_GET['ident'], $limit_start . "," . $absolute_difference, $_GET['sort']); } else { $spotter_array = $Spotter->getSpotterDataByIdent($_GET['ident'], $limit_start . "," . $absolute_difference); }
$history_output .= $spotter_history['longitude'].', '; $history_output .= $spotter_history['latitude'].','; $history_output .= $spotter_history['altitude']; $history_output .= '],'; } } if ($history_output != '') $output .= substr($history_output, 0, -1); $output .= ']'; $output .= '}'; $output .= '},'; } */ if ($from_archive) { $spotter_history_array = SpotterArchive::getAllArchiveSpotterDataById($spotter_item['flightaware_id']); } else { $spotter_history_array = SpotterLive::getAllLiveSpotterDataById($spotter_item['flightaware_id']); } $d = false; foreach ($spotter_history_array as $key => $spotter_history) { if (abs($spotter_history['longitude'] - $spotter_item['longitude']) > 200 || $d == true) { if ($d == false) { $d = true; } } else { $alt = round($spotter_history['altitude'] / 10) * 10; if (!isset($prev_alt) || $prev_alt != $alt) { if (isset($prev_alt)) { //$output_history .= '['.$spotter_history['longitude'].', '.$spotter_history['latitude'].','.$spotter_history['altitude'].']'; $output_history .= '[' . $spotter_history['longitude'] . ', ' . $spotter_history['latitude'] . ']';
if (isset($spotter_array[0]['airline_name'])) { $title .= ' - ' . $spotter_array[0]['airline_name']; } if (isset($spotter_array[0]['aircraft_name']) && $spotter_array[0]['aircraft_name'] != 'Not Available') { $title .= ' - ' . $spotter_array[0]['aircraft_name'] . ' (' . $spotter_array[0]['aircraft_type'] . ')'; } if (isset($spotter_array[0]['registration']) && $spotter_array[0]['registration'] != 'NA' && $spotter_array[0]['registration'] != 'N/A') { $title .= ' - ' . $spotter_array[0]['registration']; } //$facebook_meta_image = $spotter_array[0]['image']; require 'header.php'; if (isset($globalArchive) && $globalArchive) { // Requirement for altitude graph print '<script type="text/javascript" src="https://www.google.com/jsapi"></script>'; //$all_data = SpotterLive::getAltitudeLiveSpotterDataByIdent($_GET['ident']); $all_data = SpotterArchive::getAltitudeArchiveSpotterDataById($spotter_array[0]['flightaware_id']); if (isset($globalTimezone)) { date_default_timezone_set($globalTimezone); } else { date_default_timezone_set('UTC'); } if (count($all_data) > 0) { print '<div id="chart6" class="chart" width="100%"></div> <script> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart6); function drawChart6() { var data = google.visualization.arrayToDataTable([ ["Hour","Altitude"], '; $altitude_data = ''; foreach ($all_data as $data) {
<?php require 'require/class.Connection.php'; require 'require/class.Spotter.php'; require 'require/class.SpotterLive.php'; require 'require/class.SpotterArchive.php'; $SpotterLive = new SpotterLive(); $Spotter = new Spotter(); $SpotterArchive = new SpotterArchive(); if (isset($_GET['download'])) { if ($_GET['download'] == "true") { header('Content-disposition: attachment; filename="flightairmap.json"'); } } header('Content-Type: text/javascript'); $from_archive = false; $min = false; $allhistory = false; $filter = array(); if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalVATSIM) && $globalVATSIM && isset($_COOKIE['ShowVATSIM']) && $_COOKIE['ShowVATSIM']) { $filter = array_merge($filter, array('vatsimtxt')); } if ((!isset($globalMapVAchoose) || $globalMapVAchoose) && isset($globalIVAO) && $globalIVAO && isset($_COOKIE['ShowIVAO']) && $_COOKIE['ShowIVAO']) { $filter = array_merge($filter, array('whazzup')); } if (isset($globalMapPopup) && !$globalMapPopup && !(isset($_COOKIE['flightpopup']) && $_COOKIE['flightpopup'] == 'true')) { $min = true; } if (isset($_GET['ident'])) { $ident = filter_input(INPUT_GET, 'ident', FILTER_SANITIZE_STRING); $spotter_array = $SpotterLive->getLastLiveSpotterDataByIdent($ident);