$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()
//
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;
}