diff options
| author | Simon | 2011-03-18 23:55:49 +0100 |
|---|---|---|
| committer | Simon | 2011-03-18 23:55:49 +0100 |
| commit | 91480647487fbcd0a69936d9604575651f3b4fc1 (patch) | |
| tree | 50fb0a62b09cf1ce6deec4bc971d343551ffef4b /application/modules/user/controllers | |
| parent | Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2 (diff) | |
| download | pbs2-91480647487fbcd0a69936d9604575651f3b4fc1.tar.gz pbs2-91480647487fbcd0a69936d9604575651f3b4fc1.tar.xz pbs2-91480647487fbcd0a69936d9604575651f3b4fc1.zip | |
FilterController fertig
pbs-newdata geƤndert
Diffstat (limited to 'application/modules/user/controllers')
| -rw-r--r-- | application/modules/user/controllers/FilterController.php | 175 |
1 files changed, 172 insertions, 3 deletions
diff --git a/application/modules/user/controllers/FilterController.php b/application/modules/user/controllers/FilterController.php index 6e510bb..3a14865 100644 --- a/application/modules/user/controllers/FilterController.php +++ b/application/modules/user/controllers/FilterController.php @@ -169,17 +169,186 @@ class User_FilterController extends Zend_Controller_Action public function addfilterentryAction() { - // action body + // 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() { - // action body + //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() { - // action body + //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); } |
