summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.zfproject.xml404
-rw-r--r--application/models/FilterMapper.php16
-rw-r--r--application/modules/user/controllers/AuthController.php196
-rw-r--r--application/modules/user/controllers/FilterController.php196
-rw-r--r--application/modules/user/forms/FilterEntry.php194
-rw-r--r--application/modules/user/forms/Login.php27
-rw-r--r--application/modules/user/forms/RecoverPassword.php28
-rw-r--r--application/modules/user/forms/Register.php105
-rw-r--r--application/modules/user/views/scripts/auth/login.phtml5
-rw-r--r--application/modules/user/views/scripts/auth/recoverpassword.phtml4
-rw-r--r--application/modules/user/views/scripts/auth/register.phtml4
-rw-r--r--pbs.sql2
-rw-r--r--send-post.html41
13 files changed, 1089 insertions, 133 deletions
diff --git a/.zfproject.xml b/.zfproject.xml
index 87bdf17..1eb61e7 100644
--- a/.zfproject.xml
+++ b/.zfproject.xml
@@ -117,33 +117,7 @@
<actionMethod actionName="index"/>
</controllerFile>
</controllersDirectory>
- <formsDirectory>
- <formFile formName="AuthLogin"/>
- <formFile formName="AuthRegister"/>
- <formFile formName="FilterAdd"/>
- <formFile formName="FilterEntriesAdd"/>
- <formFile formName="BootosCreate"/>
- <formFile formName="BootosEdit"/>
- <formFile formName="ConfigCreate"/>
- <formFile formName="ConfigEdit"/>
- <formFile formName="BootmenuCreate"/>
- <formFile formName="BootmenuEdit"/>
- <formFile formName="BootmenuEntriesAdd"/>
- <formFile formName="BootmenuEntriesEdit"/>
- <formFile formName="BootisoCreate"/>
- <formFile formName="BootisoEdit"/>
- <formFile formName="Pool"/>
- <formFile formName="PoolClient"/>
- <formFile formName="Client"/>
- <formFile formName="Session"/>
- <formFile formName="AuthRecoverPassword"/>
- <formFile formName="PersonEdit"/>
- <formFile formName="GroupRequest"/>
- <formFile formName="GroupAdd"/>
- <formFile formName="FilterEvaluate"/>
- <formFile formName="GroupLink"/>
- <formFile formName="GroupEdit"/>
- </formsDirectory>
+ <formsDirectory enabled="false"/>
<layoutsDirectory enabled="false"/>
<modelsDirectory>
<dbTableDirectory>
@@ -228,6 +202,11 @@
</controllerFile>
<controllerFile controllerName="Auth">
<actionMethod actionName="index"/>
+ <actionMethod actionName="login"/>
+ <actionMethod actionName="logout"/>
+ <actionMethod actionName="register"/>
+ <actionMethod actionName="delete"/>
+ <actionMethod actionName="recoverpassword"/>
</controllerFile>
<controllerFile controllerName="Person">
<actionMethod actionName="index"/>
@@ -281,6 +260,9 @@
<formFile formName="PoolClient"/>
<formFile formName="Filter"/>
<formFile formName="FilterEntry"/>
+ <formFile formName="AuthLogin"/>
+ <formFile formName="Register"/>
+ <formFile formName="RecoverPassword"/>
</formsDirectory>
<layoutsDirectory enabled="false"/>
<modelsDirectory>
@@ -366,10 +348,23 @@
<viewControllerScriptsDirectory forControllerName="Filter">
<viewScriptFile forActionName="removefilterentry"/>
</viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Auth">
+ <viewScriptFile forActionName="login"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Auth">
+ <viewScriptFile forActionName="register"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Auth">
+ <viewScriptFile forActionName="delete"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Auth">
+ <viewScriptFile forActionName="recoverpassword"/>
+ </viewControllerScriptsDirectory>
</viewScriptsDirectory>
<viewHelpersDirectory/>
<viewFiltersDirectory/>
</viewsDirectory>
+ <bootstrapFile filesystemName="Bootstrap.php"/>
</moduleDirectory>
<moduleDirectory moduleName="fbgui">
<apisDirectory enabled="false"/>
@@ -393,21 +388,363 @@
<viewHelpersDirectory/>
<viewFiltersDirectory/>
</viewsDirectory>
+ <bootstrapFile filesystemName="Bootstrap.php"/>
</moduleDirectory>
<moduleDirectory moduleName="dev">
<apisDirectory enabled="false"/>
<configsDirectory enabled="false"/>
- <controllersDirectory/>
- <formsDirectory enabled="false"/>
+ <controllersDirectory>
+ <controllerFile controllerName="Index">
+ <actionMethod actionName="index"/>
+ </controllerFile>
+ <controllerFile controllerName="Error"/>
+ <controllerFile controllerName="Auth">
+ <actionMethod actionName="login"/>
+ <actionMethod actionName="register"/>
+ <actionMethod actionName="logout"/>
+ <actionMethod actionName="recoverpassword"/>
+ <actionMethod actionName="delete"/>
+ <actionMethod actionName="index"/>
+ </controllerFile>
+ <controllerFile controllerName="Person">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="show"/>
+ <actionMethod actionName="edit"/>
+ <actionMethod actionName="request"/>
+ <actionMethod actionName="leave"/>
+ </controllerFile>
+ <controllerFile controllerName="Filter">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="addfilter"/>
+ <actionMethod actionName="removefilter"/>
+ <actionMethod actionName="editfilter"/>
+ <actionMethod actionName="addfilterentry"/>
+ <actionMethod actionName="editfilterentry"/>
+ <actionMethod actionName="evaluate"/>
+ <actionMethod actionName="fillIP"/>
+ <actionMethod actionName="removefilterentry"/>
+ <actionMethod actionName="testevaluate"/>
+ </controllerFile>
+ <controllerFile controllerName="Bootos">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="createbootos"/>
+ <actionMethod actionName="editbootos"/>
+ <actionMethod actionName="deletebootos"/>
+ </controllerFile>
+ <controllerFile controllerName="Config">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="createconfig"/>
+ <actionMethod actionName="editconfig"/>
+ <actionMethod actionName="deleteconfig"/>
+ </controllerFile>
+ <controllerFile controllerName="Bootmenu">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="addbootmenuentry"/>
+ <actionMethod actionName="createbootmenu"/>
+ <actionMethod actionName="editbootmenu"/>
+ <actionMethod actionName="editbootmenuentry"/>
+ <actionMethod actionName="removebootmenuentry"/>
+ <actionMethod actionName="deletebootmenu"/>
+ </controllerFile>
+ <controllerFile controllerName="Client">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="addclient"/>
+ <actionMethod actionName="removeclient"/>
+ <actionMethod actionName="editclient"/>
+ </controllerFile>
+ <controllerFile controllerName="Pool">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="createpool"/>
+ <actionMethod actionName="deletepool"/>
+ <actionMethod actionName="editpool"/>
+ <actionMethod actionName="linkclient"/>
+ <actionMethod actionName="unlinkclient"/>
+ </controllerFile>
+ <controllerFile controllerName="Bootiso">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="createbootiso"/>
+ <actionMethod actionName="editbootiso"/>
+ <actionMethod actionName="deletebootiso"/>
+ </controllerFile>
+ <controllerFile controllerName="Session">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="createsession"/>
+ <actionMethod actionName="editsession"/>
+ <actionMethod actionName="deletesession"/>
+ </controllerFile>
+ <controllerFile controllerName="Resource">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="getinitramfs"/>
+ <actionMethod actionName="getconfig"/>
+ <actionMethod actionName="getkernel"/>
+ <actionMethod actionName="getkcl"/>
+ <actionMethod actionName="getbootmenuentry"/>
+ </controllerFile>
+ <controllerFile controllerName="Group">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="add"/>
+ <actionMethod actionName="edit"/>
+ <actionMethod actionName="show"/>
+ <actionMethod actionName="link"/>
+ <actionMethod actionName="delete"/>
+ <actionMethod actionName="grantperson"/>
+ <actionMethod actionName="revokeperson"/>
+ </controllerFile>
+ <controllerFile controllerName="Role">
+ <actionMethod actionName="index"/>
+ <actionMethod actionName="add"/>
+ <actionMethod actionName="edit"/>
+ <actionMethod actionName="show"/>
+ <actionMethod actionName="delete"/>
+ <actionMethod actionName="linkright"/>
+ <actionMethod actionName="unlinkright"/>
+ </controllerFile>
+ </controllersDirectory>
+ <formsDirectory>
+ <formFile formName="AuthLogin"/>
+ <formFile formName="AuthRegister"/>
+ <formFile formName="FilterAdd"/>
+ <formFile formName="FilterEntriesAdd"/>
+ <formFile formName="BootosCreate"/>
+ <formFile formName="BootosEdit"/>
+ <formFile formName="ConfigCreate"/>
+ <formFile formName="ConfigEdit"/>
+ <formFile formName="BootmenuCreate"/>
+ <formFile formName="BootmenuEdit"/>
+ <formFile formName="BootmenuEntriesAdd"/>
+ <formFile formName="BootmenuEntriesEdit"/>
+ <formFile formName="BootisoCreate"/>
+ <formFile formName="BootisoEdit"/>
+ <formFile formName="Pool"/>
+ <formFile formName="PoolClient"/>
+ <formFile formName="Client"/>
+ <formFile formName="Session"/>
+ <formFile formName="AuthRecoverPassword"/>
+ <formFile formName="PersonEdit"/>
+ <formFile formName="GroupRequest"/>
+ <formFile formName="GroupAdd"/>
+ <formFile formName="FilterEvaluate"/>
+ <formFile formName="GroupLink"/>
+ <formFile formName="GroupEdit"/>
+ </formsDirectory>
<layoutsDirectory enabled="false"/>
<modelsDirectory>
<dbTableDirectory enabled="false"/>
</modelsDirectory>
<viewsDirectory>
- <viewScriptsDirectory/>
- <viewHelpersDirectory/>
- <viewFiltersDirectory/>
+ <viewScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Index">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Error">
+ <viewScriptFile forActionName="error"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Auth">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Auth">
+ <viewScriptFile forActionName="login"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Auth">
+ <viewScriptFile forActionName="register"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Person">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Auth">
+ <viewScriptFile forActionName="recoverpassword"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Auth">
+ <viewScriptFile forActionName="deleteAccount"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Filter">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Filter">
+ <viewScriptFile forActionName="addfilter"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Filter">
+ <viewScriptFile forActionName="editfilter"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootos">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Index">
+ <viewScriptFile forActionName="createbootos"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootos">
+ <viewScriptFile forActionName="createbootos"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootos">
+ <viewScriptFile forActionName="editbootos"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Filter">
+ <viewScriptFile forActionName="addfilterentry"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Filter">
+ <viewScriptFile forActionName="editfilterentry"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Config">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Config">
+ <viewScriptFile forActionName="createconfig"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Config">
+ <viewScriptFile forActionName="editconfig"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootmenu">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootmenu">
+ <viewScriptFile forActionName="createbootmenu"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootmenu">
+ <viewScriptFile forActionName="editbootmenu"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootmenu">
+ <viewScriptFile forActionName="addbootmenuentry"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootmenu">
+ <viewScriptFile forActionName="editbootmenuentry"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Client">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Pool">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Client">
+ <viewScriptFile forActionName="addclient"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Client">
+ <viewScriptFile forActionName="removeclient"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Pool">
+ <viewScriptFile forActionName="createpool"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Pool">
+ <viewScriptFile forActionName="deletepool"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Pool">
+ <viewScriptFile forActionName="editpool"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootiso">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootiso">
+ <viewScriptFile forActionName="createbootiso"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Bootiso">
+ <viewScriptFile forActionName="editbootiso"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Pool">
+ <viewScriptFile forActionName="linkclient"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Pool">
+ <viewScriptFile forActionName="unlinkclient"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Client">
+ <viewScriptFile forActionName="editclient"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Session">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Session">
+ <viewScriptFile forActionName="createsession"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Session">
+ <viewScriptFile forActionName="editsession"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Session">
+ <viewScriptFile forActionName="deletesession"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Auth">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Person">
+ <viewScriptFile forActionName="show"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Person">
+ <viewScriptFile forActionName="edit"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Person">
+ <viewScriptFile forActionName="request"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Person">
+ <viewScriptFile forActionName="leave"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Group">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Group">
+ <viewScriptFile forActionName="add"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Group">
+ <viewScriptFile forActionName="edit"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Group">
+ <viewScriptFile forActionName="show"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Group">
+ <viewScriptFile forActionName="link"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Group">
+ <viewScriptFile forActionName="delete"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Group">
+ <viewScriptFile forActionName="grantperson"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Group">
+ <viewScriptFile forActionName="revokeperson"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Role">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Role">
+ <viewScriptFile forActionName="add"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Role">
+ <viewScriptFile forActionName="edit"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Role">
+ <viewScriptFile forActionName="show"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Role">
+ <viewScriptFile forActionName="delete"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Role">
+ <viewScriptFile forActionName="linkright"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Role">
+ <viewScriptFile forActionName="unlinkright"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Filter">
+ <viewScriptFile forActionName="testevaluate"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Resource">
+ <viewScriptFile forActionName="getbootmenuentry"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Resource">
+ <viewScriptFile forActionName="index"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Resource">
+ <viewScriptFile forActionName="getinitramfs"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Resource">
+ <viewScriptFile forActionName="getconfig"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Resource">
+ <viewScriptFile forActionName="getkernel"/>
+ </viewControllerScriptsDirectory>
+ <viewControllerScriptsDirectory forControllerName="Resource">
+ <viewScriptFile forActionName="getkcl"/>
+ </viewControllerScriptsDirectory>
+ </viewScriptsDirectory>
+ <viewHelpersDirectory/>
+ <viewFiltersDirectory/>
</viewsDirectory>
+ <bootstrapFile filesystemName="Bootstrap.php"/>
</moduleDirectory>
</modulesDirectory>
<viewsDirectory>
@@ -629,8 +966,9 @@
<viewScriptFile forActionName="index"/>
</viewControllerScriptsDirectory>
</viewScriptsDirectory>
+ <viewScriptsDirectory/>
<viewHelpersDirectory/>
- <viewFiltersDirectory enabled="false"/>
+ <viewFiltersDirectory/>
</viewsDirectory>
<bootstrapFile filesystemName="Bootstrap.php"/>
</applicationDirectory>
diff --git a/application/models/FilterMapper.php b/application/models/FilterMapper.php
index 1e83da6..92900b0 100644
--- a/application/models/FilterMapper.php
+++ b/application/models/FilterMapper.php
@@ -47,16 +47,20 @@ class Application_Model_FilterMapper
public function save(Application_Model_Filter $filter)
{
- $data = array('filterID'=> $filter->getID() ,'membershipID'=> $filter->getMembershipID() ,'groupID'=> $filter->getGroupID() ,'bootmenuID'=> $filter->getBootmenuID() ,'title'=> $filter->getTitle() ,'description'=> $filter->getDescription() ,'created'=> $filter->getCreated() ,'priority'=> $filter->getPriority() );
- echo "<pre>";
- print_r(array('woot',$filter->getID()));
- echo "</pre>";
+ $data = array('filterID'=> $filter->getID() ,
+ 'membershipID'=> $filter->getMembershipID() ,
+ 'groupID'=> $filter->getGroupID() ,
+ 'bootmenuID'=> $filter->getBootmenuID() ,
+ 'title'=> $filter->getTitle() ,
+ 'description'=> $filter->getDescription() ,
+ 'created'=> $filter->getCreated() ,
+ 'priority'=> $filter->getPriority() );
if (null === ($id = $filter->getID()) ) {
unset($data['filterID']);
- $this->getDbTable()->insert($data);
+ return $this->getDbTable()->insert($data);
} else {
- $this->getDbTable()->update($data, array('filterID = ?' => $id));
+ return $this->getDbTable()->update($data, array('filterID = ?' => $id));
}
}
diff --git a/application/modules/user/controllers/AuthController.php b/application/modules/user/controllers/AuthController.php
index 80a411d..ff5893f 100644
--- a/application/modules/user/controllers/AuthController.php
+++ b/application/modules/user/controllers/AuthController.php
@@ -3,25 +3,179 @@
class User_AuthController extends Zend_Controller_Action
{
- public function init()
- {
- /* Initialize action controller here */
- }
-
- public function indexAction()
- {
- // action body
- $membershipID = $this->_request->getParam('membershipID');
- if($membershipID == ''){
- $_SESSION['membershipID'] = 1;
- }
- else{
- $_SESSION['membershipID'] = $membershipID;
- }
- $pbsNotifier = new Pbs_Notifier();
- echo $pbsNotifier->notify("membershipID is set to ".$_SESSION['membershipID'],'ok');
- }
-
-
-}
+ protected $personmapper = null;
+ private $db = null;
+
+ public function init()
+ {
+ $this->db = Zend_Db_Table::getDefaultAdapter();
+ $this->personmapper = new Application_Model_PersonMapper();
+ }
+
+ public function indexAction()
+ {
+ // action body
+ $membershipID = $this->_request->getParam('membershipID');
+ if($membershipID == ''){
+ $_SESSION['membershipID'] = 1;
+ }
+ else{
+ $_SESSION['membershipID'] = $membershipID;
+ }
+ $pbsNotifier = new Pbs_Notifier();
+ echo $pbsNotifier->notify("membershipID is set to ".$_SESSION['membershipID'],'ok');
+ }
+
+ public function loginAction()
+ {
+ if (Zend_Auth::getInstance()->hasIdentity()) {
+ $this->_redirect('/user/');
+ } else {
+ if (!isset($_POST["login"])){
+ $loginForm = new user_Form_Login();
+ } else {
+ $loginForm = new user_Form_Login($_POST);
+
+ if ($loginForm->isValid($_POST)) {
+
+ $auth = Zend_Auth::getInstance();
+
+ $adapter = new Zend_Auth_Adapter_DbTable(
+ $this->db,
+ 'pbs_person',
+ 'email',
+ 'password',
+ 'MD5(CONCAT(?, password_salt))'
+ );
+
+
+ $adapter->setIdentity($loginForm->getValue('email'));
+ $adapter->setCredential($loginForm->getValue('password'));
+
+ $result = $auth->authenticate($adapter);
+
+ // TODO: erweiterte fehlerbeschreibung des Users
+
+ if ($result->isValid()) {
+ $this->personmapper = new Application_Model_PersonMapper();
+ $result = $this->personmapper->findBy('email', Zend_Auth::getInstance()->getIdentity());
+ $person = new Application_Model_Person($result[0]);
+ $person->setID($result[0]['personID']);
+ $date = new DateTime();
+ $person->setLogindate($date->getTimestamp());
+ $this->personmapper->save($person);
+ $this->_redirect('/user/');
+ return;
+ } else {
+ echo "Wrong Email or Password.";
+ }
+ }
+ }
+ $this->view->loginForm = $loginForm;
+ }
+ }
+
+ public function logoutAction()
+ {
+ $this->_helper-> viewRenderer-> setNoRender();
+ $auth = Zend_Auth::getInstance();
+ $auth->clearIdentity();
+ $this->_helper->redirector('login', 'auth');
+ return;
+ }
+
+ public function registerAction()
+ {
+ if (Zend_Auth::getInstance()->hasIdentity()) {
+ print_a('Already logged in.');
+ } else {
+ if (!isset($_POST["register"])){
+ $registerForm = new user_Form_Register();
+ } else {
+ $registerForm = new user_Form_Register($_POST);
+
+ if ($registerForm->isValid($_POST)) {
+
+ $person = new Application_Model_Person($_POST);
+ $this->personmapper = new Application_Model_PersonMapper();
+
+ $date = new DateTime();
+ $person->setRegisterdate($date->getTimestamp());
+ $person->setPasswordSalt(MD5($date->getTimestamp()));
+ $person->setPassword(MD5($person->getPassword() . $person->getPasswordSalt()));
+ print_a($person);
+ try {
+ $this->personmapper->save($person);
+ }catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ echo "Email Address already existing..";
+ return;
+ }
+ echo "Successfully registered. <br/>";
+ echo "Continue to Login: <a href=\""."/dev/auth/login"."\">Login</a>";
+ $this->_helper->redirector('login', 'auth');
+ return;
+ }
+ }
+ $this->view->registerForm = $registerForm;
+ }
+ }
+
+ public function deleteAction()
+ {
+ $this->_helper-> viewRenderer-> setNoRender();
+ $result = $this->personmapper->findBy('email', Zend_Auth::getInstance()->getIdentity());
+ $person = $result[0];
+ $personID = $person["personID"];
+ if (isset($personID)){
+ $this->personmapper = new Application_Model_PersonMapper();
+ $person = $this->personmapper->find($personID);
+ try {
+ $this->personmapper->delete($person);
+ }catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ $auth = Zend_Auth::getInstance();
+ $auth->clearIdentity();
+ $this->_helper->redirector('login', 'auth');
+ return;
+ }
+ }
+
+ public function recoverpasswordAction()
+ {
+ if (!isset($_POST["recoverPassword"])){
+ $recoverPasswordForm = new user_Form_RecoverPassword();
+ } else {
+ $recoverPasswordForm = new user_Form_RecoverPassword($_POST);
+ # Wiederherstellung funktioniert noch nicht!!!
+ /*if ($recoverPasswordForm->isValid($_POST)) {
+ $recoverPasswordForm->getView()->url();
+ $person = new Application_Model_Person($_POST);
+ $this->personmapper = new Application_Model_PersonMapper();
+
+ $result = $this->personmapper->findBy('email', $_POST['email']);
+ $email = $result[0]['email'];
+ $name = $result[0]['firstname'] . ' ' . $result[0]['name'];
+ $url = $this->getRequest()->getScheme() . '://' . $this->getRequest()->getHttpHost() . $this->view->url();
+ $recoverid = $this->random(100);
+ $mailbody = 'Um das Passwort zu ändern klicken Sie auf folgenden Link<br /><br /><a href="'. $url . '/auth/recoverpassword/?recoverid='. $recoverid . '">Passwort ändern</a>';
+ $mail = new Zend_Mail();
+ $mail->setBodyHtml($mailbody, 'utf8');
+ $mail->getBodyHtml()->getContent();
+ $mail->setFrom('admin@local', 'Admin');
+ $mail->addTo($email, $name);
+ $mail->setSubject('Password Wiederherstellung Preboot Server');
+ $mail->send();
+ }
+ */
+ }
+ $this->view->recoverPasswordForm = $recoverPasswordForm;
+ }
+} \ No newline at end of file
diff --git a/application/modules/user/controllers/FilterController.php b/application/modules/user/controllers/FilterController.php
index 3a14865..444a33a 100644
--- a/application/modules/user/controllers/FilterController.php
+++ b/application/modules/user/controllers/FilterController.php
@@ -74,7 +74,15 @@ class User_FilterController extends Zend_Controller_Action
$newfilter->setGroupID($this->membership->getGroupID());
$newfilter->setMembershipID($this->membership->getID());
$newfilter2 = new Application_Model_FilterMapper();
- $newfilter2->save($newfilter);
+ $id = $newfilter2->save($newfilter);
+
+ $filterentriesMapper = new Application_Model_FilterEntriesMapper();
+ $filterentry = new Application_Model_FilterEntries();
+ $filterentry->setFilterID($id);
+ $filterentry->setFiltertypeID(6);
+ $filterentry->setFiltervalue($this->membership->getGroupID());
+ $filterentriesMapper->save($filterentry);
+
$this->_redirect('/user/filter/index/addresult/ok');
}catch (Zend_Exception $e) {
echo "Error message 2: " . $e->getMessage() . "\n";
@@ -166,6 +174,49 @@ class User_FilterController extends Zend_Controller_Action
}
}
}
+
+ // $parent is the parent of the children we want to see
+ // $level is increased when we go deeper into the tree
+ private function display_children($parent, $level, &$data) {
+ // retrieve all children of $parent
+ $result = mysql_query('SELECT groupID FROM pbs_groupgroups '.
+ 'WHERE parentID="'.$parent.'";');
+
+ // display each child
+ while ($row = mysql_fetch_array($result)) {
+ // indent and display the title of this child
+ $data[$level][] = str_repeat(' ',$level).$row['title'];
+
+ // call this function again to display this
+ // child's children
+ $data = display_children($row['title'], $level+1,$data);
+ }
+ return $data;
+ }
+
+ private function prepareFormData(){
+ $poolMapper = new Application_Model_PoolMapper();
+ $pools = $poolMapper->findBY('groupID',$this->membership->getGroupID());
+
+ $bootisoMapper = new Application_Model_BootIsoMapper();
+ $bootisos = $bootisoMapper->findBY('groupID',$this->membership->getGroupID());
+
+ $membershipMapper = new Application_Model_MembershipMapper();
+ $memberships = $membershipMapper->findBY('groupID',$this->membership->getGroupID());
+
+ // TODO: get all child groups
+ $grouppMapper = new Application_Model_GroupMapper();
+ $groups = $grouppMapper->findBY('groupID',$this->membership->getGroupID());
+
+ $clientMapper = new Application_Model_ClientMapper();
+ $clients = $clientMapper->findBY('groupID',$this->membership->getGroupID());
+
+ return array ( 'clients' => $clients,
+ 'memberships' => $memberships,
+ 'bootisos' => $bootisos,
+ 'pools' => $pools);
+
+ }
public function addfilterentryAction()
{
@@ -175,14 +226,16 @@ class User_FilterController extends Zend_Controller_Action
$filter = new Application_Model_Filter();
$filterMapper->find($filterID,$filter);
+ $selectData = $this->prepareFormData();
+
if($filter->getGroupID() == $this->membership->getGroupID()){
if (!isset($_POST["add"])){
try{
- $addform = new user_Form_FilterEntry(
- array( 'buttontext' => 'Add Filterentry',
- 'filterID' => $filterID,
- 'data' => $_POST
- ));
+ $addform = new user_Form_FilterEntry(array( 'buttontext' => 'Add Filterentry',
+ 'filterID' => $filterID,
+ 'selectData' => $selectData,
+ 'data' => $_POST
+ ));
$addform->populate($_POST);
$this->view->addform = $addform;
}catch (Zend_Exception $e) {
@@ -190,20 +243,29 @@ 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',
+ 'selectData' => $selectData,
+ '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']);
- $newfilterenty->setFiltervalue2($_POST['filtervalue2']);
+ if(isset($_POST['filtervalue2'])){
+ $newfilterenty->setFiltervalue2($_POST['filtervalue2']);
+ }
}
$newfilter2 = new Application_Model_FilterEntriesMapper();
@@ -221,6 +283,7 @@ class User_FilterController extends Zend_Controller_Action
public function editfilterentryAction()
{
//TODO: ACL: is he allowed to edit filterentrys ?
+ $selectData = $this->prepareFormData();
if (!isset($_POST["add"])){
try{
$filterentriesID = $this->_request->getParam('filterentriesID');
@@ -237,10 +300,10 @@ class User_FilterController extends Zend_Controller_Action
$filterentry->setFiltertypeID($_POST['filtertypeID']) ;
}
$data = $filterentry->toArray();
- # print_a($data);
- $editfilterform = new user_Form_FilterEntry(
- array('buttontext' => 'Edit Filterentry',
- 'data' => $data));
+ $editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry',
+ 'selectData' => $selectData,
+ 'data' => $data
+ ));
$editfilterform->populate($filterentry->toArray());
$this->view->editfilterform = $editfilterform;
@@ -255,7 +318,10 @@ class User_FilterController extends Zend_Controller_Action
} else{
try{
$filterentriesID = $this->_request->getParam('filterentriesID');
- $editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry'),$_POST);
+ $editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry',
+ 'selectData' => $selectData,
+ 'data' => $_POST
+ ));
if ($editfilterform->isValid($_POST)) {
$filterentry = new Application_Model_FilterEntries();
$filterentriesmapper = new Application_Model_FilterEntriesMapper();
@@ -265,22 +331,47 @@ class User_FilterController extends Zend_Controller_Action
$filter = new Application_Model_Filter();
$filterMapper->find($filterentry->getFilterID(),$filter);
- if($filter->getGroupID() == $this->membership->getGroupID()){
+ if($filter->getGroupID() == $this->membership->getGroupID()){
if($_POST['filterID'] == '')
unset($_POST['filterID']);
+
$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']);
$newfilterenty->setFiltervalue2($_POST['filtervalue2']);
}
- $newfilter2 = new Application_Model_FilterEntriesMapper();
- $newfilter2->save($newfilterenty);
- $this->_redirect('/user/filter/index/modifyresult/ok');
+
+ // check if it's the last groupID filterentry
+ $allFilters = $filterentriesmapper->findBy('filterID',$filterentry->getFilterID());
+ $lastfilter = true;
+ foreach($allFilters as $thisFilterentry){
+ if($thisFilterentry['filtertypeID'] == 6 && $thisFilterentry['filterentriesID'] != $filterentriesID){
+ // one other filter with a groupID exists
+ $lastfilter = false;
+ }
+ if($newfilterenty->getFiltertypeID() == 6){
+ // this filter will be a GroupFilter
+ $lastfilter = false;
+ }
+ }
+ if($lastfilter){
+ $pbsNotifier = new Pbs_Notifier();
+ echo $pbsNotifier->notify('You cannot modify the last GroupFilter','forbidden');
+ }
+ else{
+ $newfilter2 = new Application_Model_FilterEntriesMapper();
+ $newfilter2->save($newfilterenty);
+ $this->_redirect('/user/filter/index/modifyresult/ok');
+ }
}
else{
$this->_redirect('/user/filter/index/modifyresult/forbidden');
@@ -309,14 +400,31 @@ class User_FilterController extends Zend_Controller_Action
$filterMapper->find($filterID,$filter);
if($filter->getGroupID() == $this->membership->getGroupID()){
- try{
+ try{
$deletefilterentry = new Application_Model_FilterEntries();
$deletefilterentry->setID($filterentriesID);
-
- $filterentriesmapper = new Application_Model_FilterEntriesMapper();
- $filterentriesmapper->delete($deletefilterentry);
- $this->_redirect('/user/filter/index/deleteresult/ok');
-
+
+ // check if it's the last groupID filterentry
+ $allFilters = $filterentriesmapper->findBy('filterID',$filterID);
+ $lastfilter = true;
+ foreach($allFilters as $thisFilterentry){
+ if($thisFilterentry['filtertypeID'] == 6 && $thisFilterentry['filterentriesID'] != $filterentriesID){
+ // one other filter with a groupID exists
+ $lastfilter = false;
+ }
+ if($deletefilterentry->getFiltertypeID() == 6){
+ // this filter will be a GroupFilter
+ $lastfilter = false;
+ }
+ }
+ if($lastfilter){
+ $this->_redirect('/user/filter/index/deleteresult/forbidden');
+ }
+ else{
+ $filterentriesmapper = new Application_Model_FilterEntriesMapper();
+ $filterentriesmapper->delete($deletefilterentry);
+ $this->_redirect('/user/filter/index/deleteresult/ok');
+ }
}catch (Zend_Exception $e) {
echo "Error message 2: " . $e->getMessage() . "\n";
$this->_redirect('/user/filter/index/deleteresult/error');
@@ -330,28 +438,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..55941c0 100644
--- a/application/modules/user/forms/FilterEntry.php
+++ b/application/modules/user/forms/FilterEntry.php
@@ -11,7 +11,7 @@ class user_Form_FilterEntry extends Zend_Form
$this->setMethod('post');
$this->setAttrib('id','filterentryform');
#print_a($this->data);
-
+ print_a($this->selectData);
try{
$filtertypemapper = new Application_Model_FilterTypeMapper();
$filtertype = $filtertypemapper->fetchAll();
@@ -33,70 +33,238 @@ 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:';
+ $label1 = 'PoolID:';
+
+ $filtervalue1 = $this->createElement('select','filtervalue');
+ $filtervalue1 ->setLabel($label1);
+ if(count($this->selectData['pools'])>0){
+ foreach($this->selectData['pools'] as $id => $g){
+ $filtervalue1->addMultiOption($g['poolID'], $g['title']);
+ }
+ }
+ $filtervalue1->setRegisterInArrayValidator(false);
break;
case "4":
$desc = "Select your BootIso";
$label1 = 'BootIsoID:';
+
+ $filtervalue1 = $this->createElement('select','filtervalue');
+ $filtervalue1 ->setLabel($label1);
+ if(count($this->selectData['bootisos'])>0){
+ foreach($this->selectData['bootisos'] as $id => $g){
+ $filtervalue1->addMultiOption($g['bootisoID'], $g['title']);
+ }
+ }
+ $filtervalue1->setRegisterInArrayValidator(false);
break;
case "5":
$desc = "Select a Membership";
$label1 = 'Membership:';
+
+ $filtervalue1 = $this->createElement('select','filtervalue');
+ $filtervalue1 ->setLabel($label1);
+ if(count($this->selectData['memberships'])>0){
+ $personMapper = new Application_Model_PersonMapper();
+ foreach($this->selectData['memberships'] as $id => $g){
+ // Display full name of Person
+ $person = new Application_Model_Person();
+ $personMapper->find($g['personID'],$person);
+ $filtervalue1->addMultiOption($g['membershipID'], $person->getName().", ".$person->getFirstname());
+ }
+ }
+ $filtervalue1->setRegisterInArrayValidator(false);
break;
case "6":
$desc = "Select a Group";
$label1 = 'Group:';
+ // TODO: insert the child Groups
+ $filtervalue1 = $this->createElement('select','filtervalue');
+ $filtervalue1 ->setLabel($label1);
+ if(count($this->selectData['groups'])>0){
+ foreach($this->selectData['groups'] as $id => $g){
+ $filtervalue1->addMultiOption($g['groupID'], $g['title']);
+ }
+ }
+ $filtervalue1->setRegisterInArrayValidator(false);
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('select','filtervalue');
+ $filtervalue1 ->setLabel($label1);
+ if(count($this->selectData['clients'])>0){
+ foreach($this->selectData['clients'] as $id => $g){
+ $filtervalue1->addMultiOption($g['clientID'], $g['macadress']." - ".$g['hardwarehash']);
+ }
+ }
+ $filtervalue1->setRegisterInArrayValidator(false);
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(
@@ -127,6 +295,10 @@ class user_Form_FilterEntry extends Zend_Form
function setFilterID($v){
$this->filterID = $v;
}
+ private $selectData;
+ function setSelectData($v){
+ $this->selectData = $v;
+ }
}
?>
diff --git a/application/modules/user/forms/Login.php b/application/modules/user/forms/Login.php
index 58c5cc9..342e0b2 100644
--- a/application/modules/user/forms/Login.php
+++ b/application/modules/user/forms/Login.php
@@ -5,7 +5,32 @@ class user_Form_Login extends Zend_Form
public function init()
{
- /* Form Elements & Other Definitions Here ... */
+ $this->setName("Login");
+ $this->setMethod('post');
+
+ $this->addElement('text', 'email', array(
+ 'filters' => array('StringTrim', 'StringToLower'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'E-Mail:',
+ ));
+
+ $this->addElement('password', 'password', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Password:',
+ ));
+
+ $this->addElement('submit', 'login', array(
+ 'required' => false,
+ 'ignore' => true,
+ 'label' => 'Login',
+ ));
}
diff --git a/application/modules/user/forms/RecoverPassword.php b/application/modules/user/forms/RecoverPassword.php
new file mode 100644
index 0000000..90feb87
--- /dev/null
+++ b/application/modules/user/forms/RecoverPassword.php
@@ -0,0 +1,28 @@
+<?php
+
+class user_Form_RecoverPassword extends Zend_Form
+{
+
+ public function init()
+ {
+ $this->setName("RecoverPassword");
+ $this->setMethod('post');
+
+ $this->addElement('text', 'email', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 30)),
+ ),
+ 'required' => true,
+ 'label' => 'Email:',
+ ));
+ $this->addElement('submit', 'recoverPassword', array(
+ 'required' => false,
+ 'ignore' => true,
+ 'label' => 'Recover Password',
+ ));
+ }
+
+
+}
+
diff --git a/application/modules/user/forms/Register.php b/application/modules/user/forms/Register.php
new file mode 100644
index 0000000..9c2a42d
--- /dev/null
+++ b/application/modules/user/forms/Register.php
@@ -0,0 +1,105 @@
+<?php
+
+class user_Form_Register extends Zend_Form
+{
+
+ public function init()
+ {
+ $this->setName("Register");
+ $this->setMethod('post');
+
+ $this->addElement('text', 'title', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Title:',
+ ));
+
+
+ $this->addElement('text', 'name', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Name:',
+ ));
+
+ $this->addElement('text', 'firstname', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Firstname:',
+ ));
+
+ $this->addElement('text', 'street', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Street:',
+ ));
+
+ $this->addElement('text', 'housenumber', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Housenumber:',
+ ));
+
+ $this->addElement('text', 'city', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'City:',
+ ));
+
+ $this->addElement('text', 'postalcode', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Postalcode:',
+ ));
+
+ $this->addElement('text', 'email', array(
+ 'filters' => array('StringTrim', 'StringToLower'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Email:',
+ ));
+
+ $this->addElement('password', 'password', array(
+ 'filters' => array('StringTrim'),
+ 'validators' => array(
+ array('StringLength', false, array(0, 50)),
+ ),
+ 'required' => true,
+ 'label' => 'Password:',
+ ));
+
+ $this->addElement('submit', 'register', array(
+ 'required' => false,
+ 'ignore' => true,
+ 'label' => 'Register',
+ ));
+
+
+ }
+
+
+
+}
+
diff --git a/application/modules/user/views/scripts/auth/login.phtml b/application/modules/user/views/scripts/auth/login.phtml
new file mode 100644
index 0000000..d68d2af
--- /dev/null
+++ b/application/modules/user/views/scripts/auth/login.phtml
@@ -0,0 +1,5 @@
+<?php
+$this->loginForm->setAction($this->url());
+echo $this->loginForm;
+?>
+<div><button onclick="location.href='/user/auth/recoverpassword'">Recover Password</button></div> \ No newline at end of file
diff --git a/application/modules/user/views/scripts/auth/recoverpassword.phtml b/application/modules/user/views/scripts/auth/recoverpassword.phtml
new file mode 100644
index 0000000..881e00e
--- /dev/null
+++ b/application/modules/user/views/scripts/auth/recoverpassword.phtml
@@ -0,0 +1,4 @@
+<?php
+$this->recoverPasswordForm->setAction($this->url());
+echo $this->recoverPasswordForm;
+?>
diff --git a/application/modules/user/views/scripts/auth/register.phtml b/application/modules/user/views/scripts/auth/register.phtml
new file mode 100644
index 0000000..2033b04
--- /dev/null
+++ b/application/modules/user/views/scripts/auth/register.phtml
@@ -0,0 +1,4 @@
+<?php
+$this->registerForm->setAction($this->url());
+echo $this->registerForm;
+?> \ No newline at end of file
diff --git a/pbs.sql b/pbs.sql
index bfac5e0..bf8503b 100644
--- a/pbs.sql
+++ b/pbs.sql
@@ -329,7 +329,7 @@ CREATE TABLE IF NOT EXISTS `pbs_filterentries` (
`filtervalue` varchar(140) NOT NULL,
`filtervalue2` varchar(140) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-
+ALTER TABLE `pbs_filterentries` CHANGE `filtervalue2` `filtervalue2` VARCHAR( 140 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL;
ALTER TABLE `pbs_filterentries` ADD `filterentriesID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
ALTER TABLE `pbs_filterentries`
ADD CONSTRAINT `pbs_filterentries_ibfk_1` FOREIGN KEY (`filterID`) REFERENCES `pbs_filter` (`filterID`) ON DELETE CASCADE,
diff --git a/send-post.html b/send-post.html
index d2ac08e..d657552 100644
--- a/send-post.html
+++ b/send-post.html
@@ -1,12 +1,35 @@
<html>
-
-<form action='http://localhost:81/' method='post'>
-BootisoID <input type='text' name='bootisoID' value='1'></br>
-mac <input type='text' name='mac' value='00:0c:29:01:63:88'></br>
-hardwarehash <input type='text' name='hardwarehash' value='51685132196851652186121869413216'></br>
-<input type='submit' value='test'>
-</form>
-
-
+<title>Post-Data</title>
+<style>
+ fieldset{margin-bottom:20px;border:none;border-top:1px solid red;}
+ fieldset legend{color:red;}
+ label{float:left;width:125px;}
+</style>
+<body>
+<fieldset>
+ <legend>localhost</legend>
+ <form action='http://localhost/' method='post'>
+ <label>BootisoID</label>
+ <input type='text' name='bootisoID' value='1'></br>
+ <label>Mac</label>
+ <input type='text' name='mac' value='00:0c:29:01:63:88'></br>
+ <label>Hardwarehash</label>
+ <input type='text' name='hardwarehash' value='51685132196851652186121869413216'></br>
+ <input type='submit' value='Test'>
+ </form>
+</fieldset>
+<fieldset>
+ <legend>localhost:81</legend>
+ <form action='http://localhost:81/' method='post'>
+ <label>BootisoID</label>
+ <input type='text' name='bootisoID' value='1'></br>
+ <label>Mac</label>
+ <input type='text' name='mac' value='00:0c:29:01:63:88'></br>
+ <label>Hardwarehash</label>
+ <input type='text' name='hardwarehash' value='51685132196851652186121869413216'></br>
+ <input type='submit' value='Test'>
+ </form>
+</fieldset>
+</body>
</html>