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/"; exec("wget -P ".$path_preboot." -r -nH --cut-dirs=1 -np -R '*.html*' -N ".$preboot->getPath_preboot()); }catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; } $this->_redirect('/dev/preboot'); } } $this->view->createprebootForm = $createprebootForm; } public function checkupdateAction($preboot) { exec("wget --server-response --spider ".escapeshellcmd($preboot->getPath_preboot())."changed 2>&1 | grep 'Last-Modified:'", $prebootdate); //print_a($prebootdate); $prebootdate = strtotime(trim(str_replace('Last-Modified:', '', array_pop($prebootdate)))); $prebootname = array_pop(scandir("../resources/bootmedium/".$preboot->getID()."/")); if($prebootname != "." && $prebootname != "..") $prebootolddate = filemtime("../resources/bootmedium/".$preboot->getID()."/".$prebootname); 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 -P ".$path_preboot." -r -nH --cut-dirs=1 -np -R '*.html*' -N ".$preboot->getPath_preboot()); $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) . "
"; echo "Message: " . $e->getMessage() . "
"; } $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'); } }