Jump to content

how to add more searching type for my schedule?


ercio

Recommended Posts

when I want to choose my flight I only can search by Dep icao , I would like to have aircraft and arrival icao also , and if possible all 3 combined , or all 3 by itself to work.

<?php

/**

* phpVMS - Virtual Airline Administration Software

* Copyright © 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://creativecommo...s/by-nc-sa/3.0/

*

* @author Nabeel Shahzad

* @copyright Copyright © 2008, Nabeel Shahzad

* @link http://www.phpvms.net

* @license http://creativecommo...s/by-nc-sa/3.0/

*/

class Schedules extends CodonModule

{

public function index()

{

$this->view();

}

public function view()

{

if(isset($this->post->action) && $this->post->action == 'findflight')

{

$this->FindFlight();

return;

}

$this->showSchedules();

}

public function detail($routeid='')

{

$this->details($routeid);

}

public function details($routeid = '')

{

//$routeid = $this->get->id;

if(!is_numeric($routeid))

{

preg_match('/^([A-Za-z]{3})(\d*)/', $routeid, $matches);

$code = $matches[1];

$flightnum = $matches[2];

$params = array('s.code'=>$code, 's.flightnum'=>$flightnum);

}

else

{

$params = array('s.id' => $routeid);

}

$schedule = SchedulesData::getScheduleDetailed($routeid);

$this->set('schedule', $schedule);

$this->render('schedule_details.tpl');

$this->render('route_map.tpl');

}

public function brief($routeid = '')

{

if($routeid == '')

{

$this->set('message', 'You must be logged in to access this feature!');

$this->render('core_error.tpl');

return;

}

$schedule = SchedulesData::getScheduleDetailed($routeid);

$this->set('schedule', $schedule);

$this->render('schedule_briefing.tpl');

}

public function boardingpass($routeid)

{

if($routeid == '')

{

$this->set('message', 'You must be logged in to access this feature!');

$this->render('core_error.tpl');

return;

}

$schedule = SchedulesData::getScheduleDetailed($routeid);

$this->set('schedule', $schedule);

$this->render('schedule_boarding_pass.tpl');

}

public function bids()

{

if(!Auth::LoggedIn()) return;

$this->set('bids', SchedulesData::GetBids(Auth::$userinfo->pilotid));

$this->render('schedule_bids.tpl');

}

public function addbid($routeid = '')

{

if(!Auth::LoggedIn()) return;

/* $routeid = $this->get->id; */

if($routeid == '')

{

echo 'No route passed';

return;

}

// See if this is a valid route

$route = SchedulesData::findSchedules(array('s.id' => $routeid));

if(!is_array($route) && !isset($route[0]))

{

echo 'Invalid Route';

return;

}

CodonEvent::Dispatch('bid_preadd', 'Schedules', $routeid);

/* Block any other bids if they've already made a bid

*/

if(Config::Get('DISABLE_BIDS_ON_BID') == true)

{

$bids = SchedulesData::getBids(Auth::$userinfo->pilotid);

# They've got somethin goin on

if(count($bids) > 0)

{

echo 'Bid exists!';

return;

}

}

$ret = SchedulesData::AddBid(Auth::$userinfo->pilotid, $routeid);

CodonEvent::Dispatch('bid_added', 'Schedules', $routeid);

if($ret == true)

{

echo 'Bid added';

}

else

{

echo 'Already in bids!';

}

}

public function removebid()

{

if(!Auth::LoggedIn()) return;

SchedulesData::RemoveBid($this->post->id);

}

public function showSchedules()

{

$depapts = OperationsData::GetAllAirports();

$equip = OperationsData::GetAllAircraftSearchList(true);

$this->set('depairports', $depapts);

$this->set('equipment', $equip);

$this->render('schedule_searchform.tpl');

# Show the routes. Remote this to not show them.

$this->set('allroutes', SchedulesData::GetSchedules());

$this->render('schedule_list.tpl');

}

public function findFlight()

{

if($this->post->depicao != '')

{

$params = array('s.depicao' => $this->post->depicao);

}

if($this->post->arricao != '')

{

$params = array('s.arricao' => $this->post->arricao);

}

if($this->post->equipment != '')

{

$params = array('a.name' => $this->post->equipment);

}

if($this->post->distance != '')

{

if($this->post->type == 'greater')

$value = '> ';

else

$value = '< ';

$value .= $this->post->distance;

$params = array('s.distance' => $value);

}

$params['s.enabled'] = 1;

$this->set('allroutes', SchedulesData::findSchedules($params));

$this->render('schedule_results.tpl');

}

public function statsdaysdata($routeid)

{

$routeinfo = SchedulesData::findSchedules(array('s.id'=>$routeid));

$routeinfo = $routeinfo[0];

// Last 30 days stats

$data = PIREPData::getIntervalDataByDays(

array(

'p.code' => $routeinfo->code,

'p.flightnum' => $routeinfo->flightnum,

), 30);

$this->create_line_graph('Schedule Flown Counts', $data);

}

protected function create_line_graph($title, $data)

{

if(!$data)

{

$data = array();

}

$titles = array();

$bar_titles = array();

foreach($data as $val)

{

$titles[] = $val->ym;

$values[] = floatval($val->total);

}

OFCharts::add_data_set($titles, $values);

echo OFCharts::create_line_graph($title);

}

}

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...