db = Zend_Db_Table::getDefaultAdapter(); $this->personmapper = new Application_Model_PersonMapper(); } public function indexAction() { $this->_helper-> viewRenderer-> setNoRender(); $this->_helper->redirector('login', 'auth'); } public function loginAction() { if (Zend_Auth::getInstance()->hasIdentity()) { $this->_redirect('/fbgui/'); } else { if (!isset($_POST["login"])) { $loginForm = new fbgui_Form_Login(); } else { $loginForm = new fbgui_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(array('email' => Zend_Auth::getInstance()->getIdentity()), true); $person = new Application_Model_Person($result[0]); $person->setID($result[0]['personID']); $date = new DateTime(); $person->setLogindate($date->getTimestamp()); $this->personmapper->save($person); $this->_helper->redirector('selectmembership', 'person'); return; } else { echo "Wrong Email or Password."; } } } $this->view->loginForm = $loginForm; } } public function logoutAction() { $this->_helper-> viewRenderer-> setNoRender(); $auth = Zend_Auth::getInstance(); $auth->clearIdentity(); Zend_Session::namespaceUnset('userIDs'); Zend_Session::forgetMe(); $this->_redirect('/fbgui/index'); # $this->_helper->redirector('fbgui', 'index'); return; } }