Merged changes from main branch up to release 2.2.1
[fa-stable.git] / admin / display_prefs.php
index 1b26a14c203aca14a9d047b9fa87e0bd8c66008a..4374df3a6fcbab9dcf20b2ef0cc1a9a65a3675c4 100644 (file)
@@ -9,11 +9,11 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
-$page_security =10;
+$page_security = 'SA_SETUPDISPLAY';
 $path_to_root="..";
 include($path_to_root . "/includes/session.inc");
 
-page(_("Display Setup"));
+page(_($help_context = "Display Setup"));
 
 include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/includes/ui.inc");
@@ -27,10 +27,12 @@ if (isset($_POST['setprefs']))
        if (!is_numeric($_POST['query_size']) || ($_POST['query_size']<1))
        {
                display_error($_POST['query_size']);
-               display_error( _("Query size must integer and greater than zero."));
+               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,17 +40,27 @@ 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'], check_value('sticky_doc_date'), $_POST['startup_tab']);
 
-               if ($_SESSION['language'] != $_POST['language'])
-                       language::set_language($_POST['language']);
+               if ($chg_lang)
+                       $_SESSION['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)
+                       $_SESSION['bordercolor'] = "#8cacbb";
+
+               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."));
        }
 }
 
@@ -105,6 +117,8 @@ possible separators can be added by modifying the array definition by editing th
 
 pagesizes_list_row(_("Page Size:"), "page_size", user_pagesize());
 
+tab_list_row(_("Start-up Tab"), 'startup_tab', user_startup_tab());
+
 /* The array $pagesizes is set up in config.php for modifications
 possible separators can be added by modifying the array definition by editing that file */
 
@@ -122,9 +136,12 @@ check_row(_("Use icons instead of text links:"), 'graphic_links', user_graphic_l
 
 text_row_ex(_("Query page size:"), 'query_size',  5, 5, '', user_query_size());
 
+check_row(_("Remember last document date:"), 'sticky_doc_date', sticky_doc_date(),
+       false, _('If set document date is remembered on subsequent documents, otherwise default is current date'));
+
 end_outer_table(1);
 
-submit_center('setprefs', _("Update"), true, '', true);
+submit_center('setprefs', _("Update"), true, '',  'default');
 
 end_form(2);