summaryrefslogtreecommitdiffstats
path: root/application/modules/dev/controllers/PrebootController.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/modules/dev/controllers/PrebootController.php')
-rw-r--r--application/modules/dev/controllers/PrebootController.php196
1 files changed, 0 insertions, 196 deletions
diff --git a/application/modules/dev/controllers/PrebootController.php b/application/modules/dev/controllers/PrebootController.php
deleted file mode 100644
index 024bae3..0000000
--- a/application/modules/dev/controllers/PrebootController.php
+++ /dev/null
@@ -1,196 +0,0 @@
-<?php
-/*
- * Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
-* 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 dev_PrebootController extends Zend_Controller_Action {
-
- public function init() {
- $db = Zend_Db_Table::getDefaultAdapter();
- }
-
- public function indexAction() {
- $prebootmapper = new Application_Model_PreBootMapper();
- $groupmapper = new Application_Model_GroupMapper();
- $membershipmapper = new Application_Model_MembershipMapper();
- $personmapper = new Application_Model_PersonMapper();
-
- $this->view->prebootlist = $prebootmapper->fetchAll();
- $this->view->update = array();
-
- foreach ($this->view->prebootlist as $preboot) {
- $this->view->update[$preboot->getID()] = $this->checkupdateAction($preboot);
- $preboot->setGroupID("[".$preboot->getGroupID()."] ".$groupmapper->find($preboot->getGroupID())->getTitle());
- $preboot->setMembershipID("[".$preboot->getMembershipID()."] ".$personmapper->find($membershipmapper->find($preboot->getMembershipID())->getPersonID())->getFirstname());
- }
- }
-
- public function createprebootAction() {
- $groupmapper = new Application_Model_GroupMapper();
-
- if (!isset($_POST["createpreboot"])) {
- $createprebootForm = new dev_Form_PrebootCreate(array('grouplist' => $groupmapper->fetchAll()));
- } else {
-
- $createprebootForm = new dev_Form_PrebootCreate(array('grouplist' => $groupmapper->fetchAll()), $_POST);
-
- if ($createprebootForm->isValid($_POST)) {
-
- $preboot = new Application_Model_PreBoot($_POST);
- $preboot->setMembershipID('1');
- $prebootmapper = new Application_Model_PreBootMapper();
-
- try {
-
- exec("wget --spider ".$preboot->getPath_preboot()." 2>&1 | grep 'Remote file exists.'", $exists_preboot);
-
- if(!array_pop($exists_preboot)) {
- $this->view->createprebootForm = $createprebootForm;
- return;
- }
-
- $prebootID = $prebootmapper->save($preboot);
-
- $path_preboot = "../resources/bootmedium/$prebootID/";
- mkdir($path_preboot , 0777, true);
-
- exec("wget -O '".$path_preboot."preboot.zip' ".$preboot->getPath_preboot());
-
-
- } catch(Zend_Exception $e) {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
-
- }
- $this->_redirect('/dev/preboot');
- }
- }
-
- $this->view->createprebootForm = $createprebootForm;
- }
-
- public function checkupdateAction($preboot) {
- $prebootID = $preboot->getID();
- exec("wget --server-response --spider ".escapeshellcmd($preboot->getPath_preboot())." 2>&1 | grep 'Last-Modified:'", $prebootdate);
-
- //print_a($prebootdate);
-
- $prebootdate = strtotime(trim(str_replace('Last-Modified:', '', array_pop($prebootdate))));
-
- if(is_file("../resources/bootmedium/$prebootID/preboot.zip"))
- { $prebootolddate = filemtime("../resources/bootmedium/".$prebootID."/preboot.zip"); }
- else
- { $prebootolddate = false; }
-
- //print_a($prebootname,$prebootdate,$prebootolddate);
-
-
- if($prebootdate > $prebootolddate)
- { return true; }
- else
- { return false; }
-
- }
-
- public function updateprebootAction() {
-
- $prebootID = $this->_request->getParam('prebootID');
-
- $prebootmapper = new Application_Model_PreBootMapper();
- $preboot = new Application_Model_PreBoot();
- $prebootmapper->find($prebootID, $preboot);
-
- $path_preboot = "../resources/bootmedium/$prebootID/";
-
- 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/serial", $serialnumber);
- $zip->close();
- }
- }
- }
-
- $this->_redirect('/dev/preboot');
- }
-
- public function editprebootAction() {
- $prebootID = $this->_request->getParam('prebootID');
- $groupmapper = new Application_Model_GroupMapper();
-
- if (!isset($_POST["editpreboot"])) {
- $prebootID = $this->_request->getParam('prebootID');
- if (!isset($prebootID) || !is_numeric($prebootID)) {
- $this->_redirect('/dev/preboot');
- } else {
- $preboot = new Application_Model_PreBoot();
- $prebootmapper = new Application_Model_PreBootMapper();
- $prebootmapper->find($prebootID, $preboot);
-
- $editprebootForm = new dev_Form_PrebootEdit(array('grouplist' => $groupmapper->fetchAll()));
- $editprebootForm->populate($preboot->toArray());
- }
- } else {
- $editprebootForm = new dev_Form_PrebootEdit(array('grouplist' => $groupmapper->fetchAll()), $_POST);
-
- if ($editprebootForm->isValid($_POST)) {
-
- $preboot = new Application_Model_PreBoot($_POST);
- $preboot->setMembershipID('1');
- $prebootmapper = new Application_Model_PreBootMapper();
- $preboot->setID($prebootID);
-
- try {
- $prebootmapper->save($preboot);
- } catch(Zend_Exception $e) {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- }
-
- $this->_redirect('/dev/preboot');
- }
-
- }
-
- $this->view->editprebootForm = $editprebootForm;
- }
-
- public function deleteprebootAction() {
- $prebootID = $this->_request->getParam('prebootID');
- if (!isset($prebootID)) {
- $this->_redirect('/dev/preboot');
- } else {
- $preboot = new Application_Model_PreBoot();
- $preboot->setID($prebootID);
- $prebootmapper = new Application_Model_PreBootMapper();
- $prebootmapper->delete($preboot);
- }
- $this->_redirect('/dev/preboot');
- }
-
-
-}
-