From 2b1a80aee9aa1265589bb59933e8bd322c50fc2b Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Tue, 24 Feb 2009 21:02:03 +0000 Subject: [PATCH] Language changed on display prefs page stored into database. --- admin/db/users_db.inc | 6 ++++-- admin/display_prefs.php | 15 ++++++++++----- includes/current_user.inc | 9 +++++---- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/admin/db/users_db.inc b/admin/db/users_db.inc index b42e2db0..5200f2c9 100644 --- a/admin/db/users_db.inc +++ b/admin/db/users_db.inc @@ -54,7 +54,8 @@ function update_user($user_id, $real_name, $phone, $email, $full_access, 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).", @@ -73,7 +74,8 @@ function update_user_display_prefs($user_id, $price_dec, $qty_dec, $exrate_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"); diff --git a/admin/display_prefs.php b/admin/display_prefs.php index 4409ed6d..20424376 100644 --- a/admin/display_prefs.php +++ b/admin/display_prefs.php @@ -30,7 +30,9 @@ if (isset($_POST['setprefs'])) 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'), @@ -38,15 +40,18 @@ if (isset($_POST['setprefs'])) $_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.")); } diff --git a/includes/current_user.inc b/includes/current_user.inc index dabec3ce..023591d3 100644 --- a/includes/current_user.inc +++ b/includes/current_user.inc @@ -109,11 +109,12 @@ class current_user 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); @@ -303,12 +304,12 @@ function user_graphic_links() 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() { -- 2.30.2