Пример #1
0
 public function fs_shortcode($atts)
 {
     // FIRST CHECK FOR POST REQUEST AND CALL 'query' METHOD FROM 'FS_Query'.
     // METHOD WILL RETURN RESULTS VIEW
     if (isset($_POST['fs_query'])) {
         $fs_rss_result = FS_Query::query();
         return $fs_rss_result;
     }
     // IF NO $_POST['fs_query'] THEN JUST CONTINUE AS NORMAL DISPLAYING THE FORM
     // CHECK GUIDs ARE SET BEFORE DISPLAYING QUERY FORM
     if ($this->FS_GUID_flight || $this->FS_GUID_route) {
         // RETURN THE GENERIC FORM FOR QUERIENG FLIGHTSTATS RSS FEED
         // note * include in ob_buffer and assign to variable in order to return through shortcode.
         ob_start();
         // start buffer
         require 'views/query_form.php';
         // include form
         $fs_query_form = ob_get_contents();
         // assign buffer contents to variable
         ob_end_clean();
         // end buffer and remove buffer contents
         return $fs_query_form;
         // IF AT LEAST ONE GUID IS NOT SET DISPLAY ERROR MESSAGE
     } else {
         // DISPLAY ERROR MESSAGE IF NO GUID SUPPLIED
         return '<p style="margin: 10px; padding: 5px; background: #f00; text-align:center; font-weight:bold; color: #000;">Please supply a valid FlightStats GUID</p>';
     }
 }
Пример #2
0
 static function query()
 {
     // SANITIZE POST INPUT
     $fs_rss_params = filter_var_array($_POST, FILTER_SANITIZE_STRING);
     // CHECK IF FIELD HIDDEN WITH CSS HAS BEEN SUBMITTED WITH A VALUE.
     // IF SO IT'S PROBABLY AN AUTOMATED SUBMISSION, SO RETURN ERROR MESSAGE.
     if ($fs_rss_params['fs_bot_check'] !== '') {
         return self::FS_ERROR_MISSING;
     }
     // --------------------------- CREATE DATE ------
     // SET TIME TO TODAY
     $fs_time = time();
     // THEN..
     // CHECK IF SELECTED DAY YESTERDAY OR TOMORROW AND ADD OR SUBTRACT 60*60*24 = 86400 - ONE DAY
     if ($fs_rss_params['fs_sched_date'] === 'yesterday') {
         $fs_time -= 86400;
     } elseif ($fs_rss_params['fs_sched_date'] === 'tomorrow') {
         $fs_time += 86400;
     }
     // CREATE FORMATTED DATE FOR QUERY
     $fs_date = date('Y-m-d', $fs_time);
     // ----------------------------------------------
     // CREATE REMAINING QUERY VARS
     // FLIGHT NO = $fs_flight
     if (isset($fs_rss_params['fs_flight_no']) && $fs_rss_params['fs_flight_no'] != '') {
         $fs_flight = trim($fs_rss_params['fs_flight_no']);
     }
     // DEPARTURE AIRPORT =  $fs_dep
     if (isset($fs_rss_params['fs_dep_airport']) && $fs_rss_params['fs_dep_airport'] != '') {
         $fs_dep = trim($fs_rss_params['fs_dep_airport']);
     }
     // ARRIVAL AIRPORT = $fs_arr
     if (isset($fs_rss_params['fs_arr_airport']) && $fs_rss_params['fs_arr_airport'] != '') {
         $fs_arr = trim($fs_rss_params['fs_arr_airport']);
     }
     // IF FLIGHT NO IS SUPPLIED QUERY IT ALONE.
     if (isset($fs_flight)) {
         $fs_result = self::execute_query($fs_date, $fs_flight);
         // ! IMPORTANT ! // CHECK RETURNED submit_rss VALUE, IF THAT VALUE IS FALSE CONTINUE ON TO TRY QUERY BY ROUTE - ( INCORRECT FLIGHT NO. )
         if ($fs_result) {
             return $fs_result;
             // ------------ POSSIBBLE RETURN ----
         }
         // SET TO TRUE SO MESSAGE CAN BE ADDED EXPLAINING ALTERNITIVE QUERY
         self::$flight_no_failed = TRUE;
     }
     // FROM HERE THE FLIGHT NO QUERY EITHER RETURNED FALSE OR WASN'T SET, SO TRY QUERY WITH AIRPORT LOCATIONS
     if (isset($fs_dep) && isset($fs_arr)) {
         // CREATE ARRAY TO PASS TO submit_rss. THE ARRAY WILL DISTINGUISH BETWEEN FLIGHT NO QUERY AND ROUTE QUERY
         $fs_route[] = $fs_dep;
         $fs_route[] = $fs_arr;
         $fs_result = self::execute_query($fs_date, $fs_route);
         // ! IMPORTANT ! // CHECK RETURNED submit_rss VALUE, IF THAT VALUE IS ALSO FALSE CONTINUE TO RETURN ERROR MESSAGE
         if ($fs_result) {
             return $fs_result;
             // ------------ POSSIBBLE RETURN ----
         }
     }
     // IF ALL POSSIBBLE QUERY PARAMS FAILED OR WASN'T AVAILABLE,
     // I.E. NONE OF THE CONDITIONALS RETURNED A VALUE EXITING THE METHOD, SIMPLY RETURN THE ERROR MESSAGE
     return self::FS_ERROR_MISSING;
     // ------------ POSSIBBLE RETURN ----
 }