diff options
author | michael | 2011-11-24 17:51:10 +0100 |
---|---|---|
committer | michael | 2011-11-24 17:51:10 +0100 |
commit | 1d30d0e847c164c50490653ed6d9ca4671591f46 (patch) | |
tree | c458b7dc5557095e8b8c0c51ad4e58773c441a09 /application/controllers | |
parent | anzeigefehler behoben (diff) | |
download | pbs2-1d30d0e847c164c50490653ed6d9ca4671591f46.tar.gz pbs2-1d30d0e847c164c50490653ed6d9ca4671591f46.tar.xz pbs2-1d30d0e847c164c50490653ed6d9ca4671591f46.zip |
API: mit addBootos kann man nun auch editieren
Diffstat (limited to 'application/controllers')
-rw-r--r-- | application/controllers/ResourceController.php | 173 |
1 files changed, 73 insertions, 100 deletions
diff --git a/application/controllers/ResourceController.php b/application/controllers/ResourceController.php index f355043..1707c38 100644 --- a/application/controllers/ResourceController.php +++ b/application/controllers/ResourceController.php @@ -115,114 +115,87 @@ class ResourceController extends Zend_Controller_Action list($bootos) = $bootosMapper->findBy(array('groupid' => $groupID, 'title' => $params['title'], 'distro' => $params['distro'], 'distroversion' => $params['distroversion'], 'source' => $source, 'share' => $params['share'])); if($bootos != null){ - header('HTTP/1.0 400 Bootos already exists'); - die(); - } - $bootos = new Application_Model_BootOs(); - - $bootos->setOptions($params); - $bootos->setGroupID($groupID); - $bootos->setSource($source); - $bootos->setCreated(time()); - $bootos->setPublic('-1'); - $bootosID = $bootosMapper->save($bootos); - $bootos->setID($bootosID); - - $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); - - if($_FILES['config']['name'] != ''){ - move_uploaded_file($_FILES['config']['tmp_name'], $configpath."default.tgz"); - } - if($_FILES['kernel']['name'] != ''){ - move_uploaded_file($_FILES['kernel']['tmp_name'], $kernelpath."kernel"); - } - if($_FILES['init']['name'] != ''){ - move_uploaded_file($_FILES['init']['tmp_name'], $initpath."initramfs"); - $newconfig = new Pbs_NewConfig(); - $newconfig->createDefaultConfig($bootos); - } - - header('HTTP/1.0 201 Bootos created'); - - } + list($rightroles) = $this->rightrolesMapper->findBy(array('rightID' => '58', 'roleID' => $this->membership->getRoleID())); + if($rightroles == null){ + header('HTTP/1.0 403 No Right to Edit Bootos'); + die(); + } + + $bootosID = $bootos->getID(); + $bootossrc = $bootos->getSource(); - public function editbootosAction() - { - - list($rightroles) = $this->rightrolesMapper->findBy(array('rightID' => '58', 'roleID' => $this->membership->getRoleID())); - if($rightroles == null){ - header('HTTP/1.0 403 No Right to Edit Bootos'); - die(); - } - - $apikey = $this->_request->getParam('apikey'); - if($apikey == ""){ - header('HTTP/1.0 400 No API-Key'); - die(); - } + $bootos->setOptions($params); + $bootos->setID($bootosID); + $bootos->setGroupID($groupID); + $bootos->setSource($bootossrc); + $bootos->setCreated(time()); + $bootos->setPublic('-1'); - $params = $this->_request->getParams(); - $source = $_SERVER['REMOTE_ADDR']; - - if($params['title'] == '' || $params['distro'] == '' || $params['distroversion'] == '' || $params['share'] == '' || $source == ''){ - header('HTTP/1.0 400 Title, Distro, Distroversion and Share must be set'); - die(); - } - - $bootos = new Application_Model_BootOs(); - $bootosMapper = new Application_Model_BootOsMapper(); - $groupID = $this->membership->getGroupID(); - - list($bootos) = $bootosMapper->findBy(array('groupid' => $groupID, 'title' => $params['title'], 'distro' => $params['distro'], 'distroversion' => $params['distroversion'], 'source' => $source, 'share' => $params['share'])); + $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); + + if($_FILES['config']['name'] != ''){ + $bootos->setSource($_SERVER['REMOTE_ADDR']); + move_uploaded_file($_FILES['config']['tmp_name'], $configpath."default.tgz"); + } + if($_FILES['kernel']['name'] != ''){ + $bootos->setSource($_SERVER['REMOTE_ADDR']); + move_uploaded_file($_FILES['kernel']['tmp_name'], $kernelpath."kernel"); + } + if($_FILES['init']['name'] != ''){ + $bootos->setSource($_SERVER['REMOTE_ADDR']); + move_uploaded_file($_FILES['init']['tmp_name'], $initpath."initramfs"); + } + + $bootosMapper->save($bootos); + + header('HTTP/1.0 201 Bootos edited'); + + }else{ + + $bootos = new Application_Model_BootOs(); + + $bootos->setOptions($params); + $bootos->setGroupID($groupID); + $bootos->setSource($source); + $bootos->setCreated(time()); + $bootos->setPublic('-1'); + $bootosID = $bootosMapper->save($bootos); + $bootos->setID($bootosID); + + $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); + + if($_FILES['config']['name'] != ''){ + move_uploaded_file($_FILES['config']['tmp_name'], $configpath."default.tgz"); - if($bootos == null){ - header('HTTP/1.0 400 Bootos not found'); - die(); + } + if($_FILES['kernel']['name'] != ''){ + move_uploaded_file($_FILES['kernel']['tmp_name'], $kernelpath."kernel"); + } + if($_FILES['init']['name'] != ''){ + move_uploaded_file($_FILES['init']['tmp_name'], $initpath."initramfs"); + $newconfig = new Pbs_NewConfig(); + $newconfig->createDefaultConfig($bootos); + } + + header('HTTP/1.0 201 Bootos created'); } - - $bootosID = $bootos->getID(); - $bootossrc = $bootos->getSource(); - - $bootos->setOptions($params); - $bootos->setID($bootosID); - $bootos->setGroupID($groupID); - $bootos->setSource($bootossrc); - $bootos->setCreated(time()); - $bootos->setPublic('-1'); - - $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); - - if($_FILES['config']['name'] != ''){ - $bootos->setSource($_SERVER['REMOTE_ADDR']); - move_uploaded_file($_FILES['config']['tmp_name'], $configpath."default.tgz"); - } - if($_FILES['kernel']['name'] != ''){ - $bootos->setSource($_SERVER['REMOTE_ADDR']); - move_uploaded_file($_FILES['kernel']['tmp_name'], $kernelpath."kernel"); - } - if($_FILES['init']['name'] != ''){ - $bootos->setSource($_SERVER['REMOTE_ADDR']); - move_uploaded_file($_FILES['init']['tmp_name'], $initpath."initramfs"); - } - $bootosMapper->save($bootos); - - header('HTTP/1.0 201 Bootos edited'); } + public function addprebootAction() { |