/** * Set the system preferences to the given value. * If the preference key was not already registered, * it will added to database. * * @param string $p_varName * @param mixed $p_value * * @return void */ public static function Set($p_varName, $p_value) { global $Campsite; global $g_ado_db; if (empty($p_varName) || !is_string($p_varName)) { return; } if (!isset($Campsite['system_preferences'])) { SystemPref::__LoadConfig(); } if (array_key_exists($p_varName, $Campsite['system_preferences'])) { if ($Campsite['system_preferences'][$p_varName] != $p_value) { $sql = "UPDATE SystemPreferences SET value=" . $g_ado_db->escape($p_value) . " WHERE varname=" . $g_ado_db->escape($p_varName); $g_ado_db->Execute($sql); $Campsite['system_preferences'][$p_varName] = $p_value; self::StoreSystemPrefsInCache(); } } else { $sql = "INSERT INTO SystemPreferences\n\t\t\t\t (varname, value) VALUES (" . $g_ado_db->escape($p_varName) . ", " . $g_ado_db->escape($p_value) . ")"; $g_ado_db->Execute($sql); $Campsite['system_preferences'][$p_varName] = $p_value; self::StoreSystemPrefsInCache(); } }