summaryrefslogtreecommitdiffstats
path: root/application/modules/user/controllers/FilterController.php
diff options
context:
space:
mode:
authorSimon2011-03-18 23:55:49 +0100
committerSimon2011-03-18 23:55:49 +0100
commit91480647487fbcd0a69936d9604575651f3b4fc1 (patch)
tree50fb0a62b09cf1ce6deec4bc971d343551ffef4b /application/modules/user/controllers/FilterController.php
parentMerge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2 (diff)
downloadpbs2-91480647487fbcd0a69936d9604575651f3b4fc1.tar.gz
pbs2-91480647487fbcd0a69936d9604575651f3b4fc1.tar.xz
pbs2-91480647487fbcd0a69936d9604575651f3b4fc1.zip
FilterController fertig
pbs-newdata geändert
Diffstat (limited to 'application/modules/user/controllers/FilterController.php')
-rw-r--r--application/modules/user/controllers/FilterController.php175
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);
}