global $SysPrefs, $db_version;
if (!isset($SysPrefs->prefs)) // just after first login or reset
- $SysPrefs->refresh_company_prefs();
+ $SysPrefs->refresh();
$all = $SysPrefs->prefs;
- if (!$prefs)
- return $all;
- elseif (is_string($prefs))
+ if ($prefs && is_string($prefs))
return @$all[$prefs];
- $ret = array();
- foreach($prefs as $name)
- $ret[$name] = $all[$name];
+ if (!is_array($all))
+ $all = array();
- return $ret;
+ return $all;
}
function get_company_prefs()
return db_query($sql, "cannot set company pref");
}
-function refresh_sys_prefs()
-{
- global $SysPrefs;
-
-// flush_dir(user_js_cache()); // clear cache
- unset($_SESSION['SysPrefs']);
- $_SESSION['SysPrefs'] = new sys_prefs();
- $SysPrefs = &$_SESSION['SysPrefs'];
- $SysPrefs->refresh_company_prefs();
-}
-
function get_base_sales_type()
{
return get_company_pref('base_sales');
//
function clean_user_themes($theme)
{
- global $db_connections, $db, $installed_extensions;
+ global $db_connections, $db;
$comp = user_company();
- foreach ($db_connections as $n => $conn) {
+ $connections = $db_connections; // do not use db_connections directly here, or script will hang due to db_connections usage inside the loop
+ foreach ($connections as $n => $conn) {
$db = $_SESSION["wa_current_user"]->set_db_connection($n);
$sql = "UPDATE {$conn['tbpref']}users SET theme='default' WHERE theme='$theme'";
if (!db_query($sql, 'Cannot update user theme settings'))
return false;
}
$db = $_SESSION["wa_current_user"]->set_db_connection($comp);
-
$_SESSION['wa_current_user']->prefs->theme = 'default';
return true;
}