function edit_account_prefs($p_user_id = null, $p_error_if_protected = true, $p_accounts_menu = true, $p_redirect_url = '') { if (null === $p_user_id) { $p_user_id = auth_get_current_user_id(); } $t_redirect_url = $p_redirect_url; if (is_blank($t_redirect_url)) { $t_redirect_url = 'account_prefs_page.php'; } # protected account check if (user_is_protected($p_user_id)) { if ($p_error_if_protected) { trigger_error(ERROR_PROTECTED_ACCOUNT, ERROR); } else { return; } } if (!user_pref_exists($p_user_id)) { user_pref_set_default($p_user_id); } # prefix data with u_ $t_pref = user_pref_get($p_user_id); # Account Preferences Form BEGIN ?> <br /> <div align="center"> <form method="post" action="account_prefs_update.php"> <input type="hidden" name="user_id" value="<?php echo $p_user_id; ?> " /> <input type="hidden" name="redirect_url" value="<?php echo $t_redirect_url; ?> " /> <table class="width75" cellspacing="1"> <tr> <td class="form-title"> <?php echo lang_get('default_account_preferences_title'); ?> </td> <td class="right"> <?php if ($p_accounts_menu) { print_account_menu('account_prefs_page.php'); } ?> </td> </tr> <tr class="row-1"> <td class="category" width="50%"> <?php echo lang_get('default_project'); ?> </td> <td width="50%"> <select name="default_project"> <?php print_project_option_list($t_pref->default_project); ?> </select> </td> </tr> <tr class="row-2"> <td class="category"> <?php echo lang_get('advanced_report'); ?> </td> <td> <input type="checkbox" name="advanced_report" <?php check_checked($t_pref->advanced_report, ON); ?> /> </td> </tr> <tr class="row-1"> <td class="category"> <?php echo lang_get('advanced_view'); ?> </td> <td> <input type="checkbox" name="advanced_view" <?php check_checked($t_pref->advanced_view, ON); ?> /> </td> </tr> <tr class="row-2"> <td class="category"> <?php echo lang_get('advanced_update'); ?> </td> <td> <input type="checkbox" name="advanced_update" <?php check_checked($t_pref->advanced_update, ON); ?> /> </td> </tr> <tr class="row-1"> <td class="category"> <?php echo lang_get('refresh_delay'); ?> </td> <td> <input type="text" name="refresh_delay" size="4" maxlength="4" value="<?php echo $t_pref->refresh_delay; ?> " /> </td> </tr> <tr class="row-2"> <td class="category"> <?php echo lang_get('redirect_delay'); ?> </td> <td> <input type="text" name="redirect_delay" size="1" maxlength="1" value="<?php echo $t_pref->redirect_delay; ?> " /> </td> </tr> <tr class="row-1"> <td class="category"> <?php echo lang_get('bugnote_order'); ?> </td> <td> <input type="radio" name="bugnote_order" value="ASC" <?php check_checked($t_pref->bugnote_order, 'ASC'); ?> /><?php echo lang_get('bugnote_order_asc'); ?> <input type="radio" name="bugnote_order" value="DESC" <?php check_checked($t_pref->bugnote_order, 'DESC'); ?> /><?php echo lang_get('bugnote_order_desc'); ?> </td> </tr> <?php if (ON == config_get('enable_email_notification')) { ?> <tr class="row-2"> <td class="category"> <?php echo lang_get('email_on_new'); ?> </td> <td> <input type="checkbox" name="email_on_new" <?php check_checked($t_pref->email_on_new, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_new_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option value="<?php echo OFF; ?> "></option> <?php print_enum_string_option_list('severity', $t_pref->email_on_new_min_severity); ?> </select> </td> </tr> <tr class="row-1"> <td class="category"> <?php echo lang_get('email_on_assigned'); ?> </td> <td> <input type="checkbox" name="email_on_assigned" <?php check_checked($t_pref->email_on_assigned, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_assigned_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option value="<?php echo OFF; ?> "></option> <?php print_enum_string_option_list('severity', $t_pref->email_on_assigned_min_severity); ?> </select> </td> </tr> <tr class="row-2"> <td class="category"> <?php echo lang_get('email_on_feedback'); ?> </td> <td> <input type="checkbox" name="email_on_feedback" <?php check_checked($t_pref->email_on_feedback, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_feedback_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option value="<?php echo OFF; ?> "></option> <?php print_enum_string_option_list('severity', $t_pref->email_on_feedback_min_severity); ?> </select> </td> </tr> <tr class="row-1"> <td class="category"> <?php echo lang_get('email_on_resolved'); ?> </td> <td> <input type="checkbox" name="email_on_resolved" <?php check_checked($t_pref->email_on_resolved, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_resolved_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option value="<?php echo OFF; ?> "></option> <?php print_enum_string_option_list('severity', $t_pref->email_on_resolved_min_severity); ?> </select> </td> </tr> <tr class="row-2"> <td class="category"> <?php echo lang_get('email_on_closed'); ?> </td> <td> <input type="checkbox" name="email_on_closed" <?php check_checked($t_pref->email_on_closed, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_closed_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option value="<?php echo OFF; ?> "></option> <?php print_enum_string_option_list('severity', $t_pref->email_on_closed_min_severity); ?> </select> </td> </tr> <tr class="row-1"> <td class="category"> <?php echo lang_get('email_on_reopened'); ?> </td> <td> <input type="checkbox" name="email_on_reopened" <?php check_checked($t_pref->email_on_reopened, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_reopened_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option value="<?php echo OFF; ?> "></option> <?php print_enum_string_option_list('severity', $t_pref->email_on_reopened_min_severity); ?> </select> </td> </tr> <tr class="row-2"> <td class="category"> <?php echo lang_get('email_on_bugnote_added'); ?> </td> <td> <input type="checkbox" name="email_on_bugnote" <?php check_checked($t_pref->email_on_bugnote, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_bugnote_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option value="<?php echo OFF; ?> "></option> <?php print_enum_string_option_list('severity', $t_pref->email_on_bugnote_min_severity); ?> </select> </td> </tr> <tr class="row-1"> <td class="category"> <?php echo lang_get('email_on_status_change'); ?> </td> <td> <input type="checkbox" name="email_on_status" <?php check_checked($t_pref->email_on_status, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_status_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option value="<?php echo OFF; ?> "></option> <?php print_enum_string_option_list('severity', $t_pref->email_on_status_min_severity); ?> </select> </td> </tr> <tr class="row-2"> <td class="category"> <?php echo lang_get('email_on_priority_change'); ?> </td> <td> <input type="checkbox" name="email_on_priority" <?php check_checked($t_pref->email_on_priority, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_priority_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option value="<?php echo OFF; ?> "></option> <?php print_enum_string_option_list('severity', $t_pref->email_on_priority_min_severity); ?> </select> </td> </tr> <tr class="row-1"> <td class="category"> <?php echo lang_get('email_bugnote_limit'); ?> </td> <td> <input type="text" name="email_bugnote_limit" maxlength="2" size="2" value="<?php echo $t_pref->email_bugnote_limit; ?> "> </td> </tr> <?php } else { ?> <input type="hidden" name="email_on_new" value="<?php echo $t_pref->email_on_new; ?> " /> <input type="hidden" name="email_on_assigned" value="<?php echo $t_pref->email_on_assigned; ?> " /> <input type="hidden" name="email_on_feedback" value="<?php echo $t_pref->email_on_feedback; ?> " /> <input type="hidden" name="email_on_resolved" value="<?php echo $t_pref->email_on_resolved; ?> " /> <input type="hidden" name="email_on_closed" value="<?php echo $t_pref->email_on_closed; ?> " /> <input type="hidden" name="email_on_reopened" value="<?php echo $t_pref->email_on_reopened; ?> " /> <input type="hidden" name="email_on_bugnote" value="<?php echo $t_pref->email_on_bugnote; ?> " /> <input type="hidden" name="email_on_status" value="<?php echo $t_pref->email_on_status; ?> " /> <input type="hidden" name="email_on_priority" value="<?php echo $t_pref->email_on_priority; ?> " /> <input type="hidden" name="email_on_new_min_severity" value="<?php echo $t_pref->email_on_new_min_severity; ?> " /> <input type="hidden" name="email_on_assigned_min_severity" value="<?php echo $t_pref->email_on_assigned_min_severity; ?> " /> <input type="hidden" name="email_on_feedback_min_severity" value="<?php echo $t_pref->email_on_feedback_min_severity; ?> " /> <input type="hidden" name="email_on_resolved_min_severity" value="<?php echo $t_pref->email_on_resolved_min_severity; ?> " /> <input type="hidden" name="email_on_closed_min_severity" value="<?php echo $t_pref->email_on_closed_min_severity; ?> " /> <input type="hidden" name="email_on_reopened_min_severity" value="<?php echo $t_pref->email_on_reopened_min_severity; ?> " /> <input type="hidden" name="email_on_bugnote_min_severity" value="<?php echo $t_pref->email_on_bugnote_min_severity; ?> " /> <input type="hidden" name="email_on_status_min_severity" value="<?php echo $t_pref->email_on_status_min_severity; ?> " /> <input type="hidden" name="email_on_priority_min_severity" value="<?php echo $t_pref->email_on_priority_min_severity; ?> " /> <input type="hidden" name="email_bugnote_limit" value="<?php echo $t_pref->email_bugnote_limit; ?> " /> <?php } ?> <tr class="row-2"> <td class="category"> <?php echo lang_get('language'); ?> </td> <td> <select name="language"> <?php print_language_option_list($t_pref->language); ?> </select> </td> </tr> <tr> <td colspan="2" class="center"> <input type="submit" class="button" value="<?php echo lang_get('update_prefs_button'); ?> " /> </td> </tr> </table> </form> </div> <br /> <div class="border-center"> <form method="post" action="account_prefs_reset.php"> <input type="hidden" name="user_id" value="<?php echo $p_user_id; ?> " /> <input type="hidden" name="redirect_url" value="<?php echo $t_redirect_url; ?> " /> <input type="submit" class="button" value="<?php echo lang_get('reset_prefs_button'); ?> " /> </form> </div> <?php }
/** * Set a user preference * * By getting the prefs for the project first we deal fairly well with defaults. * If there are currently no prefs for that project, the ALL_PROJECTS prefs will * be returned so we end up storing a new set of prefs for the given project * based on the prefs for ALL_PROJECTS. If there isn't even an entry for * ALL_PROJECTS, we'd get returned a default UserPreferences object to modify. * @param int $p_user_id * @param string $p_pref_name * @param string $p_pref_value * @param int $p_project_id * @return true */ function user_pref_set_pref( $p_user_id, $p_pref_name, $p_pref_value, $p_project_id = ALL_PROJECTS ) { $t_prefs = user_pref_get( $p_user_id, $p_project_id ); $t_prefs->$p_pref_name = $p_pref_value; user_pref_set( $p_user_id, $t_prefs, $p_project_id ); return true; }
/** * Return the current project id as stored in a cookie * If no cookie exists, the user's default project is returned * @return int */ function helper_get_current_project() { global $g_project_override, $g_cache_current_project; if ($g_project_override !== null) { return $g_project_override; } if ($g_cache_current_project === null) { $t_cookie_name = config_get('project_cookie'); $t_project_id = gpc_get_cookie($t_cookie_name, null); if (null === $t_project_id) { $t_pref = user_pref_get(auth_get_current_user_id(), ALL_PROJECTS, false); $t_project_id = $t_pref->default_project; } else { $t_project_id = explode(';', $t_project_id); $t_project_id = $t_project_id[count($t_project_id) - 1]; } if (!project_exists($t_project_id) || 0 == project_get_field($t_project_id, 'enabled') || !access_has_project_level(VIEWER, $t_project_id)) { $t_project_id = ALL_PROJECTS; } $g_cache_current_project = (int) $t_project_id; } return $g_cache_current_project; }
/** * Display html form to edit account preferences * * @param integer $p_user_id A valid user identifier. * @param boolean $p_error_if_protected Whether to error if the account is protected. * @param boolean $p_accounts_menu Display account preferences menu. * @param string $p_redirect_url Redirect URI. * @return void */ function edit_account_prefs($p_user_id = null, $p_error_if_protected = true, $p_accounts_menu = true, $p_redirect_url = '') { if (null === $p_user_id) { $p_user_id = auth_get_current_user_id(); } $t_redirect_url = $p_redirect_url; if (is_blank($t_redirect_url)) { $t_redirect_url = 'account_prefs_page.php'; } # protected account check if (user_is_protected($p_user_id)) { if ($p_error_if_protected) { trigger_error(ERROR_PROTECTED_ACCOUNT, ERROR); } else { return; } } $t_pref = user_pref_get($p_user_id); # Account Preferences Form BEGIN ?> <div id="account-prefs-update-div" class="form-container"> <form id="account-prefs-update-form" method="post" action="account_prefs_update.php"> <fieldset> <legend><span><?php echo lang_get('default_account_preferences_title'); ?> </span></legend> <?php echo form_security_field('account_prefs_update'); ?> <input type="hidden" name="user_id" value="<?php echo $p_user_id; ?> " /> <input type="hidden" name="redirect_url" value="<?php echo $t_redirect_url; ?> " /> <?php if ($p_accounts_menu) { print_account_menu('account_prefs_page.php'); } ?> <div class="field-container"> <label for="default-project-id"><span><?php echo lang_get('default_project'); ?> </span></label> <span class="select"> <select id="default-project-id" name="default_project"> <?php # Count number of available projects $t_projects = current_user_get_accessible_projects(); $t_num_proj = count($t_projects); if ($t_num_proj == 1) { $t_num_proj += count(current_user_get_accessible_subprojects($t_projects[0])); } # Don't display "All projects" in selection list if there is only 1 print_project_option_list((int) $t_pref->default_project, $t_num_proj != 1); ?> </select> </span> <span class="label-style"></span> </div> <div class="field-container"> <label for="refresh-delay"><span><?php echo lang_get('refresh_delay'); ?> </span></label> <span class="input"><input id="refresh-delay" type="text" name="refresh_delay" size="4" maxlength="4" value="<?php echo $t_pref->refresh_delay; ?> " /> <?php echo lang_get('minutes'); ?> </span> <span class="label-style"></span> </div> <div class="field-container"> <label for="redirect-delay"><span><?php echo lang_get('redirect_delay'); ?> </span></label> <span class="input"><input id="redirect-delay" type="text" name="redirect_delay" size="4" maxlength="3" value="<?php echo $t_pref->redirect_delay; ?> " /> <?php echo lang_get('seconds'); ?> </span> <span class="label-style"></span> </div> <fieldset class="field-container"> <legend><span><?php echo lang_get('bugnote_order'); ?> </span></legend> <span class="radio"><input id="bugnote-order-desc" type="radio" name="bugnote_order" value="DESC" <?php check_checked($t_pref->bugnote_order, 'DESC'); ?> /></span> <label for="bugnote-order-desc"><span><?php echo lang_get('bugnote_order_desc'); ?> </span></label> <span class="radio"><input id="bugnote-order-asc" type="radio" name="bugnote_order" value="ASC" <?php check_checked($t_pref->bugnote_order, 'ASC'); ?> /></span> <label for="bugnote-order-asc"><span><?php echo lang_get('bugnote_order_asc'); ?> </span></label> <span class="label-style"></span> </fieldset> <?php if (ON == config_get('enable_email_notification')) { ?> <fieldset class="field-container"> <legend><label for="email-on-new"><?php echo lang_get('email_on_new'); ?> </label></legend> <span class="checkbox"><input id="email-on-new" type="checkbox" name="email_on_new" <?php check_checked((int) $t_pref->email_on_new, ON); ?> /></span> <label for="email-on-new-min-severity" class="email-on-severity-label"><span><?php echo lang_get('with_minimum_severity'); ?> </span></label> <span class="select email-on-severity"> <select id="email-on-new-min-severity" name="email_on_new_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', (int) $t_pref->email_on_new_min_severity); ?> </select> </span> <span class="label-style"></span> </fieldset> <fieldset class="field-container"> <legend><label for="email-on-assigned"><?php echo lang_get('email_on_assigned'); ?> </label></legend> <span class="checkbox"><input id="email-on-assigned" type="checkbox" name="email_on_assigned" <?php check_checked((int) $t_pref->email_on_assigned, ON); ?> /></span> <label for="email-on-assigned-min-severity" class="email-on-severity-label"><span><?php echo lang_get('with_minimum_severity'); ?> </span></label> <span class="select email-on-severity"> <select id="email-on-assigned-min-severity" name="email_on_assigned_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', (int) $t_pref->email_on_assigned_min_severity); ?> </select> </span> <span class="label-style"></span> </fieldset> <fieldset class="field-container"> <legend><label for="email-on-feedback"><?php echo lang_get('email_on_feedback'); ?> </label></legend> <span class="checkbox"><input id="email-on-feedback" type="checkbox" name="email_on_feedback" <?php check_checked((int) $t_pref->email_on_feedback, ON); ?> /></span> <label for="email-on-feedback-min-severity" class="email-on-severity-label"><span><?php echo lang_get('with_minimum_severity'); ?> </span></label> <span class="select email-on-severity"> <select id="email-on-feedback-min-severity" name="email_on_feedback_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', (int) $t_pref->email_on_feedback_min_severity); ?> </select> </span> <span class="label-style"></span> </fieldset> <fieldset class="field-container"> <legend><label for="email-on-resolved"><?php echo lang_get('email_on_resolved'); ?> </label></legend> <span class="checkbox"><input id="email-on-resolved" type="checkbox" name="email_on_resolved" <?php check_checked((int) $t_pref->email_on_resolved, ON); ?> /></span> <label for="email-on-resolved-min-severity" class="email-on-severity-label"><span><?php echo lang_get('with_minimum_severity'); ?> </span></label> <span class="select email-on-severity"> <select id="email-on-resolved-min-severity" name="email_on_resolved_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', (int) $t_pref->email_on_resolved_min_severity); ?> </select> </span> <span class="label-style"></span> </fieldset> <fieldset class="field-container"> <legend><label for="email-on-closed"><?php echo lang_get('email_on_closed'); ?> </label></legend> <span class="checkbox"><input id="email-on-closed" type="checkbox" name="email_on_closed" <?php check_checked((int) $t_pref->email_on_closed, ON); ?> /></span> <label for="email-on-closed-min-severity" class="email-on-severity-label"><span><?php echo lang_get('with_minimum_severity'); ?> </span></label> <span class="select email-on-severity"> <select id="email-on-closed-min-severity" name="email_on_closed_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', (int) $t_pref->email_on_closed_min_severity); ?> </select> </span> <span class="label-style"></span> </fieldset> <fieldset class="field-container"> <legend><label for="email-on-reopened"><?php echo lang_get('email_on_reopened'); ?> </label></legend> <span class="checkbox"><input id="email-on-reopened" type="checkbox" name="email_on_reopened" <?php check_checked((int) $t_pref->email_on_reopened, ON); ?> /></span> <label for="email-on-reopened-min-severity" class="email-on-severity-label"><span><?php echo lang_get('with_minimum_severity'); ?> </span></label> <span class="select email-on-severity"> <select id="email-on-reopened-min-severity" name="email_on_reopened_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', (int) $t_pref->email_on_reopened_min_severity); ?> </select> </span> <span class="label-style"></span> </fieldset> <fieldset class="field-container"> <legend><label for="email-on-bugnote-added"><?php echo lang_get('email_on_bugnote_added'); ?> </label></legend> <span class="checkbox"><input id="email-on-bugnote-added" type="checkbox" name="email_on_bugnote" <?php check_checked((int) $t_pref->email_on_bugnote, ON); ?> /></span> <label for="email-on-bugnote-min-severity" class="email-on-severity-label"><span><?php echo lang_get('with_minimum_severity'); ?> </span></label> <span class="select email-on-severity"> <select id="email-on-bugnote-min-severity" name="email_on_bugnote_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', (int) $t_pref->email_on_bugnote_min_severity); ?> </select> </span> <span class="label-style"></span> </fieldset> <fieldset class="field-container"> <legend><label for="email-on-status"><?php echo lang_get('email_on_status_change'); ?> </label></legend> <span class="checkbox"><input id="email-on-status" type="checkbox" name="email_on_status" <?php check_checked((int) $t_pref->email_on_status, ON); ?> /></span> <label for="email-on-status-min-severity" class="email-on-severity-label"><span><?php echo lang_get('with_minimum_severity'); ?> </span></label> <span class="select email-on-severity"> <select id="email-on-status-min-severity" name="email_on_status_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', (int) $t_pref->email_on_status_min_severity); ?> </select> </span> <span class="label-style"></span> </fieldset> <fieldset class="field-container"> <legend><label for="email-on-priority-change"><?php echo lang_get('email_on_priority_change'); ?> </label></legend> <span class="checkbox"><input id="email-on-priority-change" type="checkbox" name="email_on_priority" <?php check_checked((int) $t_pref->email_on_priority, ON); ?> /></span> <label for="email-on-priority-min-severity" class="email-on-severity-label"><span><?php echo lang_get('with_minimum_severity'); ?> </span></label> <span class="select email-on-severity"> <select id="email-on-priority-min-severity" name="email_on_priority_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', (int) $t_pref->email_on_priority_min_severity); ?> </select> </span> <span class="label-style"></span> </fieldset> <div class="field-container"> <label for="email-bugnote-limit"><span><?php echo lang_get('email_bugnote_limit'); ?> </span></label> <span class="input"><input id="email-bugnote-limit" type="text" name="email_bugnote_limit" maxlength="2" size="2" value="<?php echo $t_pref->email_bugnote_limit; ?> " /></span> <span class="label-style"></span> </div> <?php } else { ?> <input type="hidden" name="email_on_new" value="<?php echo $t_pref->email_on_new; ?> " /> <input type="hidden" name="email_on_assigned" value="<?php echo $t_pref->email_on_assigned; ?> " /> <input type="hidden" name="email_on_feedback" value="<?php echo $t_pref->email_on_feedback; ?> " /> <input type="hidden" name="email_on_resolved" value="<?php echo $t_pref->email_on_resolved; ?> " /> <input type="hidden" name="email_on_closed" value="<?php echo $t_pref->email_on_closed; ?> " /> <input type="hidden" name="email_on_reopened" value="<?php echo $t_pref->email_on_reopened; ?> " /> <input type="hidden" name="email_on_bugnote" value="<?php echo $t_pref->email_on_bugnote; ?> " /> <input type="hidden" name="email_on_status" value="<?php echo $t_pref->email_on_status; ?> " /> <input type="hidden" name="email_on_priority" value="<?php echo $t_pref->email_on_priority; ?> " /> <input type="hidden" name="email_on_new_min_severity" value="<?php echo $t_pref->email_on_new_min_severity; ?> " /> <input type="hidden" name="email_on_assigned_min_severity" value="<?php echo $t_pref->email_on_assigned_min_severity; ?> " /> <input type="hidden" name="email_on_feedback_min_severity" value="<?php echo $t_pref->email_on_feedback_min_severity; ?> " /> <input type="hidden" name="email_on_resolved_min_severity" value="<?php echo $t_pref->email_on_resolved_min_severity; ?> " /> <input type="hidden" name="email_on_closed_min_severity" value="<?php echo $t_pref->email_on_closed_min_severity; ?> " /> <input type="hidden" name="email_on_reopened_min_severity" value="<?php echo $t_pref->email_on_reopened_min_severity; ?> " /> <input type="hidden" name="email_on_bugnote_min_severity" value="<?php echo $t_pref->email_on_bugnote_min_severity; ?> " /> <input type="hidden" name="email_on_status_min_severity" value="<?php echo $t_pref->email_on_status_min_severity; ?> " /> <input type="hidden" name="email_on_priority_min_severity" value="<?php echo $t_pref->email_on_priority_min_severity; ?> " /> <input type="hidden" name="email_bugnote_limit" value="<?php echo $t_pref->email_bugnote_limit; ?> " /> <?php } ?> <div class="field-container"> <label for="timezone"><span><?php echo lang_get('timezone'); ?> </span></label> <span class="select"> <select id="timezone" name="timezone"> <?php print_timezone_option_list($t_pref->timezone ? $t_pref->timezone : config_get_global('default_timezone')); ?> </select> </span> <span class="label-style"></span> </div> <div class="field-container"> <label for="language"><span><?php echo lang_get('language'); ?> </span></label> <span class="select"> <select id="language" name="language"> <?php print_language_option_list($t_pref->language); ?> </select> </span> <span class="label-style"></span> </div> <?php event_signal('EVENT_ACCOUNT_PREF_UPDATE_FORM', array($p_user_id)); ?> <span class="submit-button"><input type="submit" class="button" value="<?php echo lang_get('update_prefs_button'); ?> " /></span> </fieldset> </form> </div> <div id="account-prefs-reset-div" class="form-container"> <form id="account-prefs-reset-form" method="post" action="account_prefs_reset.php"> <fieldset> <?php echo form_security_field('account_prefs_reset'); ?> <input type="hidden" name="user_id" value="<?php echo $p_user_id; ?> " /> <input type="hidden" name="redirect_url" value="<?php echo $t_redirect_url; ?> " /> <span class="submit-button"><input type="submit" class="button" value="<?php echo lang_get('reset_prefs_button'); ?> " /></span> </fieldset> </form> </div> <?php }
$f_redirect_url = gpc_get_string('redirect_url'); user_ensure_exists($f_user_id); $t_user = user_get_row($f_user_id); # This page is currently called from the manage_* namespace and thus we # have to allow authorised users to update the accounts of other users. # TODO: split this functionality into manage_user_prefs_update.php if (auth_get_current_user_id() != $f_user_id) { access_ensure_global_level(config_get('manage_user_threshold')); access_ensure_global_level($t_user['access_level']); } else { # Protected users should not be able to update the preferences of their # user account. The anonymous user is always considered a protected # user and hence will also not be allowed to update preferences. user_ensure_unprotected($f_user_id); } $t_prefs = user_pref_get($f_user_id); $t_prefs->redirect_delay = gpc_get_int('redirect_delay'); $t_prefs->refresh_delay = gpc_get_int('refresh_delay'); $t_prefs->default_project = gpc_get_int('default_project'); $t_lang = gpc_get_string('language'); if (lang_language_exists($t_lang)) { $t_prefs->language = $t_lang; } $t_prefs->email_on_new = gpc_get_bool('email_on_new'); $t_prefs->email_on_assigned = gpc_get_bool('email_on_assigned'); $t_prefs->email_on_feedback = gpc_get_bool('email_on_feedback'); $t_prefs->email_on_resolved = gpc_get_bool('email_on_resolved'); $t_prefs->email_on_closed = gpc_get_bool('email_on_closed'); $t_prefs->email_on_reopened = gpc_get_bool('email_on_reopened'); $t_prefs->email_on_bugnote = gpc_get_bool('email_on_bugnote'); $t_prefs->email_on_status = gpc_get_bool('email_on_status');
/** * Set a user preference * * By getting the prefs for the project first we deal fairly well with defaults. * If there are currently no prefs for that project, the ALL_PROJECTS prefs will * be returned so we end up storing a new set of prefs for the given project * based on the prefs for ALL_PROJECTS. If there isn't even an entry for * ALL_PROJECTS, we'd get returned a default UserPreferences object to modify. * @param int $p_user_id * @param string $p_pref_name * @param string $p_pref_value * @param int $p_project_id * @return true */ function user_pref_set_pref($p_user_id, $p_pref_name, $p_pref_value, $p_project_id = ALL_PROJECTS) { $t_prefs = user_pref_get($p_user_id, $p_project_id); if ($t_prefs->{$p_pref_name} != $p_pref_value) { $t_prefs->{$p_pref_name} = $p_pref_value; user_pref_set($p_user_id, $t_prefs, $p_project_id); } return true; }
function user_pref_set_pref($p_user_id, $p_pref_name, $p_pref_value, $p_project_id = ALL_PROJECTS) { $c_user_id = db_prepare_int($p_user_id); $c_pref_name = db_prepare_string($p_pref_name); $c_pref_value = db_prepare_string($p_pref_value); $c_project_id = db_prepare_int($p_project_id); $t_prefs = user_pref_get($p_user_id, $p_project_id); $t_prefs->{$p_pref_name} = $p_pref_value; user_pref_set($p_user_id, $t_prefs, $p_project_id); return true; }
' /> <link rel='stylesheet' type='text/css' href='<?php echo plugin_file('bower/fullcalendar/dist/fullcalendar.print.css'); ?> ' media='print' /> <script type='text/javascript' src='<?php echo plugin_file('bower/fullcalendar/dist/fullcalendar.min.js'); ?> '></script> <?php // Récupération du projet et de l'utilisateur courant et de ses droits $t_user_id = auth_get_current_user_id(); $t_user_access_level = current_user_get_access_level(); $t_project_id = helper_get_current_project(); //Récupération du code d'affichage de la langue si l'utilisateur est identifié $t_pref = user_pref_get($t_user_id); $codeLang = AgendaPlugin::getFullCalendarLocaleCode($t_pref->language); ?> <script type='text/javascript' src='<?php echo plugin_file('bower/fullcalendar/dist/lang/' . $codeLang . '.js'); ?> '></script> <!-- MantisAgenda Resources --> <script type='text/javascript' src='<?php echo plugin_file('fullcalendar_init.js'); ?> '></script> <link rel='stylesheet' type='text/css' href='<?php echo plugin_file('mantisagenda.css'); ?>
function edit_account_prefs($p_user_id = null, $p_error_if_protected = true, $p_accounts_menu = true, $p_redirect_url = '') { if (null === $p_user_id) { $p_user_id = auth_get_current_user_id(); } $t_redirect_url = $p_redirect_url; if (is_blank($t_redirect_url)) { $t_redirect_url = 'account_prefs_page.php'; } # protected account check if (user_is_protected($p_user_id)) { if ($p_error_if_protected) { trigger_error(ERROR_PROTECTED_ACCOUNT, ERROR); } else { return; } } # prefix data with u_ $t_pref = user_pref_get($p_user_id); # Account Preferences Form BEGIN ?> <br /> <div align="center"> <form method="post" action="account_prefs_update.php"> <?php echo form_security_field('account_prefs_update'); ?> <input type="hidden" name="user_id" value="<?php echo $p_user_id; ?> " /> <input type="hidden" name="redirect_url" value="<?php echo $t_redirect_url; ?> " /> <table class="width75" cellspacing="1"> <tr> <td class="form-title"> <?php echo lang_get('default_account_preferences_title'); ?> </td> <td class="right"> <?php if ($p_accounts_menu) { print_account_menu('account_prefs_page.php'); } ?> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category" width="50%"> <?php echo lang_get('default_project'); ?> </td> <td width="50%"> <select name="default_project"> <?php # Count number of available projects $t_projects = current_user_get_accessible_projects(); $t_num_proj = count($t_projects); if ($t_num_proj == 1) { $t_num_proj += count(current_user_get_accessible_subprojects($t_projects[0])); } # Don't display "All projects" in selection list if there is only 1 print_project_option_list($t_pref->default_project, $t_num_proj != 1); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('refresh_delay'); ?> </td> <td> <input type="text" name="refresh_delay" size="4" maxlength="4" value="<?php echo $t_pref->refresh_delay; ?> " /> <?php echo lang_get('minutes'); ?> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('redirect_delay'); ?> </td> <td> <input type="text" name="redirect_delay" size="4" maxlength="3" value="<?php echo $t_pref->redirect_delay; ?> " /> <?php echo lang_get('seconds'); ?> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('bugnote_order'); ?> </td> <td> <label><input type="radio" name="bugnote_order" value="ASC" <?php check_checked($t_pref->bugnote_order, 'ASC'); ?> /><?php echo lang_get('bugnote_order_asc'); ?> </label> <label><input type="radio" name="bugnote_order" value="DESC" <?php check_checked($t_pref->bugnote_order, 'DESC'); ?> /><?php echo lang_get('bugnote_order_desc'); ?> </label> </td> </tr> <?php if (ON == config_get('enable_email_notification')) { ?> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('email_on_new'); ?> </td> <td> <input type="checkbox" name="email_on_new" <?php check_checked($t_pref->email_on_new, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_new_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', $t_pref->email_on_new_min_severity); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('email_on_assigned'); ?> </td> <td> <input type="checkbox" name="email_on_assigned" <?php check_checked($t_pref->email_on_assigned, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_assigned_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', $t_pref->email_on_assigned_min_severity); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('email_on_feedback'); ?> </td> <td> <input type="checkbox" name="email_on_feedback" <?php check_checked($t_pref->email_on_feedback, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_feedback_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', $t_pref->email_on_feedback_min_severity); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('email_on_resolved'); ?> </td> <td> <input type="checkbox" name="email_on_resolved" <?php check_checked($t_pref->email_on_resolved, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_resolved_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', $t_pref->email_on_resolved_min_severity); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('email_on_closed'); ?> </td> <td> <input type="checkbox" name="email_on_closed" <?php check_checked($t_pref->email_on_closed, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_closed_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', $t_pref->email_on_closed_min_severity); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('email_on_reopened'); ?> </td> <td> <input type="checkbox" name="email_on_reopened" <?php check_checked($t_pref->email_on_reopened, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_reopened_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', $t_pref->email_on_reopened_min_severity); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('email_on_bugnote_added'); ?> </td> <td> <input type="checkbox" name="email_on_bugnote" <?php check_checked($t_pref->email_on_bugnote, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_bugnote_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', $t_pref->email_on_bugnote_min_severity); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('email_on_status_change'); ?> </td> <td> <input type="checkbox" name="email_on_status" <?php check_checked($t_pref->email_on_status, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_status_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', $t_pref->email_on_status_min_severity); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('email_on_priority_change'); ?> </td> <td> <input type="checkbox" name="email_on_priority" <?php check_checked($t_pref->email_on_priority, ON); ?> /> <?php echo lang_get('with_minimum_severity'); ?> <select name="email_on_priority_min_severity"> <option value="<?php echo OFF; ?> "><?php echo lang_get('any'); ?> </option> <option disabled="disabled">-----</option> <?php print_enum_string_option_list('severity', $t_pref->email_on_priority_min_severity); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('email_bugnote_limit'); ?> </td> <td> <input type="text" name="email_bugnote_limit" maxlength="2" size="2" value="<?php echo $t_pref->email_bugnote_limit; ?> " /> </td> </tr> <?php } else { ?> <input type="hidden" name="email_on_new" value="<?php echo $t_pref->email_on_new; ?> " /> <input type="hidden" name="email_on_assigned" value="<?php echo $t_pref->email_on_assigned; ?> " /> <input type="hidden" name="email_on_feedback" value="<?php echo $t_pref->email_on_feedback; ?> " /> <input type="hidden" name="email_on_resolved" value="<?php echo $t_pref->email_on_resolved; ?> " /> <input type="hidden" name="email_on_closed" value="<?php echo $t_pref->email_on_closed; ?> " /> <input type="hidden" name="email_on_reopened" value="<?php echo $t_pref->email_on_reopened; ?> " /> <input type="hidden" name="email_on_bugnote" value="<?php echo $t_pref->email_on_bugnote; ?> " /> <input type="hidden" name="email_on_status" value="<?php echo $t_pref->email_on_status; ?> " /> <input type="hidden" name="email_on_priority" value="<?php echo $t_pref->email_on_priority; ?> " /> <input type="hidden" name="email_on_new_min_severity" value="<?php echo $t_pref->email_on_new_min_severity; ?> " /> <input type="hidden" name="email_on_assigned_min_severity" value="<?php echo $t_pref->email_on_assigned_min_severity; ?> " /> <input type="hidden" name="email_on_feedback_min_severity" value="<?php echo $t_pref->email_on_feedback_min_severity; ?> " /> <input type="hidden" name="email_on_resolved_min_severity" value="<?php echo $t_pref->email_on_resolved_min_severity; ?> " /> <input type="hidden" name="email_on_closed_min_severity" value="<?php echo $t_pref->email_on_closed_min_severity; ?> " /> <input type="hidden" name="email_on_reopened_min_severity" value="<?php echo $t_pref->email_on_reopened_min_severity; ?> " /> <input type="hidden" name="email_on_bugnote_min_severity" value="<?php echo $t_pref->email_on_bugnote_min_severity; ?> " /> <input type="hidden" name="email_on_status_min_severity" value="<?php echo $t_pref->email_on_status_min_severity; ?> " /> <input type="hidden" name="email_on_priority_min_severity" value="<?php echo $t_pref->email_on_priority_min_severity; ?> " /> <input type="hidden" name="email_bugnote_limit" value="<?php echo $t_pref->email_bugnote_limit; ?> " /> <?php } ?> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('timezone'); ?> </td> <td> <select name="timezone"> <?php print_timezone_option_list($t_pref->timezone ? $t_pref->timezone : config_get_global('default_timezone')); ?> </select> </td> </tr> <tr <?php echo helper_alternate_class(); ?> > <td class="category"> <?php echo lang_get('language'); ?> </td> <td> <select name="language"> <?php print_language_option_list($t_pref->language); ?> </select> </td> </tr> <?php event_signal('EVENT_ACCOUNT_PREF_UPDATE_FORM', array($p_user_id)); ?> <tr> <td colspan="2" class="center"> <input type="submit" class="button" value="<?php echo lang_get('update_prefs_button'); ?> " /> </td> </tr> </table> </form> </div> <br /> <div class="border center"> <form method="post" action="account_prefs_reset.php"> <?php echo form_security_field('account_prefs_reset'); ?> <input type="hidden" name="user_id" value="<?php echo $p_user_id; ?> " /> <input type="hidden" name="redirect_url" value="<?php echo $t_redirect_url; ?> " /> <input type="submit" class="button" value="<?php echo lang_get('reset_prefs_button'); ?> " /> </form> </div> <?php }