public function myaccountAction()
 {
     $form = self::getMyAccountForm();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $post = $request->getPost();
         if ($form->isValid($post)) {
             $values = $form->getValues();
             if ($this->user->type == 'ADMIN') {
                 $modelAdminUsers = new Admin_Model_Users();
                 $modelAdminUsers->update($this->user->userId, array('password' => $values['password']));
             }
             echo Zend_Json::encode(array('success' => 1, 'dialog' => 'btn-myaccount-dialog', 'title' => $this->t->_('Success Message'), 'message' => $this->t->_('Password was changed successfully'), 'icon' => 'success'));
             exit;
         } else {
             echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_('Please fill out all required fields'), 'icon' => 'error'));
             exit;
         }
     }
     $this->view->form = $form;
     $this->_helper->layout->disableLayout();
 }
 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;
 }
 public function editAction()
 {
     parent::ajaxEnabled();
     $form = self::getUsersEditForm();
     $modelAdminUsers = new Admin_Model_Users();
     $userId = $this->_getParam('userId');
     $userId = (int) $userId;
     if ($userId) {
         $populateData = array();
         $user = $modelAdminUsers->fetch($userId);
         $helper = new vkNgine_View_Helper_PhoneFormat();
         if (count($user) > 0) {
             $populateData = $user->toArray();
             $populateData['password'] = null;
             $populateData['level'] = $user->level;
             $populateData['phone'] = $helper->phoneFormat($user->phone);
         }
         $form->adminMode($user['email']);
         $form->populate($populateData);
         $form->setHidden($userId);
     }
     $request = $this->getRequest();
     if ($request->isPost()) {
         $post = $request->getPost();
         if ($form->isValid($post)) {
             $values = $form->getValues();
             $mode = null;
             if ($userId) {
                 if ($values['password'] == false) {
                     unset($values['password']);
                 }
                 $values['phone'] = str_replace('(', '', $values['phone']);
                 $values['phone'] = str_replace(')', '', $values['phone']);
                 $values['phone'] = str_replace('-', '', $values['phone']);
                 $modelAdminUsers->update($userId, $values);
                 $insertId = $userId;
                 $mode = 'edit';
             } else {
                 $insertId = $modelAdminUsers->insert($values);
                 $mode = 'add';
             }
             if ($values['email'] != $this->user->email) {
                 $href = '/admin/auth/logout';
             } else {
                 $href = '/admin/';
             }
             $userInfo = $modelAdminUsers->fetch($insertId);
             $dateFormat = new vkNgine_View_Helper_Dateformat();
             $newRow = array('mode' => $mode, 'itemId' => $insertId, 'fullName' => $userInfo->firstName . ' ' . $userInfo->lastName, 'email' => $userInfo->email, 'level' => $this->t->_(ucfirst(strtolower($userInfo->level))), 'active' => $this->t->_($userInfo->active), 'lastLogin' => $userInfo->lastLogin != '0000-00-00 00:00:00' ? $dateFormat->dateFormat($userInfo->lastLogin, Zend_Date::DATETIME) : $this->t->_('Never'), 'rowId' => 'user-', 'masterUser' => vkNgine_Config::getSystemConfig()->master->user == $userInfo->userId ? 'yes' : 'no', 'templateName' => 'usersTemplate', 'Save' => $this->t->_('Save'), 'Cancel' => $this->t->_('Cancel'), 'Yes' => $this->t->_('Yes'), 'No' => $this->t->_('No'), 'href' => $this->_helper->url('edit', 'users'), 'title' => $this->t->_('User is being edited'), 'tagTitle' => $this->t->_('Edit this user'), 'tagTitleDelete' => $this->t->_('Delete this user'));
             echo Zend_Json::encode(array('success' => 1, 'newRow' => $newRow, 'dialog' => 'btn-edituser-dialog', 'row' => true, 'title' => $this->t->_('Success Message'), 'message' => sprintf($this->t->_('%s was successfully added'), $values['firstName'] . ' ' . $values['lastName']), 'icon' => 'success'));
             exit;
         } else {
             $error = $form->getErrors();
             if (!empty($error['email'][0]) & @$error['email'][0] == 'Email already registered') {
                 $message = 'Email already registered';
             } else {
                 $message = 'Please fill out all required fields';
             }
             echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_($message), 'icon' => 'error'));
             exit;
         }
     }
     $this->view->form = $form;
 }