Esempio n. 1
0
 private function prepare_realname($p_user_info, $p_username)
 {
     switch ($this->_mail_preferred_realname) {
         case 'email_address':
             $t_realname = $p_user_info['email'];
             break;
         case 'email_no_domain':
             if (preg_match(email_regex_simple(), $p_user_info['email'], $t_check)) {
                 $t_local = $t_check[1];
                 $t_domain = $t_check[2];
                 $t_realname = $t_local;
             }
             break;
         case 'from_ldap':
             $t_realname = ldap_realname_from_username($p_username);
             break;
         case 'full_from':
             $t_realname = str_replace(array('<', '>'), array('(', ')'), $p_user_info['From']);
             break;
         case 'name':
         default:
             $t_realname = $p_user_info['name'];
     }
     $t_realname = string_normalize($t_realname);
     if (utf8_strlen($t_realname) > DB_FIELD_SIZE_REALNAME) {
         $t_realname = utf8_substr($t_realname, 0, DB_FIELD_SIZE_REALNAME);
     }
     if (user_is_realname_valid($t_realname) && user_is_realname_unique($p_username, $t_realname)) {
         return $t_realname;
     }
     return FALSE;
 }
Esempio n. 2
0
function user_ensure_realname_valid($p_realname)
{
    if (!user_is_realname_valid($p_realname)) {
        trigger_error(ERROR_USER_REAL_NAME_INVALID, ERROR);
    }
}
Esempio n. 3
0
 public function post($request)
 {
     /**
      * 	Creates a new user.
      *
      * 	The user will get a confirmation email, and will have the password provided
      * 	in the incoming representation.
      *
      * 	@param $request - The Request we're responding to
      */
     if (!access_has_global_level(config_get('manage_user_threshold'))) {
         throw new HTTPException(403, "Access denied to create user");
     }
     $new_user = new User();
     $new_user->populate_from_repr($request->body);
     $username = $new_user->mantis_data['username'];
     $password = $new_user->mantis_data['password'];
     $email = email_append_domain($new_user->mantis_data['email']);
     $access_level = $new_user->mantis_data['access_level'];
     $protected = $new_user->mantis_data['protected'];
     $enabled = $new_user->mantis_data['enabled'];
     $realname = $new_user->mantis_data['realname'];
     if (!user_is_name_valid($username)) {
         throw new HTTPException(500, "Invalid username");
     } elseif (!user_is_realname_valid($realname)) {
         throw new HTTPException(500, "Invalid realname");
     }
     user_create($username, $password, $email, $access_level, $protected, $enabled, $realname);
     $new_user_id = user_get_id_by_name($username);
     $new_user_url = User::get_url_from_mantis_id($new_user_id);
     $this->rsrc_data = $new_user_url;
     $resp = new Response();
     $resp->status = 201;
     $resp->headers[] = "location: {$new_user_url}";
     $resp->body = $this->_repr($request);
     return $resp;
 }