2 /**********************************************************************
3 Copyright (C) FrontAccounting, LLC.
4 Released under the terms of the GNU General Public License, GPL,
5 as published by the Free Software Foundation, either version 3
6 of the License, or (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 $page_security = 'SA_SETUPDISPLAY';
14 include($path_to_root . "/includes/session.inc");
16 page(_($help_context = "Display Setup"));
18 include_once($path_to_root . "/includes/date_functions.inc");
19 include_once($path_to_root . "/includes/ui.inc");
21 include_once($path_to_root . "/admin/db/company_db.inc");
23 //-------------------------------------------------------------------------------------------------
25 if (isset($_POST['setprefs']))
27 if (!is_numeric($_POST['query_size']) || ($_POST['query_size']<1))
29 display_error($_POST['query_size']);
30 display_error( _("Query size must be integer and greater than zero."));
31 set_focus('query_size');
33 $_POST['theme'] = clean_file_name($_POST['theme']);
34 $chg_theme = user_theme() != $_POST['theme'];
35 $chg_lang = $_SESSION['language']->code != $_POST['language'];
36 $chg_date_format = user_date_format() != $_POST['date_format'];
37 $chg_date_sep = user_date_sep() != $_POST['date_sep'];
39 set_user_prefs(get_post(
40 array('prices_dec', 'qty_dec', 'rates_dec', 'percent_dec',
41 'date_format', 'date_sep', 'tho_sep', 'dec_sep', 'print_profile',
42 'theme', 'page_size', 'language', 'startup_tab',
43 'show_gl' => 0, 'show_codes'=> 0, 'show_hints' => 0,
44 'rep_popup' => 0, 'graphic_links' => 0, 'sticky_doc_date' => 0,
45 'query_size' => 10.0)));
48 $_SESSION['language']->set_language($_POST['language']);
51 flush_dir(company_path().'/js_cache');
53 if ($chg_theme && $allow_demo_mode)
54 $_SESSION["wa_current_user"]->prefs->theme = $_POST['theme'];
55 if ($chg_theme || $chg_lang || $chg_date_format || $chg_date_sep)
56 meta_forward($_SERVER['PHP_SELF']);
60 display_warning(_("Display settings have been updated. Keep in mind that changed settings are restored on every login in demo mode."));
62 display_notification_centered(_("Display settings have been updated."));
68 start_outer_table(TABLESTYLE2);
71 table_section_title(_("Decimal Places"));
73 text_row_ex(_("Prices/Amounts:"), 'prices_dec', 5, 5, '', user_price_dec());
74 text_row_ex(_("Quantities:"), 'qty_dec', 5, 5, '', user_qty_dec());
75 text_row_ex(_("Exchange Rates:"), 'rates_dec', 5, 5, '', user_exrate_dec());
76 text_row_ex(_("Percentages:"), 'percent_dec', 5, 5, '', user_percent_dec());
78 table_section_title(_("Dateformat and Separators"));
80 dateformats_list_row(_("Dateformat:"), "date_format", user_date_format());
82 dateseps_list_row(_("Date Separator:"), "date_sep", user_date_sep());
84 /* The array $dateseps is set up in config.php for modifications
85 possible separators can be added by modifying the array definition by editing that file */
87 thoseps_list_row(_("Thousand Separator:"), "tho_sep", user_tho_sep());
89 /* The array $thoseps is set up in config.php for modifications
90 possible separators can be added by modifying the array definition by editing that file */
92 decseps_list_row(_("Decimal Separator:"), "dec_sep", user_dec_sep());
94 /* The array $decseps is set up in config.php for modifications
95 possible separators can be added by modifying the array definition by editing that file */
96 if (!isset($_POST['language']))
97 $_POST['language'] = $_SESSION['language']->code;
99 table_section_title(_("Language"));
101 languages_list_row(_("Language:"), 'language', $_POST['language']);
104 table_section_title(_("Miscellaneous"));
106 check_row(_("Show hints for new users:"), 'show_hints', user_hints());
108 check_row(_("Show GL Information:"), 'show_gl', user_show_gl_info());
110 check_row(_("Show Item Codes:"), 'show_codes', user_show_codes());
112 themes_list_row(_("Theme:"), "theme", user_theme());
114 /* The array $themes is set up in config.php for modifications
115 possible separators can be added by modifying the array definition by editing that file */
117 pagesizes_list_row(_("Page Size:"), "page_size", user_pagesize());
119 tab_list_row(_("Start-up Tab"), 'startup_tab', user_startup_tab());
121 /* The array $pagesizes is set up in config.php for modifications
122 possible separators can be added by modifying the array definition by editing that file */
124 if (!isset($_POST['print_profile']))
125 $_POST['print_profile'] = user_print_profile();
127 print_profiles_list_row(_("Printing profile"). ':', 'print_profile',
128 null, _('Browser printing support'));
130 check_row(_("Use popup window to display reports:"), 'rep_popup', user_rep_popup(),
131 false, _('Set this option to on if your browser directly supports pdf files'));
133 check_row(_("Use icons instead of text links:"), 'graphic_links', user_graphic_links(),
134 false, _('Set this option to on for using icons instead of text links'));
136 text_row_ex(_("Query page size:"), 'query_size', 5, 5, '', user_query_size());
138 check_row(_("Remember last document date:"), 'sticky_doc_date', sticky_doc_date(),
139 false, _('If set document date is remembered on subsequent documents, otherwise default is current date'));
143 submit_center('setprefs', _("Update"), true, '', 'default');
147 //-------------------------------------------------------------------------------------------------