diff options
-rw-r--r-- | .zfproject.xml | 4 | ||||
-rw-r--r-- | application/controllers/AuthController.php | 180 | ||||
-rw-r--r-- | application/layouts/main.phtml | 32 |
3 files changed, 125 insertions, 91 deletions
diff --git a/.zfproject.xml b/.zfproject.xml index 844ba10..1147d7a 100644 --- a/.zfproject.xml +++ b/.zfproject.xml @@ -18,6 +18,7 @@ <actionMethod actionName="logout"/> <actionMethod actionName="recoverPassword"/> <actionMethod actionName="delete"/> + <actionMethod actionName="index"/> </controllerFile> <controllerFile controllerName="Person"> <actionMethod actionName="index"/> @@ -305,6 +306,9 @@ <viewControllerScriptsDirectory forControllerName="Session"> <viewScriptFile forActionName="deletesession"/> </viewControllerScriptsDirectory> + <viewControllerScriptsDirectory forControllerName="Auth"> + <viewScriptFile forActionName="index"/> + </viewControllerScriptsDirectory> </viewScriptsDirectory> <viewHelpersDirectory/> <viewFiltersDirectory enabled="false"/> diff --git a/application/controllers/AuthController.php b/application/controllers/AuthController.php index fd30d82..c43e5a9 100644 --- a/application/controllers/AuthController.php +++ b/application/controllers/AuthController.php @@ -5,82 +5,86 @@ class AuthController extends Zend_Controller_Action public function init() { - $db = Zend_Db_Table::getDefaultAdapter(); - + $db = Zend_Db_Table::getDefaultAdapter(); } - + + public function indexAction() + { + $this->_redirect('/auth/login'); + } + public function loginAction() - { - if (!isset($_POST["login"])){ - $loginForm = new Application_Form_AuthLogin(); - } else { - $loginForm = new Application_Form_AuthLogin($_POST); - - if ($loginForm->isValid($_POST)) { - - $auth = Zend_Auth::getInstance(); - - $adapter = new Zend_Auth_Adapter_DbTable( - $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->_redirect('/'); - return; - } else { - echo "Falsche Email oder Passwort"; - } - } - } - - $this->view->loginForm = $loginForm; + { + if (!isset($_POST["login"])){ + $loginForm = new Application_Form_AuthLogin(); + } else { + $loginForm = new Application_Form_AuthLogin($_POST); + + if ($loginForm->isValid($_POST)) { + + $auth = Zend_Auth::getInstance(); + + $adapter = new Zend_Auth_Adapter_DbTable( + $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->_redirect('/'); + return; + } else { + echo "Falsche Email oder Passwort"; + } + } + } + + $this->view->loginForm = $loginForm; } public function registerAction() - { - if (!isset($_POST["register"])){ - $registerForm = new Application_Form_AuthRegister(); - } else { - $registerForm = new Application_Form_AuthRegister($_POST); - - if ($registerForm->isValid($_POST)) { - - $person = new Application_Model_Person($_POST); - $personmapper = new Application_Model_PersonMapper(); - - $date = new DateTime(); - $person->setRegisterdate($date->getTimestamp()); - $person->setPasswordSalt(MD5($date->getTimestamp())); - $person->setPassword(MD5($person->getPassword() . $person->getPasswordSalt())); - - try { - $personmapper->save($person); - }catch(Zend_Exception $e) - { - echo "Caught exception: " . get_class($e) . "<br/>"; - echo "Message: " . $e->getMessage() . "<br/>"; - echo "Email Adresse bereits vorhanden."; - return; - } - echo "Erfolgreich registriert. <br/>"; - echo "Weiter zum Login: <a href=\""."/auth/login"."\">Login</a>"; - return; - } - } - - $this->view->registerForm = $registerForm; + { + if (!isset($_POST["register"])){ + $registerForm = new Application_Form_AuthRegister(); + } else { + $registerForm = new Application_Form_AuthRegister($_POST); + + if ($registerForm->isValid($_POST)) { + + $person = new Application_Model_Person($_POST); + $personmapper = new Application_Model_PersonMapper(); + + $date = new DateTime(); + $person->setRegisterdate($date->getTimestamp()); + $person->setPasswordSalt(MD5($date->getTimestamp())); + $person->setPassword(MD5($person->getPassword() . $person->getPasswordSalt())); + + try { + $personmapper->save($person); + }catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "<br/>"; + echo "Message: " . $e->getMessage() . "<br/>"; + echo "Email Adresse bereits vorhanden."; + return; + } + echo "Erfolgreich registriert. <br/>"; + echo "Weiter zum Login: <a href=\""."/auth/login"."\">Login</a>"; + return; + } + } + + $this->view->registerForm = $registerForm; } public function logoutAction() @@ -96,23 +100,23 @@ class AuthController extends Zend_Controller_Action public function deleteAction() { if (!isset($_POST["delete"])){ - $deleteForm = new Application_Form_AuthDelete(); - } else { - $deleteForm = new Application_Form_AuthDelete($_POST); - - if ($deleteForm->isValid($_POST)) { - - $person = new Application_Model_Person($_POST); - $personmapper = new Application_Model_PersonMapper(); - - - $personmapper->delete($person); - } - } - - $this->view->deleteForm = $deleteForm; - + $deleteForm = new Application_Form_AuthDelete(); + } else { + $deleteForm = new Application_Form_AuthDelete($_POST); + + if ($deleteForm->isValid($_POST)) { + + $person = new Application_Model_Person($_POST); + $personmapper = new Application_Model_PersonMapper(); + + + $personmapper->delete($person); + } + } + + $this->view->deleteForm = $deleteForm; } + } @@ -122,3 +126,5 @@ class AuthController extends Zend_Controller_Action + + diff --git a/application/layouts/main.phtml b/application/layouts/main.phtml index 51dd89c..80147b9 100644 --- a/application/layouts/main.phtml +++ b/application/layouts/main.phtml @@ -11,11 +11,35 @@ echo $this->headLink(); echo $this->headScript(); ?> <style> - html{font-family:Verdana,Arial;} + html{background-color:#E5F3FF} + #wrapper{width:800px;margin:10px auto;border:1px solid black;background-color:#FFF;} + #innerwrapper{padding:20px;} + #nav{border-bottom:1px solid #000;background-color:#CCE7FF;padding:5px 10px;} + #nav ul {margin:2px;} + #nav li{ display: inline;list-style-type: none;padding-right: 10px;font-family:verdana;font-size:11px;} + #nav li a{color:#000;} + h1{display:block;width:400px;margin:5px auto;text-align:center;} + table{width:100%;} </style> </head> <body> - -<?php echo $this->layout()->content; ?> - + <div id='wrapper'> + <div id='nav'> + <ul> + <li>Controller:</li> + <li><a href='/bootiso'>BootIso</a></li> + <li><a href='/bootmenu'>BootMenu</a></li> + <li><a href='/config'>Config</a></li> + <li><a href='/bootos'>BootOs</a></li> + <li><a href='/client'>Client</a></li> + <li><a href='/filter'>Filter</a></li> + <li><a href='/pool'>Pool</a></li> + <li><a href='/session'>Session</a></li> + <li><a href='/auth'>Auth</a></li> + </ul> + </div> + <div id='innerwrapper'> + <?php echo $this->layout()->content; ?> + </div> + </div> </body></html> |