summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon2011-03-19 20:16:16 +0100
committerSimon2011-03-19 20:16:16 +0100
commit57053f41cd6cc755ecccef8d32080f6a34addbe9 (patch)
tree7701a32bdddffe94662fbca3091a5cddd86126ba
parentJeder Filter muss immer einen FilterType mit Gruppe haben (diff)
downloadpbs2-57053f41cd6cc755ecccef8d32080f6a34addbe9.tar.gz
pbs2-57053f41cd6cc755ecccef8d32080f6a34addbe9.tar.xz
pbs2-57053f41cd6cc755ecccef8d32080f6a34addbe9.zip
Filterentry Formular geändert, selectboxen für Client, Membership etc fehlen noch
-rw-r--r--application/modules/user/controllers/FilterController.php54
-rw-r--r--application/modules/user/forms/FilterEntry.php166
2 files changed, 181 insertions, 39 deletions
diff --git a/application/modules/user/controllers/FilterController.php b/application/modules/user/controllers/FilterController.php
index fd1b1a3..a94d5b3 100644
--- a/application/modules/user/controllers/FilterController.php
+++ b/application/modules/user/controllers/FilterController.php
@@ -198,16 +198,20 @@ class User_FilterController extends Zend_Controller_Action
$this->_redirect('/user/filter/index/addresult/error');
}
} else{
- $addform = new user_Form_FilterEntry(array('buttontext' => 'Add Filterentry'),$_POST);
-
- if ($addform->isValid($_POST)) {
+ $addform = new user_Form_FilterEntry(array('buttontext' => 'Add Filterentry', 'data'=>$_POST));
+ if ($addform->isValid($_POST)) {
+ print_a('valid');
$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']));
+ $newfilterenty->setFiltervalue($this->fillup($_POST['filtervalue'],3,'.'));
+ $newfilterenty->setFiltervalue2($this->fillup($_POST['filtervalue2'],3,'.'));
+ }
+ elseif($_POST['filtertypeID'] == 2){
+ $newfilterenty->setFiltervalue($this->fillup($_POST['filtervalue'],2,':'));
+ $newfilterenty->setFiltervalue2($this->fillup($_POST['filtervalue2'],2,':'));
}
else{
$newfilterenty->setFiltervalue($_POST['filtervalue']);
@@ -216,7 +220,7 @@ class User_FilterController extends Zend_Controller_Action
$newfilter2 = new Application_Model_FilterEntriesMapper();
$newfilter2->save($newfilterenty);
- $this->_redirect('/user/filter/index/addresult/ok');
+ #$this->_redirect('/user/filter/index/addresult/ok');
}
$this->view->addform = $addform;
}
@@ -278,9 +282,13 @@ class User_FilterController extends Zend_Controller_Action
$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']));
+ if($_POST['filtertypeID'] == 1){
+ $newfilterenty->setFiltervalue($this->fillup($_POST['filtervalue'],3,'.'));
+ $newfilterenty->setFiltervalue2($this->fillup($_POST['filtervalue2'],3,'.'));
+ }
+ elseif($_POST['filtertypeID'] == 2){
+ $newfilterenty->setFiltervalue($this->fillup($_POST['filtervalue'],2,';'));
+ $newfilterenty->setFiltervalue2($this->fillup($_POST['filtervalue2'],2,':'));
}
else{
$newfilterenty->setFiltervalue($_POST['filtervalue']);
@@ -376,28 +384,14 @@ class User_FilterController extends Zend_Controller_Action
$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);
+ private function fillup($string, $length, $seperator=':',$sign='0'){
+ $ar = explode($seperator,$string);
+ $representation = array();
+ foreach($ar as $part){
+ $representation[] = sprintf("%".$sign.$length."s",$part);
+ }
+ return implode($seperator,$representation);
}
-
-
}
diff --git a/application/modules/user/forms/FilterEntry.php b/application/modules/user/forms/FilterEntry.php
index 21ceb93..24f1861 100644
--- a/application/modules/user/forms/FilterEntry.php
+++ b/application/modules/user/forms/FilterEntry.php
@@ -33,70 +33,218 @@ class user_Form_FilterEntry extends Zend_Form
$desc = "Select the filtertype";
$label1 = 'Value 1:';
$label2 = 'Value 2:';
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'id' => 'val1'
+ ));
+ $filtervalue2 = $this->createElement('text', 'filtervalue2', array(
+ 'label' => $label2,
+ 'id' => 'val2'
+ ));
break;
case "1":
$desc = "You can set one IP or an IP-Range";
$label1 = 'Start:';
$label2 = 'End:';
+
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'validators' => array(
+ array(
+ 'regex',
+ false,
+ array(
+ '/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/i',
+ 'messages' => array(
+ Zend_Validate_Regex::NOT_MATCH => "'%value%' is not a valid IP-Adress",
+ Zend_Validate_Regex::INVALID => 'IP-Adress contains invalid characters.'
+ )
+ )
+ )
+ ),
+ 'required' => true,
+ 'id' => 'val1'
+ ));
+ $filtervalue2 = $this->createElement('text', 'filtervalue2', array(
+ 'label' => $label2,
+ 'validators' => array(
+ array(
+ 'regex',
+ false,
+ array(
+ '/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/i',
+ 'messages' => array(
+ Zend_Validate_Regex::NOT_MATCH => "'%value%' is not a valid IP-Adress",
+ Zend_Validate_Regex::INVALID => 'IP-Adress contains invalid characters.'
+ )
+ )
+ )
+ ),
+ 'required' => true,
+ 'id' => 'val2'
+ ));
break;
case "2":
$desc = "You can set one Mac-Adress or an Mac-Range";
$label1 = 'Start:';
$label2 = 'End:';
+
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'validators' => array(
+ array(
+ 'regex',
+ false,
+ array(
+ '/^[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}$/i',
+ 'messages' => array(
+ Zend_Validate_Regex::NOT_MATCH => "'%value%' is not a valid Mac-Adress",
+ Zend_Validate_Regex::INVALID => 'Mac-Adress contains invalid characters.'
+ )
+ )
+ )
+ ),
+ 'required' => true,
+ 'id' => 'val1'
+ ));
+ $filtervalue2 = $this->createElement('text', 'filtervalue2', array(
+ 'label' => $label2,
+ 'validators' => array(
+ array(
+ 'regex',
+ false,
+ array(
+ '/^[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}:[0-9A-F]{2}$/i',
+ 'messages' => array(
+ Zend_Validate_Regex::NOT_MATCH => "'%value%' is not a valid Mac-Adress",
+ Zend_Validate_Regex::INVALID => 'Mac-Adress contains invalid characters.'
+ )
+ )
+ )
+ ),
+ 'required' => true,
+ 'id' => 'val2'
+ ));
break;
case "3":
$desc = "Select your Pool";
$label1 = 'PoolID:';
+
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'required' => true,
+ 'id' => 'val1'
+ ));
break;
case "4":
$desc = "Select your BootIso";
$label1 = 'BootIsoID:';
+
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'required' => true,
+ 'id' => 'val1'
+ ));
break;
case "5":
$desc = "Select a Membership";
$label1 = 'Membership:';
+
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'required' => true,
+ 'id' => 'val1'
+ ));
break;
case "6":
$desc = "Select a Group";
$label1 = 'Group:';
+
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'required' => true,
+ 'id' => 'val1'
+ ));
break;
case "7":
$desc = "Specify a time-range";
$label1 = 'Start:';
$label2 = 'End:';
+
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'required' => true,
+ 'id' => 'val1'
+ ));
+ $filtervalue2 = $this->createElement('text', 'filtervalue2', array(
+ 'label' => $label2,
+ 'required' => true,
+ 'id' => 'val2'
+ ));
break;
case "8":
$desc = "Select a Client";
$label1 = 'Client:';
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'required' => true,
+ 'id' => 'val1'
+ ));
break;
case "9":
$desc = "Define a Hardwarehash";
$label1 = 'Hardwarehash:';
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(32, 32)),
+ ),
+ 'required' => true,
+ 'id' => 'val1'
+ ));
break;
case "10":
$desc = "Specify the Weekday (Monday:1, Tuesday:2 ... Sunday:7) or a range";
$label1 = 'Start Day:';
$label2 = 'End Day:';
+
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'required' => true,
+ 'id' => 'val1'
+ ));
+ $filtervalue2 = $this->createElement('text', 'filtervalue2', array(
+ 'label' => $label2,
+ 'required' => true,
+ 'id' => 'val2'
+ ));
break;
case "11":
$desc = "Specify the date or a day range of the filter";
$label1 = 'Start Date:';
$label2 = 'End Date:';
+
+ $filtervalue1 = $this->createElement('text', 'filtervalue', array(
+ 'label' => $label1,
+ 'required' => true,
+ 'id' => 'val1'
+ ));
+ $filtervalue2 = $this->createElement('text', 'filtervalue2', array(
+ 'label' => $label2,
+ 'required' => true,
+ 'id' => 'val2'
+ ));
break;
}
$filtertypes->setDescription($desc);
$this->addElement($filtertypes);
- $this->addElement('text', 'filtervalue', array(
- 'label' => $label1,
- 'id' => 'val1'
- ));
- if(!in_array($filterentryID,array(3,4,5,6,8,9))){
- $this->addElement('text', 'filtervalue2', array(
- 'label' => $label2,
- 'id' => 'val2'
- ));
+
+ $this->addElement($filtervalue1);
+ if(isset($filtervalue2 )){
+ $this->addElement($filtervalue2);
}
$this->addElement('submit', 'add', array(