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; }