Exemplo n.º 1
0
 /**
  * Change password procedure
  *
  * @param	array	$user_data
  * @return	boolean	true on success or false on fail
  */
 function change_password($user_data)
 {
     if (!$this->check_token()) {
         return false;
     }
     if (!vivvo_hooks_manager::call('login_changePassword', array(&$user_data))) {
         return vivvo_hooks_manager::get_status();
     }
     $key = $user_data['key'];
     $user_list = new Users_list();
     $user = $user_list->get_user_by_forgot_md5($key);
     if ($user === false) {
         $this->set_error_code(2713);
         return false;
     } else {
         if (strlen($user_data['password']) < 6) {
             $this->set_error_code(2706);
             return false;
         }
         if ($user_data['password'] != $user_data['retype_password']) {
             $this->set_error_code(2707);
             return false;
         }
         $user_data['password'] = md5($user_data['password']);
         $user->set_password($user_data['password']);
         $this->_post_master->set_data_object($user);
         if ($this->_post_master->sql_update()) {
             admin_log($user->get_username(), ' Changed password');
             return true;
         } else {
             $this->set_error_code(2711);
             return false;
         }
     }
 }