diff options
| author | Sebastian Schmelzer | 2012-01-11 14:36:35 +0100 |
|---|---|---|
| committer | Sebastian Schmelzer | 2012-01-11 14:36:35 +0100 |
| commit | fca04a6dab252eb9e8c0a92ce3b7e14b32e68d1e (patch) | |
| tree | 6e6aaf749f34db8c7c7153c23ef85c57187430bb /application/modules/user/controllers/SessionController.php | |
| parent | API: mit addBootos kann man nun auch editieren (diff) | |
| download | pbs2-fca04a6dab252eb9e8c0a92ce3b7e14b32e68d1e.tar.gz pbs2-fca04a6dab252eb9e8c0a92ce3b7e14b32e68d1e.tar.xz pbs2-fca04a6dab252eb9e8c0a92ce3b7e14b32e68d1e.zip | |
format source files
Diffstat (limited to 'application/modules/user/controllers/SessionController.php')
| -rw-r--r-- | application/modules/user/controllers/SessionController.php | 221 |
1 files changed, 109 insertions, 112 deletions
diff --git a/application/modules/user/controllers/SessionController.php b/application/modules/user/controllers/SessionController.php index 0e32e48..2d41f9e 100644 --- a/application/modules/user/controllers/SessionController.php +++ b/application/modules/user/controllers/SessionController.php @@ -1,119 +1,116 @@ -<?php +<? php /* * Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg - * This program is free software distributed under the GPL version 2. - * See http://gpl.openslx.org/ - * - * If you have any feedback please consult http://feedback.openslx.org/ and - * send your suggestions, praise, or complaints to feedback@openslx.org - * - * General information about OpenSLX can be found at http://openslx.org/ - */ - -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, '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'])); - } +* This program is free software distributed under the GPL version 2. +* See http://gpl.openslx.org/ +* +* If you have any feedback please consult http://feedback.openslx.org/ and +* send your suggestions, praise, or complaints to feedback@openslx.org +* +* General information about OpenSLX can be found at http://openslx.org/ +*/ + +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, '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; + if($func_a->getID() == $func_b->getID()) { return 0; } + return ($func_a->getID() < $func_b->getID()) ? 1 : -1; } |
