function update_user_display_prefs($user_id, $price_dec, $qty_dec, $exrate_dec,
$percent_dec, $showgl, $showcodes, $date_format, $date_sep, $tho_sep,
- $dec_sep, $theme, $pagesize, $show_hints, $profile, $rep_popup, $query_size, $graphic_links)
+ $dec_sep, $theme, $pagesize, $show_hints, $profile, $rep_popup, $query_size,
+ $graphic_links, $lang)
{
$sql = "UPDATE ".TB_PREF."users SET
prices_dec=".db_escape($price_dec).",
print_profile=".db_escape($profile).",
rep_popup=$rep_popup,
query_size=$query_size,
- graphic_links=$graphic_links
+ graphic_links=$graphic_links,
+ language=".db_escape($lang)."
WHERE user_id = ".db_escape($user_id);
db_query($sql, "could not update user display prefs for $user_id");
display_error( _("Query size must be integer and greater than zero."));
set_focus('query_size');
} else {
- $theme = user_theme();
+ $chg_theme = user_theme() != $_POST['theme'];
+ $chg_lang = $_SESSION['language']->code != $_POST['language'];
+
set_user_prefs($_POST['prices'], $_POST['Quantities'],
$_POST['Rates'], $_POST['Percent'],
check_value('show_gl'),
$_POST['date_format'], $_POST['date_sep'],
$_POST['tho_sep'], $_POST['dec_sep'],
$_POST['theme'], $_POST['page_size'], check_value('show_hints'),
- $_POST['profile'], check_value('rep_popup'), (int)($_POST['query_size']), check_value('graphic_links'));
+ $_POST['profile'], check_value('rep_popup'),
+ (int)($_POST['query_size']), check_value('graphic_links'),
+ $_POST['language']);
- if ($_SESSION['language'] != $_POST['language'])
+ if ($chg_lang)
language::set_language($_POST['language']);
+ // refresh main menu
flush_dir($comp_path.'/'.user_company().'/js_cache');
- if (user_theme() != $theme)
- reload_page("");
+ if ($chg_theme || $chg_lang)
+ meta_forward($_SERVER['PHP_SELF']);
display_notification_centered(_("Display settings have been updated."));
}
function update_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec,
$showgl, $showcodes, $date_format, $date_sep, $tho_sep, $dec_sep,
- $theme, $pagesize, $show_hints, $profile, $rep_popup, $query_size, $graphic_links) {
+ $theme, $pagesize, $show_hints, $profile, $rep_popup, $query_size,
+ $graphic_links, $lang) {
update_user_display_prefs($this->username, $price_dec,
$qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes,
$date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize,
- $show_hints, $profile, $rep_popup, $query_size, $graphic_links);
+ $show_hints, $profile, $rep_popup, $query_size, $graphic_links, $lang);
// re-read the prefs
$user = get_user($this->username);
function set_user_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes,
$date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, $show_hints,
- $print_profile, $rep_popup, $query_size, $graphic_links)
+ $print_profile, $rep_popup, $query_size, $graphic_links, $lang)
{
$_SESSION["wa_current_user"]->update_prefs($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes,
$date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize, $show_hints,
- $print_profile, $rep_popup, $query_size, $graphic_links);
+ $print_profile, $rep_popup, $query_size, $graphic_links, $lang);
}
function add_user_js_data() {