summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.zfproject.xml4
-rw-r--r--application/controllers/ClientController.php33
-rw-r--r--application/controllers/FilterController.php4
-rw-r--r--application/forms/FilterAdd.php2
-rw-r--r--application/views/scripts/client/index.phtml35
-rw-r--r--application/views/scripts/client/removeclient.phtml1
-rw-r--r--pbs-data.sql34
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');
+