Exemplo n.º 1
0
 public function put_index($id, $username, $email, $password = null, $id_group = null)
 {
     // Force to edit the current user if they don't have the proper permissions
     if (!$this->_currentUser->hasPermission(Model_Groups::PERM_MANAGE_USERS)) {
         $id = $this->_currentUser->getId();
     }
     $user = Model_Users::getById($id);
     $propsUpdate = ['username' => $username, 'email' => $email];
     if ($id_group !== null && !empty($id_group) && $this->_currentUser->hasPermission(Model_Groups::PERM_MANAGE_USERS)) {
         $group = Model_Groups::getById($id_group);
         $propsUpdate['usergroup'] = $group;
     } else {
         $user->load('usergroup');
     }
     if ($password !== null && !empty($password)) {
         $propsUpdate['password'] = Library_String::hash(trim($password));
     }
     $user->setProps($propsUpdate);
     Model_Users::update($user);
     // Disconnect the user if they changed their own profile
     if ($id === $this->_currentUser->getId()) {
         $this->response->redirect('../login/out', 200);
     } else {
         $this->response->redirect('../users', 200);
     }
 }
 public function indexAction()
 {
     $form = self::getMyaccountSettingsForm();
     $populateData = array();
     $modelUsers = new Model_Users();
     $populateData['calendarView'] = $this->user['calendarView'];
     $populateData['notifications'] = $this->user['notifications'];
     $form->populate($populateData);
     $request = $this->getRequest();
     if ($this->_getParam('method')) {
         $what = null;
         if ($this->_getParam('calendarview')) {
             $what = 'Calendar view';
             $data['calendarView'] = $this->_getParam('value');
             $modelUsers->update($this->user->getId(), $data);
         } elseif ($this->_getParam('notifications')) {
             $what = 'Notifications';
             $data['notifications'] = $this->_getParam('value');
             $modelUsers->update($this->user->getId(), $data);
         } elseif ($this->_getParam('password')) {
             $what = 'Password';
             $form->changePassword();
             $request = $this->getRequest();
             if ($request->isPost()) {
                 $post = $request->getPost();
                 if ($form->isValid($post)) {
                     $values = $form->getValues();
                 } else {
                     echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'icon' => 'error', 'message' => $this->t->_($what . ' was not updated')));
                     exit;
                 }
             }
             $data['password'] = $values['password'];
             $modelUsers->update($this->user->getId(), $data);
         }
         echo Zend_Json::encode(array('success' => 1, 'title' => $this->t->_('Success Message'), 'message' => $this->t->_($what . ' was successfully updated')));
         exit;
     }
     $this->view->formSettings = $form;
 }
 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;
 }
 /**
  * update an admin user
  * 
  * @param int $userId
  * @param array $data
  */
 public function update($userId, $data)
 {
     if (!empty($data['level'])) {
         $modelUsersAdmins = new Admin_Model_Users_Admins();
         $modelUsersAdmins->update($userId, array('level' => $data['level']));
         unset($data['level']);
     }
     return parent::update($userId, $data);
 }
 public function resetpasswordAction()
 {
     if (vkNgine_Auth::isAuthenticated()) {
         $this->_redirect('/admin');
         exit;
     }
     $modelUsers = new Model_Users();
     $modelUsersTokens = new Model_Users_Tokens();
     $token = $this->_getParam('token');
     if (!$token) {
         $this->_redirect('/admin/auth/login');
     }
     $form = self::getResetPasswordForm();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $post = $request->getPost();
         if ($form->isValid($post)) {
             $values = $form->getValues();
             $user = $modelUsers->fetchWithEmail($values['email']);
             $token = $modelUsersTokens->fetch($user, $values['token']);
             if ($token) {
                 $data = array('password' => $values['password']);
                 $modelUsers->update($user->getId(), $data);
                 $modelUsersTokens->delete($token['tokenId']);
                 echo Zend_Json::encode(array('success' => 1, 'title' => $this->t->_('Success Message'), 'message' => $this->t->_('Password was changed successfully'), 'icon' => 'success', 'href' => '/admin/auth/login'));
                 exit;
             } else {
                 echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_('Given token was not valid'), 'icon' => 'error'));
                 exit;
             }
         } else {
             echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_('Given token/email or password was not valid'), 'icon' => 'error'));
             exit;
         }
     }
     $this->view->form = $form->setTokenValue($token);
 }
 /**
  * update a user
  * 
  * @params int $userId 
  * @params array $data
  */
 public function update($userId, $data)
 {
     // reset the admin's level
     if (!empty($data['level'])) {
         $modelUsersPublics = new Model_Users_Publics();
         $modelUsersPublics->update($userId, array('level' => $data['level']));
         unset($data['level']);
     }
     return parent::update($userId, $data);
 }