From fca04a6dab252eb9e8c0a92ce3b7e14b32e68d1e Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Wed, 11 Jan 2012 14:36:35 +0100 Subject: format source files --- .../modules/ipxe/controllers/AuthController.php | 425 ++++++++++----------- .../ipxe/controllers/ResourceController.php | 385 +++++++++---------- 2 files changed, 401 insertions(+), 409 deletions(-) (limited to 'application/modules/ipxe/controllers') diff --git a/application/modules/ipxe/controllers/AuthController.php b/application/modules/ipxe/controllers/AuthController.php index e6f1336..b59c146 100644 --- a/application/modules/ipxe/controllers/AuthController.php +++ b/application/modules/ipxe/controllers/AuthController.php @@ -1,218 +1,213 @@ -_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - $this->db = Zend_Db_Table::getDefaultAdapter(); - - $this->session = new Application_Model_Session(); - $this->sessionMapper = new Application_Model_SessionMapper(); - - $alphaID = $this->_request->getParam('alpha'); - - if(isset($alphaID)){ - $alphasessionID = $alphaID; - $result = $this->sessionMapper->findBy(array('alphasessionID' => $alphasessionID),true); - if(isset($result)){ - $this->session = $this->session->setOptions($result[0]); - $this->session->setID($result[0]['sessionID']); - }else{ - $this->error = "session"; - } - } - } - - public function serialAction() - { - $serialnumber = $this->_request->getParam('serialnumber'); - $mac = $this->_request->getParam('mac'); - - if(isset($serialnumber)){ - // Create a session - $n = new Pbs_Session(); - - $bootisomapper = new Application_Model_BootIsoMapper(); - $bootiso = new Application_Model_BootIso(); - - $results = $bootisomapper->findBy(array('serialnumber' => $serialnumber),true); - - if(isset($results)){ - $bootiso->setOptions($results[0]); - $bootiso->setID($results[0]['bootisoID']); - $groupID = $bootiso->getGroupID(); - - $client = new Application_Model_Client(); - $client->setGroupID($groupID); - $client->setMacadress($mac); - $client->setCreated(time()); - $client = $n->createClient($client); - $clientID = $client->getID(); - - $this->session->setBootisoID($bootiso->getID()); - $this->session->setClientID($clientID); - $this->session->setTime(time()); - $this->session->setIp($_SERVER['REMOTE_ADDR']); - $this->session = $n->createSession($this->session); - }else{ - $this->error = "serial"; - } - } - else{ - $this->error = "serial"; - } - - header('Content-Type: text/plain'); - - $result = "#!ipxe\n"; - if(isset($this->session)){ - $result .= "set filename http://".$_SERVER['HTTP_HOST']."/ipxe/resource/getvesamenuconfig/alpha/".$this->session->getAlphasessionID()."/error/".$this->error."\n"; - $result .= ":start\n"; - $result .= "chain http://".$_SERVER['HTTP_HOST']."/ipxe/vesamenu.c32 \${filename}\n"; - $result .= "goto start\n"; - }else{ - $result .= "chain http://".$_SERVER['HTTP_HOST']."/ipxe/vesamenu.c32 http://".$_SERVER['HTTP_HOST']."/ipxe/resource/getvesamenuconfig/serialnumber/$serialnumber/mac/$mac/error/$this->error\n"; - } - header("Content-Length: ".(strlen($result))); - echo $result; - - } - - public function loginAction() - { - $alpha = $this->_request->getParam('alpha'); - $login = $this->_request->getParam('login'); - - if (isset($login)){ - header('Content-Type: text/plain'); - $result = "#!ipxe\n"; - $result .= "clear username\n"; - $result .= "clear password\n"; - $result .= "login\n"; - $result .= "isset \${username} || set username null\n"; - $result .= "chain http://\${username:uristring}:\${password:uristring}@".$_SERVER['HTTP_HOST']."/ipxe/auth/login/alpha/".$alpha."\n"; - header("Content-Length: ".(strlen($result))); - echo $result; - exit; - } - - if(!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])){ - header('WWW-Authenticate: Basic realm=""'); - header('HTTP/1.0 401 Unauthorized'); - $result = "#!ipxe\n"; - $result .= "set filename http://".$_SERVER['HTTP_HOST']."/ipxe/resource/getvesamenuconfig/alpha/".$this->session->getAlphasessionID()."/error/login\n"; - header("Content-Length: ".(strlen($result))); - echo $result; - exit; - } - - $email = $_SERVER['PHP_AUTH_USER']; - $password = $_SERVER['PHP_AUTH_PW']; - - $auth = Zend_Auth::getInstance(); - $adapter = new Zend_Auth_Adapter_DbTable($this->db, 'pbs_person', 'email', 'password', 'MD5(CONCAT(?, password_salt))'); - $adapter->setIdentity($email); - $adapter->setCredential($password); - - $result = $auth->authenticate($adapter); - - if (isset($this->session)){ - if ($result->isValid()) { - - $personmapper = new Application_Model_PersonMapper(); - $result = $personmapper->findBy(array('email' => Zend_Auth::getInstance()->getIdentity()),true); - $person = new Application_Model_Person($result[0]); - $person->setID($result[0]['personID']); - $date = new DateTime(); - $person->setLogindate($date->getTimestamp()); - $personmapper->save($person); - - $this->session->setPersonID($person->getID()); - $this->sessionMapper->save($this->session); - - } else { - $this->error = "login"; - } - }else{ - $this->error = "session"; - } - - - header('Content-Type: text/plain'); - $result = "#!ipxe\n"; - $result .= "set filename http://".$_SERVER['HTTP_HOST']."/ipxe/resource/getvesamenuconfig/alpha/".$this->session->getAlphasessionID()."/error/".$this->error."\n"; - header("Content-Length: ".(strlen($result))); - echo $result; - exit; - - - - } - - public function logoutAction(){ - - $alpha = $this->_request->getParam('alpha'); - - if (isset($this->session)){ - $this->session->setPersonID(null); - $this->session->setMembershipID(null); - $this->sessionMapper->save($this->session); - }else{ - $this->error = "session"; - } - - $this->_redirect('/ipxe/resource/getvesamenuconfig/alpha/'.$alpha.'/error/'.$this->error); - - } - - public function switchgroupAction(){ - - $alpha = $this->_request->getParam('alpha'); - - if (isset($this->session)){ - $this->session->setMembershipID(null); - $this->sessionMapper->save($this->session); - }else{ - $this->error = "session"; - } - - $this->_redirect('/ipxe/resource/getvesamenuconfig/alpha/'.$alpha.'/error/'.$this->error); - } - - public function setgroupAction(){ - - $alpha = $this->_request->getParam('alpha'); - $membershipID = $this->_request->getParam('membershipid'); - - //TODO test if member of group - if (isset($this->session)){ - $this->session->setMembershipID($membershipID); - $this->sessionMapper->save($this->session); - }else{ - $this->error = "session"; - } - - $this->_redirect('/ipxe/resource/getvesamenuconfig/alpha/'.$alpha.'/error/'.$this->error); - } - - - - - +* 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 Ipxe_AuthController extends Zend_Controller_Action { + protected $session; + protected $sessionMapper; + protected $error; + + public function init() { + $this->_helper->layout->disableLayout(); + $this->_helper->viewRenderer->setNoRender(); + $this->db = Zend_Db_Table::getDefaultAdapter(); + + $this->session = new Application_Model_Session(); + $this->sessionMapper = new Application_Model_SessionMapper(); + + $alphaID = $this->_request->getParam('alpha'); + + if(isset($alphaID)) { + $alphasessionID = $alphaID; + $result = $this->sessionMapper->findBy(array('alphasessionID' => $alphasessionID), true); + if(isset($result)) { + $this->session = $this->session->setOptions($result[0]); + $this->session->setID($result[0]['sessionID']); + } else { + $this->error = "session"; + } + } + } + + public function serialAction() { + $serialnumber = $this->_request->getParam('serialnumber'); + $mac = $this->_request->getParam('mac'); + + if(isset($serialnumber)) { + // Create a session + $n = new Pbs_Session(); + + $bootisomapper = new Application_Model_BootIsoMapper(); + $bootiso = new Application_Model_BootIso(); + + $results = $bootisomapper->findBy(array('serialnumber' => $serialnumber), true); + + if(isset($results)) { + $bootiso->setOptions($results[0]); + $bootiso->setID($results[0]['bootisoID']); + $groupID = $bootiso->getGroupID(); + + $client = new Application_Model_Client(); + $client->setGroupID($groupID); + $client->setMacadress($mac); + $client->setCreated(time()); + $client = $n->createClient($client); + $clientID = $client->getID(); + + $this->session->setBootisoID($bootiso->getID()); + $this->session->setClientID($clientID); + $this->session->setTime(time()); + $this->session->setIp($_SERVER['REMOTE_ADDR']); + $this->session = $n->createSession($this->session); + } else { + $this->error = "serial"; + } + } else { + $this->error = "serial"; + } + + header('Content-Type: text/plain'); + + $result = "#!ipxe\n"; + if(isset($this->session)) { + $result . = "set filename http://".$_SERVER['HTTP_HOST']."/ipxe/resource/getvesamenuconfig/alpha/".$this->session->getAlphasessionID()."/error/".$this->error."\n"; + $result . = ":start\n"; + $result . = "chain http://".$_SERVER['HTTP_HOST']."/ipxe/vesamenu.c32 \${filename}\n"; + $result . = "goto start\n"; + } else { + $result . = "chain http://".$_SERVER['HTTP_HOST']."/ipxe/vesamenu.c32 http://".$_SERVER['HTTP_HOST']."/ipxe/resource/getvesamenuconfig/serialnumber/$serialnumber/mac/$mac/error/$this->error\n"; + } + header("Content-Length: ".(strlen($result))); + echo $result; + + } + + public function loginAction() { + $alpha = $this->_request->getParam('alpha'); + $login = $this->_request->getParam('login'); + + if (isset($login)) { + header('Content-Type: text/plain'); + $result = "#!ipxe\n"; + $result . = "clear username\n"; + $result . = "clear password\n"; + $result . = "login\n"; + $result . = "isset \${username} || set username null\n"; + $result . = "chain http://\${username:uristring}:\${password:uristring}@".$_SERVER['HTTP_HOST']."/ipxe/auth/login/alpha/".$alpha."\n"; + header("Content-Length: ".(strlen($result))); + echo $result; + exit; + } + + if(!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) { + header('WWW-Authenticate: Basic realm=""'); + header('HTTP/1.0 401 Unauthorized'); + $result = "#!ipxe\n"; + $result . = "set filename http://".$_SERVER['HTTP_HOST']."/ipxe/resource/getvesamenuconfig/alpha/".$this->session->getAlphasessionID()."/error/login\n"; + header("Content-Length: ".(strlen($result))); + echo $result; + exit; + } + + $email = $_SERVER['PHP_AUTH_USER']; + $password = $_SERVER['PHP_AUTH_PW']; + + $auth = Zend_Auth::getInstance(); + $adapter = new Zend_Auth_Adapter_DbTable($this->db, 'pbs_person', 'email', 'password', 'MD5(CONCAT(?, password_salt))'); + $adapter->setIdentity($email); + $adapter->setCredential($password); + + $result = $auth->authenticate($adapter); + + if (isset($this->session)) { + if ($result->isValid()) { + + $personmapper = new Application_Model_PersonMapper(); + $result = $personmapper->findBy(array('email' => Zend_Auth::getInstance()->getIdentity()), true); + $person = new Application_Model_Person($result[0]); + $person->setID($result[0]['personID']); + $date = new DateTime(); + $person->setLogindate($date->getTimestamp()); + $personmapper->save($person); + + $this->session->setPersonID($person->getID()); + $this->sessionMapper->save($this->session); + + } else { + $this->error = "login"; + } + } else { + $this->error = "session"; + } + + + header('Content-Type: text/plain'); + $result = "#!ipxe\n"; + $result . = "set filename http://".$_SERVER['HTTP_HOST']."/ipxe/resource/getvesamenuconfig/alpha/".$this->session->getAlphasessionID()."/error/".$this->error."\n"; + header("Content-Length: ".(strlen($result))); + echo $result; + exit; + + + + } + + public function logoutAction() { + + $alpha = $this->_request->getParam('alpha'); + + if (isset($this->session)) { + $this->session->setPersonID(null); + $this->session->setMembershipID(null); + $this->sessionMapper->save($this->session); + } else { + $this->error = "session"; + } + + $this->_redirect('/ipxe/resource/getvesamenuconfig/alpha/'.$alpha.'/error/'.$this->error); + + } + + public function switchgroupAction() { + + $alpha = $this->_request->getParam('alpha'); + + if (isset($this->session)) { + $this->session->setMembershipID(null); + $this->sessionMapper->save($this->session); + } else { + $this->error = "session"; + } + + $this->_redirect('/ipxe/resource/getvesamenuconfig/alpha/'.$alpha.'/error/'.$this->error); + } + + public function setgroupAction() { + + $alpha = $this->_request->getParam('alpha'); + $membershipID = $this->_request->getParam('membershipid'); + + //TODO test if member of group + if (isset($this->session)) { + $this->session->setMembershipID($membershipID); + $this->sessionMapper->save($this->session); + } else { + $this->error = "session"; + } + + $this->_redirect('/ipxe/resource/getvesamenuconfig/alpha/'.$alpha.'/error/'.$this->error); + } + + + + + } diff --git a/application/modules/ipxe/controllers/ResourceController.php b/application/modules/ipxe/controllers/ResourceController.php index 0f5988a..c33ed45 100644 --- a/application/modules/ipxe/controllers/ResourceController.php +++ b/application/modules/ipxe/controllers/ResourceController.php @@ -1,199 +1,196 @@ -_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $this->session = new Application_Model_Session(); - $sessionMapper = new Application_Model_SessionMapper(); - - //TODO Error Messages if something failed - $alphaID = $this->_request->getParam('alpha'); - - if(isset($alphaID)){ - $alphasessionID = $alphaID; - $result = $sessionMapper->findBy(array('alphasessionID' => $alphasessionID),true); - # print_a($result); - $this->session = $this->session->setOptions($result[0]); - $this->session->setID($result[0]['sessionID']); - } - - $bootmenuntryID = $this->_request->getParam('bme'); - - if(isset($bootmenuntryID) && isset($this->session)){ - //TODO check if allowed - $bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper(); - $bootmenuentry = new Application_Model_BootMenuEntries(); - $bootmenuentriesMapper->find($bootmenuntryID,$bootmenuentry); - - $this->session->setBootmenuentryID($bootmenuntryID); - $this->session->setBootosID($bootmenuentry->getBootosID()); - $sessionMapper->save($this->session); - } - } - - public function getvesamenuconfigAction(){ - - 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"'); - header('Pragma: no-cache'); - header('Expires: 0'); - - $vesamenuView = new Zend_View(); - $vesamenuView->addScriptPath(APPLICATION_PATH.'/modules/ipxe/views/scripts/resource/'); - - $vesamenuView->host = $_SERVER['HTTP_HOST']; - $vesamenuView->error = $this->_request->getParam('error'); - - if (isset($this->session)){ - $vesamenuView->alphaID = $this->session->getAlphasessionID(); - - if ($this->session->getPersonID() != null){ - $personMapper = new Application_Model_PersonMapper(); - $person = $personMapper->find($this->session->getPersonID()); - $vesamenuView->name = $person->getName(); - $vesamenuView->firstname = $person->getFirstname(); - $vesamenuView->loggedin = true; - }else{ - $vesamenuView->loggedin = false; - } - - if($this->session->getMembershipID() != null){ - $groupMapper = new Application_Model_GroupMapper(); - $membershipMapper = new Application_Model_MembershipMapper(); - $membership = $membershipMapper->find($this->session->getMembershipID()); - $vesamenuView->group = $groupMapper->find($membership->getGroupID())->getTitle(); - $_SESSION['userIDs']['membershipID'] = $this->session->getMembershipID(); - $_SESSION['userIDs']['groupID'] = $membership->getGroupID(); - } - - if ($this->session->getPersonID() != null && $this->session->getMembershipID() == null ){ - $groupMapper = new Application_Model_GroupMapper(); - $roleMapper = new Application_Model_RoleMapper(); - $membershipMapper = new Application_Model_MembershipMapper(); - $memberships = $membershipMapper->findBy(array('personID' => $this->session->getPersonID()),true); - - if(isset($memberships)) { - foreach($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->memberships = $membershipList; - }else{ - $vesamenuView->memberships = null; - } - - $vesamenuView->action = "selectmembership"; - - } - - // Request Bootmenu - $_SESSION['alphasessionID'] = $this->session->getAlphasessionID(); - $pbsFilter = new Pbs_Filter(); - $bootmenuID = $pbsFilter->evaluate(); - - if($bootmenuID != null){ - $bootmenuMapper = new Application_Model_BootMenuMapper(); - $bm = $bootmenuMapper->find($bootmenuID); - $vesamenuView->title = $bm->getTitle(); - $vesamenuView->startcounter = $bm->getStartcounter(); - - $bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper(); - $res = $bootmenuentriesMapper->findBy(array('bootmenuID' => $bootmenuID),false); - $vesamenuView->bmelist = $res; - }else{ - $vesamenuView->bmelist = null; - } - }else{ - $vesamenuView->serialnumber = $this->_request->getParam('serialnumber'); - $vesamenuView->mac = $this->_request->getParam('mac'); - if($vesamenuView->error == "serial"){ - $vesamenuView->error = "serial"; - }else{ - $vesamenuView->error = "session"; - } - } - - $vesamenu = $vesamenuView->render('getvesamenu.phtml'); - - header("Content-Length: ".(strlen($vesamenu))); - - echo $vesamenu; - } - - public function getkernelAction(){ - - //TODO session & bme error - $bootosID = $this->session->getBootosID(); - - if(is_dir("../resources/bootos/$bootosID/kernel/") && is_numeric($bootosID)){ - - header('Content-Type: application/x-gzip'); - $content_disp = ( ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']) == 'IE') ? 'inline' : 'attachment'; - header('Content-Disposition: ' . $content_disp . '; filename="kernel"'); - header('Pragma: no-cache'); - header('Expires: 0'); - - // create the gzipped tarfile. - chdir("../resources/bootos/$bootosID/kernel/"); - $kernelname = array_pop(scandir("./")); - - header("Content-Length: ".filesize(getcwd()."/".$kernelname)); - - passthru( "cat ". $kernelname); - }else{ - header('HTTP/1.0 404 Not Found'); - } - } - - public function getinitramfsAction() - { - - $bootosID = $this->session->getBootosID(); - - if(is_dir("../resources/bootos/$bootosID/initramfs/") && is_numeric($bootosID)){ - - header('Content-Type: application/x-gzip'); - $content_disp = ( ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']) == 'IE') ? 'inline' : 'attachment'; - header('Content-Disposition: ' . $content_disp . '; filename="initramfs"'); - header('Pragma: no-cache'); - header('Expires: 0'); - - // create file. - chdir("../resources/bootos/$bootosID/initramfs/"); - $initname = array_pop(scandir("./")); - - header("Content-Length: ".filesize(getcwd()."/".$initname)); - - passthru( "cat ".$initname); - }else{ - header('HTTP/1.0 404 Not Found'); - } - } - +* 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 Ipxe_ResourceController extends Zend_Controller_Action { + + private $session; + + public function init() { + + $this->_helper->layout->disableLayout(); + $this->_helper->viewRenderer->setNoRender(); + + $this->session = new Application_Model_Session(); + $sessionMapper = new Application_Model_SessionMapper(); + + //TODO Error Messages if something failed + $alphaID = $this->_request->getParam('alpha'); + + if(isset($alphaID)) { + $alphasessionID = $alphaID; + $result = $sessionMapper->findBy(array('alphasessionID' => $alphasessionID), true); +# print_a($result); + $this->session = $this->session->setOptions($result[0]); + $this->session->setID($result[0]['sessionID']); + } + + $bootmenuntryID = $this->_request->getParam('bme'); + + if(isset($bootmenuntryID) && isset($this->session)) { + //TODO check if allowed + $bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper(); + $bootmenuentry = new Application_Model_BootMenuEntries(); + $bootmenuentriesMapper->find($bootmenuntryID, $bootmenuentry); + + $this->session->setBootmenuentryID($bootmenuntryID); + $this->session->setBootosID($bootmenuentry->getBootosID()); + $sessionMapper->save($this->session); + } + } + + public function getvesamenuconfigAction() { + + 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"'); + header('Pragma: no-cache'); + header('Expires: 0'); + + $vesamenuView = new Zend_View(); + $vesamenuView->addScriptPath(APPLICATION_PATH.'/modules/ipxe/views/scripts/resource/'); + + $vesamenuView->host = $_SERVER['HTTP_HOST']; + $vesamenuView->error = $this->_request->getParam('error'); + + if (isset($this->session)) { + $vesamenuView->alphaID = $this->session->getAlphasessionID(); + + if ($this->session->getPersonID() != null) { + $personMapper = new Application_Model_PersonMapper(); + $person = $personMapper->find($this->session->getPersonID()); + $vesamenuView->name = $person->getName(); + $vesamenuView->firstname = $person->getFirstname(); + $vesamenuView->loggedin = true; + } else { + $vesamenuView->loggedin = false; + } + + if($this->session->getMembershipID() != null) { + $groupMapper = new Application_Model_GroupMapper(); + $membershipMapper = new Application_Model_MembershipMapper(); + $membership = $membershipMapper->find($this->session->getMembershipID()); + $vesamenuView->group = $groupMapper->find($membership->getGroupID())->getTitle(); + $_SESSION['userIDs']['membershipID'] = $this->session->getMembershipID(); + $_SESSION['userIDs']['groupID'] = $membership->getGroupID(); + } + + if ($this->session->getPersonID() != null && $this->session->getMembershipID() == null ) { + $groupMapper = new Application_Model_GroupMapper(); + $roleMapper = new Application_Model_RoleMapper(); + $membershipMapper = new Application_Model_MembershipMapper(); + $memberships = $membershipMapper->findBy(array('personID' => $this->session->getPersonID()), true); + + if(isset($memberships)) { + foreach($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->memberships = $membershipList; + } else { + $vesamenuView->memberships = null; + } + + $vesamenuView->action = "selectmembership"; + + } + + // Request Bootmenu + $_SESSION['alphasessionID'] = $this->session->getAlphasessionID(); + $pbsFilter = new Pbs_Filter(); + $bootmenuID = $pbsFilter->evaluate(); + + if($bootmenuID != null) { + $bootmenuMapper = new Application_Model_BootMenuMapper(); + $bm = $bootmenuMapper->find($bootmenuID); + $vesamenuView->title = $bm->getTitle(); + $vesamenuView->startcounter = $bm->getStartcounter(); + + $bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper(); + $res = $bootmenuentriesMapper->findBy(array('bootmenuID' => $bootmenuID), false); + $vesamenuView->bmelist = $res; + } else { + $vesamenuView->bmelist = null; + } + } else { + $vesamenuView->serialnumber = $this->_request->getParam('serialnumber'); + $vesamenuView->mac = $this->_request->getParam('mac'); + if($vesamenuView->error == "serial") { + $vesamenuView->error = "serial"; + } else { + $vesamenuView->error = "session"; + } + } + + $vesamenu = $vesamenuView->render('getvesamenu.phtml'); + + header("Content-Length: ".(strlen($vesamenu))); + + echo $vesamenu; + } + + public function getkernelAction() { + + //TODO session & bme error + $bootosID = $this->session->getBootosID(); + + if(is_dir("../resources/bootos/$bootosID/kernel/") && is_numeric($bootosID)) { + + header('Content-Type: application/x-gzip'); + $content_disp = ( ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']) == 'IE') ? 'inline' : 'attachment'; + header('Content-Disposition: ' . $content_disp . '; filename="kernel"'); + header('Pragma: no-cache'); + header('Expires: 0'); + + // create the gzipped tarfile. + chdir("../resources/bootos/$bootosID/kernel/"); + $kernelname = array_pop(scandir("./")); + + header("Content-Length: ".filesize(getcwd()."/".$kernelname)); + + passthru( "cat ". $kernelname); + } else { + header('HTTP/1.0 404 Not Found'); + } + } + + public function getinitramfsAction() { + + $bootosID = $this->session->getBootosID(); + + if(is_dir("../resources/bootos/$bootosID/initramfs/") && is_numeric($bootosID)) { + + header('Content-Type: application/x-gzip'); + $content_disp = ( ereg('MSIE ([0-9].[0-9]{1,2})', $_SERVER['HTTP_USER_AGENT']) == 'IE') ? 'inline' : 'attachment'; + header('Content-Disposition: ' . $content_disp . '; filename="initramfs"'); + header('Pragma: no-cache'); + header('Expires: 0'); + + // create file. + chdir("../resources/bootos/$bootosID/initramfs/"); + $initname = array_pop(scandir("./")); + + header("Content-Length: ".filesize(getcwd()."/".$initname)); + + passthru( "cat ".$initname); + } else { + header('HTTP/1.0 404 Not Found'); + } + } + } -- cgit v1.2.3-55-g7522