hasIdentity()) { $userIDsNamespace = Zend_Session::namespaceGet('userIDs'); if($userIDsNamespace['membershipID'] ==''){ $this->_redirect('/user/index'); } $this->configMapper = new Application_Model_ConfigMapper(); $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(); } else { $this->_helper->redirector('login', 'auth'); } $this->page = $this->_request->getParam('page'); } public function indexAction() { $result = $this->_request->getParam('addresult'); if($result != ""){ $pbsNotifier = new Pbs_Notifier(); $this->view->notification = $pbsNotifier->notify('create',$result); } $result = $this->_request->getParam('deleteresult'); if($result != ""){ $pbsNotifier = new Pbs_Notifier(); $this->view->notification = $pbsNotifier->notify('delete',$result); } $result = $this->_request->getParam('modifyresult'); if($result != ""){ $pbsNotifier = new Pbs_Notifier(); $this->view->notification = $pbsNotifier->notify('modify',$result); } $groupID = $this->membership->getGroupID(); //ACL Darf er Configs sehen? if(!Pbs_Acl::checkRight('csai') && !Pbs_Acl::checkRight('csui')) $this->_redirect('/user/index'); $this->configMapper = new Application_Model_ConfigMapper(); $groupMapper = new Application_Model_GroupMapper(); if(Pbs_Acl::checkRight('csai')){ $this->view->configlist = $this->configMapper->findBy(array('groupID' => $this->membership->getGroupID())); }else{ $this->view->configlist = $this->configMapper->findBy(array('membershipID' => $this->membership->getID())); } foreach ($this->view->configlist as $config){ $config->setGroupID("[".$config->getGroupID()."] ".$groupMapper->find($config->getGroupID())->getTitle()); } // Search $search = $this->_request->getParam('search'); $mySearch = new Pbs_Search(); $mySearch->setSearchTerm($search); $mySearch->setModule('config'); if($search != ''){ $this->view->search = $mySearch->getSearchTerm(); $this->view->configlist = $mySearch->search($this->view->configlist); } $this->view->searchform = $mySearch->searchForm(); // Pagination $pagination = new Pbs_Pagination(); $pagination->setPerPage(2); $pagination->setElement($this->view->configlist); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/config/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); $this->view->configlist = $pagination->getElements(); $this->view->pagination = $pagination->pagination($pageurl); $this->view->page = $pagination->getRequestPage(); $this->view->configlist = $this->view->configlist; } public function searchAction(){ $this->_redirect('/user/config/index/search/'.($_GET['search'])); } public function createconfigAction() { //ACL Darf er Configs erstellen? if(!Pbs_Acl::checkRight('cc')) $this->_redirect('/user/config/index/page/'.$this->page.'/addresult/forbidden'); if (!isset($_POST["createconfig"])){ $configForm = new user_Form_Config(array('action' => 'createconfig','page'=>$this->page)); } else { $configForm = new user_Form_Config(array('action' => 'createconfig','page'=>$this->page),$_POST); if ($configForm->isValid($_POST)) { $config = new Application_Model_Config($_POST); $config->setCreated(time()); if(Pbs_Acl::checkRight('csai')) $config->setGroupID($this->membership->getGroupID()); else $config->setMembershipID($this->membership->getID()); try { $this->configMapper->save($config); }catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; $this->_redirect('/user/config/index/page/'.$this->page.'/addresult/error'); } $this->_redirect('/user/config/index/page/'.$this->page.'/addresult/ok'); } } $this->view->configForm = $configForm; } public function editconfigAction() { //ACL Darf er Configs editieren? if(!Pbs_Acl::checkRight('ce')) $this->_redirect('/user/config/index/page/'.$this->page.'/modifyresult/forbidden'); $configID = $this->_request->getParam('configID'); if (!is_numeric($configID)) $this->_redirect('/user/config/index/page/'.$this->page.'/modifyresult/error'); $groupID = $this->membership->getGroupID(); $config = new Application_Model_Config(); $this->configMapper->find($configID, $config); if($config->getMembershipID() != null){ if($this->membership->getID() != $config->getMembershipID()) $this->_redirect('/user/config/index/page/'.$this->page.'/modifyresult/forbidden'); }else{ if($this->membership->getGroupID() != $config->getGroupID()) $this->_redirect('/user/config/index/page/'.$this->page.'/modifyresult/forbidden'); } if (!isset($_POST["editconfig"])){ $configForm = new user_Form_Config(array('action' => 'editconfig','page'=>$this->page)); $configForm->populate($config->toArray()); }else{ $configForm = new user_Form_Config(array('action' => 'editconfig','page'=>$this->page),$_POST); if ($configForm->isValid($_POST)) { $configold = $config; $config = new Application_Model_Config($_POST); $config->setCreated(time()); if(Pbs_Acl::checkRight('csai')) $config->setGroupID($this->membership->getGroupID()); else $config->setMembershipID($this->membership->getID()); $config->setID($configID); if($configold->getShellscript() != $config->getShellscript()){ //ACL Is he allowed to edit other than Metadata? if(Pbs_Acl::checkRight('cem')) $this->_redirect('/user/config/index/page/'.$this->page.'/modifyresult/forbidden'); } try { $this->configMapper->save($config); }catch(Zend_Exception $e) { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; $this->_redirect('/user/config/index/page/'.$this->page.'/modifyresult/error'); } $this->_redirect('/user/config/index/page/'.$this->page.'/modifyresult/ok'); } } $this->view->configForm = $configForm; } public function deleteconfigAction() { //ACL Darf er Configs löschen? if(!Pbs_Acl::checkRight('cd')) $this->_redirect('/user/config/index/page/'.$this->page.'/deleteresult/forbidden'); try{ $configID = $this->_request->getParam('configID'); if (!is_numeric($configID)) $this->_redirect('/user/config/index/page/'.$this->page.'/deleteresult/error'); $config = new Application_Model_Config(); $this->configMapper->find($configID,$config); if($config->getMembershipID() != null){ if($this->membership->getID() != $config->getMembershipID()) $this->_redirect('/user/config/index/page/'.$this->page.'/deleteresult/forbidden'); }else{ if($this->membership->getGroupID() != $config->getGroupID()) $this->_redirect('/user/config/index/page/'.$this->page.'/deleteresult/forbidden'); } $this->configMapper->delete($config); }catch(Zend_Exception $e){ echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; $this->_redirect('/user/config/index/page/'.$this->page.'/deleteresult/error'); } $this->_redirect('/user/config/index/page/'.$this->page.'/deleteresult/ok'); } }