Advertisement
Guest User

frame.php

a guest
Oct 17th, 2018
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.79 KB | None | 0 0
  1. <?php
  2.  
  3. define('version','official-w3052-3/12/2016');
  4. define('LOAD_TYPE_RANDOM_EDITABLE','randomopen');
  5. define('LOAD_TYPE_RANDOM_LOCKED','randomlocked');
  6. require_once("interface.php");
  7. $dbcreds = smartCARS::getdbcredentials();
  8.  
  9. $host = 'localhost';
  10. $db   = 'akuardwo_dev';
  11. $user = 'akuardwo_youssef';
  12. $pass = '+NAFB80fSHva';
  13. $charset = 'utf8';
  14.  
  15. $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  16. $options = [
  17.     PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
  18.     PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  19.     PDO::ATTR_EMULATE_PREPARES   => false,
  20. ];
  21. try {
  22.      $pdo = new PDO($dsn, $user, $pass, $options);
  23. } catch (\PDOException $e) {
  24.      throw new \PDOException($e->getMessage(), (int)$e->getCode());
  25. }
  26.  
  27. function table_structure() {    
  28.     global $dbConnection;
  29.     $param = "CREATE TABLE IF NOT EXISTS smartCARS_sessions ( id int(16) AUTO_INCREMENT, PRIMARY KEY(id), dbid int(16), sessionid varchar(64), timestamp int(16)); CREATE TABLE IF NOT EXISTS smartCARS_charteredflights (routeid int, PRIMARY KEY(routeid), dbid int, bidid int);";
  30.     $stmt  = $dbConnection->prepare($param);
  31.     $stmt->execute();
  32.     $stmt->closeCursor();
  33.     return;
  34. }
  35.  
  36. function clear_old_sessions() {
  37.     global $dbConnection;
  38.     $stmt = $dbConnection->prepare("DELETE FROM smartCARS_sessions WHERE timestamp < ?");
  39.     $stmt->execute(array(
  40.         time() - 2592000
  41.     ));
  42.     $stmt->closeCursor();
  43. }
  44.    
  45. function write_sessid($pilotid, $sessid) {
  46.     global $dbConnection;
  47.     $stmt = $dbConnection->prepare("INSERT INTO smartCARS_sessions (id, dbid, sessionid, timestamp) VALUES (NULL, ?, ?, ?)");
  48.     $stmt->execute(array(
  49.         $pilotid,
  50.         $sessid,
  51.         time()
  52.     ));
  53.     $stmt->closeCursor();
  54. }
  55.  
  56. function check_session($dbid, $sessionid) {
  57.     global $dbConnection;
  58.     $stmt = $dbConnection->prepare("SELECT * FROM smartCARS_sessions WHERE dbid = ? AND sessionid = ?");
  59.     $stmt->execute(array(
  60.         $dbid,
  61.         $sessionid
  62.     ));
  63.     $res = $stmt->fetch();
  64.     if($res['dbid'] != "")
  65.         return true;
  66.     return false;
  67. }
  68.  
  69. $action = $_GET['action'];
  70. switch($action) {
  71.     case "manuallogin":
  72.         table_structure();     
  73.         clear_old_sessions();      
  74.         $res = smartCARS::manuallogin($_GET['userid'],$_POST['password'],$_GET['sessionid']);
  75.         if($res['result'] == "ok") {
  76.             write_sessid($res['dbid'], $_GET['sessionid']);                                
  77.             $res = str_replace(",","",$res);           
  78.             echo($res['dbid'] . "," . $res['code'] . "," . $res['pilotid'] . "," . $_GET['sessionid'] . "," . $res['firstname'] . "," . $res['lastname'] . "," . $res['email'] . "," . $res['ranklevel'] . "," . $res['rankstring']);          
  79.         }
  80.         else {         
  81.             switch($res['result']) {
  82.                 case "inactive":
  83.                     echo("ACCOUNT_INACTIVE");
  84.                     break;
  85.                 case "unconfirmed":
  86.                     echo("ACCOUNT_UNCONFIRMED");
  87.                     break;
  88.                 default:
  89.                     echo("AUTH_FAILED");
  90.             }                  
  91.         }
  92.         break;
  93.     case "automaticlogin":
  94.         table_structure();
  95.         clear_old_sessions();
  96.         $res = smartCARS::automaticlogin($_GET['dbid'],$_GET['oldsessionid'], $_GET['sessionid']);
  97.         if($res['result'] == "ok") {
  98.             write_sessid($res['dbid'], $_GET['sessionid']);                                
  99.             $res = str_replace(",","",$res);           
  100.             echo($res['dbid'] . "," . $res['code'] . "," . $res['pilotid'] . "," . $_GET['sessionid'] . "," . $res['firstname'] . "," . $res['lastname'] . "," . $res['email'] . "," . $res['ranklevel'] . "," . $res['rankstring']);          
  101.         }
  102.         else {         
  103.             switch($res['result']) {
  104.                 case "inactive":
  105.                     echo("ACCOUNT_INACTIVE");
  106.                     break;
  107.                 case "unconfirmed":
  108.                     echo("ACCOUNT_UNCONFIRMED");
  109.                     break;
  110.                 default:
  111.                     echo("AUTH_FAILED");
  112.             }              
  113.         }
  114.         break;
  115.     case "verifysession": //called by the chat server to authenticate users
  116.         $res = smartCARS::verifysession($_GET['dbid'], $_GET['sessionid']);
  117.         if($res['result'] == "SUCCESS") {
  118.             $res = str_replace(",","",$res);
  119.             echo($_GET['sessionid'] . "," . $res['firstname'] . "," . $res['lastname']);
  120.         }
  121.         else
  122.             echo("AUTH_FAILED");
  123.         break;
  124.     case "getpilotcenterdata":
  125.         $res = smartCARS::getpilotcenterdata($_GET['dbid']);
  126.         if($res['totalflights'] != "") {
  127.             $res = str_replace(",","",$res);
  128.             echo($res['totalhours'] . "," . $res['totalflights'] . "," . $res['averagelandingrate'] . "," . $res['totalpireps']);          
  129.         }
  130.         else
  131.             echo("NO_DATA");
  132.         break;
  133.     case "getairports":
  134.         $res = smartCARS::getairports($_GET['dbid']);
  135.         $runcount = 0;
  136.         foreach($res['airports'] as $apt) {
  137.             if($rc != 0)
  138.                 echo(";");
  139.             $apt = str_replace(";","",$apt);
  140.             $apt = str_replace("|","",$apt);
  141.             echo ($apt[$res['format']['id']] . "|" . strtoupper($apt[$res['format']['icao']]) . "|" . $apt[$res['format']['name']] . "|" . $apt[$res['format']['latitude']] . "|" . $apt[$res['format']['longitude']] . "|" . $apt[$res['format']['country']]);
  142.             $rc++;
  143.         }
  144.         break;     
  145.     case "getaircraft":
  146.         $res = smartCARS::getaircraft($_GET['dbid']);
  147.         $runcount = 0;
  148.         foreach($res['aircraft'] as $ac) {
  149.             if($runcount != 0)
  150.                 echo(";");
  151.             $ac = str_replace(";","",$ac);
  152.             $ac = str_replace(",","",$ac);
  153.             echo ($ac[$res['format']['id']] . "," . $ac[$res['format']['fullname']] . "," . $ac[$res['format']['icao']] . "," . $ac[$res['format']['registration']] . "," . $ac[$res['format']['maxpassengers']] . "," . $ac[$res['format']['maxcargo']] . "," . $ac[$res['format']['requiredranklevel']]);
  154.             $runcount++;
  155.         }      
  156.         break;
  157.     case "getbidflights":
  158.         $res = smartCARS::getbidflights($_GET['dbid']);
  159.         $runcount = 0;
  160.         if(sizeof($res['schedules']) > 0) {
  161.             $runcount = 0;
  162.             foreach($res['schedules'] as $schedule) {
  163.                 if($runcount != 0)
  164.                     echo(";");
  165.                 $schedule = str_replace(";","",$schedule);
  166.                 $schedule = str_replace("|","",$schedule);
  167.                 echo($schedule[$res['format']['bidid']] . "|" . $schedule[$res['format']['routeid']] . "|" . $schedule[$res['format']['code']] . "|" . $schedule[$res['format']['flightnumber']] . "|" . $schedule[$res['format']['departureicao']] . "|" . $schedule[$res['format']['arrivalicao']] . "|" . $schedule[$res['format']['route']] . "|" . $schedule[$res['format']['cruisingaltitude']] . "|" . $schedule[$res['format']['aircraft']] . "|" . $schedule[$res['format']['duration']] . "|" . $schedule[$res['format']['departuretime']] . "|" . $schedule[$res['format']['arrivaltime']] . "|" . $schedule[$res['format']['load']] . "|" . $schedule[$res['format']['type']] . "|" . $schedule[$res['format']['daysofweek']]);
  168.                 $runcount++;
  169.             }
  170.         }
  171.         else
  172.             echo("NONE");
  173.         break;
  174.     case "bidonflight":
  175.         if(check_session($_GET['dbid'], $_GET['sessionid']) == true) {
  176.             $ret = smartCARS::bidonflight($_GET['dbid'],$_GET['routeid']);
  177.             switch($ret) {
  178.                 case 0:
  179.                     echo("FLIGHT_BID");
  180.                     break;
  181.                 case 1:
  182.                     echo("FLIGHT_ALREADY_BID");
  183.                     break;
  184.                 case 2:
  185.                     echo("INVALID_ROUTEID");
  186.                     break;
  187.             }
  188.         }
  189.         else
  190.             echo("AUTH_FAILED");
  191.         break;
  192.     case "deletebidflight":
  193.         if(check_session($_GET['dbid'], $_GET['sessionid']) == true) {
  194.             smartCARS::deletebidflight($_GET['dbid'],$_GET['bidid']);
  195.             echo("FLIGHT_DELETED");
  196.         }
  197.         else
  198.             echo("AUTH_FAILED");
  199.         break;
  200.     case "searchpireps":       
  201.         $res = smartCARS::searchpireps($_GET['dbid'], $_GET['departureicao'], $_GET['arrivalicao'], $_GET['startdate'], $_GET['enddate'], $_GET['aircraft'], $_GET['status']);
  202.         if(sizeof($res['pireps']) > 0) {
  203.             $runcount = 0;
  204.             foreach($res['pireps'] as $pirep) {
  205.                 if($runcount != 0)
  206.                     echo(";");
  207.                 $pirep = str_replace(";","",$pirep);
  208.                 $pirep = str_replace("|","",$pirep);
  209.                 echo($pirep[$res['format']['pirepid']] . "|" . $pirep[$res['format']['code']] . "|" . $pirep[$res['format']['flightnumber']] . "|" . $pirep[$res['format']['date']] . "|" . $pirep[$res['format']['departureicao']] . "|" . $pirep[$res['format']['arrivalicao']] . "|" . $pirep[$res['format']['aircraft']]);
  210.                 $runcount++;
  211.             }
  212.         }
  213.         else
  214.             echo("NONE");
  215.         break;
  216.     case "getpirepdata":
  217.         $res = smartCARS::getpirepdata($_GET['dbid'], $_GET['pirepid']);
  218.         $res = str_replace(",","",$res);
  219.         echo($res['duration'] . "," . $res['landingrate'] . "," . $res['fuelused'] . "," . $res['status'] . "," . $res['log']);
  220.         break;     
  221.     case "searchflights":
  222.         $res = smartCARS::searchflights($_GET['dbid'], $_GET['departureicao'], $_GET['mintime'], $_GET['maxtime'], $_GET['arrivalicao'], $_GET['aircraft']);
  223.         if(sizeof($res['schedules']) > 0) {
  224.             $runcount = 0;
  225.             foreach($res['schedules'] as $schedule) {
  226.                 if($runcount != 0)
  227.                     echo(";");
  228.                 $schedule = str_replace(";","",$schedule);
  229.                 $schedule = str_replace("|","",$schedule);
  230.                 echo($schedule[$res['format']['routeid']] . "|" . $schedule[$res['format']['code']] . "|" . $schedule[$res['format']['flightnumber']] . "|" . $schedule[$res['format']['departureicao']] . "|" . $schedule[$res['format']['arrivalicao']] . "|" . $schedule[$res['format']['route']] . "|" . $schedule[$res['format']['cruisingaltitude']] . "|" . $schedule[$res['format']['aircraft']] . "|" . $schedule[$res['format']['flighttime']] . "|" . $schedule[$res['format']['departuretime']] . "|" . $schedule[$res['format']['arrivaltime']] . "|" . $schedule[$res['format']['daysofweek']]);
  231.                 $runcount++;
  232.             }
  233.         }
  234.         else
  235.             echo("NONE");
  236.         break;
  237.     case "createflight":
  238.         if(check_session($_GET['dbid'], $_GET['sessionid']) == true) {
  239.             $ret = false;          
  240.             $ret = smartCARS::createflight($_GET['dbid'], $_GET['flightcode'], $_GET['flightnumber'], $_GET['ticketprice'], $_GET['departureicao'], $_GET['arrivalicao'],$_GET['aircraft'], $_GET['flighttype'], $_GET['departuretime'], $_GET['arrivaltime'], $_GET['flighttime'], $_POST['route'], $_GET['cruisealtitude'], $_GET['distance']);          
  241.             if($ret == true)
  242.                 echo("SUCCESS");
  243.             else
  244.                 echo("ERROR");
  245.         }
  246.         else
  247.             echo("AUTH_FAILED");
  248.         break;
  249.     case "positionreport":
  250.         if(check_session($_GET['dbid'], $_GET['sessionid']) == true) {
  251.             $ret = smartCARS::positionreport($_GET['dbid'],$_GET['flightnumber'],$_GET['latitude'], $_GET['longitude'],$_GET['magneticheading'], $_GET['trueheading'], $_GET['altitude'], $_GET['groundspeed'], $_GET['departureicao'], $_GET['arrivalicao'], $_GET['phase'], $_GET['arrivaltime'], $_GET['departuretime'], $_GET['distanceremaining'], $_POST['route'], $_GET['timeremaining'], $_GET['aircraft'], $_GET['onlinenetwork']);
  252.             if($ret == true)
  253.                 echo("SUCCESS");
  254.             else
  255.                 echo("ERROR");
  256.         }
  257.         else
  258.             echo("AUTH_FAILED");
  259.         break;
  260.     case "filepirep":
  261.         if(check_session($_GET['dbid'], $_GET['sessionid']) == true) {
  262.             $ret = smartCARS::filepirep($_GET['dbid'], $_GET['code'], $_GET['flightnumber'], $_GET['routeid'], $_GET['bidid'], $_GET['departureicao'], $_GET['arrivalicao'], $_POST['route'], $_GET['aircraft'], $_GET['load'], $_GET['flighttime'], $_GET['landingrate'], $_POST['comments'], $_GET['fuelused'], $_POST['log']);
  263.             if($ret == true)
  264.                 echo("SUCCESS");
  265.             else
  266.                 echo("ERROR");
  267.         }
  268.         else
  269.             echo("AUTH_FAILED");
  270.         break;
  271.     default:
  272.         echo("Script OK, Frame Version: " . version . ", Interface Version: " . interface_version);
  273.         break;
  274. }
  275. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement