From 6d572a7654ac9717d8ad82ba4037c88b07855825 Mon Sep 17 00:00:00 2001 From: michael pereira Date: Fri, 23 Sep 2011 19:06:16 +0200 Subject: login und selectmembership --- .../ipxe/controllers/ResourceController.php | 93 ++++++++++++++-------- 1 file changed, 60 insertions(+), 33 deletions(-) (limited to 'application/modules/ipxe/controllers/ResourceController.php') diff --git a/application/modules/ipxe/controllers/ResourceController.php b/application/modules/ipxe/controllers/ResourceController.php index feb85d2..840505d 100644 --- a/application/modules/ipxe/controllers/ResourceController.php +++ b/application/modules/ipxe/controllers/ResourceController.php @@ -17,6 +17,16 @@ class Ipxe_ResourceController extends Zend_Controller_Action public function init() { + + if (Zend_Auth::getInstance()->hasIdentity()) { + $this->personmapper = new Application_Model_PersonMapper(); + $result = $this->personmapper->findBy(array('email' => Zend_Auth::getInstance()->getIdentity()),true); + $this->person = new Application_Model_Person($result[0]); + $this->person->setID($result[0]['personID']); + $this->membershipMapper = new Application_Model_MembershipMapper(); + $this->memberships = $this->membershipMapper->findBy(array("personID" => $this->person->getID()),true); + } + $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); @@ -91,15 +101,12 @@ class Ipxe_ResourceController extends Zend_Controller_Action public function getvesamenuconfigAction(){ - $login = $this->_request->getParam('login') == 'true'; - if($login){ - if(!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])){ - header('WWW-Authenticate: Basic realm=""'); - header('HTTP/1.0 401 Unauthorized'); - exit; - } - } +// $membershipMapper = new Application_Model_MembershipMapper(); +// $memberships = $membershipMapper->findBy(array("personID" => $person->getID()),true); +// + + header('Content-Type: text/html'); $content_disp = ( ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']) == 'IE') ? 'inline' : 'attachment'; header('Content-Disposition: ' . $content_disp . '; filename="vesamenu.conf"'); @@ -108,34 +115,54 @@ class Ipxe_ResourceController extends Zend_Controller_Action $vesamenuView = new Zend_View(); $vesamenuView->addScriptPath(APPLICATION_PATH.'/modules/ipxe/views/scripts/resource/'); - if($login == 'true'){ - $vesamenuView->username = $_SERVER['PHP_AUTH_USER']; - $vesamenuView->password = $_SERVER['PHP_AUTH_PW']; - } - $vesamenuView->login = $login; + $vesamenuView->host = $_SERVER['HTTP_HOST']; - $_SESSION['alphasessionID'] = $this->thisSession->getAlphasessionID(); - // Request Bootmenu - $pbsFilter = new Pbs_Filter(); - $bootmenuID = $pbsFilter->evaluate(); - - if($bootmenuID != null){ - $vesamenuView->alphaID = $this->thisSession->getAlphasessionID(); - - $bootmenuMapper = new Application_Model_BootMenuMapper(); - $bm = $bootmenuMapper->find($bootmenuID); - $vesamenuView->title = $bm->getTitle(); -// $this->view->startcounter = $bm->getStartcounter(); - - $bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper(); - $res = $bootmenuentriesMapper->findBy(array('bootmenuID' => $bootmenuID),false); - $vesamenuView->bmelist = $res; + $login = $this->_request->getParam('login') == 'true'; + + if($login){ + $groupMapper = new Application_Model_GroupMapper(); + $roleMapper = new Application_Model_RoleMapper(); + if(isset($this->memberships)) { - } - else{ - - $vesamenuView->error = "You have no BootMenu."; + foreach($this->memberships as $membership) { + $group = $groupMapper->find($membership['groupID']); + $role = $roleMapper->find($membership['roleID']); + $membershipList[] = array( + 'membershipID' => $membership['membershipID'], + 'group' => $group->getTitle(), + 'role' => $role->getTitle() + ); + } + } + + $vesamenuView->action = "selectmembership"; + $vesamenuView->memberships = $membershipList; + + }else{ + $vesamenuView->login = $login; + $_SESSION['alphasessionID'] = $this->thisSession->getAlphasessionID(); + // Request Bootmenu + $pbsFilter = new Pbs_Filter(); + $bootmenuID = $pbsFilter->evaluate(); + + if($bootmenuID != null){ + $vesamenuView->alphaID = $this->thisSession->getAlphasessionID(); + + $bootmenuMapper = new Application_Model_BootMenuMapper(); + $bm = $bootmenuMapper->find($bootmenuID); + $vesamenuView->title = $bm->getTitle(); + // $this->view->startcounter = $bm->getStartcounter(); + + $bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper(); + $res = $bootmenuentriesMapper->findBy(array('bootmenuID' => $bootmenuID),false); + $vesamenuView->bmelist = $res; + + } + else{ + + $vesamenuView->error = "You have no BootMenu."; + } } $vesamenu = $vesamenuView->render('getvesamenu.phtml'); -- cgit v1.2.3-55-g7522