hasIdentity()) { $userIDsNamespace = Zend_Session::namespaceGet('userIDs'); if($userIDsNamespace['membershipID'] ==''){ $pbsNotifier = new Pbs_Notifier(); echo $pbsNotifier->notify('No membershipID set','forbidden'); } $membershipMapper = new Application_Model_MembershipMapper(); $this->membership = new Application_Model_Membership(); $membershipMapper->find($userIDsNamespace['membershipID'],$this->membership); } else { $this->_helper->redirector('login', 'auth'); } $this->page = $this->_request->getParam('page'); } public function indexAction() { if(!Pbs_Acl::checkRight('so')) $this->_redirect('/user/index'); $sessionMapper = new Application_Model_SessionMapper(); $bootisoMapper = new Application_Model_BootIsoMapper(); $bootosMapper = new Application_Model_BootOsMapper(); $bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper(); $membershipMapper = new Application_Model_MembershipMapper(); $personMapper = new Application_Model_PersonMapper(); $bootisos = $bootisoMapper->findBy(array('groupID'=>$this->membership->getGroupID())); foreach($bootisos as $bootiso){ $sessions = $sessionMapper->findBy(array('bootisoID'=>$bootiso->getID())); foreach($sessions as $session){ #echo $session->getBootosID(); if($session->getBootosID() != ''){ $bo = $bootosMapper->find($session->getBootosID()); if($bo != null) $session->setBootosID("[".$session->getBootosID()."] ".$bo->getTitle()); } if($session->getBootmenuentryID() != ''){ $bm = $bootmenuentriesMapper->find($session->getBootmenuentryID()); if($bm != null) $session->setBootmenuentryID("[".$session->getBootmenuentryID()."] ".$bm->getTitle()); } if($session->getBootisoID() != ''){ $bi = $bootisoMapper->find($session->getBootisoID()); if($bi != null) $session->setBootisoID("[".$session->getBootisoID()."] ".$bi->getTitle()); } if($session->getMembershipID() != ''){ $personID = $membershipMapper->find($session->getMembershipID())->getPersonID(); $p = new Application_Model_Person(); $personMapper->find($personID,$p); if($p != null) $session->setMembershipID("[".$session->getMembershipID()."] ".$p->getFirstname()." ".$p->getName()); } $session->setTime(date(Zend_Registry::get('dateformat'),$session->getTime())); $mySessions[] =$session; } } // Sort after date/id usort($mySessions, 'sortFunc'); // Search $search = $this->_request->getParam('search'); $mySearch = new Pbs_Search(); $mySearch->setSearchTerm($search); $mySearch->setModule('session'); if($search != ''){ $this->view->search = $mySearch->getSearchTerm(); $mySessions = $mySearch->search($mySessions); } $this->view->searchform = $mySearch->searchForm(); // Pagination $pagination = new Pbs_Pagination(); $pagination->setPerPage(10) ->setElement($mySessions) ->setRequestPage($this->_request->getParam('page')) ->setPageUrl('/user/session/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); $mySessions = $pagination->getElements(); $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); $this->view->sessions = $mySessions; } public function searchAction(){ $this->_redirect('/user/session/index/search/'.($_GET['search'])); } } function sortFunc($func_a, $func_b) { if($func_a->getID() == $func_b->getID()) return 0; return ($func_a->getID() < $func_b->getID()) ? 1 : -1; }