From 8618f91b2ba420eea204e70355470af94d3ca2b7 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 12 Mar 2011 15:29:00 -0800 Subject: filtertypen hinzugefügt, Zeit, Datum und Wochentage können in Filtern definiert werden, Formular wird automatisch aktualisiert --- application/controllers/FilterController.php | 163 +++++++++++++++++++++------ 1 file changed, 127 insertions(+), 36 deletions(-) (limited to 'application/controllers') diff --git a/application/controllers/FilterController.php b/application/controllers/FilterController.php index 7b05b0e..da52c34 100644 --- a/application/controllers/FilterController.php +++ b/application/controllers/FilterController.php @@ -122,7 +122,12 @@ class FilterController extends Zend_Controller_Action // TODO: ACL implementieren ob er editieren darf if (!isset($_POST["add"])){ try{ - $editfilterform = new Application_Form_FilterEntriesAdd(array('buttontext' => 'Add Filterentry','filterID' => $this->_request->getParam('filterID'))); + $editfilterform = new Application_Form_FilterEntriesAdd( + array( 'buttontext' => 'Add Filterentry', + 'filterID' => $this->_request->getParam('filterID'), + 'data' => $_POST + )); + $editfilterform->populate($_POST); $this->view->editfilterform = $editfilterform; }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; @@ -145,6 +150,7 @@ class FilterController extends Zend_Controller_Action $newfilter2 = new Application_Model_FilterEntriesMapper(); $newfilter2->save($newfilterenty); + #print_a($newfilterenty); $this->_redirect('/filter'); } $this->view->editfilterform = $editfilterform; @@ -156,17 +162,25 @@ class FilterController extends Zend_Controller_Action if (!isset($_POST["add"])){ 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(array('buttontext' => 'Edit Filterentry')); + + + #$editfilterform->setFilterID($filterID); + if(isset($_POST['filtertypeID']) && $_POST['filtertypeID'] != $filterentry->getFiltertypeID()){ + $filterentry->setFiltertypeID($_POST['filtertypeID']) ; + } + $data = $filterentry->toArray(); + print_a($data); + $editfilterform = new Application_Form_FilterEntriesAdd( + array('buttontext' => 'Edit Filterentry', + 'data' => $data)); + $editfilterform->populate($filterentry->toArray()); - $editfilterform->setFilterID($filterID); $this->view->editfilterform = $editfilterform; }catch (Zend_Exception $e) { @@ -176,7 +190,9 @@ class FilterController extends Zend_Controller_Action try{ $filterentriesID = $this->_request->getParam('filterentriesID'); $editfilterform = new Application_Form_FilterEntriesAdd(array('buttontext' => 'Edit Filterentry'),$_POST); - if ($editfilterform->isValid($_POST)) { + if ($editfilterform->isValid($_POST)) { + if($_POST['filterID'] == '') + unset($_POST['filterID']); $newfilterenty = new Application_Model_FilterEntries($_POST); $newfilterenty->setID($filterentriesID); if($_POST['filtertypeID'] == 1){ @@ -189,6 +205,7 @@ class FilterController extends Zend_Controller_Action } $newfilter2 = new Application_Model_FilterEntriesMapper(); $newfilter2->save($newfilterenty); + #print_a($newfilterenty); $this->_redirect('/filter'); } @@ -202,24 +219,24 @@ class FilterController extends Zend_Controller_Action 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"; - } - $this->_redirect('/filter'); - }catch (Zend_Exception $e) { - echo "Error message 2: " . $e->getMessage() . "\n"; - } + $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"; + } + $this->_redirect('/filter'); + }catch (Zend_Exception $e) { + echo "Error message 2: " . $e->getMessage() . "\n"; + } } private function fillIP($ip) @@ -258,8 +275,10 @@ class FilterController extends Zend_Controller_Action $bootisoID = $_POST['bootisoID']; $membershipID = $_POST['membershipID']; $groupID = $_POST['groupID']; - $time = strtotime($_POST['time']); + $time = ($_POST['time']); $clientID = $_POST['clientID']; + $weekday = $_POST['weekday']; + $date = $_POST['date']; print_a('Input', array('ipAdress'=>$ipAdress, 'macAdress'=>$macAdress, @@ -267,8 +286,11 @@ class FilterController extends Zend_Controller_Action 'bootisoID' => $bootisoID, 'membershipID'=>$membershipID, 'groupID'=>$groupID, - 'time'=>$time." - ".date('d.m.Y H:i:s',$time), - 'clientID' => $clientID)); + 'time'=> $time." - ".date('d.m.Y H:i:s',$time), + 'clientID' => $clientID, + 'hardwarehash' => $hardwarehash, + 'weekday' => $weekday, + 'date' => $date)); } @@ -276,7 +298,7 @@ class FilterController extends Zend_Controller_Action $mysession = '1'; $set = array(); - $filtertypID = 8; + $session = new Application_Model_Session(); $sessionmapper = new Application_Model_SessionMapper(); $sessionmapper->find($mysession,$session); @@ -447,21 +469,18 @@ class FilterController extends Zend_Controller_Action // Time $filtertypID = 7; if(!$testFilter){ - $time = time(); + $time = time("H:i"); } - $nowShort = date('H-i',$time); - $nowLong = date('Y-m-d-H-i',$time); + $nowShort = $time; - $nowShort = str_replace("-","",$nowShort); - $nowLong = str_replace("-","",$nowLong); + $nowShort = str_replace(":","",$nowShort); try{ $select = $db->select() ->from(array('pbs_filterentries') ) ->where('filtertypeID = ?',$filtertypID) - ->where('REPLACE(filtervalue,"-","") <= ? AND ? <= REPLACE(filtervalue2,"-","")',$nowShort) - ->orWhere('REPLACE(filtervalue,"-","") <= ? AND ? <= REPLACE(filtervalue2,"-","")',$nowLong); + ->where('REPLACE(filtervalue,":","") <= ? AND ? <= REPLACE(filtervalue2,":","")',$nowShort); $stmt = $select->query(); $result = $stmt->fetchAll(); @@ -473,6 +492,78 @@ class FilterController extends Zend_Controller_Action if($showPartResults) print_a('time',$result,$set[$filtertypID]); + ######################################################### + // Hardwarehash + $filtertypID = 9; + if(!$testFilter){ + // get hardwarehash from session + $hardwarehash = 'aaaa'; + } + + try{ + $select = $db->select() + ->from(array('pbs_filterentries') + ) + ->where('filtertypeID = ?',$filtertypID) + ->where('`filtervalue` = ?',$hardwarehash); + $stmt = $select->query(); + $result = $stmt->fetchAll(); + foreach($result as $r){ + $set[$filtertypID][] = $r['filterID']; + } + } + catch(Exception $e){} + + if($showPartResults) + print_a('hardwarehash',$result,$set[$filtertypID]); + ######################################################### + // weekday + $filtertypID = 10; + if(!$testFilter){ + $weekday = date('N'); + } + + try{ + $select = $db->select() + ->from(array('pbs_filterentries') + ) + ->where('filtertypeID = ?',$filtertypID) + ->where('filtervalue = ? ',$weekday); + + $stmt = $select->query(); + $result = $stmt->fetchAll(); + foreach($result as $r){ + $set[$filtertypID][] = $r['filterID']; + } + } + catch(Exception $e){} + + if($showPartResults) + print_a('weekday',$result,$set[$filtertypID]); + ######################################################### + // weekday + $filtertypID = 11; + if(!$testFilter){ + $date = date('d.m.Y'); + } + + try{ + $select = $db->select() + ->from(array('pbs_filterentries') + ) + ->where('filtertypeID = ?',$filtertypID) + ->where('REPLACE(filtervalue,".","") <= ? AND ? <= REPLACE(filtervalue2,".","")',$date); + + $stmt = $select->query(); + $result = $stmt->fetchAll(); + foreach($result as $r){ + $set[$filtertypID][] = $r['filterID']; + } + } + catch(Exception $e){} + + if($showPartResults) + print_a('weekday',$result,$set[$filtertypID]); ######################################## // ErgebnisSet auswerten print_a('the result sets of the filtertypes',$set); -- cgit v1.2.3-55-g7522