diff options
| author | michael pereira | 2011-03-16 10:05:20 +0100 |
|---|---|---|
| committer | michael pereira | 2011-03-16 10:05:20 +0100 |
| commit | ef1f634b2ec92107137c54e3af32de01135f02c9 (patch) | |
| tree | 60a5523e14bf7c5831c419f9fc2bf667ebcf06ed /application/modules/dev/controllers/ResourceController.php | |
| parent | Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2 (diff) | |
| download | pbs2-ef1f634b2ec92107137c54e3af32de01135f02c9.tar.gz pbs2-ef1f634b2ec92107137c54e3af32de01135f02c9.tar.xz pbs2-ef1f634b2ec92107137c54e3af32de01135f02c9.zip | |
Ressource Controller setzt jetzt die Session fuer ausgewaehltes Bootmenuentry
Diffstat (limited to 'application/modules/dev/controllers/ResourceController.php')
| -rw-r--r-- | application/modules/dev/controllers/ResourceController.php | 290 |
1 files changed, 130 insertions, 160 deletions
diff --git a/application/modules/dev/controllers/ResourceController.php b/application/modules/dev/controllers/ResourceController.php index 3bd325f..defab76 100644 --- a/application/modules/dev/controllers/ResourceController.php +++ b/application/modules/dev/controllers/ResourceController.php @@ -3,181 +3,151 @@ class dev_ResourceController extends Zend_Controller_Action { - - public function init() - { - - } - - public function indexAction() - { - - - } - - public function getinitramfsAction() - { - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $alphasessionID = $this->_request->getParam('alpha'); - $session = new Application_Model_Session(); - $sm = new Application_Model_SessionMapper(); - $result = $sm->findBy('alphasessionID',$alphasessionID); - # print_a($result); - $thisSession = $result[0]; - $bootosID = $thisSession['bootosID']; - - 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})', $HTTP_USER_AGENT) == 'IE') ? 'inline' : 'attachment'; - header('Content-Disposition: ' . $content_disp . '; filename="initramfs"'); - header('Pragma: no-cache'); - header('Expires: 0'); - - // create the gzipped tarfile. - chdir("../resources/bootos/$bootosID/initramfs/"); - passthru( "cat initramfs"); - } - } - - public function getconfigAction() - { - - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - + private $thisSession; + + public function init() + { + $this->_helper->layout->disableLayout(); + $this->_helper->viewRenderer->setNoRender(); + $alphasessionID = $this->_request->getParam('alpha'); $session = new Application_Model_Session(); $sm = new Application_Model_SessionMapper(); $result = $sm->findBy('alphasessionID',$alphasessionID); # print_a($result); - $thisSession = $result[0]; - $bootmenuentryID = $thisSession['bootmenuentryID']; - + $this->thisSession = $session->setOptions($result[0]); + $this->thisSession->setID($result[0]['sessionID']); + } + + public function indexAction() + { + + + } + + public function getinitramfsAction() + { + + $bootosID = $this->thisSession->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})', $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/"); + passthru( "cat initramfs"); + } + } + + public function getconfigAction() + { + $bootmenuentryID = $this->thisSession->getBootmenuentryID(); + $bootmenuentry = new Application_Model_BootMenuEntries(); $bmm = new Application_Model_BootMenuEntriesMapper(); $bmm->find($bootmenuentryID,$bootmenuentry); # print_a($bootmenuentry); - $configID = $bootmenuentry->getConfigID(); - - if(is_dir("../resources/config/$configID/config/") && is_numeric($configID)){ - - header('Content-Type: application/x-gzip'); - $content_disp = ( ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT) == 'IE') ? 'inline' : 'attachment'; - header('Content-Disposition: ' . $content_disp . '; filename="config.tar.gz"'); - header('Pragma: no-cache'); - header('Expires: 0'); - - // create the gzipped tarfile. - chdir("../resources/config/$configID/config/"); - passthru( "tar cz ./"); - } - } - - public function getkernelAction() - { - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $alphasessionID = $this->_request->getParam('alpha'); - $session = new Application_Model_Session(); - $sm = new Application_Model_SessionMapper(); - $result = $sm->findBy('alphasessionID',$alphasessionID); - # print_a($result); - $thisSession = $result[0]; - $bootosID = $thisSession['bootosID']; - - - 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})', $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/"); - passthru( "cat kernel"); - } - } - - public function getkclAction() - { - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $alphasessionID = $this->_request->getParam('alpha'); - $session = new Application_Model_Session(); - $sm = new Application_Model_SessionMapper(); - $result = $sm->findBy('alphasessionID',$alphasessionID); - # print_a($result); - $thisSession = $result[0]; - $bmeID = $thisSession['bootmenuentryID']; - if(is_numeric($bmeID)){ - $bmemapper = new Application_Model_BootMenuEntriesMapper(); + $configID = $bootmenuentry->getConfigID(); + + if(is_dir("../resources/config/$configID/config/") && is_numeric($configID)){ + + header('Content-Type: application/x-gzip'); + $content_disp = ( ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT) == 'IE') ? 'inline' : 'attachment'; + header('Content-Disposition: ' . $content_disp . '; filename="config.tar.gz"'); + header('Pragma: no-cache'); + header('Expires: 0'); + + // create the gzipped tarfile. + chdir("../resources/config/$configID/config/"); + passthru( "tar cz ./"); + } + } + + public function getkernelAction() + { + $bootosID = $this->thisSession->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})', $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/"); + passthru( "cat kernel"); + } + } + + public function getkclAction() + { + $bmeID = $this->thisSession->getBootmenuentryID(); + + if(is_numeric($bmeID)){ + + $bmemapper = new Application_Model_BootMenuEntriesMapper(); $bme = new Application_Model_BootMenuEntries(); $bmemapper->find($bmeID,$bme); - + if($bme->getKcl() != null){ header('Content-Type: text/html'); - $content_disp = ( ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT) == 'IE') ? 'inline' : 'attachment'; - header('Content-Disposition: ' . $content_disp . '; filename="kcl.txt"'); - header('Pragma: no-cache'); - header('Expires: 0'); - echo $bme->getKcl(); + $content_disp = ( ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT) == 'IE') ? 'inline' : 'attachment'; + header('Content-Disposition: ' . $content_disp . '; filename="kcl.txt"'); + header('Pragma: no-cache'); + header('Expires: 0'); + echo $bme->getKcl(); } - - } - - } - - public function getbootmenuentryAction() - { - // obsolete function (now only for debugging) - // after selecting the BootOS it will be saved in session - // so getkclAction, getkernelAction, getconfigAction and getinitramfsAction - // can be called with session-identifier - - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $bmeID = $this->_request->getParam('bootmenuentryID'); - $bmeID = 4; - - if(isset($_SESSION['alphasessionID'])){ - $sessionmapper = new Application_Model_SessionMapper(); - $session = $sessionmapper->findBy('alphasessionID',$_SESSION['alphasessionID']); - $session = $session[0]; - if($session['bootmenuentryID'] != null){ - $return_val = - array( - 'info' => 'This function is for debugging purpose only', - 'kernel' => $this->generateURL('getkernel', 'alpha', $_SESSION['alphasessionID'], "kernel"), - 'initramfs' => $this->generateURL('getinitramfs', 'alpha', $_SESSION['alphasessionID'], "initramfs"), - 'kcl' => $this->generateURL('getkcl', 'alpha', $_SESSION['alphasessionID'], "kcl"), - 'config' => $_SESSION['alphasessionID'] - ); - echo json_encode($return_val); - } - else{ - echo json_encode( - array( 'info' => 'This function is for debugging purpose only', - 'error'=> 'your session is out of date') - ); - } - } - - } - - function generateURL($action, $varname, $varvalue, $filename){ - $path = '/resource/'. $action .'/' . $varname .'/' . $varvalue .'/file/' . $filename ; - $path = "http://" . $_SERVER['SERVER_NAME'] . $path; - return $path; - } + + } + + } + + public function getbootmenuentryAction() + { + // obsolete function (now only for debugging) + // after selecting the BootOS it will be saved in session + // so getkclAction, getkernelAction, getconfigAction and getinitramfsAction + // can be called with session-identifier + $bootmenuentryID = $this->_request->getParam('bootmenuentryID'); + $bootosID = $this->_request->getParam('bootosID'); + + $this->thisSession->setBootosID($bootosID)->setBootmenuentryID($bootmenuentryID); + $sessionMapper = new Application_Model_SessionMapper(); + $sessionMapper->save($this->thisSession); + + if($this->thisSession->getBootmenuentryID() != null){ + header('Content-Type: application/json'); + $return_val = + array( + 'info' => 'This function is for debugging purpose only', + 'kernel' => $this->generateURL('getkernel', 'alpha', $_SESSION['alphasessionID'], "kernel"), + 'initramfs' => $this->generateURL('getinitramfs', 'alpha', $_SESSION['alphasessionID'], "initramfs"), + 'kcl' => $this->generateURL('getkcl', 'alpha', $_SESSION['alphasessionID'], "kcl.txt"), + 'config' => $_SESSION['alphasessionID'] + ); + echo json_encode($return_val); + } + else{ + echo json_encode( + array( 'info' => 'This function is for debugging purpose only', + 'error'=> 'your session is out of date') + ); + } + } + + private function generateURL($action, $varname, $varvalue, $filename){ + $path = '/dev/resource/'. $action .'/' . $varname .'/' . $varvalue .'/file/' . $filename ; + $path = "http://" . $_SERVER['SERVER_NAME'] . $path; + return $path; + } } |
