Added default date format used before login.
[fa-stable.git] / includes / prefs / userprefs.inc
1 <?php
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 class user_prefs 
13 {
14
15         var $language;
16
17         var $qty_dec;
18         var $price_dec;
19         var     $exrate_dec;
20         var     $percent_dec;
21
22         var     $show_gl_info;
23         var     $show_codes;
24
25         var $date_format;
26         var $date_sep;
27         var $tho_sep;
28         var $dec_sep;
29         var $theme;
30         var $print_profile;
31         var $rep_popup;
32         var $pagesize; // for printing
33         var $show_hints;
34         var $query_size; // table pager page length
35         var $graphic_links; // use graphic links
36         var $sticky_date;       // save date on subsequent document entry
37         var $startup_tab;  // default start-up menu tab
38         
39         function user_prefs($user=null)
40         {
41                 if ($user == null) { 
42                         // set default values, used before login
43                         global $dflt_lang, $dflt_date_sep, $dflt_date_fmt;
44                         
45                         $this->date_sep = $dflt_date_sep;
46                         $this->date_format = $dflt_date_fmt;
47                         $this->tho_sep = 0;
48                         $this->dec_sep = 0;
49                         $this->language = $dflt_lang;
50                         $this->theme = 'default';
51                         
52                 } else {
53                         $this->language = $user["language"];
54                         $_SESSION['language']->set_language($this->language);
55
56                         $this->qty_dec = $user["qty_dec"];
57                         $this->price_dec = $user["prices_dec"];
58                         $this->exrate_dec = $user["rates_dec"];
59                         $this->percent_dec = $user["percent_dec"];
60
61                         $this->show_gl_info = $user["show_gl"];
62                         $this->show_codes = $user["show_codes"];
63                         $this->date_format = $user["date_format"];
64                         $this->date_sep = $user["date_sep"];
65                         $this->tho_sep = $user["tho_sep"];
66                         $this->dec_sep = $user["dec_sep"];
67                         $this->theme = $user["theme"];
68                         $this->pagesize = $user["page_size"];
69                         $this->show_hints = $user["show_hints"];
70                         $this->print_profile = $user["print_profile"];
71                         $this->rep_popup = $user["rep_popup"];
72                         $this->query_size = $user["query_size"];
73                         $this->graphic_links = $user["graphic_links"];
74                         if (isset($user["sticky_doc_date"]))
75                         {
76                                 $this->sticky_date = $user["sticky_doc_date"];
77                                 $this->startup_tab = $user['startup_tab'];
78                         }
79                         else
80                         {
81                                 $this->sticky_date = 0;
82                                 $this->startup_tab = "orders";
83                         }
84                 }
85         }
86
87         function language() 
88         {
89                 return $this->language;
90         }
91
92         function qty_dec() 
93         {
94                 return $this->qty_dec;
95         }
96
97         function price_dec() 
98         {
99                 return $this->price_dec;
100         }
101
102         function exrate_dec() 
103         {
104                 return $this->exrate_dec;
105         }
106
107         function percent_dec() 
108         {
109                 return $this->percent_dec;
110         }
111
112         function show_gl_info() 
113         {
114                 return $this->show_gl_info;
115         }
116
117         function show_codes() 
118         {
119                 return $this->show_codes;
120         }
121
122         function date_format() 
123         {
124                 return $this->date_format;
125         }
126
127         function date_sep() 
128         {
129                 return $this->date_sep;
130         }
131
132         function date_display() 
133         {
134                 global $dateseps;
135                 $sep = $dateseps[$this->date_sep];
136                 if ($this->date_format == 0)
137                         return "m".$sep."d".$sep."Y";
138                 elseif ($this->date_format == 1)
139                         return "d".$sep."m".$sep."Y";
140                 else
141                         return "Y".$sep."m".$sep."d";
142         }
143
144         function tho_sep() 
145         {
146                 return $this->tho_sep;
147         }
148
149         function dec_sep() 
150         {
151                 return $this->dec_sep;
152         }
153
154         function get_theme() 
155         {
156                 return $this->theme;
157         }
158
159         function get_pagesize() 
160         {
161                 return $this->pagesize;
162         }
163
164         function show_hints() 
165         {
166                 return $this->show_hints;
167         }
168
169         function print_profile() 
170         {
171                 return $this->print_profile;
172         }
173
174         function rep_popup() 
175         {
176                 return $this->rep_popup;
177         }
178
179         function query_size() 
180         {
181                 return $this->query_size;
182         }
183
184         function graphic_links() 
185         {
186                 return $this->graphic_links;
187         }
188         
189         function sticky_date()
190         {
191                 return $this->sticky_date;
192         }
193         
194         function start_up_tab()
195         {
196                 return $this->startup_tab;
197         }
198
199         function set_dec($price_dec, $qty_dec, $exrate_dec, $percent_dec, $showgl, $showcodes) 
200         {
201                 $this->price_dec = $price_dec;
202                 $this->qty_dec = $qty_dec;
203                 $this->exrate_dec = $exrate_dec;
204                 $this->percent_dec = $percent_dec;
205                 $this->show_gl_info = $showgl;
206                 $this->show_codes = $showcodes;
207         }
208
209         function set_format($date_format, $date_sep, $tho_sep, $dec_sep, $theme, $pagesize) 
210         {
211                 $this->date_format = $date_format;
212                 $this->date_sep = $date_sep;
213                 $this->tho_sep = $tho_sep;
214                 $this->dec_sep = $dec_sep;
215                 $this->theme = $theme;
216                 $this->pagesize = $pagesize;
217         }
218
219 }
220
221 ?>