Exemple #1
0
 /**
  * Edit the user's name, provided in the editing form
  *
  * @param $new_user_name string The new username
  *
  * @return bool success status
  */
 public static function editUserName($new_user_name)
 {
     // new username same as old one ?
     if ($new_user_name == Session::get('user_name')) {
         Session::add('feedback_negative', Text::get('FEEDBACK_USERNAME_SAME_AS_OLD_ONE'));
         return false;
     }
     // username cannot be empty and must be azAZ09 and 2-64 characters
     if (!preg_match("/^[a-zA-Z0-9]{2,64}\$/", $new_user_name)) {
         Session::add('feedback_negative', Text::get('FEEDBACK_USERNAME_DOES_NOT_FIT_PATTERN'));
         return false;
     }
     // clean the input, strip usernames longer than 64 chars (maybe fix this ?)
     $new_user_name = substr(strip_tags($new_user_name), 0, 64);
     // check if new username already exists
     if (UserModel::doesUsernameAlreadyExist($new_user_name)) {
         Session::add('feedback_negative', Text::get('FEEDBACK_USERNAME_ALREADY_TAKEN'));
         return false;
     }
     $status_of_action = UserModel::saveNewUserName(Session::get('user_id'), $new_user_name);
     if ($status_of_action) {
         Session::set('user_name', $new_user_name);
         Session::add('feedback_positive', Text::get('FEEDBACK_USERNAME_CHANGE_SUCCESSFUL'));
         return true;
     } else {
         Session::add('feedback_negative', Text::get('FEEDBACK_UNKNOWN_ERROR'));
         return false;
     }
 }