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 include_once($path_to_root . "/admin/db/company_db.inc");
15 System and per company prefferences.
16 Object is created only with site wide preffernces.
17 After user login refresh method have to be called to re-initialize company specific settings.
22 var $db_ok; // check whether database has been upgraded after src update.
24 function __construct()
28 // retrieve set system wide preferences
29 include $path_to_root.'/config.default.php';
30 if (file_exists($path_to_root.'/config.php'))
31 include $path_to_root.'/config.php';
33 foreach(get_defined_vars() as $name => $value)
34 $this->$name = $value;
36 if (!@$this->time_zone)
37 $this->time_zone = ini_get('date.timezone');
39 if (!$this->time_zone)
40 $this->time_zone = 'Europe/Berlin';
42 if (!isset($this->use_popup_search))
43 $this->use_popup_search = false;
45 ini_set('date.timezone', $this->time_zone);
49 Re-initialize company preferrencies.
55 $sql = "SELECT name, value FROM ".TB_PREF."sys_prefs";
56 $result = @db_query($sql); // supress errors before 2.3 db structure upgrade
61 while($pref = db_fetch_assoc($result)) {
62 $this->prefs[$pref['name']] = $pref['value'];
65 // update current db status for info in log file
66 $this->db_ok = $this->prefs['version_id'] == $db_version;
69 function allow_negative_stock()
71 return $this->prefs['allow_negative_stock'];
74 /* Sherifoz 26.06.03 Proportion by which items can be received over the quantity that is specified in a purchase
76 The figure entered is interpreted as a percentage ie 10 means 0.1 or 10% not 10 times
78 function over_receive_allowance()
80 return $this->prefs['po_over_receive'];
83 /* Proportion by which a purchase invoice line is an overcharge for a purchase order item received
84 is an overcharge. If the overcharge is more than this percentage then an error is reported and
85 purchase invoice line cannot be entered
86 The figure entered is interpreted as a percentage ie 20 means 0.2 or 20% not 20 times
88 function over_charge_allowance()
90 return $this->prefs['po_over_charge'];
93 function default_credit_limit()
95 return $this->prefs['default_credit_limit'];
98 function default_wo_required_by()
100 return $this->prefs['default_workorder_required'];
103 function default_quote_valid_days()
105 return $this->prefs['default_quote_valid_days'];
108 function default_delivery_required_by()
110 return $this->prefs['default_delivery_required'];
113 function default_receival_required_by()
115 return $this->prefs['default_receival_required'];
118 function default_dimension_required_by()
120 return $this->prefs['default_dim_required'];
123 function auto_currency_revaluation()
125 return $this->prefs['auto_curr_reval'];
128 function allocation_settled_allowance()
130 return $this->config_allocation_settled_allowance;
133 function no_zero_lines_amount()
135 return $this->prefs['no_zero_lines_amount'];
138 function show_po_item_codes()
140 return $this->prefs['show_po_item_codes'];
143 function accounts_alpha()
145 return $this->prefs['accounts_alpha'];
148 function loc_notification()
150 return $this->prefs['loc_notification'];
153 function print_invoice_no()
155 return $this->prefs['print_invoice_no'];
158 function allow_negative_prices()
160 return $this->prefs['allow_negative_prices'];
163 function print_item_images_on_quote()
165 return $this->prefs['print_item_images_on_quote'];
168 function alternative_tax_include_on_docs()
170 return $this->prefs['alternative_tax_include_on_docs'];
173 function suppress_tax_rates()
175 return $this->prefs['suppress_tax_rates'];
178 function backup_dir($comp=null)
181 $comp = user_company();
183 if (isset($this->backup_path))
184 return sprintf($this->backup_path, $comp);
186 return $this->comp_path.'/'.$comp."/backup/";