function clear_module_pref($name, $module = false, $user = false) { global $module_prefs, $mostrecentmodule, $session; if ($module === false) { $module = $mostrecentmodule; } if ($user === false) { $uid = $session['user']['acctid']; } else { $uid = $user; } load_module_prefs($module, $uid); //don't write to the DB if the user isn't logged in. if (!$session['user']['loggedin'] && !$user) { // We do need to trash the loaded copy here however unset($module_prefs[$uid][$module][$name]); return; } if (isset($module_prefs[$uid][$module][$name])) { $sql = "DELETE FROM " . db_prefix("module_userprefs") . " WHERE modulename='{$module}' AND setting='{$name}' AND userid='{$uid}'"; db_query($sql); } unset($module_prefs[$uid][$module][$name]); }
function get_module_pref($name, $module = false, $user = false) { global $module_prefs, $mostrecentmodule, $session; if ($module === false) { $module = $mostrecentmodule; } //debug("Getting pref ".$name." from module ".$module); if ($user === false) { if (isset($session['user']['loggedin']) && $session['user']['loggedin']) { $user = $session['user']['acctid']; } else { $user = 0; } } if (isset($module_prefs[$user][$module][$name])) { //debug("Pref ".$name." from module ".$module." already loaded in RAM"); return $module_prefs[$user][$module][$name]; } //load here, not before if ($user == $session['user']['acctid']) { load_all_module_prefs($user); } else { load_module_prefs($module, $user); } //check if *now* it's loaded if (isset($module_prefs[$user][$module][$name])) { //debug("Pref ".$name." found to be ".$module_prefs[$user][$module][$name]); return $module_prefs[$user][$module][$name]; } if (!is_module_active($module)) { debug("Module " . $module . " is not active!"); return NULL; } //we couldn't find this elsewhere, load the default value if it exists. $info = get_module_info($module); if (isset($info['prefs'][$name])) { if (is_array($info['prefs'][$name])) { $v = $info['prefs'][$name][0]; $x = explode("|", $v); } else { $x = explode("|", $info['prefs'][$name]); } if (isset($x[1])) { set_module_pref($name, $x[1], $module, $user); //debug("Pref ".$name." not defined in db, setting to ".$x[1]); return $x[1]; } } //debug("Pref ".$name." not defined in db or module config file, returning null."); return NULL; }