summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorsf342011-03-05 19:55:00 +0100
committersf342011-03-05 19:55:00 +0100
commitfd3df2571717c254ab67f7dcab4a98e1d0ca0b12 (patch)
treeecb3d5a4e80b4d6ae0d1557fc8de147c98e8dc64 /application
parentfilter-oberffäche fertig, nun zur auswahl des bootmenus && funktion toArray ... (diff)
downloadpbs2-fd3df2571717c254ab67f7dcab4a98e1d0ca0b12.tar.gz
pbs2-fd3df2571717c254ab67f7dcab4a98e1d0ca0b12.tar.xz
pbs2-fd3df2571717c254ab67f7dcab4a98e1d0ca0b12.zip
Primary Key inn filterentries eingeführt um meherere Elemente eines Filtertypes hinzuzufügen
- filter-Oberfläche funktioniert nun - Skizzen für evaluate von Filtern notiert
Diffstat (limited to 'application')
-rw-r--r--application/controllers/FilterController.php134
-rw-r--r--application/models/DbTable/FilterEntries.php1
-rw-r--r--application/models/FilterEntries.php11
-rw-r--r--application/models/FilterEntriesMapper.php47
-rw-r--r--application/views/scripts/filter/addfilter.phtml2
-rw-r--r--application/views/scripts/filter/editfilter.phtml7
-rw-r--r--application/views/scripts/filter/index.phtml8
7 files changed, 142 insertions, 68 deletions
diff --git a/application/controllers/FilterController.php b/application/controllers/FilterController.php
index 3f7fa73..fc1ce8d 100644
--- a/application/controllers/FilterController.php
+++ b/application/controllers/FilterController.php
@@ -116,31 +116,41 @@ class FilterController extends Zend_Controller_Action
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";
+ echo "<pre>case 1.1</pre>";
}catch (Zend_Exception $e) {
echo "Error message 2: " . $e->getMessage() . "\n";
}
} else{
$editfilterform = new Application_Form_FilterEntriesAdd($_POST);
- echo "case2";
+ echo "<pre style='padding:5px;border:1px solid black; background-color:#3CF;'>case2</pre>";
if ($editfilterform->isValid($_POST)) {
-
+ echo "<pre style='padding:5px;border:1px solid black; background-color:#3CF;'>case 2.2</pre>";
$newfilterenty = new Application_Model_FilterEntries();
$newfilterenty->setFilterID($_POST['filterID']);
$newfilterenty->setFiltertypeID($_POST['filtertypeID']);
- $newfilterenty->setFiltervalue($_POST['filtervalue']);
- $newfilterenty->setFiltervalue2($_POST['filtervalue2']);
+
+ 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 "<pre style='border:1px solid black;background-color:#F5B800'>";
+ print_r($newfilterenty);
+ echo "</pre>";
$newfilter2->save($newfilterenty);
}
$this->_redirect('/filter');
@@ -151,14 +161,14 @@ class FilterController extends Zend_Controller_Action
if (!isset($_POST["add"])){
echo "case1";
try{
- $filterID = $this->_request->getParam('filterID');
- $filtertypeID = $this->_request->getParam('filtertypeID');
+ $filterentriesID = $this->_request->getParam('filterentriesID');
$filterentry = new Application_Model_FilterEntries();
$filterentriesmapper = new Application_Model_FilterEntriesMapper();
- $filterentriesmapper->find($filterID,$filtertypeID,$filterentry);
+ $filterentriesmapper->find($filterentriesID,$filterentry);
+
$editfilterform = new Application_Form_FilterEntriesAdd();
echo "<pre style='border:1px solid black;background-color:#F5B800'>";
@@ -173,20 +183,33 @@ class FilterController extends Zend_Controller_Action
echo "Error message 2: " . $e->getMessage() . "\n";
}
} else{
- $editfilterform = new Application_Form_FilterEntriesAdd($_POST);
- echo "case2";
- echo "<pre style='border:1px solid black;background-color:#F5B800'>";
- print_r($_POST);
- echo "</pre>";
- if ($editfilterform->isValid($_POST)) {
- echo "valid\n";
- $newfilterenty = new Application_Model_FilterEntries($_POST);
- $newfilter2 = new Application_Model_FilterEntriesMapper();
- $newfilter2->save($newfilterenty);
+ 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 "<pre style='border:1px solid black;background-color:#F5B800'>";
+ print_r($newfilterenty);
+ echo "</pre>";
+ $newfilter2 = new Application_Model_FilterEntriesMapper();
+ $newfilter2->save($newfilterenty);
- }
- else{
- echo 'nö';
+ }
+ else{
+ echo 'nö';
+ }
+ }catch (Zend_Exception $e) {
+ echo "Error message 2: " . $e->getMessage() . "\n";
}
$this->_redirect('/filter');
}
@@ -195,26 +218,77 @@ class FilterController extends Zend_Controller_Action
{
try{
- $filterID = $this->_request->getParam('filterID');
- $filtertypeID = $this->_request->getParam('filtertypeID');
- echo "<pre>";
- var_dump(array($filterID,$filtertypeID));
- echo "</pre>";
+ $filterentriesID = $this->_request->getParam('filterentriesID');
+
// TODO: ACL implementieren ob er den filter löschen darf
- if(is_numeric($filterID)){
+ if(is_numeric($filterentriesID)){
$deletefilterentry = new Application_Model_FilterEntries();
- $deletefilterentry->setFilterID($filterID);
- $deletefilterentry->setFiltertypeID($filtertypeID);
+ $deletefilterentry->setID($filterentriesID);
+ echo "<pre style='border:1px solid black;background-color:#F5B800'>";
+ print_r($deletefilterentry);
+ echo "</pre>";
$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
+ */
+ }
}
diff --git a/application/models/DbTable/FilterEntries.php b/application/models/DbTable/FilterEntries.php
index 309858d..af90bb4 100644
--- a/application/models/DbTable/FilterEntries.php
+++ b/application/models/DbTable/FilterEntries.php
@@ -4,7 +4,6 @@ class Application_Model_DbTable_FilterEntries extends Zend_Db_Table_Abstract
{
protected $_name = 'pbs_filterentries';
- protected $_primary = array('filterID','filtertypeID');
}
diff --git a/application/models/FilterEntries.php b/application/models/FilterEntries.php
index 59f62e5..ebdbe53 100644
--- a/application/models/FilterEntries.php
+++ b/application/models/FilterEntries.php
@@ -2,6 +2,7 @@
class Application_Model_FilterEntries
{
+ protected $_filterentriesID;
protected $_filterID;
protected $_filtertypeID;
protected $_filtervalue;
@@ -44,7 +45,15 @@ class Application_Model_FilterEntries
return $this;
}
-
+ public function getID()
+ {
+ return $this->_filterentriesID;
+ }
+ public function setID($_filterentriesID)
+ {
+ $this->_filterentriesID = $_filterentriesID;
+ return $this;
+ }
public function getFilterID()
{
return $this->_filterID;
diff --git a/application/models/FilterEntriesMapper.php b/application/models/FilterEntriesMapper.php
index ef2c28f..10fd3f1 100644
--- a/application/models/FilterEntriesMapper.php
+++ b/application/models/FilterEntriesMapper.php
@@ -32,25 +32,22 @@ class Application_Model_FilterEntriesMapper
public function save(Application_Model_FilterEntries $filterentries)
{
try{
- $data = array('filterID'=> $filterentries->getFilterID() ,
+ $data = array( 'filterentriesID'=>$filterentries->getID(),
+ 'filterID'=> $filterentries->getFilterID() ,
'filtertypeID'=> $filterentries->getFiltertypeID() ,
'filtervalue'=> $filterentries->getFiltervalue() ,
'filtervalue2'=> $filterentries->getFiltervalue2() );
$filterentries2 = new Application_Model_FilterEntries();
- $result = $this->find($filterentries->getFilterID(),$filterentries->getFiltertypeID(),$filterentries2);
- echo "<pre style='border:1px solid black;background-color:#F5B800'>";
- print_r(array($filterentries,$filterentries2,$result));
- echo "</pre>";
- $id1 = $filterentries->getFilterID();
- $id2 = $filterentries->getFiltertypeID();
- if (0 == count($result) &&
- null != $id1 &&
- null != $id2) {
+ $result = $this->find($filterentries->getID(),$filterentries2);
+
+ $id1 = $filterentries2->getID();
+
+ if (0 == count($result) && null == $id1) {
$this->getDbTable()->insert($data);
echo 'inserted';
} else {
- print_r($this->getDbTable()->update($data, array('filterID = ?' => $id1, 'filtertypeID = ?' => $id2)));
+ print_r($this->getDbTable()->update($data, array('filterentriesID = ?' => $id1)));
echo 'updated';
}
@@ -62,19 +59,14 @@ class Application_Model_FilterEntriesMapper
public function delete(Application_Model_FilterEntries $filterentries)
{
try{
- $id1 = $filterentries->getFilterID();
- $id2 = $filterentries->getFiltertypeID();
- echo "<pre>";
- echo "-----------\n";
- var_dump(array($id1,$id2));
- echo "</pre>";
- //TODO: Löschen klappt nicht
- if ((null == $id1) && (null == $id2) &&
- $this->getDbTable()->find($filterentries->getFilterID(),$filterentries->getFiltertypeID())) {
+ $id1 = $filterentries->getID();
+
+
+ if ((null == $id1)) {
echo 'case1';
return;
} else {
- $this->getDbTable()->delete(array('filterID = ?' => $id1, 'filtertypeID = ?' => $id2));
+ $this->getDbTable()->delete(array('filterentriesID = ?' => $id1));
echo 'case2';
}
@@ -83,9 +75,9 @@ class Application_Model_FilterEntriesMapper
}
}
- public function find($filterID,$filtertypeID, Application_Model_FilterEntries $filterentries)
+ public function find($filterentriesID, Application_Model_FilterEntries $filterentries)
{
- $result = $this->getDbTable()->find($filterID,$filtertypeID);
+ $result = $this->getDbTable()->find($filterentriesID);
echo 'dump1';
if (0 == count($result)) {
return;
@@ -93,7 +85,8 @@ class Application_Model_FilterEntriesMapper
echo 'dump2';
$row = $result->current();
- $filterentries->setFilterID($row->filterID)
+ $filterentries->setID($row->filterentriesID)
+ ->setFilterID($row->filterID)
->setFiltertypeID($row->filtertypeID)
->setFiltervalue($row->filtervalue)
->setFiltervalue2($row->filtervalue2);
@@ -114,7 +107,11 @@ class Application_Model_FilterEntriesMapper
foreach ($resultSet as $row) {
$entry = new Application_Model_FilterEntries();
- $entry->setFilterID($row->filterID)->setFiltertypeID($row->filtertypeID)->setFiltervalue($row->filtervalue)->setFiltervalue2($row->filtervalue2);
+ $entry->setID($row->filterentriesID)
+ ->setFilterID($row->filterID)
+ ->setFiltertypeID($row->filtertypeID)
+ ->setFiltervalue($row->filtervalue)
+ ->setFiltervalue2($row->filtervalue2);
$entries[] = $entry;
}
diff --git a/application/views/scripts/filter/addfilter.phtml b/application/views/scripts/filter/addfilter.phtml
index 3c87e1e..40b4ccf 100644
--- a/application/views/scripts/filter/addfilter.phtml
+++ b/application/views/scripts/filter/addfilter.phtml
@@ -1,3 +1,3 @@
<?php
-$this->addfilterform->setAction($this->url());
+#$this->addfilterform->setAction($this->url());
echo $this->addfilterform;
diff --git a/application/views/scripts/filter/editfilter.phtml b/application/views/scripts/filter/editfilter.phtml
index e3d1c36..62e9684 100644
--- a/application/views/scripts/filter/editfilter.phtml
+++ b/application/views/scripts/filter/editfilter.phtml
@@ -1,11 +1,6 @@
<h1>Edit Filter</h1>
<?php
-echo "<h2>".$this->filterID."</h2>";
-echo 'test';
-?>
------------
-<?php
-echo
+
$this->editfilterform->setAction($this->url());
diff --git a/application/views/scripts/filter/index.phtml b/application/views/scripts/filter/index.phtml
index 66f3e7f..fb195a3 100644
--- a/application/views/scripts/filter/index.phtml
+++ b/application/views/scripts/filter/index.phtml
@@ -67,8 +67,10 @@ tr.filter{background-color:#DDD;}
$erg = new Application_Model_FilterType();
$filter2->find($filterentry->getFiltertypeID(),$erg);
//name zur ID finden
+ echo "[".$filterentry->getFiltertypeID()."] ";
echo $erg->getFiltertypename();
+
?></td>
<td><?php echo $filterentry->getFiltervalue();?></td>
<td><?php echo $filterentry->getFiltervalue2();?></td>
@@ -76,8 +78,7 @@ tr.filter{background-color:#DDD;}
array(
'controller' => 'filter',
'action' => 'editfilterentry',
- 'filterID' => $filter->getID(),
- 'filtertypeID' => $filterentry->getFiltertypeID()
+ 'filterentriesID' => $filterentry->getID()
),
'default',
true) ?>">edit filterentry</a>
@@ -85,8 +86,7 @@ tr.filter{background-color:#DDD;}
array(
'controller' => 'filter',
'action' => 'removefilterentry',
- 'filterID' => $filter->getID(),
- 'filtertypeID' => $filterentry->getFiltertypeID()
+ 'filterentriesID' => $filterentry->getID()
),
'default',
true) ?>">remove filterentry</a>