summaryrefslogtreecommitdiffstats
path: root/application/modules/ipxe/controllers/ResourceController.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/modules/ipxe/controllers/ResourceController.php')
-rw-r--r--application/modules/ipxe/controllers/ResourceController.php93
1 files changed, 60 insertions, 33 deletions
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');