# admins / managers to change details of other users. $t_user_id = auth_get_current_user_id(); $t_redirect = 'account_page.php'; $t_email_updated = false; $t_password_updated = false; $t_realname_updated = false; # @@@ Listing what fields were updated is not standard behaviour of Mantis # it also complicates the code. if ($f_email != user_get_email($t_user_id)) { user_set_email($t_user_id, $f_email); $t_email_updated = true; } if ($f_realname != user_get_field($t_user_id, 'realname')) { # checks for problems with realnames $t_username = user_get_field($t_user_id, 'username'); switch (user_is_realname_unique($t_username, $f_realname)) { case 1: break; case 0: default: trigger_error(ERROR_USER_REAL_MATCH_USER, ERROR); break; } user_set_realname($t_user_id, $f_realname); $t_realname_updated = true; } # Update password if the two match and are not empty if (!is_blank($f_password)) { if ($f_password != $f_password_confirm) { trigger_error(ERROR_USER_CREATE_PASSWORD_MISMATCH, ERROR); } else {
/** * Check if the realname is a unique * Trigger an error if the username is not valid * * @param string $p_username The username to check. * @param string $p_realname The realname to check. * @return void */ function user_ensure_realname_unique($p_username, $p_realname) { if (1 > user_is_realname_unique($p_username, $p_realname)) { trigger_error(ERROR_USER_REAL_MATCH_USER, ERROR); } }
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; }