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 deleteAction()
 {
     $mode = $this->_getParam('mode');
     switch ($mode) {
         case 'log':
             $modelLogs = new vkNgine_Log_Log();
             break;
         case 'logins':
             $modelLogs = new vkNgine_Log_Logins();
             break;
         case 'activity':
             $modelLogs = new vkNgine_Log_Activity();
             break;
     }
     $ids = $this->_getParam('ids');
     $idsArray = explode(',', $ids);
     foreach ($idsArray as $id) {
         if ($id) {
             $modelLogs->delete($id);
         }
     }
     echo Zend_Json::encode(array('id' => $ids));
     exit;
 }
 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;
 }