Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * phpVMS - Virtual Airline Administration Software
- * Copyright (c) 2008 Nabeel Shahzad
- * For more information, visit www.phpvms.net
- * Forums: http://www.phpvms.net/forum
- * Documentation: http://www.phpvms.net/docs
- *
- * phpVMS is licenced under the following license:
- * Creative Commons Attribution Non-commercial Share Alike (by-nc-sa)
- * View license.txt in the root, or visit http://creativecommons.org/licenses/by-nc-sa/3.0/
- *
- * @author Nabeel Shahzad
- * @copyright Copyright (c) 2008, Nabeel Shahzad
- * @link http://www.phpvms.net
- * @license http://creativecommons.org/licenses/by-nc-sa/3.0/
- */
- class SchedulesData extends CodonData
- {
- /**
- * A generic find function for schedules. As parameters, do:
- *
- * $params = array( 's.depicao' => 'value',
- * 's.arricao' => array ('multiple', 'values'),
- * );
- *
- * Syntax is ('s.columnname' => 'value'), where value can be
- * an array is multiple values, or with a SQL wildcard (%)
- * if that's what is desired.
- *
- * Columns from the schedules table should be prefixed by 's.',
- * the aircraft table as 'a.'
- *
- * You can also pass offsets ($start and $count) in order to
- * facilitate pagination
- *
- * @tutorial http://docs.phpvms.net/media/development/searching_and_retriving_schedules
- */
- public static function findSchedules($params, $count = '', $start = '')
- {
- $sql = 'SELECT s.*,
- a.id as aircraftid, a.name as aircraft, a.registration,
- a.minrank as aircraft_minrank, a.ranklevel as aircraftlevel,
- dep.name as depname, dep.lat AS deplat, dep.lng AS deplng,
- arr.name as arrname, arr.lat AS arrlat, arr.lng AS arrlng
- FROM '.TABLE_PREFIX.'schedules AS s
- LEFT JOIN '.TABLE_PREFIX.'airports AS dep ON dep.icao = s.depicao
- LEFT JOIN '.TABLE_PREFIX.'airports AS arr ON arr.icao = s.arricao
- LEFT JOIN '.TABLE_PREFIX.'aircraft AS a ON a.id = s.aircraft ';
- /* Build the select "WHERE" based on the columns passed, this is a generic function */
- $sql .= DB::build_where($params);
- $count = 500;
- // Order matters
- if(Config::Get('SCHEDULES_ORDER_BY') != '')
- {
- $sql .= ' ORDER BY '.Config::Get('SCHEDULES_ORDER_BY');
- }
- if(strlen($count) != 0)
- {
- $sql .= ' LIMIT '.$count;
- }
- if(strlen($start) != 0)
- {
- $sql .= ' OFFSET '. $start;
- }
- $ret = DB::get_results($sql);
- return $ret;
- }
- /**
- * Get the total number of schedules based on criterea
- *
- * @param array $params key => value list
- * @return int Returns the total number
- *
- */
- public static function countSchedules($params)
- {
- $sql = 'SELECT COUNT(s.id) as total
- FROM '.TABLE_PREFIX.'schedules AS s
- LEFT JOIN '.TABLE_PREFIX.'airports AS dep ON dep.icao = s.depicao
- LEFT JOIN '.TABLE_PREFIX.'airports AS arr ON arr.icao = s.arricao
- LEFT JOIN '.TABLE_PREFIX.'aircraft AS a ON a.id = s.aircraft ';
- $sql .= DB::build_where($params);
- $res = DB::get_row($sql);
- return $res->total;
- }
- /**
- * Return information about a schedule (pass the ID)
- */
- public static function getSchedule($id)
- {
- return self::getScheduleDetailed($id);
- }
- /**
- * Return a flight given the airline code and flight number
- *
- * @deprecated
- *
- * @param string $code Airline code
- * @param mixed $flightnum Flight number
- * @return array Returns a full flight
- *
- */
- public static function getScheduleByFlight($code, $flightnum)
- {
- $params = array(
- 's.code' => strtoupper($code),
- 's.flightnum' => strtoupper($flightnum),
- );
- $schedule = self::findSchedules($params);
- return $schedule[0];
- }
- /**
- * Find a flight on the flightnumber and departure airport
- *
- * @param string $flightnum Flight numbers
- * @param string $depicao Departure airport
- * @return array Returns one flight
- *
- */
- public static function findFlight($flightnum, $depicao='')
- {
- $params = array('s.flightnum' => strtoupper($flightnum));
- if($depicao != '')
- {
- $params['s.depicao'] = $depicao;
- }
- $schedule = self::findSchedules($params);
- return $schedule[0];
- }
- /**
- * Extract the code and flight number portions from the flight number
- * Ensures that the code and number are properly split
- */
- public static function getProperFlightNum($flightnum)
- {
- if($flightnum == '')
- return false;
- $ret = array();
- $flightnum = strtoupper($flightnum);
- $airlines = OperationsData::getAllAirlines(false);
- foreach($airlines as $a)
- {
- $a->code = strtoupper($a->code);
- if(strpos($flightnum, $a->code) === false)
- {
- continue;
- }
- $ret['code'] = $a->code;
- $ret['flightnum'] = str_ireplace($a->code, '', $flightnum);
- return $ret;
- }
- # Invalid flight number
- $ret['code'] = '';
- $ret['flightnum'] = $flightnum;
- return $ret;
- }
- /**
- * Increment the flown count for a schedule
- *
- * @param string $code Airline code
- * @param int $flightnum Flight number
- * @return bool
- *
- */
- public static function IncrementFlownCount($code, $flightnum)
- {
- $schedid = intval($schedid);
- $code = strtoupper($code);
- $flightnum = strtoupper($flightnum);
- $sql = 'UPDATE '.TABLE_PREFIX."schedules
- SET timesflown=timesflown+1
- WHERE code='{$code}' AND flightnum='{$flightnum}'";
- $res = DB::query($sql);
- if(DB::errno() != 0)
- return false;
- return true;
- }
- /**
- * Get detailed information about a schedule
- *
- * @param int $id ID of the schedule
- * @return array Schedule details
- *
- */
- public static function getScheduleDetailed($id)
- {
- $schedules = self::findSchedules(array('s.id' => $id));
- if(!$schedules)
- return false;
- $schedule = $schedules[0];
- unset($schedules);
- /*$schedule->route_details = unserialize($schedule->route_details);
- if(!empty($schedule->route) && !$schedule->route_details)
- {
- $schedule->route_details = SchedulesData::getRouteDetails($schedule->id, $schedule->route);
- }*/
- if($schedule->route != '')
- {
- $schedule->route_details = NavData::parseRoute($schedule);
- }
- return $schedule;
- }
- /**
- * Return all the airports by depature, which have a schedule, for
- * a certain airline. If the airline
- * @return object_array
- */
- public static function getDepartureAirports($airlinecode='', $onlyenabled=false)
- {
- $airlinecode = DB::escape($airlinecode);
- if($onlyenabled)
- $enabled = 'AND s.enabled=1';
- else
- $enabled = '';
- $sql = 'SELECT DISTINCT s.depicao AS icao, a.name
- FROM '.TABLE_PREFIX.'schedules s, '.TABLE_PREFIX.'airports a
- WHERE s.depicao = a.icao '.$enabled;
- if($airlinecode != '')
- $sql .= " AND s.code='{$airlinecode}' ";
- $sql .= ' ORDER BY depicao ASC';
- return DB::get_results($sql);
- }
- /**
- * Get all of the airports which have a schedule, from
- * a certain airport, using the airline code. Code
- * is optional, otherwise it returns all of the airports.
- *
- * @return database object
- */
- public static function getArrivalAiports($depicao, $airlinecode='', $onlyenabled=true)
- {
- $depicao = strtoupper($depicao);
- $airlinecode = strtoupper($airlinecode);
- $depicao = DB::escape($depicao);
- if($onlyenabled)
- $enabled = 'AND s.enabled=1';
- else
- $enabled = '';
- $sql = 'SELECT DISTINCT s.arricao AS icao, a.name
- FROM '.TABLE_PREFIX.'schedules s, '.TABLE_PREFIX.'airports a
- WHERE s.arricao = a.icao '.$enabled;
- if($airlinecode != '')
- $sql .= " AND s.code='{$airlinecode}' ";
- $sql .= ' ORDER BY depicao ASC';
- return DB::get_results($sql);
- }
- /**
- * Get all the schedules, $limit is the number to return
- */
- public static function getSchedules($onlyenabled=true, $limit='', $start='')
- {
- $params = array();
- if($onlyenabled)
- $params['s.enabled'] = '1';
- return self::findSchedules($params, $limit, $start);
- }
- /**
- * This gets all of the schedules which are disabled
- */
- /*public static function getInactiveSchedules($count='', $start='')
- {
- $params = array('s.enabled'=>0);
- return self::findSchedules($params, $count, $start);
- }*/
- /**
- * Calculate the distance between two coordinates
- * Using a revised equation found on http://www.movable-type.co.uk/scripts/latlong.html
- *
- * Also converts to proper type based on UNIT setting
- *
- */
- public static function distanceBetweenPoints($lat1, $lng1, $lat2, $lng2)
- {
- /* Use a radius depending on the final units we want to be in
- New formula, from http://jan.ucc.nau.edu/~cvm/latlon_formula.html
- */
- if(strtolower(Config::Get('UNITS')) === 'mi') # miles
- $radius = 3963.192;
- elseif(strtolower(Config::Get('UNITS')) === 'km') # Convert to km
- $radius = 6378.14;
- else
- $radius = 3443.92;
- /*
- $distance = ($radius * 3.1415926 * sqrt(($lat2-$lat1) * ($lat2-$lat1)
- +cos($lat2/57.29578) * cos($lat1/57.29578) * ($lng2-$lng1) * ($lng2-$lng1))/180);
- return $distance;
- */
- $lat1 = deg2rad(floatval($lat1));
- $lat2 = deg2rad(floatval($lat2));
- $lng1 = deg2rad(floatval($lng1));
- $lng2 = deg2rad(floatval($lng2));
- $a = sin(($lat2 - $lat1)/2.0);
- $b = sin(($lng2 - $lng1)/2.0);
- $h = ($a*$a) + cos($lat1) * cos($lat2) * ($b*$b);
- $theta = 2 * asin(sqrt($h)); # distance in radians
- $distance = $theta * $radius;
- return $distance;
- /* Convert all decimal degrees to radians */
- $dlat = $lat2 - $lat1;
- $dlng = $lng2 - $lng1;
- $a = sin($dlat / 2) * sin($dlat / 2) + cos($lat1) * cos($lat2) * sin($dlng / 2) * sin($dlng / 2);
- $c = 2 * atan2(sqrt($a), sqrt(1 - $a));
- $distance = $r * $c;
- return $distance;
- /*$distance = acos(cos($lat1)*cos($lng1)*cos($lat2)*cos($lng2)
- + cos($lat1)*sin($lng1)*cos($lat2)*sin($lng2)
- + sin($lat1)*sin($lat2)) * $r;
- return floatval(round($distance, 2));*/
- }
- /**
- * Update a distance
- *
- * @deprecated
- */
- /*public static function UpdateDistance($scheduleid, $distance)
- {
- $sql = 'UPDATE '.TABLE_PREFIX."schedules
- SET distance='{$distance}'
- WHERE id={$scheduleid}";
- $res = DB::query($sql);
- if(DB::errno() != 0)
- return false;
- return true;
- }*/
- /**
- * Add a schedule
- *
- * Pass in the following:
- $data = array( 'code'=>'',
- 'flightnum'=''
- 'depicao'=>'',
- 'arricao'=>'',
- 'route'=>'',
- 'aircraft'=>'',
- 'distance'=>'',
- 'deptime'=>'',
- 'arrtime'=>'',
- 'flighttime'=>'',
- 'notes'=>'',
- 'enabled'=>'',
- 'price'=>''
- 'flighttype'=>'');
- */
- public static function addSchedule($data)
- {
- if(!is_array($data))
- return false;
- # Commented out to allow flights to/from the same airport
- #if($data['depicao'] == $data['arricao'])
- # return false;
- $data['code'] = strtoupper($data['code']);
- $data['flightnum'] = strtoupper($data['flightnum']);
- $data['deptime'] = strtoupper($data['deptime']);
- $data['arrtime'] = strtoupper($data['arrtime']);
- $data['depicao'] = strtoupper($data['depicao']);
- $data['arricao'] = strtoupper($data['arricao']);
- if($data['enabled'] == true)
- $data['enabled'] = 1;
- else
- $data['enabled'] = 0;
- # If they didn't specify
- $data['flighttype'] = strtoupper($data['flighttype']);
- if($data['flighttype'] == '')
- $data['flighttype'] = 'P';
- $data['flightlevel'] = str_replace(',', '', $data['flightlevel']);
- if(isset($fields['route']))
- {
- $fields['route'] = str_replace('SID', '', $fields['route']);
- $fields['route'] = str_replace('STAR', '', $fields['route']);
- $fields['route'] = trim($fields['route']);
- $fields['route_details'] = '';
- }
- foreach($data as $key=>$value)
- {
- $data[$key] = DB::escape($value);
- }
- $data['flighttime'] = str_replace(':', '.', $data['flighttime']);
- $sql = "INSERT INTO " . TABLE_PREFIX ."schedules
- (`code`, `flightnum`,
- `depicao`, `arricao`,
- `route`, `route_details`,
- `aircraft`, `flightlevel`, `distance`,
- `deptime`, `arrtime`,
- `flighttime`, `daysofweek`, `price`,
- `flighttype`, `notes`, `enabled`)
- VALUES ('{$data['code']}',
- '{$data['flightnum']}',
- '{$data['depicao']}',
- '{$data['arricao']}',
- '{$data['route']}',
- '{$data['route_details']}',
- '{$data['aircraft']}',
- '{$data['flightlevel']}',
- '{$data['distance']}',
- '{$data['deptime']}',
- '{$data['arrtime']}',
- '{$data['flighttime']}',
- '{$data['daysofweek']}',
- '{$data['price']}',
- '{$data['flighttype']}',
- '{$data['notes']}',
- {$data['enabled']})";
- $res = DB::query($sql);
- if(!empty($data['route']))
- {
- self::getRouteDetails(DB::$insert_id, $data['route']);
- }
- if(DB::errno() != 0)
- return false;
- return true;
- }
- /**
- * Edit a schedule
- * Pass in the columns - deprecated
- */
- public static function editSchedule($data)
- {
- if(!is_array($data))
- return false;
- $id = $data['id'];
- unset($data['id']);
- self::editScheduleFields($id, $data);
- }
- /**
- * Parse a schedule's route, and store it in the route_details
- * column for later on. It will store a serialized array of the
- * route's details.
- *
- * @param int $schedule_id ID of the schedule to parse
- * @param string $route Optional route to parse, otherwise it will look it up
- * @return array Returns the route's details
- *
- */
- public static function getRouteDetails($schedule_id, $route = '')
- {
- $schedule = self::findSchedules(array('s.id' => $schedule_id), 1);
- $schedule = $schedule[0];
- if(empty($schedule->route))
- {
- return;
- }
- $route_details = NavData::parseRoute($schedule);
- $store_details = DB::escape(serialize($route_details));
- $val = self::editScheduleFields($schedule_id, array('route_details' => $store_details));
- return $route_details;
- }
- /**
- * Update any fields in a schedule, other update functions come down to this
- *
- * @param int $scheduleid ID of the schedule to update
- * @param array $fields Array, column name as key, with values to update
- * @return bool
- *
- */
- public static function updateScheduleFields($scheduleid, $fields)
- {
- return self::editScheduleFields($scheduleid, $fields);
- }
- /**
- * Update any fields in a schedule, other update functions come down to this
- *
- * @param int $scheduleid ID of the schedule to update
- * @param array $fields Array, column name as key, with values to update
- * @return bool
- *
- */
- public static function editScheduleFields($scheduleid, $fields)
- {
- if(!is_array($fields))
- {
- return false;
- }
- if(isset($fields['depicao']) && isset($fields['arricao']))
- {
- if($fields['depicao'] == $fields['arricao'])
- {
- return false;
- }
- }
- /* Ensure data is ok and formatted properly */
- if(isset($fields['code']))
- {
- $fields['code'] = strtoupper($fields['code']);
- }
- if(isset($fields['flightnum']))
- {
- $fields['flightnum'] = strtoupper($fields['flightnum']);
- }
- if(isset($fields['depicao']))
- {
- $fields['depicao'] = strtoupper($fields['depicao']);
- }
- if(isset($fields['arricao']))
- {
- $fields['arricao'] = strtoupper($fields['arricao']);
- }
- if(isset($fields['deptime']))
- {
- $fields['deptime'] = strtoupper($fields['deptime']);
- }
- if(isset($fields['arrtime']))
- {
- $fields['arrtime'] = strtoupper($fields['arrtime']);
- }
- if(isset($fields['enabled']))
- {
- if($fields['enabled'] == true)
- $fields['enabled'] = 1;
- else
- $fields['enabled'] = 0;
- }
- # If they didn't specify a flight type, just default to pax
- if(isset($fields['flighttype']))
- {
- $fields['flighttype'] = strtoupper($fields['flighttype']);
- if($fields['flighttype'] == '')
- {
- $fields['flighttype'] = 'P';
- }
- }
- if(isset($fields['flightlevel']))
- {
- $fields['flightlevel'] = str_replace(',', '', $fields['flightlevel']);
- }
- if(isset($fields['flighttime']))
- {
- $fields['flighttime'] = str_replace(':', '.', $fields['flighttime']);
- }
- if(isset($fields['route']))
- {
- $fields['route'] = str_replace('SID', '', $fields['route']);
- $fields['route'] = str_replace('STAR', '', $fields['route']);
- $fields['route'] = trim($fields['route']);
- }
- foreach($fields as $key=>$value)
- {
- $fields[$key] = DB::escape($value);
- }
- $sql = "UPDATE `".TABLE_PREFIX."schedules` SET ";
- $sql .= DB::build_update($fields);
- $sql .= ' WHERE `id`='.$scheduleid;
- $res = DB::query($sql);
- if(DB::errno() != 0)
- {
- return false;
- }
- return true;
- }
- /**
- * Delete a schedule
- */
- public static function deleteSchedule($scheduleid)
- {
- $scheduleid = DB::escape($scheduleid);
- $sql = 'DELETE FROM ' .TABLE_PREFIX.'schedules
- WHERE id='.$scheduleid;
- $res = DB::query($sql);
- if(DB::errno() != 0)
- return false;
- return true;
- }
- public static function deleteAllSchedules()
- {
- $sql = 'DELETE FROM ' .TABLE_PREFIX.'schedules';
- $res = DB::query($sql);
- if(DB::errno() != 0)
- return false;
- return true;
- }
- public static function deleteAllScheduleDetails()
- {
- $sql = 'UPDATE '.TABLE_PREFIX."schedules
- SET `route_details` = ''";
- $res = DB::query($sql);
- if(DB::errno() != 0)
- return false;
- return true;
- }
- public static function getAllBids()
- {
- $sql = 'SELECT p.*, s.*,
- b.bidid as bidid, b.dateadded, a.name as aircraft, a.registration
- FROM '.TABLE_PREFIX.'schedules s,
- '.TABLE_PREFIX.'bids b,
- '.TABLE_PREFIX.'aircraft a,
- '.TABLE_PREFIX.'pilots p
- WHERE b.routeid = s.id AND s.aircraft=a.id AND p.pilotid = b.pilotid
- ORDER BY b.bidid DESC';
- return DB::get_results($sql);
- }
- /**
- * Get the latest bids
- */
- public static function getLatestBids($limit=5)
- {
- $sql = 'SELECT p.*, s.*,
- b.bidid as bidid, a.name as aircraft, a.registration
- FROM '.TABLE_PREFIX.'schedules s,
- '.TABLE_PREFIX.'bids b,
- '.TABLE_PREFIX.'aircraft a,
- '.TABLE_PREFIX.'pilots p
- WHERE b.routeid = s.id AND s.aircraft=a.id AND p.pilotid = b.pilotid
- ORDER BY b.bidid DESC
- LIMIT '.$limit;
- return DB::get_results($sql);
- }
- public function getLatestBid($pilotid)
- {
- $pilotid = DB::escape($pilotid);
- $sql = 'SELECT s.*, b.bidid, a.id as aircraftid, a.name as aircraft, a.registration, a.maxpax, a.maxcargo
- FROM '.TABLE_PREFIX.'schedules s,
- '.TABLE_PREFIX.'bids b,
- '.TABLE_PREFIX.'aircraft a
- WHERE b.routeid = s.id
- AND s.aircraft=a.id
- AND b.pilotid='.$pilotid.'
- ORDER BY b.bidid ASC LIMIT 1';
- return DB::get_row($sql);
- }
- /**
- * Get a specific bid with route information
- *
- * @param unknown_type $bidid
- * @return unknown
- */
- public static function getBid($bidid)
- {
- $bidid = DB::escape($bidid);
- $sql = 'SELECT s.*, b.bidid, b.pilotid, b.routeid,
- a.name as aircraft, a.registration
- FROM '.TABLE_PREFIX.'schedules s, '.TABLE_PREFIX.'bids b,
- '.TABLE_PREFIX.'aircraft a
- WHERE b.routeid = s.id
- AND s.aircraft=a.id
- AND b.bidid='.$bidid;
- return DB::get_row($sql);
- }
- /**
- * Get all of the bids for a pilot
- *
- * @param unknown_type $pilotid
- * @return unknown
- */
- public static function getBids($pilotid)
- {
- $pilotid = DB::escape($pilotid);
- $sql = 'SELECT s.*, b.bidid, a.name as aircraft, a.registration
- FROM '.TABLE_PREFIX.'schedules s, '.TABLE_PREFIX.'bids b,
- '.TABLE_PREFIX.'aircraft a
- WHERE b.routeid = s.id
- AND s.aircraft=a.id
- AND b.pilotid='.$pilotid;
- return DB::get_results($sql);
- }
- /**
- * Get find a bid for the pilot based on ID,
- * the airline code for the flight, and the flight number
- */
- public static function getBidWithRoute($pilotid, $code, $flightnum)
- {
- if($pilotid == '')
- return;
- $sql = 'SELECT b.bidid
- FROM '.TABLE_PREFIX.'bids b, '.TABLE_PREFIX.'schedules s
- WHERE b.pilotid='.$pilotid.'
- AND b.routeid=s.id
- AND s.code=\''.$code.'\'
- AND s.flightnum=\''.$flightnum.'\'';
- return DB::get_row($sql);
- }
- public function setBidOnSchedule($scheduleid, $bidid)
- {
- $scheduleid = intval($scheduleid);
- $bidid = intval($bidid);
- $sql = 'UPDATE '.TABLE_PREFIX.'schedules
- SET `bidid`='.$bidid.'
- WHERE `id`='.$scheduleid;
- DB::query($sql);
- if(DB::errno() != 0)
- return false;
- return true;
- }
- /**
- * Add a bid
- */
- public static function addBid($pilotid, $routeid)
- {
- $pilotid = DB::escape($pilotid);
- $routeid = DB::escape($routeid);
- if(DB::get_row('SELECT bidid FROM '.TABLE_PREFIX.'bids
- WHERE pilotid='.$pilotid.' AND routeid='.$routeid))
- {
- return false;
- }
- $pilotid = DB::escape($pilotid);
- $routeid = DB::escape($routeid);
- $sql = 'INSERT INTO '.TABLE_PREFIX.'bids (pilotid, routeid, dateadded)
- VALUES ('.$pilotid.', '.$routeid.', NOW())';
- DB::query($sql);
- self::setBidOnSchedule($routeid, DB::$insert_id);
- if(DB::errno() != 0)
- return false;
- return true;
- }
- public static function deleteExpiredBids()
- {
- $cache_time = Config::Get('BID_EXPIRE_TIME');
- if($cache_time == '')
- {
- return;
- }
- $sql = 'DELETE FROM '.TABLE_PREFIX."bids
- WHERE `dateadded` + INTERVAL {$cache_time} HOUR < NOW()";
- DB::query($sql);
- }
- /**
- * Remove a bid, by passing it's bid id
- */
- public static function deleteBid($bidid)
- {
- self::removeBid($bidid);
- }
- /**
- * Remove a bid, by passing it's bid id
- */
- public static function removeBid($bidid)
- {
- $bidid = intval($bidid);
- $bid_info = self::getBid($bidid);
- $sql = 'DELETE FROM '.TABLE_PREFIX.'bids
- WHERE `bidid`='.$bidid;
- DB::query($sql);
- self::SetBidOnSchedule($bid_info->routeid, 0);
- if(DB::errno() != 0)
- return false;
- return true;
- }
- /**
- * @deprecated
- *
- */
- public static function getScheduleFlownCounts($code, $flightnum, $days=7)
- {
- $max = 0;
- $code = strtoupper($code);
- $flightnum = strtoupper($flightnum);
- $start = strtotime("- $days days");
- $end = time();
- $data = array();
- # Turn on caching:
- DB::enableCache();
- do
- {
- $count = PIREPData::getReportCountForRoute($code, $flightnum, $start);
- $date = date('m-d', $start);
- $data[$date] = $count;
- $start += SECONDS_PER_DAY;
- } while ($start <= $end);
- DB::disableCache();
- return $data;
- }
- /**
- * Show the graph of the past week's reports. Outputs the
- * image unless $ret == true
- *
- * @deprecated
- */
- public static function showReportCounts()
- {
- // Recent PIREP #'s
- $max = 0;
- $data = array();
- $time_start = strtotime('-7 days');
- $time_end = time();
- // This is for the past 7 days
- do {
- $count = PIREPData::getReportCount($time_start);
- $data[] = $count;
- if($count > $max)
- $max = $count;
- $time_start += SECONDS_PER_DAY;
- } while ($time_start < $time_end);
- return $data;
- }
- /* Below here, these are all deprecated. In your code, you should use
- the query structure, defined within the functions
- /**
- * @deprecated
- */
- /*public static function getSchedulesWithCode($code, $onlyenabled=true, $limit='', $start='')
- {
- $params = array('s.code' => strtoupper($code));
- if($onlyenabled)
- $params['s.enabled'] = '1';
- return self::findSchedules($params, $limit, $start);
- }*/
- /**
- * @deprecated
- */
- /*public static function getSchedulesWithFlightNum($flightnum, $onlyenabled=true, $limit='', $start='')
- {
- $params = array('s.flightnum' => $flightnum);
- if($onlyenabled)
- $params['s.enabled'] = '1';
- return self::findSchedules($params, $limit, $start);
- }*/
- /**
- * Return all of the routes give the departure airport
- *
- * @deprecated
- */
- /*public static function getSchedulesWithDeparture($depicao, $onlyenabled = true, $limit = '', $start='')
- {
- self::getRoutesWithDeparture($depicao, $onlyenabled, $limit);
- }*/
- /**
- * @deprecated
- */
- /*public static function getRoutesWithDeparture($depicao, $onlyenabled=true, $limit='', $start='')
- {
- $params = array('s.depicao' => strtoupper($depicao));
- if($onlyenabled)
- $params['s.enabled'] = '1';
- return self::findSchedules($params, $limit, $start);
- }*/
- /**
- * @deprecated
- */
- /*public static function getRoutesWithArrival($arricao, $onlyenabled=true, $start='', $limit='')
- {
- return self::getSchedulesWithArrival($arricao, $onlyenabled, $limit);
- }*/
- /**
- * @deprecated
- */
- /*public static function getSchedulesWithArrival($arricao, $onlyenabled=true, $start='', $limit='')
- {
- $params = array('s.arricao' => strtoupper($arricao));
- if($onlyenabled)
- $params['s.enabled'] = '1';
- return self::findSchedules($params, $limit, $start);
- }*/
- /**
- * @deprecated
- */
- /*public static function getSchedulesByDistance($distance, $type, $onlyenabled=true, $start='', $limit='')
- {
- if($type == '')
- $type = '>';
- $params = array('s.distance' => trim($type).' '.$distance);
- if($onlyenabled)
- $params['s.enabled'] = '1';
- return self::findSchedules($params, $limit, $start);
- }*/
- /**
- * Search schedules by the equipment type
- *
- * @deprecated
- */
- /*public static function getSchedulesByEquip($ac, $onlyenabled = true, $start='', $limit='')
- {
- $params = array('a.name' => $ac);
- if($onlyenabled)
- $params['s.enabled'] = '1';
- return self::findSchedules($params, $limit, $start);
- }*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement