X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FConfig.php;h=56b85dba46a5ec1a55ae4a05606e7d28b3b31cc3;hb=51a29d381f6babcbd18787c72d4e1c702b94c0ec;hp=d454de39218f59071c13f11978e18f71f93f0c69;hpb=de5a0dadb0715198b9ba376e4ab79f58cedef098;p=friendica.git diff --git a/src/Core/Config.php b/src/Core/Config.php index d454de3921..56b85dba46 100644 --- a/src/Core/Config.php +++ b/src/Core/Config.php @@ -1,14 +1,15 @@ config[$k] = $rr['v']; - } else { - $a->config[$family][$k] = $rr['v']; - self::$cache[$family][$k] = $rr['v']; - self::$in_db[$family][$k] = true; - } + $r = dba::select('config', array('v', 'k'), array('cat' => $family)); + while ($rr = dba::fetch($r)) { + $k = $rr['k']; + if ($family === 'config') { + $a->config[$k] = $rr['v']; + } else { + $a->config[$family][$k] = $rr['v']; + self::$cache[$family][$k] = $rr['v']; + self::$in_db[$family][$k] = true; } } + dba::close($r); } /** @@ -87,7 +87,6 @@ class Config { $a = get_app(); if (!$refresh) { - // Do we have the cached value? Then return it if (isset(self::$cache[$family][$key])) { if (self::$cache[$family][$key] === '!!') { @@ -98,20 +97,16 @@ class Config { } } - $ret = q("SELECT `v` FROM `config` WHERE `cat` = '%s' AND `k` = '%s'", - dbesc($family), - dbesc($key) - ); - if (dbm::is_result($ret)) { + $ret = dba::select('config', array('v'), array('cat' => $family, 'k' => $key), array('limit' => 1)); + if (DBM::is_result($ret)) { // manage array value - $val = (preg_match("|^a:[0-9]+:{.*}$|s", $ret[0]['v']) ? unserialize($ret[0]['v']) : $ret[0]['v']); + $val = (preg_match("|^a:[0-9]+:{.*}$|s", $ret['v']) ? unserialize($ret['v']) : $ret['v']); // Assign the value from the database to the cache self::$cache[$family][$key] = $val; self::$in_db[$family][$key] = true; return $val; } elseif (isset($a->config[$family][$key])) { - // Assign the value (mostly) from the .htconfig.php to the cache self::$cache[$family][$key] = $a->config[$family][$key]; self::$in_db[$family][$key] = false; @@ -167,20 +162,8 @@ class Config { // manage array value $dbvalue = (is_array($value) ? serialize($value) : $dbvalue); - if (is_null($stored) || !self::$in_db[$family][$key]) { - $ret = q("INSERT INTO `config` (`cat`, `k`, `v`) VALUES ('%s', '%s', '%s') ON DUPLICATE KEY UPDATE `v` = '%s'", - dbesc($family), - dbesc($key), - dbesc($dbvalue), - dbesc($dbvalue) - ); - } else { - $ret = q("UPDATE `config` SET `v` = '%s' WHERE `cat` = '%s' AND `k` = '%s'", - dbesc($dbvalue), - dbesc($family), - dbesc($key) - ); - } + dba::update('config', array('v' => $dbvalue), array('cat' => $family, 'k' => $key), true); + if ($ret) { self::$in_db[$family][$key] = true; return $value; @@ -206,10 +189,8 @@ class Config { unset(self::$cache[$family][$key]); unset(self::$in_db[$family][$key]); } - $ret = q("DELETE FROM `config` WHERE `cat` = '%s' AND `k` = '%s'", - dbesc($family), - dbesc($key) - ); + + $ret = dba::delete('config', array('cat' => $family, 'k' => $key)); return $ret; }