blob: e17dbfeb8754e66caf8045363c89e818ddca8037 (
plain) (
tree)
|
|
<?php
class User_SessionController extends Zend_Controller_Action
{
private $membership;
public function init()
{
if (Zend_Auth::getInstance()->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, function($func_a, $func_b) {
if($func_a->getID() == $func_b->getID()) return 0;
return ($func_a->getID() < $func_b->getID()) ? 1 : -1;
});
// 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);
$pagination->setElement($mySessions);
$pagination->setRequestPage($this->_request->getParam('page'));
$pagination->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']));
}
}
|