63 lines
1.7 KiB
PHP
63 lines
1.7 KiB
PHP
<?php
|
|
class Settings
|
|
{
|
|
private static $varValues = null;
|
|
|
|
public static function get($strSettingName=null, $strDefault="", $intSave=0)
|
|
{
|
|
global $c;
|
|
|
|
if (Settings::$varValues == null)
|
|
{
|
|
$varRows = $c->query("SELECT * from settings order by setting");
|
|
$varValues = [];
|
|
|
|
foreach ($varRows as $r)
|
|
$varValues[$r["setting"]] = $r["value"];
|
|
|
|
Settings::$varValues = $varValues;
|
|
}
|
|
|
|
if ($strSettingName == null)
|
|
return Settings::$varValues;
|
|
|
|
if (array_key_exists($strSettingName, Settings::$varValues))
|
|
return Settings::$varValues[$strSettingName];
|
|
|
|
if ($intSave)
|
|
Settings::set($strSettingName, $strDefault);
|
|
|
|
return $strDefault;
|
|
}
|
|
|
|
public static function set($strSettingName, $strValue)
|
|
{
|
|
Settings::$varValues = null;
|
|
global $c;
|
|
|
|
$varExisting = $c->query("
|
|
SELECT *
|
|
from settings
|
|
where
|
|
setting like ?
|
|
order by
|
|
id desc",
|
|
$strSettingName);
|
|
|
|
if (count($varExisting) !== 1)
|
|
{
|
|
$c->query("DELETE from settings where setting like ?", $strSettingName);
|
|
$c->query("INSERT into settings (setting, value) values (?, ?)", $strSettingName, $strValue);
|
|
}
|
|
|
|
$c->query(
|
|
"UPDATE settings
|
|
set
|
|
value = ?
|
|
where setting like ?",
|
|
$strValue,
|
|
$strSettingName);
|
|
}
|
|
}
|
|
?>
|