diff options
Diffstat (limited to 'application/modules/dev/controllers')
| -rw-r--r-- | application/modules/dev/controllers/BootisoController.php | 58 | ||||
| -rw-r--r-- | application/modules/dev/controllers/PrebootController.php | 43 |
2 files changed, 74 insertions, 27 deletions
diff --git a/application/modules/dev/controllers/BootisoController.php b/application/modules/dev/controllers/BootisoController.php index dc4ec58..da3e4c2 100644 --- a/application/modules/dev/controllers/BootisoController.php +++ b/application/modules/dev/controllers/BootisoController.php @@ -31,28 +31,31 @@ class dev_BootisoController extends Zend_Controller_Action public function downloadbootisoAction() { $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); + $this->_helper->viewRenderer->setNoRender(true); $prebootID = $this->_request->getParam('prebootID'); $serialnumber = $this->_request->getParam('serialnumber'); if(is_dir("../resources/bootmedium/$prebootID/") && is_numeric($prebootID)){ - 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="preboot.tgz"'); - header('Pragma: no-cache'); - header('Expires: 0'); - +// 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="preboot.tgz"'); +// header('Pragma: no-cache'); +// header('Expires: 0'); + chdir("../resources/bootmedium/$prebootID/preboot/"); + $prebootname = array_pop(scandir("./")); + print_a($prebootname); -// $fp = fopen("bootisoSerial.txt", "w"); -// fputs ($fp, $serialnumber); -// fclose ($fp); + $fp = fopen($prebootname."/build/rootfs/tmp/proobootisoSerial.txt", "w"); + fputs ($fp, $serialnumber); + fclose ($fp); // create the gzipped tarfile. - - passthru("tar -cz ./"); + + passthru("tar -cvz ./"); + } @@ -80,9 +83,20 @@ class dev_BootisoController extends Zend_Controller_Action $bootisomapper = new Application_Model_BootIsoMapper(); $bootiso->setCreated(time()); + $prebootID = $bootiso->getPrebootID(); + try { - $bootisomapper->save($bootiso); + $bootisoID = $bootisomapper->save($bootiso); + + copy("../resources/bootmedium/$prebootID/preboot.zip", "../resources/bootmedium/$prebootID/$bootisoID".".zip"); + $zip = new ZipArchive(); + $res = $zip->open("../resources/bootmedium/$prebootID/$bootisoID".".zip"); + if($res === true){ + $rootdir = $zip->getNameIndex(0); + $zip->addFromString($rootdir."build/rootfs/tmp/serial", $bootiso->getSerialnumber()); + $zip->close(); + } }catch(Zend_Exception $e) { @@ -99,7 +113,7 @@ class dev_BootisoController extends Zend_Controller_Action public function editbootisoAction() { - $bootisoID = $this->_request->getParam('bootisoID'); + $bootisoID = $this->_request->getParam('bootisoID'); $groupmapper = new Application_Model_GroupMapper(); $prebootmapper = new Application_Model_PreBootMapper(); @@ -126,9 +140,21 @@ class dev_BootisoController extends Zend_Controller_Action $bootisomapper = new Application_Model_BootIsoMapper(); $bootiso->setCreated(time()); $bootiso->setID($bootisoID); - + $prebootID = $bootiso->getPrebootID(); + try { - $bootisomapper->save($bootiso); + + + $zip = new ZipArchive(); + $res = $zip->open("../resources/bootmedium/$prebootID/$bootisoID".".zip"); + if($res === true){ + $rootdir = $zip->getNameIndex(0); + $zip->addFromString($rootdir."build/rootfs/mnt/serial", $bootiso->getSerialnumber()); + $zip->close(); + } + + $bootisomapper->save($bootiso); + }catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "<br/>"; diff --git a/application/modules/dev/controllers/PrebootController.php b/application/modules/dev/controllers/PrebootController.php index df8daf2..5271450 100644 --- a/application/modules/dev/controllers/PrebootController.php +++ b/application/modules/dev/controllers/PrebootController.php @@ -53,12 +53,11 @@ class dev_PrebootController extends Zend_Controller_Action $prebootID = $prebootmapper->save($preboot); $path_preboot = "../resources/bootmedium/$prebootID/"; - mkdir($path_preboot."preboot/",0777,true); + mkdir($path_preboot ,0777, true); - exec("wget -O '".$path_preboot."preboot.tgz' ".$preboot->getPath_preboot()); - - exec("tar -xvf ".$path_preboot."preboot.tgz "."-C ".$path_preboot."preboot/"); - + exec("wget -O '".$path_preboot."preboot.zip' ".$preboot->getPath_preboot()); + + }catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "<br/>"; @@ -81,8 +80,8 @@ class dev_PrebootController extends Zend_Controller_Action $prebootdate = strtotime(trim(str_replace('Last-Modified:', '', array_pop($prebootdate)))); - if(is_file("../resources/bootmedium/$prebootID/preboot.tgz")) - $prebootolddate = filemtime("../resources/bootmedium/".$prebootID."/preboot.tgz"); + if(is_file("../resources/bootmedium/$prebootID/preboot.zip")) + $prebootolddate = filemtime("../resources/bootmedium/".$prebootID."/preboot.zip"); else $prebootolddate = false; @@ -98,6 +97,7 @@ class dev_PrebootController extends Zend_Controller_Action public function updateprebootAction() { + $prebootID = $this->_request->getParam('prebootID'); $prebootmapper = new Application_Model_PreBootMapper(); @@ -106,10 +106,31 @@ class dev_PrebootController extends Zend_Controller_Action $path_preboot = "../resources/bootmedium/$prebootID/"; - exec("rm -r $path_preboot"."preboot/*"); - - exec("wget -O '".$path_preboot."preboot.tgz' ".$preboot->getPath_preboot()); - exec("tar -xvf ".$path_preboot."preboot.tgz "."-C ".$path_preboot."preboot/"); + exec("wget -O '".$path_preboot."preboot.zip' ".$preboot->getPath_preboot()); + + $filelist = array(); + $filelist = scandir($path_preboot); + + $bootisoMapper = new Application_Model_BootIsoMapper(); + + foreach($filelist as $file){ + if($file == "." || $file == ".." || $file == "preboot.zip"){ + //do nothing + } + else{ + $bootisoID = str_replace('.zip', '', $file); + $serialnumber = $bootisoMapper->find($bootisoID)->getSerialnumber(); + + copy("../resources/bootmedium/$prebootID/preboot.zip", "../resources/bootmedium/$prebootID/$bootisoID".".zip"); + $zip = new ZipArchive(); + $res = $zip->open("../resources/bootmedium/$prebootID/$bootisoID".".zip"); + if($res === true){ + $rootdir = $zip->getNameIndex(0); + $zip->addFromString($rootdir."build/rootfs/tmp/serial", $serialnumber); + $zip->close(); + } + } + } $this->_redirect('/dev/preboot'); } |
