notify('No membershipID set','forbidden'); } $this->filterMapper = new Application_Model_FilterMapper(); $membershipMapper = new Application_Model_MembershipMapper(); $this->membership = new Application_Model_Membership(); $membershipMapper->find($_SESSION['membershipID'],$this->membership); $this->db = Zend_Db_Table::getDefaultAdapter(); } public function indexAction() { // TODO: ACL: is he authorized to see this? $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); } $filters = $this->filterMapper->findBy('groupID',$this->membership->getGroupID()); foreach($filters as $filter){ $ff = new Application_Model_Filter(); $ff->setOptions($filter); $ff->setID($filter['filterID']); $allFilter[] = $ff; } $this->view->filters = $allFilter; } public function addfilterAction() { // TODO: ACL: is he authorized to add a filter? $bmmapper = new Application_Model_BootMenuMapper(); $result = $bmmapper->findBy('groupID',$this->membership->getGroupID()); foreach($result as $rr){ $bm = new Application_Model_BootMenu(); $bm->setOptions($rr); $bm->setID($rr['bootmenuID']); $bootmenus[] = $bm; } $this->view->bootmenus = $bootmenus; if (!isset($_POST["add"])){ $addfilterform = new user_Form_Filter(array('buttontext' => 'Create Filter','bootmenus'=>$bootmenus)); $this->view->addfilterform = $addfilterform; }else { $addfilterform = new user_Form_Filter(array('buttontext' => 'Create Filter','bootmenus'=>$bootmenus),$_POST); if ($addfilterform->isValid($_POST)) { try{ $newfilter = new Application_Model_Filter($_POST); $newfilter->setCreated(time()); $newfilter->setGroupID($this->membership->getGroupID()); $newfilter->setMembershipID($this->membership->getID()); $newfilter2 = new Application_Model_FilterMapper(); $newfilter2->save($newfilter); $this->_redirect('/user/filter/index/addresult/ok'); }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; $this->_redirect('/user/filter/index/addresult/error'); } } $this->view->addfilterform = $addfilterform; } } public function removefilterAction() { $filterID = $this->_request->getParam('filterID'); $filtermapper = new Application_Model_FilterMapper(); // TODO: ACL implementieren ob er den filter löschen darf if(is_numeric($filterID)){ $filter = new Application_Model_Filter(); $filtermapper->find($filterID,$filter); if($filter->getGroupID() == $this->membership->getGroupID()){ $deletefilter = new Application_Model_Filter(); $deletefilter->setID($filterID); $filtermapper->delete($deletefilter); $this->_redirect('/user/filter/index/deleteresult/ok'); } else{ $this->_redirect('/user/filter/index/deleteresult/forbidden'); } } else{ $this->_redirect('/user/filter/index/deleteresult/error'); } } public function editfilterAction() { $bmmapper = new Application_Model_BootMenuMapper(); $result = $bmmapper->findBy('groupID',$this->membership->getGroupID()); foreach($result as $rr){ $bm = new Application_Model_BootMenu(); $bm->setOptions($rr); $bm->setID($rr['bootmenuID']); $bootmenus[] = $bm; } if (!isset($_POST["add"])){ // TODO: ACL implementieren ob er editieren darf $filterID = $this->_request->getParam('filterID'); $filter = new Application_Model_Filter(); $filtermapper = new Application_Model_FilterMapper(); $filtermapper->find($filterID,$filter); if($filter->getGroupID() == $this->membership->getGroupID()){ $filter2 = $filter->toArray(); $editfilterform = new user_Form_Filter(array('buttontext' => 'Edit Filter','bootmenus'=>$bootmenus)); $editfilterform->populate($filter2); $this->view->editfilterform = $editfilterform; } else{ $this->_redirect('/user/filter/index/modifyresult/forbidden'); } } else{ try{ $filterID = $this->_request->getParam('filterID'); $filter = new Application_Model_Filter(); $filtermapper = new Application_Model_FilterMapper(); $filtermapper->find($filterID,$filter); if($filter->getGroupID() == $this->membership->getGroupID()){ $editfilterform = new user_Form_Filter(array('buttontext' => 'Edit Filter','bootmenus'=>$bootmenus),$_POST); if ($editfilterform->isValid($_POST)) { $newfilterentry = new Application_Model_Filter($_POST); $newfilterentry->setID($this->_request->getParam('filterID')); $newfilterentry->setGroupID($this->membership->getGroupID()); $newfilterentry->setMembershipID($this->membership->getID()); $newfilterentry->setCreated($_POST['created']); $newfilter2 = new Application_Model_FilterMapper(); $newfilter2->save($newfilterentry); $this->_redirect('/user/filter/index/modifyresult/ok'); } $this->view->editfilterform = $editfilterform; } else{ $this->_redirect('/user/filter/index/modifyresult/forbidden'); } }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; $this->_redirect('/user/filter/index/modifyresult/error'); } } } public function addfilterentryAction() { // TODO: ACL: is he allowed to create a new filterentry? $filterID = $this->_request->getParam('filterID'); $filterMapper = new Application_Model_FilterMapper(); $filter = new Application_Model_Filter(); $filterMapper->find($filterID,$filter); if($filter->getGroupID() == $this->membership->getGroupID()){ if (!isset($_POST["add"])){ try{ $addform = new user_Form_FilterEntry( array( 'buttontext' => 'Add Filterentry', 'filterID' => $filterID, 'data' => $_POST )); $addform->populate($_POST); $this->view->addform = $addform; }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; $this->_redirect('/user/filter/index/addresult/error'); } } else{ $addform = new user_Form_FilterEntry(array('buttontext' => 'Add Filterentry'),$_POST); if ($addform->isValid($_POST)) { $newfilterenty = new Application_Model_FilterEntries(); $newfilterenty->setFilterID($filterID); $newfilterenty->setFiltertypeID($_POST['filtertypeID']); if($_POST['filtertypeID'] == 1){ $newfilterenty->setFiltervalue($this->fillIP($_POST['filtervalue'])); $newfilterenty->setFiltervalue2($this->fillIP($_POST['filtervalue2'])); } else{ $newfilterenty->setFiltervalue($_POST['filtervalue']); $newfilterenty->setFiltervalue2($_POST['filtervalue2']); } $newfilter2 = new Application_Model_FilterEntriesMapper(); $newfilter2->save($newfilterenty); $this->_redirect('/user/filter/index/addresult/ok'); } $this->view->addform = $addform; } } else{ $this->_redirect('/user/filter/index/addresult/forbidden'); } } public function editfilterentryAction() { //TODO: ACL: is he allowed to edit filterentrys ? if (!isset($_POST["add"])){ try{ $filterentriesID = $this->_request->getParam('filterentriesID'); $filterentry = new Application_Model_FilterEntries(); $filterentriesmapper = new Application_Model_FilterEntriesMapper(); $filterentriesmapper->find($filterentriesID,$filterentry); $filterMapper = new Application_Model_FilterMapper(); $filter = new Application_Model_Filter(); $filterMapper->find($filterentry->getFilterID(),$filter); if($filter->getGroupID() == $this->membership->getGroupID()){ if(isset($_POST['filtertypeID']) && $_POST['filtertypeID'] != $filterentry->getFiltertypeID()){ $filterentry->setFiltertypeID($_POST['filtertypeID']) ; } $data = $filterentry->toArray(); # print_a($data); $editfilterform = new user_Form_FilterEntry( array('buttontext' => 'Edit Filterentry', 'data' => $data)); $editfilterform->populate($filterentry->toArray()); $this->view->editfilterform = $editfilterform; } else{ $this->_redirect('/user/filter/index/moodifyresult/forbidden'); } }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; $this->_redirect('/user/filter/index/moodifyresult/error'); } } else{ try{ $filterentriesID = $this->_request->getParam('filterentriesID'); $editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry'),$_POST); if ($editfilterform->isValid($_POST)) { $filterentry = new Application_Model_FilterEntries(); $filterentriesmapper = new Application_Model_FilterEntriesMapper(); $filterentriesmapper->find($filterentriesID,$filterentry); $filterMapper = new Application_Model_FilterMapper(); $filter = new Application_Model_Filter(); $filterMapper->find($filterentry->getFilterID(),$filter); if($filter->getGroupID() == $this->membership->getGroupID()){ if($_POST['filterID'] == '') unset($_POST['filterID']); $newfilterenty = new Application_Model_FilterEntries($_POST); $newfilterenty->setID($filterentriesID); if($_POST['filtertypeID'] == 1){ $newfilterenty->setFiltervalue($this->fillIP($_POST['filtervalue'])); $newfilterenty->setFiltervalue2($this->fillIP($_POST['filtervalue2'])); } else{ $newfilterenty->setFiltervalue($_POST['filtervalue']); $newfilterenty->setFiltervalue2($_POST['filtervalue2']); } $newfilter2 = new Application_Model_FilterEntriesMapper(); $newfilter2->save($newfilterenty); $this->_redirect('/user/filter/index/modifyresult/ok'); } else{ $this->_redirect('/user/filter/index/modifyresult/forbidden'); } } $this->view->editfilterform = $editfilterform; }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; $this->_redirect('/user/filter/index/modifyresult/error'); } } } public function removefilterentryAction() { //TODO: ACL: is he autohorized to delete a filterentry? $filterentriesID = $this->_request->getParam('filterentriesID'); if(is_numeric($filterentriesID)){ $filterentriesmapper = new Application_Model_FilterEntriesMapper(); $filterentry = new Application_Model_FilterEntries(); $filterentriesmapper->find($filterentriesID, $filterentry); $filterID = $filterentry->getFilterID(); $filterMapper = new Application_Model_FilterMapper(); $filter = new Application_Model_Filter(); $filterMapper->find($filterID,$filter); if($filter->getGroupID() == $this->membership->getGroupID()){ try{ $deletefilterentry = new Application_Model_FilterEntries(); $deletefilterentry->setID($filterentriesID); $filterentriesmapper = new Application_Model_FilterEntriesMapper(); $filterentriesmapper->delete($deletefilterentry); $this->_redirect('/user/filter/index/deleteresult/ok'); }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; $this->_redirect('/user/filter/index/deleteresult/error'); } } else{ $this->_redirect('/user/filter/index/deleteresult/forbidden'); } } else{ $this->_redirect('/user/filter/index/deleteresult/error'); } } private function fillIP($ip) { $ar = explode(".",$ip); $representation = array(); foreach($ar as $part){ $representation[] = sprintf("%03s",$part); } return implode(".",$representation); } private function fillMac($ip) { $ar = explode(":",$ip); $representation = array(); foreach($ar as $part){ $representation[] = sprintf("%02s",$part); } return implode(":",$representation); } }