From 7c862764eb3d6cd84ac95a2a28b5242f004b39ba Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Wed, 2 Dec 2009 13:04:28 +0000 Subject: [PATCH] Display settings restored on every login in demo mode. --- CHANGELOG.txt | 3 +++ admin/display_prefs.php | 6 +++++- includes/current_user.inc | 31 +++++++++++++++++++++++-------- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 030aedce..fc9cf79e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -27,6 +27,9 @@ $ /sql/en_US-demo.sql $ /admin/db/maintenance_db.inc ! Display sql in case of duplicate data error when go_debug=1 - redone $ /includes/errors.inc +# Display settings are restored in every login in demo mode. +$ /admin/display_prefs.php + /includes/current_user.inc 01-Dec-2009 Joe Hunt ! Release 2.2.1 diff --git a/admin/display_prefs.php b/admin/display_prefs.php index 1de931eb..4374df3a 100644 --- a/admin/display_prefs.php +++ b/admin/display_prefs.php @@ -56,7 +56,11 @@ if (isset($_POST['setprefs'])) if ($chg_theme || $chg_lang) meta_forward($_SERVER['PHP_SELF']); - display_notification_centered(_("Display settings have been updated.")); + + if ($allow_demo_mode) + display_warning(_("Display settings have been updated. Keep in mind that changed settings are restored on every login in demo mode.")); + else + display_notification_centered(_("Display settings have been updated.")); } } diff --git a/includes/current_user.inc b/includes/current_user.inc index 29705106..e9125bcd 100644 --- a/includes/current_user.inc +++ b/includes/current_user.inc @@ -170,14 +170,29 @@ 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, $lang, $stickydate, $startup_tab) { - update_user_display_prefs($this->user, $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, $lang, $stickydate, $startup_tab); - - // re-read the prefs - $user = get_user($this->user); + $graphic_links, $lang, $stickydate, $startup_tab) + { + global $allow_demo_mode; + + $user = array( + 'prices_dec' => $price_dec, 'qty_dec' => $qty_dec, + 'rates_dec' => $exrate_dec, 'percent_dec' => $percent_dec, + 'show_gl' => $showgl, 'show_codes' => $showcodes, + 'date_format' => $date_format, 'date_sep' => $date_sep, + 'tho_sep' => $tho_sep, 'dec_sep' => $dec_sep, + 'theme' => $theme, 'page_size' => $pagesize, + 'show_hints' => $show_hints, 'print_profile' => $profile, + 'rep_popup' => $rep_popup, 'query_size' => $query_size, + 'graphic_links' => $graphic_links, 'language' => $lang, + 'sticky_doc_date' => $stickydate, 'startup_tab' => $startup_tab + ); + + if(!$allow_demo_mode) { + update_user_display_prefs($this->user, $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, $lang, $stickydate, $startup_tab); + } $this->prefs = new user_prefs($user); } } -- 2.30.2