diff options
| -rw-r--r-- | .zfproject.xml | 4 | ||||
| -rw-r--r-- | application/controllers/ClientController.php | 33 | ||||
| -rw-r--r-- | application/controllers/FilterController.php | 4 | ||||
| -rw-r--r-- | application/forms/FilterAdd.php | 2 | ||||
| -rw-r--r-- | application/views/scripts/client/index.phtml | 35 | ||||
| -rw-r--r-- | application/views/scripts/client/removeclient.phtml | 1 | ||||
| -rw-r--r-- | pbs-data.sql | 34 |
7 files changed, 103 insertions, 10 deletions
diff --git a/.zfproject.xml b/.zfproject.xml index 372f431..adfe5d7 100644 --- a/.zfproject.xml +++ b/.zfproject.xml @@ -57,6 +57,7 @@ <controllerFile controllerName="Client"> <actionMethod actionName="index"/> <actionMethod actionName="addclient"/> + <actionMethod actionName="removeclient"/> </controllerFile> <controllerFile controllerName="Pool"> <actionMethod actionName="index"/> @@ -238,6 +239,9 @@ <viewControllerScriptsDirectory forControllerName="Client"> <viewScriptFile forActionName="addclient"/> </viewControllerScriptsDirectory> + <viewControllerScriptsDirectory forControllerName="Client"> + <viewScriptFile forActionName="removeclient"/> + </viewControllerScriptsDirectory> </viewScriptsDirectory> <viewHelpersDirectory/> <viewFiltersDirectory enabled="false"/> diff --git a/application/controllers/ClientController.php b/application/controllers/ClientController.php index 6c72fc3..336bf9e 100644 --- a/application/controllers/ClientController.php +++ b/application/controllers/ClientController.php @@ -10,12 +10,39 @@ class ClientController extends Zend_Controller_Action public function indexAction() { - // action body + $clientMapper = new Application_Model_ClientMapper(); + $this->view->clients = $clientMapper->fetchAll(); } public function addclientAction() { - // action body + $mac = $this->_request->getParam('mac'); + $hh = $this->_request->getParam('hh'); + + if($mac != '' && $hh != ''){ + $client = new Application_Model_Client(); + $client->setMacadress($mac); + $client->setHardwarehash($hh); + $clientmapper = new Application_Model_ClientMapper(); + $clientmapper->save($client); + print_a('inserted'); + } + else{ + print_a('no insert'); + } + } + + public function removeclientAction() + { + $clientID = $this->_request->getParam('clientID'); + // TODO: ACL implementieren ob er den filter löschen darf + if(is_numeric($clientID)){ + $removeClient = new Application_Model_Client(); + $removeClient->setID($clientID); + $clientMapper = new Application_Model_ClientMapper(); + $clientMapper->delete($removeClient); + } + $this->_redirect('/client'); } @@ -23,3 +50,5 @@ class ClientController extends Zend_Controller_Action + + diff --git a/application/controllers/FilterController.php b/application/controllers/FilterController.php index ab24ce2..1305689 100644 --- a/application/controllers/FilterController.php +++ b/application/controllers/FilterController.php @@ -25,9 +25,9 @@ class FilterController extends Zend_Controller_Action $this->view->filterentries = $filterentries->fetchAll(); - }catch (Zend_Exception $e) { + }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; - } + } } public function addfilterAction() diff --git a/application/forms/FilterAdd.php b/application/forms/FilterAdd.php index 43efb71..931bfee 100644 --- a/application/forms/FilterAdd.php +++ b/application/forms/FilterAdd.php @@ -21,6 +21,8 @@ class Application_Form_FilterAdd extends Zend_Form 'required' => false, 'label' => 'Description:', )); + // TODO: Add target of Filter + $this->addElement('text', 'priority', array( 'filters' => array('StringTrim'), 'validators' => array( diff --git a/application/views/scripts/client/index.phtml b/application/views/scripts/client/index.phtml index 4f0e6ec..4095a5f 100644 --- a/application/views/scripts/client/index.phtml +++ b/application/views/scripts/client/index.phtml @@ -1 +1,34 @@ -<br /><br /><center>View script for controller <b>Client</b> and script/action name <b>index</b></center>
\ No newline at end of file +<h1>Clients</h1> + +<?php if ($this->clients): ?> + + <!-- A table of filters. --> + <table border=1> + <tr> + <th>clientID</th> + <th>MAC</th> + <th>Hardwarehash</th> + </tr> + <?php foreach ($this->clients as $client): ?> + <tr class='client'> + <td><?php echo $this->escape($client->getID()) ?></td> + <td><?php echo $this->escape($client->getMacadress()) ?></td> + <td><?php echo $this->escape($client->getHardwarehash()) ?></td> + <td><a href="<?php echo $this->url( + array( + 'controller' => 'client', + 'action' => 'removeclient', + 'clientID' => $client->getID() + ), + 'default', + true) ?>">remove client</a></td> + </tr> + <?php endforeach ?> + </table> + +<?php else: ?> + + + <p>There are no clients to display.</p> + +<?php endif;?> diff --git a/application/views/scripts/client/removeclient.phtml b/application/views/scripts/client/removeclient.phtml new file mode 100644 index 0000000..7b5f64f --- /dev/null +++ b/application/views/scripts/client/removeclient.phtml @@ -0,0 +1 @@ +<br /><br /><center>View script for controller <b>Client</b> and script/action name <b>deleteclient</b></center>
\ No newline at end of file diff --git a/pbs-data.sql b/pbs-data.sql index b93c679..e3cef5f 100644 --- a/pbs-data.sql +++ b/pbs-data.sql @@ -11,12 +11,36 @@ INSERT INTO `pbs`.`pbs_filtertype` (`filtertypeID`, `filtertypename`) VALUES (NU INSERT INTO `pbs`.`pbs_filtertype` (`filtertypeID`, `filtertypename`) VALUES (NULL, 'Time'); -- Insert example data for filters - INSERT INTO `pbs`.`pbs_group` (`groupID` ,`title` ,`description`)VALUES (NULL , 'testgruppe1', NULL); INSERT INTO `pbs`.`pbs_person` (`personID`, `title`, `name`, `firstname`, `street`, `housenumber`, `city`, `postalcode`, `logindate`, `registerdate`, `email`, `login`, `password`, `password_salt`) VALUES (NULL, 'Mr.Test', 'te', 'st', NULL, NULL, NULL, NULL, NULL, '', '', 'test', '', ''); INSERT INTO `pbs`.`pbs_role` (`roleID`, `groupID`, `title`, `description`) VALUES (NULL, '1', 'Testrolle', NULL); INSERT INTO `pbs`.`pbs_membership` (`membershipID`, `groupID`, `roleID`, `personID`) VALUES (NULL, '1', '1', '1'); -INSERT INTO `pbs`.`pbs_bootmenu` (`bootmenuID`, `membershipID`, `title`, `time`) VALUES (NULL, '1', 'Bootmenu1', UNIX_TIMESTAMP()); -INSERT INTO `pbs`.`pbs_bootmenu` (`bootmenuID`, `membershipID`, `title`, `time`) VALUES (NULL, '1', 'Bootmenu2', UNIX_TIMESTAMP()); -INSERT INTO `pbs`.`pbs_filter` (`filterID`, `membershipID`, `groupID`, `bootmenuID`, `title`, `description`, `created`, `priority`) VALUES (NULL, '1', '1', '1', 'Regel 1', NULL, UNIX_TIMESTAMP(), '1'); -INSERT INTO `pbs`.`pbs_filter` (`filterID`, `membershipID`, `groupID`, `bootmenuID`, `title`, `description`, `created`, `priority`) VALUES (NULL, '1', '1', '2', 'Regel 2', NULL, UNIX_TIMESTAMP(), '5'); + +INSERT INTO `pbs`.`pbs_bootmenu` (`bootmenuID`, `membershipID`, `groupID`, `title`, `created`) VALUES (NULL, '1', '1', 'Bootmenu 1', UNIX_TIMESTAMP()); +INSERT INTO `pbs`.`pbs_bootmenu` (`bootmenuID`, `membershipID`, `groupID`, `title`, `created`) VALUES (NULL, '1', '1', 'Bootmenu 2', UNIX_TIMESTAMP()); +INSERT INTO `pbs`.`pbs_bootmenu` (`bootmenuID`, `membershipID`, `groupID`, `title`, `created`) VALUES (NULL, '1', '1', 'Bootmenu 3', UNIX_TIMESTAMP()); + +INSERT INTO `pbs`.`pbs_filter` (`filterID`, `membershipID`, `groupID`, `bootmenuID`, `title`, `description`, `created`, `priority`) VALUES (NULL, '1', '1', '1', 'Filter 1', NULL, UNIX_TIMESTAMP(), '1'); +INSERT INTO `pbs`.`pbs_filter` (`filterID`, `membershipID`, `groupID`, `bootmenuID`, `title`, `description`, `created`, `priority`) VALUES (NULL, '1', '1', '2', 'Filter 2', NULL, UNIX_TIMESTAMP(), '5'); +INSERT INTO `pbs`.`pbs_filter` (`filterID`, `membershipID`, `groupID`, `bootmenuID`, `title`, `description`, `created`, `priority`) VALUES (NULL, '1', '1', '2', 'Filter 3', NULL, UNIX_TIMESTAMP(), '9'); + +INSERT INTO `pbs_filterentries` (`filterentriesID`, `filterID`, `filtertypeID`, `filtervalue`, `filtervalue2`) VALUES +(1, 1, 1, '100.100.100.100', '200.200.200.200'), +(3, 1, 7, '08-00', '22-00'), +(4, 2, 7, '08-00', '19-00'), +(5, 3, 7, '12-00', '18-00'), +(6, 3, 2, '00:1e:0b:27:f4:00', '00:1e:0b:27:f4:f0'); + +-- Inser example data for clients and pools +INSERT INTO `pbs_client` (`clientID`, `macadress`, `hardwarehash`) VALUES +(1, '00:1e:0b:27:f4:99', 'ea9b82d9de911bc2d3cd23f53a6cab48'), +(2, '00:10:0a:25:44:69', '1e2b1599710fbbef0dc789e8cfe12455'), +(3, '01:50:2a:24:42:60', '8f6209ca3d6b35e223a11c249d1b69fc'), +(4, '04:34:26:9a:92:90', 'e17ab09f3586464f19629e2e8b1e9a9d'), +(5, '44:74:26:9a:92:90', '9bf70279d283b85440c2031c19bb6812'), +(6, '64:24:26:9a:92:90', 'ad3bce4464a6267441ec144744439c7e'), +(7, '84:94:26:9a:92:90', 'e8d7e80d79f224771b7a3a0af4e02748'), +(8, 'b4:84:26:9a:92:90', 'ded66ce272f384e9e386c1b57ded3e4d'), +(9, '24:64:26:9a:92:90', '695610ee509c060b1fca9c8011529af4'), +(10, '84:34:26:9a:92:90', 'a3562c8cad2a4fa4fc11656025dc911b'); + |
