public function loginAction() { if (vkNgine_Auth::isAuthenticated()) { header("location:/"); exit; } $logger = Zend_Registry::get('logger'); $form = $this->getLoginForm(); $request = $this->getRequest(); $this->view->error = false; if ($request->isPost()) { if ($form->isValid($request->getPost())) { $info = $form->getValues(); $user = null; if (vkNgine_Public_Auth::attemptLogin($info)) { $user = vkNgine_Auth::revalidate(); } else { $this->view->error = true; } $user = vkNgine_Auth::revalidate(); $logger->log('LOGIN_REQUEST', print_r($info, true), vkNgine_Log::INFO, $user['userId']); if ($user != null) { $modelUsers = new Model_Users(); $modelTrafficActivity = new vkNgine_Log_Activity(); $modelTrafficLogins = new vkNgine_Log_Logins(); $modelTrafficActivity->processActivity($user, $request, 'Logged in to Site'); $modelTrafficLogins->insertTrafficLogin($user->userId, $user->type); $config = vkNgine_Config::getSystemConfig(); Zend_Session::rememberMe($config->settings->login->remember); $modelUsers->update($user['userId'], array('lastLogin' => date('Y-m-d H:i:s'))); echo Zend_Json::encode(array('success' => 1, 'icon' => 'success', 'href' => '/')); exit; } else { echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_('Access denied!'), 'icon' => 'error')); exit; } } else { echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_('Access denied!'), 'icon' => 'error')); exit; } } $this->view->form = $form; }
public function loginAction() { if (vkNgine_Auth::isAuthenticated()) { $this->_redirect('/admin'); exit; } $view = Zend_Registry::get('view'); $view->headTitle('Administrator Login'); $loginForm = $this->getAdminLoginForm(); $recoverForm = $this->getAdminRecoverForm(); $request = $this->getRequest(); if ($request->isPost()) { $email = $this->_getParam('email'); $password = $this->_getParam('password'); $remember = $this->_getParam('remember'); $hash = new Zend_Session_Namespace('CsrfError'); if ($hash->message) { echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_($hash->message), 'icon' => 'error')); exit; } else { if ($loginForm->isValid($request->getPost())) { if (!empty($email) && !empty($password)) { $info = array('email' => $email, 'password' => $password, 'remember' => $remember); if (vkNgine_Admin_Auth::attemptLogin($info)) { $this->user = vkNgine_Admin_Auth::revalidate(); if (isset($info['remember']) and $info['remember']) { $config = vkNgine_Config::getSystemConfig(); if (isset($config->settings->login->remember)) { $rememberMeHowLong = $config->settings->login->remember; } else { $rememberMeHowLong = 60 * 60 * 24 * 14; // 14 days } Zend_Session::rememberMe($rememberMeHowLong); } else { Zend_Session::forgetMe(); } $logger = Zend_Registry::get('logger'); $logger->log('ADMIN_LOGIN_REQUEST', print_r($info, true), vkNgine_Log::INFO, $this->user['userId']); $modelTrafficLogins = new vkNgine_Log_Logins(); $modelTrafficLogins->insertTrafficLogin($this->user['userId'], 'ADMIN'); $modelTrafficActivity = new vkNgine_Log_Activity(); $modelTrafficActivity->processActivity($this->user, $request, 'Logged in to Admin Panel'); $modelUsers = new Admin_Model_Users(); $modelUsers->update($this->user['userId'], array('lastLogin' => date('Y-m-d H:i:s'))); echo Zend_Json::encode(array('success' => 1, 'title' => $this->t->_('Success Message'), 'message' => $this->t->_('Logged in Successfully'), 'icon' => 'success', 'href' => '/admin')); exit; } else { echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_('Invalid Login or Password!'), 'icon' => 'error')); exit; } } else { echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_('Username or Password is Invalid!'), 'icon' => 'error')); exit; } } else { echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_('Username or Password is Invalid!'), 'icon' => 'error')); exit; } } } $this->view->loginForm = $loginForm; $this->view->recoverForm = $recoverForm; }