X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconfig.php;h=c51db4ec7b1f7fc9f550bdf3818014553a5e9ec1;hb=4053499c38cc4191fd4bf4724d17c968ecd2f756;hp=585caf43ae1b3207f5bb317b71e90840da60532d;hpb=0f8148a4cb7c477b363cccdb5c638cd10d9df531;p=friendica.git diff --git a/include/config.php b/include/config.php index 585caf43ae..c51db4ec7b 100644 --- a/include/config.php +++ b/include/config.php @@ -1,11 +1,8 @@ config + * Note: This function is deprecated. Use Config::load() instead. * * @param string $family * The category of the configuration value * @return void */ function load_config($family) { - global $a; - - $r = q("SELECT `v`, `k` FROM `config` WHERE `cat` = '%s'", dbesc($family)); - if(count($r)) { - foreach($r as $rr) { - $k = $rr['k']; - if ($family === 'config') { - $a->config[$k] = $rr['v']; - } else { - $a->config[$family][$k] = $rr['v']; - } - } - } else if ($family != 'config') { - // Negative caching - $a->config[$family] = "!!"; - } + return Config::load($family); } /** - * @brief Get a particular user's config variable given the category name + * @brief (Deprecated) Get a particular user's config variable given the category name * ($family) and a key. * - * Get a particular config value from the given category ($family) - * and the $key from a cached storage in $a->config[$uid]. - * $instore is only used by the set_config function - * to determine if the key already exists in the DB - * If a key is found in the DB but doesn't exist in - * local config cache, pull it into the cache so we don't have - * to hit the DB again for this item. + * Note: This function is deprecated. Use Config::get() instead. * * @param string $family * The category of the configuration value * @param string $key * The configuration key to query - * @param boolean $instore Determines if the key already exists in the DB + * @param boolean $refresh + * If true the config is loaded from the db and not from the cache * @return mixed Stored value or false if it does not exist */ -function get_config($family, $key, $instore = false) { - - global $a; - - if(! $instore) { - // Looking if the whole family isn't set - if(isset($a->config[$family])) { - if($a->config[$family] === '!!') { - return false; - } - } - - if(isset($a->config[$family][$key])) { - if($a->config[$family][$key] === '!!') { - return false; - } - return $a->config[$family][$key]; - } - } - - // If APC is enabled then fetch the data from there, else try XCache - /*if (function_exists("apc_fetch") AND function_exists("apc_exists")) - if (apc_exists($family."|".$key)) { - $val = apc_fetch($family."|".$key); - $a->config[$family][$key] = $val; - - if ($val === '!!') - return false; - else - return $val; - } - elseif (function_exists("xcache_fetch") AND function_exists("xcache_isset")) - if (xcache_isset($family."|".$key)) { - $val = xcache_fetch($family."|".$key); - $a->config[$family][$key] = $val; - - if ($val === '!!') - return false; - else - return $val; - } - */ - - $ret = q("SELECT `v` FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1", - dbesc($family), - dbesc($key) - ); - if(count($ret)) { - // manage array value - $val = (preg_match("|^a:[0-9]+:{.*}$|s", $ret[0]['v'])?unserialize( $ret[0]['v']):$ret[0]['v']); - $a->config[$family][$key] = $val; - - // If APC is enabled then store the data there, else try XCache - /*if (function_exists("apc_store")) - apc_store($family."|".$key, $val, 600); - elseif (function_exists("xcache_set")) - xcache_set($family."|".$key, $val, 600);*/ - - return $val; - } - else { - $a->config[$family][$key] = '!!'; - - // If APC is enabled then store the data there, else try XCache - /*if (function_exists("apc_store")) - apc_store($family."|".$key, '!!', 600); - elseif (function_exists("xcache_set")) - xcache_set($family."|".$key, '!!', 600);*/ - } - return false; +function get_config($family, $key, $refresh = false) { + $v = Config::get($family, $key, false, $refresh); + return $v; } /** - * @brief Sets a configuration value for system config + * @brief (Deprecated) Sets a configuration value for system config * - * Stores a config value ($value) in the category ($family) under the key ($key) - * for the user_id $uid. - * - * Note: Please do not store booleans - convert to 0/1 integer values! + * Note: This function is deprecated. Use Config::set() instead. * * @param string $family * The category of the configuration value @@ -152,55 +61,13 @@ function get_config($family, $key, $instore = false) { * @return mixed Stored $value or false if the database update failed */ function set_config($family,$key,$value) { - global $a; - - // If $a->config[$family] has been previously set to '!!', then - // $a->config[$family][$key] will evaluate to $a->config[$family][0], and - // $a->config[$family][$key] = $value will be equivalent to - // $a->config[$family][0] = $value[0] (this causes infuriating bugs), - // so unset the family before assigning a value to a family's key - if($a->config[$family] === '!!') - unset($a->config[$family]); - - // manage array value - $dbvalue = (is_array($value)?serialize($value):$value); - $dbvalue = (is_bool($dbvalue) ? intval($dbvalue) : $dbvalue); - if(get_config($family,$key,true) === false) { - $a->config[$family][$key] = $value; - $ret = q("INSERT INTO `config` ( `cat`, `k`, `v` ) VALUES ( '%s', '%s', '%s' ) ", - dbesc($family), - dbesc($key), - dbesc($dbvalue) - ); - if($ret) - return $value; - return $ret; - } - - $ret = q("UPDATE `config` SET `v` = '%s' WHERE `cat` = '%s' AND `k` = '%s'", - dbesc($dbvalue), - dbesc($family), - dbesc($key) - ); - - $a->config[$family][$key] = $value; - - // If APC is enabled then store the data there, else try XCache - /*if (function_exists("apc_store")) - apc_store($family."|".$key, $value, 600); - elseif (function_exists("xcache_set")) - xcache_set($family."|".$key, $value, 600);*/ - - if($ret) - return $value; - return $ret; + return Config::set($family, $key, $value); } /** - * @brief Deletes the given key from the system configuration. + * @brief (Deprecated) Deletes the given key from the system configuration. * - * Removes the configured value from the stored cache in $a->config - * and removes it from the database. + * Note: This function is deprecated. Use Config::delete() instead. * * @param string $family * The category of the configuration value @@ -209,21 +76,7 @@ function set_config($family,$key,$value) { * @return mixed */ function del_config($family,$key) { - - global $a; - if(x($a->config[$family],$key)) - unset($a->config[$family][$key]); - $ret = q("DELETE FROM `config` WHERE `cat` = '%s' AND `k` = '%s'", - dbesc($family), - dbesc($key) - ); - // If APC is enabled then delete the data from there, else try XCache - /*if (function_exists("apc_delete")) - apc_delete($family."|".$key); - elseif (function_exists("xcache_unset")) - xcache_unset($family."|".$key);*/ - - return $ret; + return Config::delete($family, $key); } /** @@ -253,12 +106,13 @@ function load_pconfig($uid,$family) { * The category of the configuration value * @param string $key * The configuration key to query - * @param boolean $instore - * Determines if the key already exists in the DB + * @param boolean $refresh + * If true the config is loaded from the db and not from the cache * @return mixed Stored value or false if it does not exist */ -function get_pconfig($uid,$family, $key, $instore = false) { - return PConfig::get($uid, $family, $key, $instore); +function get_pconfig($uid, $family, $key, $refresh = false) { + $v = PConfig::get($uid, $family, $key, false, $refresh); + return $v; } /**