Exemplo n.º 1
0
# 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 {
Exemplo n.º 2
0
/**
 * 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);
    }
}
Exemplo n.º 3
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;
 }