Ejemplo n.º 1
0
function user_receive()
{
    if (isset($_POST['user_update_settings'])) {
        if (isset($_GET['user'])) {
            if (user_get_admin($_SESSION[PREFIX . "user_id"]) && user_exists($_GET['user'])) {
                $user_id = $_GET['user'];
            }
        } else {
            $user_id = $_SESSION[PREFIX . "user_id"];
        }
        if (!$user_id) {
            add_error("No valid user");
        } else {
            //Username
            if (isset($_POST['username']) && $_POST['username'] != "") {
                user_set_name($user_id, $_POST['username']);
            }
            //Email
            if (isset($_POST['email']) && $_POST['email'] != "") {
                user_set_email($user_id, $_POST['email']);
            }
            //password
            if (isset($_POST['password']) && $_POST['password'] != "") {
                user_set_password($user_id, $_POST['password']);
            }
            //Flattr id
            if (isset($_POST['flattr_id']) && $_POST['flattr_id'] != "") {
                flattr_set_flattrID($user_id, $_POST['flattr_id']);
            }
            //Flattr choice. Allways do this!
            flattr_set_flattr_choice($user_id, $_POST['flattr_choice']);
        }
    } else {
        if (isset($_POST['profile_save'])) {
            $sql = "UPDATE " . PREFIX . "user SET description='" . sql_safe($_POST['description']) . "' WHERE id=" . sql_safe($_SESSION[PREFIX . 'user_id']) . ";";
            if (mysql_query($sql)) {
                add_message(_("Profile updated"));
            } else {
                add_error(sprintf(_("Profile update fail<br />SQL: %s<br />ERROR: %s"), $sql, mysql_error()));
            }
        }
    }
}
Ejemplo n.º 2
0
$f_password = gpc_get_string('password', '');
$f_password_confirm = gpc_get_string('password_confirm', '');
// get the user id once, so that if we decide in the future to enable this for
// 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;
/** @todo Listing what fields were updated is not standard behaviour of MantisBT - it also complicates the code. */
if (OFF == config_get('use_ldap_email')) {
    $f_email = email_append_domain($f_email);
    email_ensure_valid($f_email);
    email_ensure_not_disposable($f_email);
    if ($f_email != user_get_email($t_user_id)) {
        user_set_email($t_user_id, $f_email);
        $t_email_updated = true;
    }
}
# strip extra spaces from real name
$t_realname = string_normalize($f_realname);
if ($t_realname != user_get_field($t_user_id, 'realname')) {
    # checks for problems with realnames
    $t_username = user_get_field($t_user_id, 'username');
    user_ensure_realname_unique($t_username, $t_realname);
    user_set_realname($t_user_id, $t_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) {
Ejemplo n.º 3
0
 function ERP_update_check()
 {
     $t_config_version = plugin_config_get('config_version');
     if ($t_config_version === 0) {
         $t_username = plugin_config_get('mail_reporter', '');
         if (strlen($t_username) > 0) {
             $t_user_id = user_get_id_by_name($t_username);
             if ($t_user_id !== FALSE) {
                 $t_user_email = user_get_email($t_user_id);
                 if ($t_user_email === 'nomail') {
                     plugin_require_api('core/config_api.php');
                     # We need to allow blank emails for a sec
                     ERP_set_temporary_overwrite('allow_blank_email', ON);
                     user_set_email($t_user_id, '');
                 }
             }
         }
         $t_schema = plugin_config_get('schema');
         $t_reset_schema = plugin_config_get('reset_schema');
         if ($t_schema !== -1 && $t_reset_schema === 0) {
             plugin_config_set('schema', -1);
             plugin_config_set('reset_schema', 1);
         }
         plugin_config_set('config_version', 1);
     }
     if ($t_config_version <= 1) {
         $t_mail_reporter = plugin_config_get('mail_reporter', '');
         if (strlen($t_mail_reporter) > 0) {
             $t_mail_reporter_id = user_get_id_by_name($t_mail_reporter);
             plugin_config_set('mail_reporter_id', $t_mail_reporter_id);
         }
         plugin_config_delete('mail_directory');
         plugin_config_delete('mail_reporter');
         plugin_config_delete('mail_additional');
         plugin_config_delete('random_user_number');
         plugin_config_delete('mail_bug_priority_default');
         plugin_config_set('config_version', 2);
     }
     if ($t_config_version <= 2) {
         plugin_config_delete('mail_cronjob_present');
         plugin_config_delete('mail_check_timer');
         plugin_config_delete('mail_last_check');
         plugin_config_set('config_version', 3);
     }
     if ($t_config_version <= 3) {
         $t_mailboxes = plugin_config_get('mailboxes', array());
         $t_indexes = array('mailbox_project' => 'mailbox_project_id', 'mailbox_global_category' => 'mailbox_global_category_id');
         foreach ($t_mailboxes as $t_key => $t_array) {
             if (isset($t_array['mailbox_hostname'])) {
                 # Correct the hostname if it is stored in an older format
                 $t_hostname = $t_array['mailbox_hostname'];
                 if (!is_array($t_hostname)) {
                     // ipv6 also uses : so we need to work around that
                     if (substr_count($t_hostname, ':') === 1) {
                         $t_hostname = explode(':', $t_hostname, 2);
                     } else {
                         $t_hostname = array($t_hostname);
                     }
                     $t_hostname = array('hostname' => $t_hostname[0], 'port' => isset($t_hostname[1]) ? $t_hostname[1] : '');
                     $t_array['mailbox_hostname'] = $t_hostname;
                 }
             }
             $t_mailboxes[$t_key] = $this->ERP_update_indexes($t_array, $t_indexes);
         }
         plugin_config_set('mailboxes', $t_mailboxes);
         plugin_config_set('config_version', 4);
     }
     if ($t_config_version <= 4) {
         $t_mail_remove_mantis_email = plugin_config_get('mail_remove_mantis_email', -1);
         $t_mail_identify_reply = plugin_config_get('mail_identify_reply', $t_mail_remove_mantis_email);
         if ($t_mail_remove_mantis_email !== -1 && $t_mail_identify_reply !== $t_mail_remove_mantis_email) {
             plugin_config_set('mail_remove_mantis_email', $t_mail_identify_reply);
         }
         plugin_config_delete('mail_identify_reply');
         plugin_config_set('config_version', 5);
     }
     if ($t_config_version <= 5) {
         plugin_config_delete('mail_parse_mime');
         plugin_config_set('config_version', 6);
     }
     if ($t_config_version <= 6) {
         $t_mailboxes = plugin_config_get('mailboxes', array());
         $t_indexes = array('mailbox_enabled' => 'enabled', 'mailbox_description' => 'description', 'mailbox_type' => 'type', 'mailbox_hostname' => 'hostname', 'mailbox_encryption' => 'encryption', 'mailbox_username' => 'username', 'mailbox_password' => 'password', 'mailbox_auth_method' => 'auth_method', 'mailbox_project_id' => 'project_id', 'mailbox_global_category_id' => 'global_category_id', 'mailbox_basefolder' => 'basefolder', 'mailbox_createfolderstructure' => 'createfolderstructure');
         foreach ($t_mailboxes as $t_key => $t_array) {
             $t_mailboxes[$t_key] = $this->ERP_update_indexes($t_array, $t_indexes);
         }
         plugin_config_set('mailboxes', $t_mailboxes);
         plugin_config_set('config_version', 7);
     }
     if ($t_config_version <= 7) {
         $t_mailboxes = plugin_config_get('mailboxes', array());
         foreach ($t_mailboxes as $t_key => $t_array) {
             if (isset($t_array['hostname'])) {
                 $t_hostname = $t_array['hostname'];
                 if (is_array($t_hostname)) {
                     $t_array['hostname'] = $t_hostname['hostname'];
                     $t_array['port'] = $t_hostname['port'];
                 }
                 $t_mailboxes[$t_key] = $t_array;
             }
         }
         plugin_config_set('mailboxes', $t_mailboxes);
         plugin_config_set('config_version', 8);
     }
     if ($t_config_version <= 8) {
         plugin_config_delete('mail_tmp_directory');
         plugin_config_set('config_version', 9);
     }
     if ($t_config_version <= 9) {
         $t_mailboxes = plugin_config_get('mailboxes', array());
         $t_indexes = array('type' => 'mailbox_type', 'basefolder' => 'imap_basefolder', 'createfolderstructure' => 'imap_createfolderstructure');
         foreach ($t_mailboxes as $t_key => $t_array) {
             $t_mailboxes[$t_key] = $this->ERP_update_indexes($t_array, $t_indexes);
         }
         plugin_config_set('mailboxes', $t_mailboxes);
         plugin_config_set('config_version', 10);
     }
     if ($t_config_version <= 10) {
         plugin_config_delete('mail_rule_system');
         plugin_config_set('config_version', 11);
     }
     if ($t_config_version <= 11) {
         $t_mailboxes = plugin_config_get('mailboxes', array());
         $t_indexes = array('username' => 'erp_username', 'password' => 'erp_password');
         foreach ($t_mailboxes as $t_key => $t_array) {
             $t_mailboxes[$t_key] = $this->ERP_update_indexes($t_array, $t_indexes);
         }
         plugin_config_set('mailboxes', $t_mailboxes);
         plugin_config_delete('rules');
         plugin_config_delete('mail_encoding');
         plugin_config_set('config_version', 12);
     }
     if ($t_config_version <= 12) {
         plugin_config_set('reset_schema', 1);
         plugin_config_set('config_version', 13);
     }
     if ($t_config_version <= 13) {
         plugin_config_delete('mail_fetch_max');
         plugin_config_set('config_version', 14);
     }
     if ($t_config_version <= 14) {
         $t_mail_reporter_id = plugin_config_get('mail_reporter_id', 'Mail');
         $t_report_bug_threshold = config_get_global('report_bug_threshold');
         if ($t_mail_reporter_id !== 'Mail' && user_exists($t_mail_reporter_id)) {
             if (!access_has_global_level($t_report_bug_threshold, $t_mail_reporter_id)) {
                 user_set_field($t_mail_reporter_id, 'access_level', $t_report_bug_threshold);
             }
         }
         plugin_config_set('config_version', 15);
     }
 }