I want to sort my bids according to the latest airfield.
Example:
Bid 1: SBGR-SBFL
Bid 2: SBFL-SBPA
Bid 3: SBPA-SBGR
Bid 4: SBGR-KJFK
Bid 5: KJFK-SBBR
Bid 6: SBBR-SBGO
I want to sort my bids according to the latest airfield.
Example:
Bid 1: SBGR-SBFL
Bid 2: SBFL-SBPA
Bid 3: SBPA-SBGR
Bid 4: SBGR-KJFK
Bid 5: KJFK-SBBR
Bid 6: SBBR-SBGO
try this
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>
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.
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);
}*/
}
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
Does not work, I open biddings however does not show.


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);
}
Apparently it works
I will do some test anything back contact
Thank you very much