summaryrefslogtreecommitdiffstats
path: root/application/modules/user/controllers/BootosController.php
diff options
context:
space:
mode:
authorSimon2011-04-19 15:43:00 +0200
committerSimon2011-04-19 15:43:00 +0200
commitc31d8e9959efade437fb0a661f6f44329cc74664 (patch)
tree48afaad36266c251f3df4928ed18d6e09478413c /application/modules/user/controllers/BootosController.php
parentAufgeräumt und verschoben (diff)
downloadpbs2-c31d8e9959efade437fb0a661f6f44329cc74664.tar.gz
pbs2-c31d8e9959efade437fb0a661f6f44329cc74664.tar.xz
pbs2-c31d8e9959efade437fb0a661f6f44329cc74664.zip
Code autoformatiert
Diffstat (limited to 'application/modules/user/controllers/BootosController.php')
-rw-r--r--application/modules/user/controllers/BootosController.php672
1 files changed, 336 insertions, 336 deletions
diff --git a/application/modules/user/controllers/BootosController.php b/application/modules/user/controllers/BootosController.php
index a247de9..5d69527 100644
--- a/application/modules/user/controllers/BootosController.php
+++ b/application/modules/user/controllers/BootosController.php
@@ -17,17 +17,17 @@ class user_BootosController extends Zend_Controller_Action
protected $membershipMapper;
protected $membership;
protected $page;
-
- public function init()
- {
- if (Zend_Auth::getInstance()->hasIdentity()) {
+
+ public function init()
+ {
+ if (Zend_Auth::getInstance()->hasIdentity()) {
$userIDsNamespace = Zend_Session::namespaceGet('userIDs');
if($userIDsNamespace['membershipID'] ==''){
$this->_redirect('/user/index');
}
-
+
$this->bootosMapper = new Application_Model_BootOsMapper();
-
+
$this->membershipMapper = new Application_Model_MembershipMapper();
$this->membership = new Application_Model_Membership();
$this->membershipMapper->find($userIDsNamespace['membershipID'],$this->membership);
@@ -36,12 +36,12 @@ class user_BootosController extends Zend_Controller_Action
} else {
$this->_helper->redirector('login', 'auth');
}
- $this->page = $this->_request->getParam('page');
- }
+ $this->page = $this->_request->getParam('page');
+ }
- public function indexAction()
- {
- $result = $this->_request->getParam('addresult');
+ public function indexAction()
+ {
+ $result = $this->_request->getParam('addresult');
if($result != ""){
$pbsNotifier = new Pbs_Notifier();
$this->view->notification = $pbsNotifier->notify('create',$result);
@@ -56,378 +56,378 @@ class user_BootosController extends Zend_Controller_Action
$pbsNotifier = new Pbs_Notifier();
$this->view->notification = $pbsNotifier->notify('modify',$result);
}
- $result = $this->_request->getParam('updateresult');
+ $result = $this->_request->getParam('updateresult');
if($result != ""){
$pbsNotifier = new Pbs_Notifier();
$this->view->notification = $pbsNotifier->notify('update',$result);
}
-
- $groupID = $this->membership->getGroupID();
-
+
+ $groupID = $this->membership->getGroupID();
+
//ACL Darf er BootOs sehen?
- if(!Pbs_Acl::checkRight('boai') && !Pbs_Acl::checkRight('boui'))
- $this->_redirect('/user/index');
-
- $groupgroupsMapper = new Application_Model_GroupGroupsMapper();
-
- $parents = array();
- $this->view->bootoslist = array();
- $parents = $groupgroupsMapper->getParentGroups($groupID);
-
- foreach($parents as $k => $parent){
- foreach($parent as $p){
- $bootos = $this->bootosMapper->findBy(array("groupID" => $p));
- foreach ($bootos as $b)
- if($b->getPublic() - $k >= 0 )
- $this->view->bootoslist[] = $b;
- elseif($k == 0 && $b->getPublic() == -1 && Pbs_Acl::checkRight('boc'))
- $this->view->bootoslist[] = $b;
- }
- }
-
- $this->view->bootoslist = array_reverse($this->view->bootoslist);
+ if(!Pbs_Acl::checkRight('boai') && !Pbs_Acl::checkRight('boui'))
+ $this->_redirect('/user/index');
+
+ $groupgroupsMapper = new Application_Model_GroupGroupsMapper();
+
+ $parents = array();
+ $this->view->bootoslist = array();
+ $parents = $groupgroupsMapper->getParentGroups($groupID);
+
+ foreach($parents as $k => $parent){
+ foreach($parent as $p){
+ $bootos = $this->bootosMapper->findBy(array("groupID" => $p));
+ foreach ($bootos as $b)
+ if($b->getPublic() - $k >= 0 )
+ $this->view->bootoslist[] = $b;
+ elseif($k == 0 && $b->getPublic() == -1 && Pbs_Acl::checkRight('boc'))
+ $this->view->bootoslist[] = $b;
+ }
+ }
+
+ $this->view->bootoslist = array_reverse($this->view->bootoslist);
$this->view->update = array();
- $update = $this->_request->getParam('checkupdate');
- $groupMapper = new Application_Model_GroupMapper();
-
- if(count($this->view->bootoslist)>0){
+ $update = $this->_request->getParam('checkupdate');
+ $groupMapper = new Application_Model_GroupMapper();
+
+ if(count($this->view->bootoslist)>0){
foreach ($this->view->bootoslist as $bootos){
- $this->view->update[$bootos->getID()] = $update && $this->checkupdateAction($bootos);
- if($bootos->getDefaultkcl() == null)
- $bootos->setDefaultkcl("none (edit Bootos to set KCL)");
- $bootos->setGroupID("[".$bootos->getGroupID()."] ".$groupMapper->find($bootos->getGroupID())->getTitle());
- $bootos->setCreated(date(Zend_Registry::get('dateformat'),$bootos->getCreated()));
- @$bootos->setExpires(date(Zend_Registry::get('dateformat'),$bootos->getExpires()));
+ $this->view->update[$bootos->getID()] = $update && $this->checkupdateAction($bootos);
+ if($bootos->getDefaultkcl() == null)
+ $bootos->setDefaultkcl("none (edit Bootos to set KCL)");
+ $bootos->setGroupID("[".$bootos->getGroupID()."] ".$groupMapper->find($bootos->getGroupID())->getTitle());
+ $bootos->setCreated(date(Zend_Registry::get('dateformat'),$bootos->getCreated()));
+ @$bootos->setExpires(date(Zend_Registry::get('dateformat'),$bootos->getExpires()));
}
}
-
+
// Search
$search = $this->_request->getParam('search');
$mySearch = new Pbs_Search();
$mySearch->setSearchTerm($search);
$mySearch->setModule('bootos');
if($search != ''){
- $this->view->search = $mySearch->getSearchTerm();
- $this->view->bootoslist = $mySearch->search($this->view->bootoslist);
+ $this->view->search = $mySearch->getSearchTerm();
+ $this->view->bootoslist = $mySearch->search($this->view->bootoslist);
}
$this->view->searchform = $mySearch->searchForm();
-
- // Pagination
- $pagination = new Pbs_Pagination();
- $pagination->setPerPage(10);
+
+ // Pagination
+ $pagination = new Pbs_Pagination();
+ $pagination->setPerPage(10);
$pagination->setElement($this->view->bootoslist);
- $pagination->setRequestPage($this->_request->getParam('page'));
+ $pagination->setRequestPage($this->_request->getParam('page'));
$pagination->setPageUrl('/user/bootos/index'.((isset($this->view->search))?'/search/'.$this->view->search:''));
- $this->view->bootoslist = $pagination->getElements();
-
+ $this->view->bootoslist = $pagination->getElements();
+
$this->view->pagination = $pagination->pagination();
- $this->view->page = $pagination->getRequestPage();
-
-
- }
- public function searchAction(){
+ $this->view->page = $pagination->getRequestPage();
+
+
+ }
+ public function searchAction(){
$this->_redirect('/user/bootos/index/search/'.($_GET['search']));
}
- public function createbootosAction()
- {
-
- //ACL Darf er BootISOs erstellen?
- if(!Pbs_Acl::checkRight('boc'))
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/addresult/forbidden');
-
- $groupID = $this->membership->getGroupID();
-
- $groupgroupsMapper = new Application_Model_GroupGroupsMapper();
- $childgroups = count($groupgroupsMapper->getChildGroups($groupID));
-
- if (!isset($_POST["createbootos"])){
- $bootosForm = new user_Form_Bootos(array(
+ public function createbootosAction()
+ {
+
+ //ACL Darf er BootISOs erstellen?
+ if(!Pbs_Acl::checkRight('boc'))
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/addresult/forbidden');
+
+ $groupID = $this->membership->getGroupID();
+
+ $groupgroupsMapper = new Application_Model_GroupGroupsMapper();
+ $childgroups = count($groupgroupsMapper->getChildGroups($groupID));
+
+ if (!isset($_POST["createbootos"])){
+ $bootosForm = new user_Form_Bootos(array(
'action' => 'createbootos',
'groupdepth' => $childgroups,
'page' => $this->page));
- } else {
-
- $bootosForm = new user_Form_Bootos(array(
+ } else {
+
+ $bootosForm = new user_Form_Bootos(array(
'action' => 'createbootos',
'groupdepth' => $childgroups,
'page' => $this->page),$_POST);
-
- if ($bootosForm->isValid($_POST)) {
-
- $bootos = new Application_Model_BootOs($_POST);
-
- $bootos->setGroupID($this->membership->getGroupID());
- $bootos->setCreated(time());
-
- try {
-
- $path_tmp = "../resources/bootos/";
- mkdir($path_tmp ,0777, true);
-
- $hash = md5(microtime(1));
- exec("wget -O '".$path_tmp."kernel".$hash."' ".escapeshellcmd($bootos->getPath_kernel())." 2>&1 | grep 'saved'", $status);
- exec("wget -O '".$path_tmp."initramfs".$hash."' ".escapeshellcmd($bootos->getPath_init())." 2>&1 | grep 'saved'", $status2);
- exec("wget -O '".$path_tmp."config".$hash."' ".escapeshellcmd($bootos->getPath_config())." 2>&1 | grep 'saved'", $status3);
-
- if(!array_pop($status) && $bootos->getPath_kernel() != null || !array_pop($status2) && $bootos->getPath_init() != null || !array_pop($status3) && $bootos->getPath_config() != null ){
- $this->view->bootosForm = $bootosForm;
- $pbsNotifier = new Pbs_Notifier();
- echo $pbsNotifier->notify('The Resource was not found on the specified path','error');
+
+ if ($bootosForm->isValid($_POST)) {
+
+ $bootos = new Application_Model_BootOs($_POST);
+
+ $bootos->setGroupID($this->membership->getGroupID());
+ $bootos->setCreated(time());
+
+ try {
+
+ $path_tmp = "../resources/bootos/";
+ mkdir($path_tmp ,0777, true);
+
+ $hash = md5(microtime(1));
+ exec("wget -O '".$path_tmp."kernel".$hash."' ".escapeshellcmd($bootos->getPath_kernel())." 2>&1 | grep 'saved'", $status);
+ exec("wget -O '".$path_tmp."initramfs".$hash."' ".escapeshellcmd($bootos->getPath_init())." 2>&1 | grep 'saved'", $status2);
+ exec("wget -O '".$path_tmp."config".$hash."' ".escapeshellcmd($bootos->getPath_config())." 2>&1 | grep 'saved'", $status3);
+
+ if(!array_pop($status) && $bootos->getPath_kernel() != null || !array_pop($status2) && $bootos->getPath_init() != null || !array_pop($status3) && $bootos->getPath_config() != null ){
+ $this->view->bootosForm = $bootosForm;
+ $pbsNotifier = new Pbs_Notifier();
+ echo $pbsNotifier->notify('The Resource was not found on the specified path','error');
- return;
- }
-
- $bootosID = $this->bootosMapper->save($bootos);
+ return;
+ }
+
+ $bootosID = $this->bootosMapper->save($bootos);
+
+ $initpath = "../resources/bootos/".$bootosID."/initramfs/";
+ $kernelpath = "../resources/bootos/".$bootosID."/kernel/";
+ $configpath = "../resources/bootos/".$bootosID."/config/";
+
+ mkdir($initpath ,0777, true);
+ mkdir($kernelpath ,0777, true);
+ mkdir($configpath ,0777, true);
+
+ exec("mv ../resources/bootos/kernel$hash $kernelpath"."kernel");
+ exec("mv ../resources/bootos/initramfs$hash $initpath"."initramfs");
+ exec("mv ../resources/bootos/config$hash $configpath"."config.tgz");
+
+ }catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/addresult/error');
+ //TODO Delete File & delete bootiso from DB
- $initpath = "../resources/bootos/".$bootosID."/initramfs/";
- $kernelpath = "../resources/bootos/".$bootosID."/kernel/";
- $configpath = "../resources/bootos/".$bootosID."/config/";
-
- mkdir($initpath ,0777, true);
- mkdir($kernelpath ,0777, true);
- mkdir($configpath ,0777, true);
-
- exec("mv ../resources/bootos/kernel$hash $kernelpath"."kernel");
- exec("mv ../resources/bootos/initramfs$hash $initpath"."initramfs");
- exec("mv ../resources/bootos/config$hash $configpath"."config.tgz");
-
- }catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/addresult/error');
- //TODO Delete File & delete bootiso from DB
-
- }
-
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/addresult/ok');
- }
- }
-
- $this->view->bootosForm = $bootosForm;
- }
-
- public function checkupdateAction($bootos)
- {
-
- //ACL Is he allowed to update Preboots?
- if(!Pbs_Acl::checkRight('bou'))
- $this->_redirect('/user/preboot/index/page/'.$this->page.'/updateresult/forbidden');
-
- $bootosID = $bootos->getID();
-
- if(is_file("../resources/bootos/$bootosID/kernel/kernel") && is_file("../resources/bootos/$bootosID/initramfs/initramfs") && is_file("../resources/bootos/$bootosID/config/config.tgz")){
- $kernelolddate = filemtime("../resources/bootos/".$bootosID."/kernel/kernel");
- $initolddate = filemtime("../resources/bootos/".$bootosID."/initramfs/initramfs");
- $configolddate = filemtime("../resources/bootos/".$bootosID."/config/config.tgz");
- }
- else
- {
- $pbsNotifier = new Pbs_Notifier();
- $this->view->notification = $pbsNotifier->notify('There are updates available','ok');
- return true;
- }
-
- exec("wget --server-response --spider '".escapeshellcmd($bootos->getPath_kernel())."' 2>&1 | grep 'Last-Modified:'", $kerneldate);
- exec("wget --server-response --spider '".escapeshellcmd($bootos->getPath_init())."' 2>&1 | grep 'Last-Modified:'", $initdate);
- exec("wget --server-response --spider '".escapeshellcmd($bootos->getPath_config())."' 2>&1 | grep 'Last-Modified:'", $configdate);
-
- $kerneldate = strtotime(trim(str_replace('Last-Modified:', '', array_pop($kerneldate))));
- $initdate = strtotime(trim(str_replace('Last-Modified:', '', array_pop($initdate))));
- $configdate = strtotime(trim(str_replace('Last-Modified:', '', array_pop($configdate))));
-
- //print_a($bootos->getPath_kernel(),$kerneldate,$kernelolddate,$initname,$initdate,$initolddate);
-
- if($kerneldate > $kernelolddate || $initdate > $initolddate || $configdate > $configolddate){
- $this->view->notification = $pbsNotifier->notify('There are updates available','ok');
- return true;
- }else{
- return false;
- }
-
- }
-
- public function updatebootosAction()
- {
-
- //ACL Is he allowed to update Preboots?
- if(!Pbs_Acl::checkRight('bou'))
- $this->_redirect('/user/bootiso/index/page/'.$this->page.'/updateresult/forbidden');
-
- $bootosID = $this->_request->getParam('bootosID');
- if (!is_numeric($bootosID))
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/updateresult/forbidden');
-
- $bootos = $this->bootosMapper->find($bootosID);
-
- if($this->membership->getGroupID() != $bootos->getGroupID())
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/updateresult/forbidden');
-
- $initpath = "../resources/bootos/".$bootosID."/initramfs/";
- $kernelpath = "../resources/bootos/".$bootosID."/kernel/";
- $configpath = "../resources/bootos/".$bootosID."/config/";
- $path_tmp = "../resources/bootos/";
-
- $hash = md5(microtime(1));
- exec("wget -O '".$path_tmp."kernel".$hash."' ".escapeshellcmd($bootos->getPath_kernel())." 2>&1 | grep 'saved'", $status);
- exec("wget -O '".$path_tmp."initramfs".$hash."' ".escapeshellcmd($bootos->getPath_init())." 2>&1 | grep 'saved'", $status2);
- exec("wget -O '".$path_tmp."config".$hash."' ".escapeshellcmd($bootos->getPath_config())." 2>&1 | grep 'saved'", $status3);
-
+ }
+
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/addresult/ok');
+ }
+ }
+
+ $this->view->bootosForm = $bootosForm;
+ }
+
+ public function checkupdateAction($bootos)
+ {
+
+ //ACL Is he allowed to update Preboots?
+ if(!Pbs_Acl::checkRight('bou'))
+ $this->_redirect('/user/preboot/index/page/'.$this->page.'/updateresult/forbidden');
+
+ $bootosID = $bootos->getID();
+
+ if(is_file("../resources/bootos/$bootosID/kernel/kernel") && is_file("../resources/bootos/$bootosID/initramfs/initramfs") && is_file("../resources/bootos/$bootosID/config/config.tgz")){
+ $kernelolddate = filemtime("../resources/bootos/".$bootosID."/kernel/kernel");
+ $initolddate = filemtime("../resources/bootos/".$bootosID."/initramfs/initramfs");
+ $configolddate = filemtime("../resources/bootos/".$bootosID."/config/config.tgz");
+ }
+ else
+ {
+ $pbsNotifier = new Pbs_Notifier();
+ $this->view->notification = $pbsNotifier->notify('There are updates available','ok');
+ return true;
+ }
+
+ exec("wget --server-response --spider '".escapeshellcmd($bootos->getPath_kernel())."' 2>&1 | grep 'Last-Modified:'", $kerneldate);
+ exec("wget --server-response --spider '".escapeshellcmd($bootos->getPath_init())."' 2>&1 | grep 'Last-Modified:'", $initdate);
+ exec("wget --server-response --spider '".escapeshellcmd($bootos->getPath_config())."' 2>&1 | grep 'Last-Modified:'", $configdate);
+
+ $kerneldate = strtotime(trim(str_replace('Last-Modified:', '', array_pop($kerneldate))));
+ $initdate = strtotime(trim(str_replace('Last-Modified:', '', array_pop($initdate))));
+ $configdate = strtotime(trim(str_replace('Last-Modified:', '', array_pop($configdate))));
+
+ //print_a($bootos->getPath_kernel(),$kerneldate,$kernelolddate,$initname,$initdate,$initolddate);
+
+ if($kerneldate > $kernelolddate || $initdate > $initolddate || $configdate > $configolddate){
+ $this->view->notification = $pbsNotifier->notify('There are updates available','ok');
+ return true;
+ }else{
+ return false;
+ }
+
+ }
+
+ public function updatebootosAction()
+ {
+
+ //ACL Is he allowed to update Preboots?
+ if(!Pbs_Acl::checkRight('bou'))
+ $this->_redirect('/user/bootiso/index/page/'.$this->page.'/updateresult/forbidden');
+
+ $bootosID = $this->_request->getParam('bootosID');
+ if (!is_numeric($bootosID))
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/updateresult/forbidden');
+
+ $bootos = $this->bootosMapper->find($bootosID);
+
+ if($this->membership->getGroupID() != $bootos->getGroupID())
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/updateresult/forbidden');
+
+ $initpath = "../resources/bootos/".$bootosID."/initramfs/";
+ $kernelpath = "../resources/bootos/".$bootosID."/kernel/";
+ $configpath = "../resources/bootos/".$bootosID."/config/";
+ $path_tmp = "../resources/bootos/";
+
+ $hash = md5(microtime(1));
+ exec("wget -O '".$path_tmp."kernel".$hash."' ".escapeshellcmd($bootos->getPath_kernel())." 2>&1 | grep 'saved'", $status);
+ exec("wget -O '".$path_tmp."initramfs".$hash."' ".escapeshellcmd($bootos->getPath_init())." 2>&1 | grep 'saved'", $status2);
+ exec("wget -O '".$path_tmp."config".$hash."' ".escapeshellcmd($bootos->getPath_config())." 2>&1 | grep 'saved'", $status3);
+
if(!array_pop($status) || !array_pop($status2) || !array_pop($status3)){
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/updateresult/404');
- //TODO Delete Files in tmp
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/updateresult/404');
+ //TODO Delete Files in tmp
}
-
+
exec("mv ../resources/bootos/kernel$hash $kernelpath"."kernel");
- exec("mv ../resources/bootos/initramfs$hash $initpath"."initramfs");
- exec("mv ../resources/bootos/config$hash $initpath"."config.tgz");
-
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/updateresult/ok');
- }
-
- public function editbootosAction()
- {
-
- //ACL Is he allowed to edit Preboots?
- if(!Pbs_Acl::checkRight('boe') && !Pbs_Acl::checkRight('boem'))
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/forbidden');
-
- $bootosID = $this->_request->getParam('bootosID');
- if (!is_numeric($bootosID))
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/forbidden');
-
- $groupID = $this->membership->getGroupID();
-
- $groupgroupsMapper = new Application_Model_GroupGroupsMapper();
- $childgroups = count($groupgroupsMapper->getChildGroups($groupID));
-
- $bootos = new Application_Model_BootOs();
- $bootos = $this->bootosMapper->find($bootosID);
-
- if($this->membership->getGroupID() != $bootos->getGroupID())
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/forbidden');
-
- if (!isset($_POST["editbootos"])){
-
- $bootosForm = new user_Form_Bootos(array(
+ exec("mv ../resources/bootos/initramfs$hash $initpath"."initramfs");
+ exec("mv ../resources/bootos/config$hash $initpath"."config.tgz");
+
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/updateresult/ok');
+ }
+
+ public function editbootosAction()
+ {
+
+ //ACL Is he allowed to edit Preboots?
+ if(!Pbs_Acl::checkRight('boe') && !Pbs_Acl::checkRight('boem'))
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/forbidden');
+
+ $bootosID = $this->_request->getParam('bootosID');
+ if (!is_numeric($bootosID))
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/forbidden');
+
+ $groupID = $this->membership->getGroupID();
+
+ $groupgroupsMapper = new Application_Model_GroupGroupsMapper();
+ $childgroups = count($groupgroupsMapper->getChildGroups($groupID));
+
+ $bootos = new Application_Model_BootOs();
+ $bootos = $this->bootosMapper->find($bootosID);
+
+ if($this->membership->getGroupID() != $bootos->getGroupID())
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/forbidden');
+
+ if (!isset($_POST["editbootos"])){
+
+ $bootosForm = new user_Form_Bootos(array(
'action' => 'editbootos',
'groupdepth' => $childgroups,
'page' => $this->page));
- $bootosForm->populate($bootos->toArray());
-
- }else{
- $bootosForm = new user_Form_Bootos(array(
+ $bootosForm->populate($bootos->toArray());
+
+ }else{
+ $bootosForm = new user_Form_Bootos(array(
'action' => 'editbootos',
'groupdepth' => $childgroups,
'page' => $this->page),$_POST);
-
- if ($bootosForm->isValid($_POST)) {
-
- $bootosold = $bootos;
-
- $bootos = new Application_Model_BootOs($_POST);
- $bootos->setGroupID($this->membership->getGroupID());
- $bootos->setCreated(time());
- $bootos->setID($bootosID);
-
- if( $bootos->getSource() != $bootosold->getSource() ||
- $bootos->getDistro() != $bootosold->getDistro() ||
- $bootos->getDistroversion() != $bootosold->getDistroversion() ||
- $bootos->getShare() != $bootosold->getShare() ||
- $bootos->getShortname() != $bootosold->getShortname() ||
- $bootos->getDefaultkcl() != $bootosold->getDefaultkcl() ||
- $bootos->getExpires() != $bootosold->getExpires() ||
- $bootos->getPublic() != $bootosold->getPublic() ){
- //ACL Is he allowed to edit this?
- if(!Pbs_Acl::checkRight('boe'))
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/forbidden');
- }
-
- if($bootos->getPath_config() != $bootosold->getPath_config() || $bootos->getPath_kernel() != $bootosold->getPath_kernel() || $bootos->getPath_init() != $bootosold->getPath_init()){
- //ACL Is he allowed to edit the Kernel/Init Path?
- if(!Pbs_Acl::checkRight('boe'))
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/forbidden');
-
- $path_tmp = "../resources/bootos/";
-
- $hash = md5(microtime(1));
- exec("wget -O '".$path_tmp."kernel".$hash."' ".escapeshellcmd($bootos->getPath_kernel())." 2>&1 | grep 'saved'", $status);
- exec("wget -O '".$path_tmp."initramfs".$hash."' ".escapeshellcmd($bootos->getPath_init())." 2>&1 | grep 'saved'", $status2);
- exec("wget -O '".$path_tmp."config".$hash."' ".escapeshellcmd($bootos->getPath_config())." 2>&1 | grep 'saved'", $status3);
-
- if(!array_pop($status) && $bootos->getPath_kernel() != null || !array_pop($status2) && $bootos->getPath_init() != null || !array_pop($status3) && $bootos->getPath_config() != null ){
- $this->view->bootosForm = $bootosForm;
- $pbsNotifier = new Pbs_Notifier();
+
+ if ($bootosForm->isValid($_POST)) {
+
+ $bootosold = $bootos;
+
+ $bootos = new Application_Model_BootOs($_POST);
+ $bootos->setGroupID($this->membership->getGroupID());
+ $bootos->setCreated(time());
+ $bootos->setID($bootosID);
+
+ if( $bootos->getSource() != $bootosold->getSource() ||
+ $bootos->getDistro() != $bootosold->getDistro() ||
+ $bootos->getDistroversion() != $bootosold->getDistroversion() ||
+ $bootos->getShare() != $bootosold->getShare() ||
+ $bootos->getShortname() != $bootosold->getShortname() ||
+ $bootos->getDefaultkcl() != $bootosold->getDefaultkcl() ||
+ $bootos->getExpires() != $bootosold->getExpires() ||
+ $bootos->getPublic() != $bootosold->getPublic() ){
+ //ACL Is he allowed to edit this?
+ if(!Pbs_Acl::checkRight('boe'))
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/forbidden');
+ }
+
+ if($bootos->getPath_config() != $bootosold->getPath_config() || $bootos->getPath_kernel() != $bootosold->getPath_kernel() || $bootos->getPath_init() != $bootosold->getPath_init()){
+ //ACL Is he allowed to edit the Kernel/Init Path?
+ if(!Pbs_Acl::checkRight('boe'))
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/forbidden');
+
+ $path_tmp = "../resources/bootos/";
+
+ $hash = md5(microtime(1));
+ exec("wget -O '".$path_tmp."kernel".$hash."' ".escapeshellcmd($bootos->getPath_kernel())." 2>&1 | grep 'saved'", $status);
+ exec("wget -O '".$path_tmp."initramfs".$hash."' ".escapeshellcmd($bootos->getPath_init())." 2>&1 | grep 'saved'", $status2);
+ exec("wget -O '".$path_tmp."config".$hash."' ".escapeshellcmd($bootos->getPath_config())." 2>&1 | grep 'saved'", $status3);
+
+ if(!array_pop($status) && $bootos->getPath_kernel() != null || !array_pop($status2) && $bootos->getPath_init() != null || !array_pop($status3) && $bootos->getPath_config() != null ){
+ $this->view->bootosForm = $bootosForm;
+ $pbsNotifier = new Pbs_Notifier();
echo $pbsNotifier->notify('The Resource was not found on the specified path','error');
- return;
- }
-
- $initpath = "../resources/bootos/".$bootosID."/initramfs/";
- $kernelpath = "../resources/bootos/".$bootosID."/kernel/";
+ return;
+ }
+
+ $initpath = "../resources/bootos/".$bootosID."/initramfs/";
+ $kernelpath = "../resources/bootos/".$bootosID."/kernel/";
$configpath = "../resources/bootos/".$bootosID."/config/";
+
+ mkdir($initpath ,0777, true);
+ mkdir($kernelpath ,0777, true);
+ mkdir($configpath ,0777, true);
+
+ exec("mv ../resources/bootos/kernel$hash $kernelpath"."kernel");
+ exec("mv ../resources/bootos/initramfs$hash $initpath"."initramfs");
+ exec("mv ../resources/bootos/config$hash $initpath"."config.tgz");
+ }
- mkdir($initpath ,0777, true);
- mkdir($kernelpath ,0777, true);
- mkdir($configpath ,0777, true);
-
- exec("mv ../resources/bootos/kernel$hash $kernelpath"."kernel");
- exec("mv ../resources/bootos/initramfs$hash $initpath"."initramfs");
- exec("mv ../resources/bootos/config$hash $initpath"."config.tgz");
- }
-
- try {
- $this->bootosMapper->save($bootos);
-
- }catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/error');
- //TODO Delete Folder + Preboot
- }
-
+ try {
+ $this->bootosMapper->save($bootos);
+
+ }catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/error');
+ //TODO Delete Folder + Preboot
+ }
+
$this->_redirect('/user/bootos/index/page/'.$this->page.'/modifyresult/ok');
- }
-
- }
-
- $this->view->bootosForm = $bootosForm;
-
- }
-
- public function deletebootosAction()
- {
- //ACL Is he allowed to delete Bootos?
- if(!Pbs_Acl::checkRight('bod'))
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/deleteresult/forbidden');
-
- try{
- $bootosID = $this->_request->getParam('bootosID');
- if (!is_numeric($bootosID))
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/deleteresult/forbidden');
-
- $bootos = new Application_Model_BootOs();
- $this->bootosMapper->find($bootosID, $bootos);
-
- if($this->membership->getGroupID() != $bootos->getGroupID())
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/deleteresult/forbidden');
-
- $this->bootosMapper->delete($bootos);
- exec("rm -r ../resources/bootos/".$bootosID);
-
- }catch(Zend_Exception $e){
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/deleteresult/error');
- }
- $this->_redirect('/user/bootos/index/page/'.$this->page.'/deleteresult/ok');
- }
-
-
+ }
+
+ }
+
+ $this->view->bootosForm = $bootosForm;
+
+ }
+
+ public function deletebootosAction()
+ {
+ //ACL Is he allowed to delete Bootos?
+ if(!Pbs_Acl::checkRight('bod'))
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/deleteresult/forbidden');
+
+ try{
+ $bootosID = $this->_request->getParam('bootosID');
+ if (!is_numeric($bootosID))
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/deleteresult/forbidden');
+
+ $bootos = new Application_Model_BootOs();
+ $this->bootosMapper->find($bootosID, $bootos);
+
+ if($this->membership->getGroupID() != $bootos->getGroupID())
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/deleteresult/forbidden');
+
+ $this->bootosMapper->delete($bootos);
+ exec("rm -r ../resources/bootos/".$bootosID);
+
+ }catch(Zend_Exception $e){
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/deleteresult/error');
+ }
+ $this->_redirect('/user/bootos/index/page/'.$this->page.'/deleteresult/ok');
+ }
+
+
}