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_company_prefs method have to be called to initialize company specific settings.
22 var $db_ok; // check whether database has been upgraded after src update.
26 global $path_to_root, $db_version;
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 ini_set('date.timezone', $this->time_zone);
46 Initialize company specific preferrencies.
48 function refresh_company_prefs()
52 $sql = "SELECT name, value FROM ".TB_PREF."sys_prefs";
53 $result = @db_query($sql); // supress errors before 2.3 db structure upgrade
58 while($pref = db_fetch_assoc($result)) {
59 $this->prefs[$pref['name']] = $pref['value'];
62 // update current db status for info in log file
63 $this->db_ok = $this->prefs['version_id'] == $db_version;
66 function allow_negative_stock()
68 return $this->prefs['allow_negative_stock'];
71 /* Sherifoz 26.06.03 Proportion by which items can be received over the quantity that is specified in a purchase
73 The figure entered is interpreted as a percentage ie 10 means 0.1 or 10% not 10 times
75 function over_receive_allowance()
77 return $this->prefs['po_over_receive'];
80 /* Proportion by which a purchase invoice line is an overcharge for a purchase order item received
81 is an overcharge. If the overcharge is more than this percentage then an error is reported and
82 purchase invoice line cannot be entered
83 The figure entered is interpreted as a percentage ie 20 means 0.2 or 20% not 20 times
85 function over_charge_allowance()
87 return $this->prefs['po_over_charge'];
90 function default_credit_limit()
92 return $this->prefs['default_credit_limit'];
95 function default_wo_required_by()
97 return $this->prefs['default_workorder_required'];
100 function default_quote_valid_days()
102 return $this->prefs['default_quote_valid_days'];
105 function default_delivery_required_by()
107 return $this->prefs['default_delivery_required'];
110 function default_receival_required_by()
112 return $this->prefs['default_receival_required'];
115 function default_dimension_required_by()
117 return $this->prefs['default_dim_required'];
120 function auto_currency_revaluation()
122 return $this->prefs['auto_curr_reval'];
125 function allocation_settled_allowance()
127 return $this->config_allocation_settled_allowance;
130 function no_zero_lines_amount()
132 return $this->prefs['no_zero_lines_amount'];
135 function show_po_item_codes()
137 return $this->prefs['show_po_item_codes'];
140 function accounts_alpha()
142 return $this->prefs['accounts_alpha'];
145 function loc_notification()
147 return $this->prefs['loc_notification'];
150 function print_invoice_no()
152 return $this->prefs['print_invoice_no'];
155 function allow_negative_prices()
157 return $this->prefs['allow_negative_prices'];
160 function print_item_images_on_quote()
162 return $this->prefs['print_item_images_on_quote'];
165 function alternative_tax_include_on_docs()
167 return $this->prefs['alternative_tax_include_on_docs'];
170 function suppress_tax_rates()
172 return $this->prefs['suppress_tax_rates'];
175 function backup_dir($comp=null)
178 $comp = user_company();
180 if (isset($this->backup_path))
181 return sprintf($this->backup_path, $comp);
183 return $this->comp_path.'/'.$comp."/backup/";