Jump to content

Exhibition organized bids [SOLVED]


eliezerazevedo

Recommended Posts

Did not work :(

If the pilot land at JFK, the next flight that will be shown in the table will be from JFK to XXX.

I am currently using a scale system that generates 25 flights.

schedule_bids.tpl

 <!-- Start Page Header -->
<div class="row presentation">
   <div class="col-lg-8 col-md-6 titles">
  <span class="icon color14-bg"><i class="fa fa-plane"></i></span>
  <h1>Minha Escala</h1>
  <h4 class="active label label-danger" style="color:#FFFFFF">Atenção ao dia de operação do vôo! Vôos realizados em dias divergente do adquirido, serão rejeitados automaticamente.</h4>
   </div>
</div>
 <!-- End Page Header -->
 <?php
if(!$bids)
{
echo '<div id="error">Currently you have no flight booked!</div>';
return;
}
?>
</p>
<table class="table table-bordered table-striped" align="center">

 <tr>
<td align="center"><strong>Vôo</strong></td>
<td align="center"><strong>DEP / ARR</strong></td>
<td align="center"><strong>Aeronave</strong></td>
<td align="center"><strong>Plano de Vôo</strong></td>
<td align="center"><strong>Navegação SITA</strong></td>
   <td align="center"><strong>FOQA</strong></td>
<td align="center"><strong>Dia de Operação</strong></td>
</tr>
<?php
foreach($bids as $bid)
{
?>
<tr id="bid<?php echo $bid->bidid ?>">
<td align="center"><?php echo $bid->code . $bid->flightnum; ?></td>
<td align="center"><?php echo $bid->depicao; ?> / <?php echo $bid->arricao; ?></td>
<td align="center"><a href="<?php echo ('https://www.flightradar24.com/data/aircraft/'.$bid->registration);?>" target="_blank"><?php echo $bid->aircraft; ?> (<?php echo $bid->registration?>)</a></td>
<td align="center"><a href="<?php echo actionurl('/IVAOFlightPlan/download_ivao/'.$bid->id);?>">Baixar Plano de Vôo</a></td>
<td align="center"><a href="<?php echo actionurl('/schedules/brief/'.$bid->id);?>" target="_blank">Navegação S.I.T.A</a></td>
   <td align="center"><a href="#" onclick="javascript: window.open('<?php echo SITE_URL ?>/FOQA/<?php echo $bid->aircraft; ?>.php', '', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=660,height=850,left = 240,top = 20'); return false"><font color="#CC6600">Limites Operacionais</font></a>
</td>
<td align="center"><?php echo Util::GetDaysCompact($bid->daysofweek); ?></td>
</tr>
<?php
}
?>
</table>
<hr>
<a href="<?php echo url('/profile'); ?>" class="btn btn-square fa fa-chevron-left"> Voltar</a>
<p> </p>

Edited by eliezerazevedo
Link to comment
Share on other sites

Go into core/common/SchedulesData.class.php and find the function getBids($pilotid)

replace it with this one

/**
* 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'
	 ORDER BY b.bidid DESC
	 ";
return DB::get_results($sql);
}

And see if that fixes it. This is assuming that the bids were bidded in order, if they weren't, then you will need to apply extra code somewhere.

Edited by web541
Link to comment
Share on other sites

I did not work, I believe the code is not compatible with the version of PHPVMS I'm used.

The message he gave me was is!

Currently you have no flight booked!

My SchedulesData.class.php

<?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
{ [/background][/size][/font][/color][/b]
[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)]/**
 * 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);

 // 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;[/background][/size][/font][/color][/b]
[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)]  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*$;
 $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;[/background][/size][/font][/color][/b]
[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)]  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'=>'',
  'alticao'=>'',
  'route'=>'',
  'aircraft'=>'',
  'distance'=>'',
  'deptime'=>'',
  'arrtime'=>'',
  'flighttime'=>'',
  'EQPT'=>'',
  'PBN'=>'',
  'EET'=>'',
  'PER'=>'',
  'RALT'=>'',
  'RMK'=>'',
  'OPR'=>'',
  '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']);
 $data['alticao'] = strtoupper($data['alticao']);

 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`, `alticao`,
  `route`, `route_details`,
  `aircraft`, `flightlevel`, `distance`,
  `deptime`, `arrtime`,
  `flighttime`, `daysofweek`, `price`,
  `flighttype`, `EQPT`, `PBN`, `EET`, `PER`, `RALT`, `RMK`, `OPR`, `notes`, `enabled`)
   VALUES ('{$data['code']}',
  '{$data['flightnum']}',
  '{$data['depicao']}',
  '{$data['arricao']}',
  '{$data['alticao']}',
  '{$data['route']}',
  '{$data['route_details']}',
  '{$data['aircraft']}',
  '{$data['flightlevel']}',
  '{$data['distance']}',
  '{$data['deptime']}',
  '{$data['arrtime']}',
  '{$data['flighttime']}',
  '{$data['daysofweek']}',
  '{$data['price']}',
  '{$data['flighttype']}',
  '{$data['EQPT']}',
  '{$data['PBN']}',
  '{$data['EET']}',
  '{$data['PER']}',
  '{$data['RALT']}',
  '{$data['RMK']}',
  '{$data['OPR']}',
  '{$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;
}[/background][/size][/font][/color][/b]
[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)]/**
 * 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);
}[/background][/size][/font][/color][/b]

[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)]/**
 * 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']);
 }[/background][/size][/font][/color][/b]
[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)] 
 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;
}[/background][/size][/font][/color][/b]
[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)]/**
 * Delete a schedule
 */
public static function deleteSchedule($scheduleid)
{
 $scheduleid = DB::escape($scheduleid);
 $sql = 'DELETE FROM ' .TABLE_PREFIX.'schedules
   WHERE id='.$scheduleid;[/background][/size][/font][/color][/b]
[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)]  $res = DB::query($sql);

 if(DB::errno() != 0)
  return false;

 return true;
}

public static function deleteAllSchedules()
{
 $sql = 'DELETE FROM ' .TABLE_PREFIX.'schedules';[/background][/size][/font][/color][/b]
[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)]  $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 static 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();[/background][/size][/font][/color][/b]
[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)]  $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);
}*/[/background][/size][/font][/color][/b]
[b][color=#58666E][font="Open Sans", sans-serif][size=3][background=rgb(245, 245, 245)]/**
 * @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);
}*/
}
Link to comment
Share on other sites

Try this one

/**
* 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'
ORDER BY b.bidid ASC
";
return DB::get_results($sql);
}

Made an error above

Edited by web541
Link to comment
Share on other sites

One more try

/**
* 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'
	    ORDER BY b.bidid ASC
   ";
   return DB::get_results($sql);
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...