public function executeMailingList(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'); } # for navigation menu sfContext::getInstance()->getConfiguration()->loadHelpers('Partial'); slot('nav_menu', array('mission_coord', '')); $this->email_list = EmailListPeer::retrieveByPK($request->getParameter('id')); $this->forward404Unless($this->email_list); # filter $c = new Criteria(); $c->addJoin(EmailListPersonPeer::PERSON_ID, PersonPeer::ID, Criteria::LEFT_JOIN); $c->add(EmailListPersonPeer::LIST_ID, $request->getParameter('id')); $this->page = $request->getParameter('page', 1); $this->max_array = array(5, 10, 20, 30); if (in_array($request->getParameter('max'), $this->max_array)) { $this->max = $request->getParameter('max'); } else { $this->max = sfConfig::get('app_max_person_per_page', 10); } $this->pager = PersonPeer::getCriteriaPager($c, $this->max, $this->page); $this->persons = $this->pager->getResults(); }