diff options
Diffstat (limited to 'application/modules/user/controllers/BootmenuController.php')
-rw-r--r-- | application/modules/user/controllers/BootmenuController.php | 950 |
1 files changed, 475 insertions, 475 deletions
diff --git a/application/modules/user/controllers/BootmenuController.php b/application/modules/user/controllers/BootmenuController.php index f4b0d0f..1eeb19b 100644 --- a/application/modules/user/controllers/BootmenuController.php +++ b/application/modules/user/controllers/BootmenuController.php @@ -12,43 +12,43 @@ class user_BootmenuController extends Zend_Controller_Action { - + protected $bootmenuMapper; protected $bootmenuentryMapper; protected $membershipMapper; protected $membership; protected $page; protected $type; - - 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->bootmenuMapper = new Application_Model_BootMenuMapper(); $this->bootmenuentryMapper = new Application_Model_BootMenuEntriesMapper(); - - + + $this->membershipMapper = new Application_Model_MembershipMapper(); $this->membership = new Application_Model_Membership(); $this->membershipMapper->find($userIDsNamespace['membershipID'],$this->membership); $this->db = Zend_Db_Table::getDefaultAdapter(); - + $this->type = $this->_request->getParam('type'); } 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); @@ -62,301 +62,301 @@ class user_BootmenuController extends Zend_Controller_Action if($result != ""){ $pbsNotifier = new Pbs_Notifier(); $this->view->notification = $pbsNotifier->notify('modify',$result); - } - $result = $this->_request->getParam('json'); + } + $result = $this->_request->getParam('json'); if($result != ""){ $pbsNotifier = new Pbs_Notifier(); $this->view->notification = $pbsNotifier->notify('json',$result); } - - + + //ACL Darf er Bootmenus sehen? - if(!Pbs_Acl::checkRight('booai') && !Pbs_Acl::checkRight('booui')) - $this->_redirect('/user/index'); - - $this->bootMenumapper = new Application_Model_BootMenuMapper(); - $this->bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper(); - $bootosMapper = new Application_Model_BootOsMapper(); - $configMapper = new Application_Model_ConfigMapper(); - - if($this->type =='group' && Pbs_Acl::checkRight('booai')){ - $this->view->type = 'group'; - $bootmenu = $this->bootmenuMapper->findBy(array('groupID' => $this->membership->getGroupID())); - foreach ($bootmenu as $bm){ - $bm->setCreated(date(Zend_Registry::get('dateformat'),$bm->getCreated())); - $bootmenuID = $bm->getID(); - $bootmenuentries[$bootmenuID] = $this->bootmenuentriesMapper->findBy(array('bootmenuID' => $bootmenuID)); - foreach ($bootmenuentries[$bootmenuID] as $bootmenuentry){ - $kcl = $bootosMapper->find($bootmenuentry->getBootosID())->getDefaultkcl(); - if($bootmenuentry->getKcl() && $kcl != null) - $bootmenuentry->setKcl($kcl); - else - $bootmenuentry->setKcl("deactivated (edit Bootmenuentry to activate)"); - if($bootmenuentry->getKclappend() == null) - $bootmenuentry->setKclappend("none (edit Bootmenuentry to set KCL-Append)"); - $bootmenuentry->setBootosID("[".$bootmenuentry->getBootosID()."] ".$bootosMapper->find($bootmenuentry->getBootosID())->getTitle()); + if(!Pbs_Acl::checkRight('booai') && !Pbs_Acl::checkRight('booui')) + $this->_redirect('/user/index'); + + $this->bootMenumapper = new Application_Model_BootMenuMapper(); + $this->bootmenuentriesMapper = new Application_Model_BootMenuEntriesMapper(); + $bootosMapper = new Application_Model_BootOsMapper(); + $configMapper = new Application_Model_ConfigMapper(); + + if($this->type =='group' && Pbs_Acl::checkRight('booai')){ + $this->view->type = 'group'; + $bootmenu = $this->bootmenuMapper->findBy(array('groupID' => $this->membership->getGroupID())); + foreach ($bootmenu as $bm){ + $bm->setCreated(date(Zend_Registry::get('dateformat'),$bm->getCreated())); + $bootmenuID = $bm->getID(); + $bootmenuentries[$bootmenuID] = $this->bootmenuentriesMapper->findBy(array('bootmenuID' => $bootmenuID)); + foreach ($bootmenuentries[$bootmenuID] as $bootmenuentry){ + $kcl = $bootosMapper->find($bootmenuentry->getBootosID())->getDefaultkcl(); + if($bootmenuentry->getKcl() && $kcl != null) + $bootmenuentry->setKcl($kcl); + else + $bootmenuentry->setKcl("deactivated (edit Bootmenuentry to activate)"); + if($bootmenuentry->getKclappend() == null) + $bootmenuentry->setKclappend("none (edit Bootmenuentry to set KCL-Append)"); + $bootmenuentry->setBootosID("[".$bootmenuentry->getBootosID()."] ".$bootosMapper->find($bootmenuentry->getBootosID())->getTitle()); $bootmenuentry->setConfigID("[".$bootmenuentry->getConfigID()."] ".$configMapper->find($bootmenuentry->getConfigID())->gettitle()); - } - } - }else{ + } + } + }else{ $this->view->type = 'own'; - $bootmenu = $this->bootmenuMapper->findBy(array('membershipID' => $this->membership->getID())); - if($bootmenu != null){ - $bootmenu[0]->setCreated(date(Zend_Registry::get('dateformat'),$bootmenu[0]->getCreated())); - $bootmenuID = $bootmenu[0]->getID(); - $bootmenuentries[$bootmenuID] = $this->bootmenuentriesMapper->findBy(array('bootmenuID' => $bootmenuID)); - foreach ($bootmenuentries[$bootmenuID] as $bootmenuentry){ - $kcl = $bootosMapper->find($bootmenuentry->getBootosID())->getDefaultkcl(); - if($bootmenuentry->getKcl() && $kcl != null) - $bootmenuentry->setKcl($kcl); - else - $bootmenuentry->setKcl("deactivated (edit Bootmenuentry to activate)"); - if($bootmenuentry->getKclappend() == null) - $bootmenuentry->setKclappend("none"); - $bootmenuentry->setBootosID("[".$bootmenuentry->getBootosID()."] ".$bootosMapper->find($bootmenuentry->getBootosID())->getTitle()); + $bootmenu = $this->bootmenuMapper->findBy(array('membershipID' => $this->membership->getID())); + if($bootmenu != null){ + $bootmenu[0]->setCreated(date(Zend_Registry::get('dateformat'),$bootmenu[0]->getCreated())); + $bootmenuID = $bootmenu[0]->getID(); + $bootmenuentries[$bootmenuID] = $this->bootmenuentriesMapper->findBy(array('bootmenuID' => $bootmenuID)); + foreach ($bootmenuentries[$bootmenuID] as $bootmenuentry){ + $kcl = $bootosMapper->find($bootmenuentry->getBootosID())->getDefaultkcl(); + if($bootmenuentry->getKcl() && $kcl != null) + $bootmenuentry->setKcl($kcl); + else + $bootmenuentry->setKcl("deactivated (edit Bootmenuentry to activate)"); + if($bootmenuentry->getKclappend() == null) + $bootmenuentry->setKclappend("none"); + $bootmenuentry->setBootosID("[".$bootmenuentry->getBootosID()."] ".$bootosMapper->find($bootmenuentry->getBootosID())->getTitle()); $bootmenuentry->setConfigID("[".$bootmenuentry->getConfigID()."] ".$configMapper->find($bootmenuentry->getConfigID())->gettitle()); - } - } - } - - // Search + } + } + } + + // Search $search = $this->_request->getParam('search'); $mySearch = new Pbs_Search(); - $mySearch->setSearchTerm($search); + $mySearch->setSearchTerm($search); $mySearch->setType($this->type); $mySearch->setModule('bootmenu'); if($search != ''){ - $this->view->search = $mySearch->getSearchTerm(); - $bootmenu = $mySearch->search($bootmenu); + $this->view->search = $mySearch->getSearchTerm(); + $bootmenu = $mySearch->search($bootmenu); } $this->view->searchform = $mySearch->searchForm(); - - // Pagination - $pagination = new Pbs_Pagination(); - $pagination->setPerPage(10); + + // Pagination + $pagination = new Pbs_Pagination(); + $pagination->setPerPage(10); $pagination->setElement($bootmenu); - $pagination->setRequestPage($this->_request->getParam('page')); + $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/bootmenu/index/type/'.$this->type.((isset($this->view->search))?'/search/'.$this->view->search:'')); - $bootmenu = $pagination->getElements(); - + $bootmenu = $pagination->getElements(); + $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); - - $this->view->bootmenulist = $bootmenu; - @$this->view->bootmenuentrylist = $bootmenuentries; - - } - - public function searchAction(){ + + $this->view->bootmenulist = $bootmenu; + @$this->view->bootmenuentrylist = $bootmenuentries; + + } + + public function searchAction(){ $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/search/'.($_GET['search'])); } - - public function createbootmenuAction() - { - //ACL Darf er BootMenus erstellen? - if(!Pbs_Acl::checkRight('booc')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/forbidden'); - - if (!isset($_POST["createbootmenu"])){ - $bootmenuForm = new user_Form_Bootmenu(array('action' => 'createbootmenu','page' => $this->page, 'type'=>$this->type)); - } else { - - $bootmenuForm = new user_Form_Bootmenu(array('action' => 'createbootmenu','page' => $this->page, 'type'=>$this->type),$_POST); - - if ($bootmenuForm->isValid($_POST)) { - - $bootmenu = new Application_Model_BootMenu($_POST); - $bootmenu->setCreated(time()); - $bootmenu->setGroupID($this->membership->getGroupID()); - $bootmenu->setDefaultbootmenu('0'); - - try{ - $this->bootmenuMapper->save($bootmenu); - }catch(Zend_Exception $e){ - echo "Caught exception: " . get_class($e) . "<br/>"; - echo "Message: " . $e->getMessage() . "<br/>"; - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/error'); - } - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/ok'); - } - } - - $this->view->bootmenuForm = $bootmenuForm; - } - - public function editbootmenuAction() - { - - //ACL Is he allowed to edit BootMenus? - if(!Pbs_Acl::checkRight('booe')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); - - $bootmenuID = $this->_request->getParam('bootmenuID'); - if (!is_numeric($bootmenuID)) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); - - $bootmenu = new Application_Model_BootMenu(); - $this->bootmenuMapper->find($bootmenuID, $bootmenu); - - if($this->membership->getGroupID() != $bootmenu->getGroupID()) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); - - if (!isset($_POST["editbootmenu"])){ - - $bootmenuForm = new user_Form_Bootmenu(array('action' => 'editbootmenu','page' => $this->page, 'type'=>$this->type)); - $bootmenuForm->populate($bootmenu->toArray()); - - }else{ - $bootmenuForm = new user_Form_Bootmenu(array('action' => 'editbootmenu','page' => $this->page, 'type'=>$this->type),$_POST); - - if ($bootmenuForm->isValid($_POST)) { - - $bootmenuold = $bootmenu; - - $bootmenu = new Application_Model_BootMenu($_POST); - $bootmenu->setGroupID($this->membership->getGroupID()); - $bootmenu->setCreated(time()); - $bootmenu->setID($bootmenuID); - $bootmenu->setDefaultbootmenu($bootmenuold->getDefaultbootmenu()); - - try { - $this->bootmenuMapper->save($bootmenu); - }catch(Zend_Exception $e) - { - echo "Caught exception: " . get_class($e) . "<br/>"; - echo "Message: " . $e->getMessage() . "<br/>"; - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); - } - - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/ok'); - } - - } - - $this->view->bootmenuForm = $bootmenuForm; - } - - public function deletebootmenuAction() - { - - //ACL Is he allowed to delete Bootmenu? - if(!Pbs_Acl::checkRight('bood')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); - - try{ - $bootmenuID = $this->_request->getParam('bootmenuID'); - if (!is_numeric($bootmenuID)) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); - - $bootmenu = new Application_Model_BootMenu(); - $this->bootmenuMapper->find($bootmenuID, $bootmenu); - - if($this->membership->getGroupID() != $bootmenu->getGroupID()) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); - - $this->bootmenuMapper->delete($bootmenu); - - }catch(Zend_Exception $e){ - echo "Caught exception: " . get_class($e) . "<br/>"; - echo "Message: " . $e->getMessage() . "<br/>"; - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/error'); - } - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/ok'); - } - - public function defaultbootmenuAction() - { - - //ACL Is he allowed to set Bootmenu as Default? - if(!Pbs_Acl::checkRight('boodbm')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); - - try{ - $bootmenuID = $this->_request->getParam('bootmenuID'); - if (!is_numeric($bootmenuID)) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); - - $bootmenu = new Application_Model_BootMenu(); - - $this->bootmenuMapper->find($bootmenuID, $bootmenu); + + public function createbootmenuAction() + { + //ACL Darf er BootMenus erstellen? + if(!Pbs_Acl::checkRight('booc')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/forbidden'); - if($bootmenu->getDefaultbootmenu() == false){ - - @list($defaultbootmenu) = $this->bootmenuMapper->findBy(array('defaultbootmenu' => '1')); - if($defaultbootmenu != null){ - $defaultbootmenu->setDefaultbootmenu(false); - $this->bootmenuMapper->save($defaultbootmenu); - } - $bootmenu->setDefaultbootmenu(true); - $this->bootmenuMapper->save($bootmenu); - } - }catch(Zend_Exception $e){ - echo "Caught exception: " . get_class($e) . "<br/>"; - echo "Message: " . $e->getMessage() . "<br/>"; - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); - } - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/ok'); - - } - - public function addbootmenuentryAction() - { - - //ACL Darf er BootMenuEntries erstellen? - if(!Pbs_Acl::checkRight('booae') && !Pbs_Acl::checkRight('booaeo')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/forbidden'); - - $bootmenuID = $this->_request->getParam('bootmenuID'); - $maxorder = $this->_request->getParam('maxorder'); - - if (!is_numeric($bootmenuID) || !is_numeric($maxorder)) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); - - $bootosMapper = new Application_Model_BootOsMapper(); - $configMapper = new Application_Model_ConfigMapper(); - $groupMapper = new Application_Model_GroupMapper(); - - $groupID = $this->membership->getGroupID(); - $groupgroupsMapper = new Application_Model_GroupGroupsMapper(); - - $parents = array(); - $bootoslist = array(); - $parents = $groupgroupsMapper->getParentGroups($groupID); - - foreach($parents as $k => $parent){ - foreach($parent as $p){ - $bootos = $bootosMapper->findBy(array("groupID" => $p)); - foreach ($bootos as $b) - if($b->getPublic() - $k >= 0 ){ - $grouptitle = $groupMapper->find($p)->getTitle(); - $bootoslist[$b->getID()] = $b; - $bootosanzeige[$grouptitle][$b->getID()] = $b->getTitle(); - } - } - } - - $configlist = array('Preset' => array(), 'Custom' => Array()); - $configlist['Preset'] = $configMapper->findBy(array('groupID' => $groupID)); - $configlist['Custom'] = $configMapper->findBy(array('membershipID' => $this->membership->getID())); - - $bootmenu = new Application_Model_BootMenu(); - $this->bootmenuMapper->find($bootmenuID, $bootmenu); - - if($bootmenu->getMembershipID() != null){ - if($this->membership->getID() != $bootmenu->getMembershipID() || !Pbs_Acl::checkRight('booaeo')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/forbidden'); - }else{ - if($this->membership->getGroupID() != $bootmenu->getGroupID() || !Pbs_Acl::checkRight('booae')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/forbidden'); - } - - if (!isset($_POST["addbootmenuentry"])){ - - if(!isset($_POST['kcl'])) - $_POST['kcl'] = true; - - $bootmenuentryForm = new user_Form_BootmenuEntries(array( + if (!isset($_POST["createbootmenu"])){ + $bootmenuForm = new user_Form_Bootmenu(array('action' => 'createbootmenu','page' => $this->page, 'type'=>$this->type)); + } else { + + $bootmenuForm = new user_Form_Bootmenu(array('action' => 'createbootmenu','page' => $this->page, 'type'=>$this->type),$_POST); + + if ($bootmenuForm->isValid($_POST)) { + + $bootmenu = new Application_Model_BootMenu($_POST); + $bootmenu->setCreated(time()); + $bootmenu->setGroupID($this->membership->getGroupID()); + $bootmenu->setDefaultbootmenu('0'); + + try{ + $this->bootmenuMapper->save($bootmenu); + }catch(Zend_Exception $e){ + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/error'); + } + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/ok'); + } + } + + $this->view->bootmenuForm = $bootmenuForm; + } + + public function editbootmenuAction() + { + + //ACL Is he allowed to edit BootMenus? + if(!Pbs_Acl::checkRight('booe')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); + + $bootmenuID = $this->_request->getParam('bootmenuID'); + if (!is_numeric($bootmenuID)) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); + + $bootmenu = new Application_Model_BootMenu(); + $this->bootmenuMapper->find($bootmenuID, $bootmenu); + + if($this->membership->getGroupID() != $bootmenu->getGroupID()) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); + + if (!isset($_POST["editbootmenu"])){ + + $bootmenuForm = new user_Form_Bootmenu(array('action' => 'editbootmenu','page' => $this->page, 'type'=>$this->type)); + $bootmenuForm->populate($bootmenu->toArray()); + + }else{ + $bootmenuForm = new user_Form_Bootmenu(array('action' => 'editbootmenu','page' => $this->page, 'type'=>$this->type),$_POST); + + if ($bootmenuForm->isValid($_POST)) { + + $bootmenuold = $bootmenu; + + $bootmenu = new Application_Model_BootMenu($_POST); + $bootmenu->setGroupID($this->membership->getGroupID()); + $bootmenu->setCreated(time()); + $bootmenu->setID($bootmenuID); + $bootmenu->setDefaultbootmenu($bootmenuold->getDefaultbootmenu()); + + try { + $this->bootmenuMapper->save($bootmenu); + }catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); + } + + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/ok'); + } + + } + + $this->view->bootmenuForm = $bootmenuForm; + } + + public function deletebootmenuAction() + { + + //ACL Is he allowed to delete Bootmenu? + if(!Pbs_Acl::checkRight('bood')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); + + try{ + $bootmenuID = $this->_request->getParam('bootmenuID'); + if (!is_numeric($bootmenuID)) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); + + $bootmenu = new Application_Model_BootMenu(); + $this->bootmenuMapper->find($bootmenuID, $bootmenu); + + if($this->membership->getGroupID() != $bootmenu->getGroupID()) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); + + $this->bootmenuMapper->delete($bootmenu); + + }catch(Zend_Exception $e){ + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/error'); + } + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/ok'); + } + + public function defaultbootmenuAction() + { + + //ACL Is he allowed to set Bootmenu as Default? + if(!Pbs_Acl::checkRight('boodbm')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); + + try{ + $bootmenuID = $this->_request->getParam('bootmenuID'); + if (!is_numeric($bootmenuID)) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); + + $bootmenu = new Application_Model_BootMenu(); + + $this->bootmenuMapper->find($bootmenuID, $bootmenu); + + if($bootmenu->getDefaultbootmenu() == false){ + + @list($defaultbootmenu) = $this->bootmenuMapper->findBy(array('defaultbootmenu' => '1')); + if($defaultbootmenu != null){ + $defaultbootmenu->setDefaultbootmenu(false); + $this->bootmenuMapper->save($defaultbootmenu); + } + $bootmenu->setDefaultbootmenu(true); + $this->bootmenuMapper->save($bootmenu); + } + }catch(Zend_Exception $e){ + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); + } + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/ok'); + + } + + public function addbootmenuentryAction() + { + + //ACL Darf er BootMenuEntries erstellen? + if(!Pbs_Acl::checkRight('booae') && !Pbs_Acl::checkRight('booaeo')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/forbidden'); + + $bootmenuID = $this->_request->getParam('bootmenuID'); + $maxorder = $this->_request->getParam('maxorder'); + + if (!is_numeric($bootmenuID) || !is_numeric($maxorder)) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); + + $bootosMapper = new Application_Model_BootOsMapper(); + $configMapper = new Application_Model_ConfigMapper(); + $groupMapper = new Application_Model_GroupMapper(); + + $groupID = $this->membership->getGroupID(); + $groupgroupsMapper = new Application_Model_GroupGroupsMapper(); + + $parents = array(); + $bootoslist = array(); + $parents = $groupgroupsMapper->getParentGroups($groupID); + + foreach($parents as $k => $parent){ + foreach($parent as $p){ + $bootos = $bootosMapper->findBy(array("groupID" => $p)); + foreach ($bootos as $b) + if($b->getPublic() - $k >= 0 ){ + $grouptitle = $groupMapper->find($p)->getTitle(); + $bootoslist[$b->getID()] = $b; + $bootosanzeige[$grouptitle][$b->getID()] = $b->getTitle(); + } + } + } + + $configlist = array('Preset' => array(), 'Custom' => Array()); + $configlist['Preset'] = $configMapper->findBy(array('groupID' => $groupID)); + $configlist['Custom'] = $configMapper->findBy(array('membershipID' => $this->membership->getID())); + + $bootmenu = new Application_Model_BootMenu(); + $this->bootmenuMapper->find($bootmenuID, $bootmenu); + + if($bootmenu->getMembershipID() != null){ + if($this->membership->getID() != $bootmenu->getMembershipID() || !Pbs_Acl::checkRight('booaeo')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/forbidden'); + }else{ + if($this->membership->getGroupID() != $bootmenu->getGroupID() || !Pbs_Acl::checkRight('booae')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/forbidden'); + } + + if (!isset($_POST["addbootmenuentry"])){ + + if(!isset($_POST['kcl'])) + $_POST['kcl'] = true; + + $bootmenuentryForm = new user_Form_BootmenuEntries(array( 'bootoslist'=> $bootoslist, 'bootosanzeige' => $bootosanzeige, 'maxorder'=> $maxorder, @@ -364,16 +364,16 @@ class user_BootmenuController extends Zend_Controller_Action 'page' => $this->page, 'type' => $this->type, 'action' => 'addbootmenuentry', - )); - - $bootmenuentryForm->populate(array('order' => $maxorder)); - unset($_POST['defaultkcl']); - unset($_POST['configID']); - $bootmenuentryForm->populate($_POST); - - } else { - - $bootmenuentryForm = new user_Form_BootmenuEntries(array( + )); + + $bootmenuentryForm->populate(array('order' => $maxorder)); + unset($_POST['defaultkcl']); + unset($_POST['configID']); + $bootmenuentryForm->populate($_POST); + + } else { + + $bootmenuentryForm = new user_Form_BootmenuEntries(array( 'bootoslist'=>$bootoslist, 'bootosanzeige' => $bootosanzeige, 'maxorder'=> $maxorder, @@ -381,96 +381,96 @@ class user_BootmenuController extends Zend_Controller_Action 'page' => $this->page, 'type' => $this->type, 'action' => 'addbootmenuentry', - ),$_POST); - - if ($bootmenuentryForm->isValid($_POST)) { - - $bootmenuentry = new Application_Model_BootMenuEntries($_POST); - $bootmenuentry->setBootmenuID($bootmenuID); - - try { - if($bootmenuentry->getOrder() < $maxorder){ - $bootmenuentry->setOrder($bootmenuentry->getOrder()); - $this->bootmenuentryMapper->order($bootmenuentry); - } - - //print_a($bootmenuentry); - - $this->bootmenuentryMapper->save($bootmenuentry); - }catch(Zend_Exception $e) - { - echo "Caught exception: " . get_class($e) . "<br/>"; - echo "Message: " . $e->getMessage() . "<br/>"; - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/error'); - - } - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/ok'); - } - } - - $this->view->bootmenuentryForm = $bootmenuentryForm; - - } - - public function editbootmenuentryAction() - { - //ACL Is he allowed to edit BootMenus? - if(!Pbs_Acl::checkRight('booee') && !Pbs_Acl::checkRight('booeem') && !Pbs_Acl::checkRight('booeeo')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); - - $bootmenuentryID = $this->_request->getParam('bootmenuentryID'); - $maxorder = $this->_request->getParam('maxorder'); - $oldorder = $this->_request->getParam('oldorder'); - if (!is_numeric($bootmenuentryID) || !is_numeric($maxorder) || !is_numeric($oldorder)) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); - - $bootosMapper = new Application_Model_BootOsMapper(); - $configMapper = new Application_Model_ConfigMapper(); - - $groupID = $this->membership->getGroupID(); - $groupgroupsMapper = new Application_Model_GroupGroupsMapper(); - $groupMapper = new Application_Model_GroupMapper(); - - $parents = array(); - $bootoslist = array(); - $parents = $groupgroupsMapper->getParentGroups($groupID); - - foreach($parents as $k => $parent){ - foreach($parent as $p){ - $bootos = $bootosMapper->findBy(array("groupID" => $p)); - foreach ($bootos as $b) - if($b->getPublic() - $k >= 0 ){ - $grouptitle = $groupMapper->find($p)->getTitle(); - $bootoslist[$b->getID()] = $b; - $bootosanzeige[$grouptitle][$b->getID()] = $b->getTitle(); - } - } - } - - $configlist = array('Preset' => array(), 'Custom' => Array()); - $configlist['Preset'] = $configMapper->findBy(array('groupID' => $groupID)); - $configlist['Custom'] = $configMapper->findBy(array('membershipID' => $this->membership->getID())); - - $bootmenuentry = new Application_Model_BootMenuEntries(); - $bootmenu = new Application_Model_BootMenu(); - $this->bootmenuentryMapper->find($bootmenuentryID, $bootmenuentry); - $this->bootmenuMapper->find($bootmenuentry->getBootmenuID(), $bootmenu); - - if($bootmenu->getMembershipID() != null){ - if($this->membership->getID() != $bootmenu->getMembershipID() || !Pbs_Acl::checkRight('booeeo')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); - }else{ - if($this->membership->getGroupID() != $bootmenu->getGroupID() || (!Pbs_Acl::checkRight('booee') && !Pbs_Acl::checkRight('booeem'))) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); - } - - if (!isset($_POST["editbootmenuentry"])){ - if(!isset($_POST['bootosID'])) - $_POST['bootosID'] = $bootmenuentry->getBootosID(); - if(!isset($_POST['kcl'])) - $_POST['kcl'] = $bootmenuentry->getKcl(); - - $bootmenuentryForm = new user_Form_BootmenuEntries(array( + ),$_POST); + + if ($bootmenuentryForm->isValid($_POST)) { + + $bootmenuentry = new Application_Model_BootMenuEntries($_POST); + $bootmenuentry->setBootmenuID($bootmenuID); + + try { + if($bootmenuentry->getOrder() < $maxorder){ + $bootmenuentry->setOrder($bootmenuentry->getOrder()); + $this->bootmenuentryMapper->order($bootmenuentry); + } + + //print_a($bootmenuentry); + + $this->bootmenuentryMapper->save($bootmenuentry); + }catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/error'); + + } + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/addresult/ok'); + } + } + + $this->view->bootmenuentryForm = $bootmenuentryForm; + + } + + public function editbootmenuentryAction() + { + //ACL Is he allowed to edit BootMenus? + if(!Pbs_Acl::checkRight('booee') && !Pbs_Acl::checkRight('booeem') && !Pbs_Acl::checkRight('booeeo')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); + + $bootmenuentryID = $this->_request->getParam('bootmenuentryID'); + $maxorder = $this->_request->getParam('maxorder'); + $oldorder = $this->_request->getParam('oldorder'); + if (!is_numeric($bootmenuentryID) || !is_numeric($maxorder) || !is_numeric($oldorder)) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); + + $bootosMapper = new Application_Model_BootOsMapper(); + $configMapper = new Application_Model_ConfigMapper(); + + $groupID = $this->membership->getGroupID(); + $groupgroupsMapper = new Application_Model_GroupGroupsMapper(); + $groupMapper = new Application_Model_GroupMapper(); + + $parents = array(); + $bootoslist = array(); + $parents = $groupgroupsMapper->getParentGroups($groupID); + + foreach($parents as $k => $parent){ + foreach($parent as $p){ + $bootos = $bootosMapper->findBy(array("groupID" => $p)); + foreach ($bootos as $b) + if($b->getPublic() - $k >= 0 ){ + $grouptitle = $groupMapper->find($p)->getTitle(); + $bootoslist[$b->getID()] = $b; + $bootosanzeige[$grouptitle][$b->getID()] = $b->getTitle(); + } + } + } + + $configlist = array('Preset' => array(), 'Custom' => Array()); + $configlist['Preset'] = $configMapper->findBy(array('groupID' => $groupID)); + $configlist['Custom'] = $configMapper->findBy(array('membershipID' => $this->membership->getID())); + + $bootmenuentry = new Application_Model_BootMenuEntries(); + $bootmenu = new Application_Model_BootMenu(); + $this->bootmenuentryMapper->find($bootmenuentryID, $bootmenuentry); + $this->bootmenuMapper->find($bootmenuentry->getBootmenuID(), $bootmenu); + + if($bootmenu->getMembershipID() != null){ + if($this->membership->getID() != $bootmenu->getMembershipID() || !Pbs_Acl::checkRight('booeeo')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); + }else{ + if($this->membership->getGroupID() != $bootmenu->getGroupID() || (!Pbs_Acl::checkRight('booee') && !Pbs_Acl::checkRight('booeem'))) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); + } + + if (!isset($_POST["editbootmenuentry"])){ + if(!isset($_POST['bootosID'])) + $_POST['bootosID'] = $bootmenuentry->getBootosID(); + if(!isset($_POST['kcl'])) + $_POST['kcl'] = $bootmenuentry->getKcl(); + + $bootmenuentryForm = new user_Form_BootmenuEntries(array( 'bootoslist'=> $bootoslist, 'bootosanzeige' => $bootosanzeige, 'maxorder'=> $maxorder-1, @@ -478,19 +478,19 @@ class user_BootmenuController extends Zend_Controller_Action 'page' => $this->page, 'type' => $this->type, 'action' => 'editbootmenuentry', - )); + )); - if(!isset($_POST['configID'])){ - $bootmenuentryForm->populate($bootmenuentry->toArray()); + if(!isset($_POST['configID'])){ + $bootmenuentryForm->populate($bootmenuentry->toArray()); + } + else{ + unset($_POST['defaultkcl']); + unset($_POST['configID']); + $bootmenuentryForm->populate($_POST); } - else{ - unset($_POST['defaultkcl']); - unset($_POST['configID']); - $bootmenuentryForm->populate($_POST); - } - - }else{ - $bootmenuentryForm = new user_Form_BootmenuEntries(array( + + }else{ + $bootmenuentryForm = new user_Form_BootmenuEntries(array( 'bootoslist'=> $bootoslist, 'bootosanzeige' => $bootosanzeige, 'maxorder'=> $maxorder-1, @@ -498,83 +498,83 @@ class user_BootmenuController extends Zend_Controller_Action 'page' => $this->page, 'type' => $this->type, 'action' => 'editbootmenuentry'),$_POST); - - if ($bootmenuentryForm->isValid($_POST)) { - - $bootmenuentryold= $bootmenuentry; - - $bootmenuentry = new Application_Model_BootMenuEntries($_POST); - $bootmenuentry->setBootmenuID($bootmenu->getID()); - $bootmenuentry->setID($bootmenuentryID); - - if( $bootmenuentryold->getBootosID() != $bootmenuentry->getBootosID() || - $bootmenuentryold->getConfigID() != $bootmenuentry->getConfigID() || - $bootmenuentryold->getKcl() != $bootmenuentry->getKcl() || - $bootmenuentryold->getKclappend() != $bootmenuentry->getKclappend()){ - //ACL Is he allowed to edit this? - if(!Pbs_Acl::checkRight('booee') && !Pbs_Acl::checkRight('booeeo')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); - } - - try { - if($bootmenuentry->getOrder() < $oldorder) - $this->bootmenuentryMapper->orderbefore($bootmenuentry, $oldorder); - else - $this->bootmenuentryMapper->orderafter($bootmenuentry, $oldorder); - - $this->bootmenuentryMapper->save($bootmenuentry); - - }catch(Zend_Exception $e) - { - echo "Caught exception: " . get_class($e) . "<br/>"; - echo "Message: " . $e->getMessage() . "<br/>"; - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); - - } - - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/ok'); - } - - } - - $this->view->bootmenuentryForm = $bootmenuentryForm; - - } - - public function removebootmenuentryAction() - { - //ACL Is he allowed to delete Bootos? - if(!Pbs_Acl::checkRight('boode') && !Pbs_Acl::checkRight('boodeo')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); - - try{ - $bootmenuentryID = $this->_request->getParam('bootmenuentryID'); - if (!is_numeric($bootmenuentryID)) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); - - $bootmenuentry = new Application_Model_BootMenuEntries(); - $bootmenu = new Application_Model_BootMenu(); - $this->bootmenuentryMapper->find($bootmenuentryID, $bootmenuentry); - $this->bootmenuMapper->find($bootmenuentry->getBootmenuID(), $bootmenu); - - if($bootmenu->getMembershipID() != null){ - if($this->membership->getID() != $bootmenu->getMembershipID() || !Pbs_Acl::checkRight('boodeo')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); - }else{ - if($this->membership->getGroupID() != $bootmenu->getGroupID() || !Pbs_Acl::checkRight('boode')) - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); - } - - $this->bootmenuentryMapper->delete($bootmenuentry); - $this->bootmenuentryMapper->orderremove($bootmenuentry); - - }catch(Zend_Exception $e){ - echo "Caught exception: " . get_class($e) . "<br/>"; - echo "Message: " . $e->getMessage() . "<br/>"; - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/error'); - } - $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/ok'); - } + + if ($bootmenuentryForm->isValid($_POST)) { + + $bootmenuentryold= $bootmenuentry; + + $bootmenuentry = new Application_Model_BootMenuEntries($_POST); + $bootmenuentry->setBootmenuID($bootmenu->getID()); + $bootmenuentry->setID($bootmenuentryID); + + if( $bootmenuentryold->getBootosID() != $bootmenuentry->getBootosID() || + $bootmenuentryold->getConfigID() != $bootmenuentry->getConfigID() || + $bootmenuentryold->getKcl() != $bootmenuentry->getKcl() || + $bootmenuentryold->getKclappend() != $bootmenuentry->getKclappend()){ + //ACL Is he allowed to edit this? + if(!Pbs_Acl::checkRight('booee') && !Pbs_Acl::checkRight('booeeo')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/forbidden'); + } + + try { + if($bootmenuentry->getOrder() < $oldorder) + $this->bootmenuentryMapper->orderbefore($bootmenuentry, $oldorder); + else + $this->bootmenuentryMapper->orderafter($bootmenuentry, $oldorder); + + $this->bootmenuentryMapper->save($bootmenuentry); + + }catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/error'); + + } + + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/modifyresult/ok'); + } + + } + + $this->view->bootmenuentryForm = $bootmenuentryForm; + + } + + public function removebootmenuentryAction() + { + //ACL Is he allowed to delete Bootos? + if(!Pbs_Acl::checkRight('boode') && !Pbs_Acl::checkRight('boodeo')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); + + try{ + $bootmenuentryID = $this->_request->getParam('bootmenuentryID'); + if (!is_numeric($bootmenuentryID)) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); + + $bootmenuentry = new Application_Model_BootMenuEntries(); + $bootmenu = new Application_Model_BootMenu(); + $this->bootmenuentryMapper->find($bootmenuentryID, $bootmenuentry); + $this->bootmenuMapper->find($bootmenuentry->getBootmenuID(), $bootmenu); + + if($bootmenu->getMembershipID() != null){ + if($this->membership->getID() != $bootmenu->getMembershipID() || !Pbs_Acl::checkRight('boodeo')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); + }else{ + if($this->membership->getGroupID() != $bootmenu->getGroupID() || !Pbs_Acl::checkRight('boode')) + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/forbidden'); + } + + $this->bootmenuentryMapper->delete($bootmenuentry); + $this->bootmenuentryMapper->orderremove($bootmenuentry); + + }catch(Zend_Exception $e){ + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/error'); + } + $this->_redirect('/user/bootmenu/index/type/'.$this->type.'/page/'.$this->page.'/deleteresult/ok'); + } } |