_filtermapper = new Application_Model_FilterMapper(); }catch (Zend_Exception $e) { echo "Error message 1: " . $e->getMessage() . "\n"; } } public function indexAction() { try{ $this->_filtermapper = new Application_Model_FilterMapper(); $this->view->filters = $this->_filtermapper->fetchAll(); $filterentries = new Application_Model_FilterEntriesMapper(); $this->view->filterentries = $filterentries->fetchAll(); }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; } } public function addfilterAction() { if (!isset($_POST["add"])){ $addfilterform = new Application_Form_FilterAdd(); $this->view->addfilterform = $addfilterform; }else { $addfilterform = new Application_Form_FilterAdd($_POST); if ($addfilterform->isValid($_POST)) { try{ $newfilter = new Application_Model_Filter(); $newfilter->setTitle($_POST['title']); $newfilter->setCreated(time()); $newfilter->setDescription($_POST['description']); $newfilter->setPriority($_POST['priority']); // TODO: Ändere mit ACL $newfilter->setGroupID('1'); $newfilter->setMembershipID('1'); $newfilter->setBootmenuID('1'); $newfilter2 = new Application_Model_FilterMapper(); $newfilter2->save($newfilter); $this->_redirect('/filter'); return; }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; } } } } public function removefilterAction() { $filterID = $this->_request->getParam('filterID'); // TODO: ACL implementieren ob er den filter löschen darf if(is_numeric($filterID)){ $deletefilter = new Application_Model_Filter(); $deletefilter->setID($filterID); $filtermapper = new Application_Model_FilterMapper(); $filtermapper->delete($deletefilter); } $this->_redirect('/filter'); } public function editfilterAction() { 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); $filter2 = $filter->toArray(); $editfilterform = new Application_Form_FilterAdd(); $editfilterform->populate($filter2); $this->view->editfilterform = $editfilterform; } else{ try{ echo "
";print_r($_POST);echo ""; $editfilterform = new Application_Form_FilterAdd(); //TODO: ACL integrieren $_POST['groupID'] = 1; $_POST['membershipID'] = 1; $_POST['bootmenuID'] = 1; $_POST['created'] = time(); if ($editfilterform->isValid($_POST)) { $newfilterenty = new Application_Model_Filter($_POST); $newfilterenty->setID($this->_request->getParam('filterID')); $newfilter2 = new Application_Model_FilterMapper(); $newfilter2->save($newfilterenty); } }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; } $this->_redirect('/filter'); } } public function addfilterentryAction() { // TODO: ACL implementieren ob er editieren darf if (!isset($_POST["add"])){ echo "case1"; try{ $editfilterform = new Application_Form_FilterEntriesAdd(array('filterID' => $this->_request->getParam('filterID'))); $this->view->editfilterform = $editfilterform; echo "
case 1.1"; }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; } } else{ $editfilterform = new Application_Form_FilterEntriesAdd($_POST); echo "
case2"; if ($editfilterform->isValid($_POST)) { echo "
case 2.2"; $newfilterenty = new Application_Model_FilterEntries(); $newfilterenty->setFilterID($_POST['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(); echo "
"; print_r($newfilterenty); echo ""; $newfilter2->save($newfilterenty); } $this->_redirect('/filter'); } } public function editfilterentryAction() { if (!isset($_POST["add"])){ echo "case1"; try{ $filterentriesID = $this->_request->getParam('filterentriesID'); $filterentry = new Application_Model_FilterEntries(); $filterentriesmapper = new Application_Model_FilterEntriesMapper(); $filterentriesmapper->find($filterentriesID,$filterentry); $editfilterform = new Application_Form_FilterEntriesAdd(); echo "
"; print_r($filterentry->toArray()); echo ""; $editfilterform->populate($filterentry->toArray()); $editfilterform->setFilterID($filterID); $this->view->editfilterform = $editfilterform; echo "case 1.1"; }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; } } else{ try{ $filterentriesID = $this->_request->getParam('filterentriesID'); $editfilterform = new Application_Form_FilterEntriesAdd($_POST); if ($editfilterform->isValid($_POST)) { echo "valid\n"; $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']); } echo "
"; print_r($newfilterenty); echo ""; $newfilter2 = new Application_Model_FilterEntriesMapper(); $newfilter2->save($newfilterenty); } else{ echo 'nö'; } }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; } $this->_redirect('/filter'); } } public function removefilterentryAction() { try{ $filterentriesID = $this->_request->getParam('filterentriesID'); // TODO: ACL implementieren ob er den filter löschen darf if(is_numeric($filterentriesID)){ $deletefilterentry = new Application_Model_FilterEntries(); $deletefilterentry->setID($filterentriesID); echo "
"; print_r($deletefilterentry); echo ""; $filterentriesmapper = new Application_Model_FilterEntriesMapper(); $filterentriesmapper->delete($deletefilterentry); echo "ok"; } # echo "ready"; $this->_redirect('/filter'); }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; } } private function fillIP($ip){ $ar = explode(".",$ip); $representation = array(); foreach($ar as $part){ $representation[] = sprintf("%03s",$part); } return implode(".",$representation); } public function evaluate(){ // IP bereich /* $ipAdress = $this->fillIP('192.168.2.1'); if( ( replace(".","",filtervalue) <= replace(".","",$ipAdress) && replace(".","",$ipAdress) <= replace(".","",filtervalue2) // resultset */ ######################################################### // Mac bereich /* */ ######################################################### // PoolID /* If client comes from a specific pool */ ######################################################### // BootIso /* WHERE bootiso = bootiso */ ######################################################### // Membership /* */ ######################################################### // Group ######################################################### // Time /* $nowShort = date('H-i',time()); $nowLong = date('Y-m-d-H-i',time()); if( ( replace("-","",filtervalue) <= replace("-","",$nowShort) && replace("-","",$nowShort) <= replace("-","",filtervalue2) ||( replace("-","",filtervalue) <= replace("-","",$nowLong) && replace("-","",$nowLong) <= replace("-","",filtervalue2)) // resultset */ } }