/** * revalidates the given user * * @return bool */ public static function revalidate() { $user = vkNgine_Auth::getIdentity(); if ($user['type'] == 'STANDARD') { return vkNgine_Public_Auth::revalidate(); } else { if ($user['type'] == 'ADMIN') { return vkNgine_Admin_Auth::revalidate(); } else { return false; } } }
public function init() { $helper = new vkNgine_View_Helper_AdminUrl(); $this->view->registerHelper($helper, 'adminUrl'); $helper = new vkNgine_View_Helper_Dateformat(); $this->view->registerHelper($helper, 'dateFormat'); $helper = new vkNgine_View_Helper_FormDate(); $this->view->registerHelper($helper, 'formDate'); $helper = new vkNgine_View_Helper_Phoneformat(); $this->view->registerHelper($helper, 'phoneFormat'); $helper = new vkNgine_View_Helper_Breadcrumb(); $this->view->registerHelper($helper, 'breadcrumb'); $helper = new vkNgine_View_Helper_Plural(); $this->view->registerHelper($helper, 'plural'); $view = Zend_Registry::get('view'); $vkNgineVersion = vkNgine_Version::VERSION; $appTitle = sprintf(Zend_Registry::get('t')->_('%s Administrator Control Panel'), 'vkNgine' . $vkNgineVersion[0]); $this->view->appTitle = $appTitle; $view->headTitle($appTitle, Zend_View_Helper_Placeholder_Container_Abstract::SET); if (!vkNgine_Auth::isAuthenticated()) { $this->_redirect('/admin/auth/login'); exit; } $user = vkNgine_Admin_Auth::revalidate(); if (!$user) { $this->_redirect('/admin/auth/login'); exit; } Zend_Registry::set('user', $user); $this->view->assign('user', $user); $this->user = Zend_Registry::get('user'); $this->config = vkNgine_Config::getSystemConfig(); $modelTrafficLogins = new vkNgine_Log_Logins(); $lastLoggedInInfo = $modelTrafficLogins->fetchLastLoggedInInfo($this->user); $this->view->assign('lastLoggedInInfo', $lastLoggedInInfo); $this->view->action = array('controller' => $this->_request->controller, 'action' => $this->_request->action); $acl = new vkNgine_Admin_Acl(); $this->acl = $acl; Zend_Registry::set('acl', $acl); $this->view->t = Zend_Registry::get('t'); $this->t = Zend_Registry::get('t'); parent::init(); }
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; }