***********************************************************************/
include_once($path_to_root . "/admin/db/company_db.inc");
+/*
+ System and per company prefferences.
+ Object is created only with site wide preffernces.
+ After user login refresh method have to be called to re-initialize company specific settings.
+*/
class sys_prefs
{
var $prefs;
var $db_ok; // check whether database has been upgraded after src update.
- function sys_prefs()
+ function __construct()
{
global $path_to_root;
+ // retrieve set system wide preferences
include $path_to_root.'/config.default.php';
if (file_exists($path_to_root.'/config.php'))
include $path_to_root.'/config.php';
- // set system wide preferences
foreach(get_defined_vars() as $name => $value)
$this->$name = $value;
if (!$this->time_zone)
$this->time_zone = 'Europe/Berlin';
+
+ if (!isset($this->use_popup_search))
+ $this->use_popup_search = false;
ini_set('date.timezone', $this->time_zone);
}
+ /*
+ Re-initialize company preferrencies.
+ */
+ function refresh()
+ {
+ global $db_version;
+
+ $sql = "SELECT name, value FROM ".TB_PREF."sys_prefs";
+ $result = @db_query($sql); // supress errors before 2.3 db structure upgrade
+
+ if(!$result)
+ return null;
+
+ while($pref = db_fetch_assoc($result)) {
+ $this->prefs[$pref['name']] = $pref['value'];
+ }
+
+ // update current db status for info in log file
+ $this->db_ok = $this->prefs['version_id'] == $db_version;
+ }
+
function allow_negative_stock()
{
return $this->prefs['allow_negative_stock'];