Better layout. Copyright notes. Mailto links. (2. run)
[fa-stable.git] / admin / display_prefs.php
1 <?php
2 /**********************************************************************
3     Copyright (C) 2008  FrontAccounting, LLC.
4         Released under the terms of the GNU Affero General Public License,
5         AGPL, as published by the Free Software Foundation, either version 
6         3 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/agpl-3.0.html>.
11 ***********************************************************************/
12 $page_security =10;
13 $path_to_root="..";
14 include($path_to_root . "/includes/session.inc");
15
16 page(_("Display Setup"));
17
18 include_once($path_to_root . "/includes/date_functions.inc");
19 include_once($path_to_root . "/includes/ui.inc");
20
21 include_once($path_to_root . "/admin/db/company_db.inc");
22
23 //-------------------------------------------------------------------------------------------------
24
25 if (isset($_POST['setprefs'])) 
26 {
27         if (!is_numeric($_POST['query_size']) || ($_POST['query_size']<1))
28         {
29                 display_error($_POST['query_size']);
30                 display_error( _("Query size must integer and greater than zero."));
31                 set_focus('query_size');
32         } else {
33                 $theme = user_theme();
34                 set_user_prefs($_POST['prices'], $_POST['Quantities'],
35                         $_POST['Rates'], $_POST['Percent'],
36                         check_value('show_gl'),
37                         check_value('show_codes'),
38                         $_POST['date_format'], $_POST['date_sep'],
39                         $_POST['tho_sep'], $_POST['dec_sep'],
40                         $_POST['theme'], $_POST['page_size'], check_value('show_hints'),
41                         $_POST['profile'], check_value('rep_popup'), (int)($_POST['query_size']), check_value('graphic_links'));
42
43                 language::set_language($_POST['language']);
44
45                 flush_dir($comp_path.'/'.user_company().'/js_cache');   
46
47                 if (user_theme() != $theme)
48                         reload_page("");
49
50                 display_notification_centered(_("Display settings have been updated."));
51         }
52 }
53
54 start_form();
55
56 start_outer_table($table_style2);
57
58 table_section(1);
59 table_section_title(_("Decimal Places"));
60
61 text_row_ex(_("Prices/Amounts:"), 'prices', 5, 5, '', user_price_dec());
62 text_row_ex(_("Quantities:"), 'Quantities', 5, 5, '', user_qty_dec());
63 text_row_ex(_("Exchange Rates:"), 'Rates', 5, 5, '', user_exrate_dec());
64 text_row_ex(_("Percentages:"), 'Percent',  5, 5, '', user_percent_dec());
65
66 table_section_title(_("Dateformat and Separators"));
67
68 dateformats_list_row(_("Dateformat:"), "date_format", user_date_format());
69
70 dateseps_list_row(_("Date Separator:"), "date_sep", user_date_sep());
71
72 /* The array $dateseps is set up in config.php for modifications
73 possible separators can be added by modifying the array definition by editing that file */
74
75 thoseps_list_row(_("Thousand Separator:"), "tho_sep", user_tho_sep());
76
77 /* The array $thoseps is set up in config.php for modifications
78 possible separators can be added by modifying the array definition by editing that file */
79
80 decseps_list_row(_("Decimal Separator:"), "dec_sep", user_dec_sep());
81
82 /* The array $decseps is set up in config.php for modifications
83 possible separators can be added by modifying the array definition by editing that file */
84 if (!isset($_POST['language']))
85         $_POST['language'] = $_SESSION['language']->code;
86
87 table_section_title(_("Language"));
88
89 languages_list_row(_("Language:"), 'language', $_POST['language']);
90
91 table_section(2);
92 table_section_title(_("Miscellaneous"));
93
94 check_row(_("Show hints for new users:"), 'show_hints', user_hints());
95
96 check_row(_("Show GL Information:"), 'show_gl', user_show_gl_info());
97
98 check_row(_("Show Item Codes:"), 'show_codes', user_show_codes());
99
100 themes_list_row(_("Theme:"), "theme", user_theme());
101
102 /* The array $themes is set up in config.php for modifications
103 possible separators can be added by modifying the array definition by editing that file */
104
105 pagesizes_list_row(_("Page Size:"), "page_size", user_pagesize());
106
107 /* The array $pagesizes is set up in config.php for modifications
108 possible separators can be added by modifying the array definition by editing that file */
109
110 if (!isset($_POST['profile']))
111         $_POST['profile'] = user_print_profile();
112
113 print_profiles_list_row(_("Printing profile"). ':', 'profile', 
114         null, _('Browser printing support'));
115
116 check_row(_("Use popup window to display reports:"), 'rep_popup', user_rep_popup(),
117         false, _('Set this option to on if your browser directly supports pdf files'));
118
119 check_row(_("Use icons instead of text links:"), 'graphic_links', user_graphic_links(),
120         false, _('Set this option to on for using icons instead of text links'));
121
122 text_row_ex(_("Query page size:"), 'query_size',  5, 5, '', user_query_size());
123
124 end_outer_table(1);
125
126 submit_center('setprefs', _("Update"), true, '', true);
127
128 end_form(2);
129
130 //-------------------------------------------------------------------------------------------------
131
132 end_page();
133
134 ?>