/** * Searches for members by filter */ private function processFilter(sfWebRequest $request) { $params = $this->getUser()->getAttribute('member', array(), 'person'); if (!isset($params['firstname'])) { $params['firstname'] = null; } if (!isset($params['lastname'])) { $params['lastname'] = null; } if (!isset($params['city'])) { $params['city'] = null; } if (!isset($params['state'])) { $params['state'] = null; } if (!isset($params['country'])) { $params['country'] = null; } if (!isset($params['wing_name'])) { $params['wing_name'] = null; } if (!isset($params['active'])) { $params['active'] = null; } if (!isset($params['flight_status'])) { $params['flight_status'] = null; } $this->max_array = array(5, 10, 20, 30); $this->countries = PersonPeer::getCounties(); $this->flight_statuses = sfConfig::get('app_flight_statuses'); $this->wings = WingPeer::getNames(); if (in_array($request->getParameter('max'), $this->max_array)) { $params['max'] = $request->getParameter('max'); } else { if (!isset($params['max'])) { $params['max'] = sfConfig::get('app_max_person_per_page', 10); } } if ($request->hasParameter('filter')) { $params['firstname'] = $request->getParameter('firstname'); $params['lastname'] = $request->getParameter('lastname'); $params['city'] = $request->getParameter('city'); $params['state'] = $request->getParameter('state'); $params['country'] = in_array($request->getParameter('country'), array_keys($this->countries)) ? $request->getParameter('country') : ''; $params['wing_name'] = in_array($request->getParameter('wing_name'), array_keys($this->wings)) ? $request->getParameter('wing_name') : ''; $params['active'] = $request->getParameter('active'); $params['flight_status'] = in_array($request->getParameter('flight_status'), array_keys($this->flight_statuses)) ? $request->getParameter('flight_status') : ''; } $this->page = $page = $request->getParameter('page', 1); $this->max = $params['max']; $this->member_Ex_id = $request->getParameter('member_Ex_id', null); $this->firstname = $params['firstname']; $this->lastname = $params['lastname']; $this->city = $params['city']; $this->state = $params['state']; $this->country = $params['country']; $this->wing_name = $params['wing_name']; $this->active = $params['active']; $this->flight_status = $params['flight_status']; $this->getUser()->setAttribute('member', $params, 'person'); }