/** * Searches aircrafts * CODE:aircraft_index */ public function executeIndex(sfWebRequest $request) { # security if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Pilot', 'Coordinator', 'Volunteer'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } $this->getUser()->addRecentItem('Aircraft', 'aircraft', 'aircraft/index'); sfContext::getInstance()->getConfiguration()->loadHelpers('Partial'); slot('nav_menu', array('reference', 'find-aircraft')); $this->processFilter($request); if ($request->hasParameter('search') && $request->hasParameter('name')) { $this->pager = AircraftPeer::getPilotsThatFlySpecificAircraft($this->max, $this->page, $this->make, $this->model, $this->name); $this->last_page = ceil(count($this->pager[1]) / $this->max); $this->pagers = $this->pager[0]; $this->selectedAircraft = $this->name; if ($this->page - 1 > 1) { $this->previousPage = $this->page - 1; } else { $this->previousPage = 1; } if ($this->previousPage != $this->last_page) { $this->nextPage = $this->previousPage + 1; } else { $this->nextPage = $this->last_page; } $this->currentPage = $this->page; return 'PilotSearch'; } # filter if ($request->isMethod('post') || $request->getParameter('page')) { $this->pager = AircraftPeer::getPager($this->max, $this->page, $this->make, $this->model, $this->name); $this->aircrafts = $this->pager->getResults(); } }