From 350d2566252efc836d83602e913ce2d903b02516 Mon Sep 17 00:00:00 2001 From: Björn Geiger Date: Thu, 27 Oct 2011 14:45:56 +0200 Subject: changebootmenu API --- application/controllers/ResourceController.php | 47 ++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/application/controllers/ResourceController.php b/application/controllers/ResourceController.php index cef1cc9..e65d1ca 100755 --- a/application/controllers/ResourceController.php +++ b/application/controllers/ResourceController.php @@ -382,11 +382,11 @@ class ResourceController extends Zend_Controller_Action $filterMapper->find($filterid, $filter); if($filter->getID) { $filter->setOptions($params); - if($filter->getMembershipID() == $this->membership->getID()) { + if($filter->getMembershipID() == $this->membership->getID() || $filter->getGroupID() == $this->membership->getGroupID()) { $filterMapper->save($filter); - header('HTTP/1.0 201 Filterentry changed'); + header('HTTP/1.0 201 Filter changed'); } else { - header('HTTP/1.0 403 No Right to change this Filterentry'); + header('HTTP/1.0 403 No Right to change this Filter'); die(); } } else { @@ -504,6 +504,47 @@ class ResourceController extends Zend_Controller_Action echo $xml; } + public function changebootmenuAction() + { + list($rightroles) = $this->rightrolesMapper->findBy(array('rightID' => '65', 'roleID' => $this->membership->getRoleID())); + if($rightroles == null){ + header('HTTP/1.0 403 No Right to Create Bootmenus'); + die(); + } + + $apikey = $this->_request->getParam('apikey'); + if($apikey == ""){ + header('HTTP/1.0 400 No API-Key'); + die(); + } + + $params = $this->_request->getParams(); + $groupID = $this->membership->getGroupID(); + $bootmenuID = $params['bootmenuid']; + + $bootmenuMapper = new Application_Model_BootMenuMapper(); + $bootmenuEntriesMapper = new Application_Model_BootMenuEntriesMapper(); + + $bootmenu = new Application_Model_BootMenu(); + $bootmenuMapper->find($bootmenuID, $bootmenu); + if($bootmenu->getID()) { + $newBootmenu = clone $bootmenu; + $newBootmenu->setOptions($params); + if($newBootmenu->getMembershipID() == $this->membership->getID() || $newBootmenu->getGroupID() == $this->membership->getGroupID()) { + $bootmenMapper->save($newBootmenu); + $bootmenuEntries = $bootmenuEntriesMapper->findBy(array('bootmenuID' => $bootmenuID)); + foreach($bootmenuEntries as $bootmenuEntry) { + $bootmenuEntry->setOptions($params); + $bootmenuEntriesMapper->save($bootmenuEntry); + } + header('HTTP/1.0 201 Bootmenu changed'); + } else { + header('HTTP/1.0 403 No Right to change this Bootmenu'); + die(); + } + } + } + public function deletebootmenuAction() { list($rightroles) = $this->rightrolesMapper->findBy(array('rightID' => '66', 'roleID' => $this->membership->getRoleID())); if($rightroles == null){ -- cgit v1.2.3-55-g7522