Add $default_value parameter to Config::get() and PConfig::get()

This commit is contained in:
Fabrixxm 2016-06-10 12:00:34 +02:00
parent 6c346b1ab6
commit 136ae34245
3 changed files with 18 additions and 20 deletions

View file

@ -64,11 +64,13 @@ class Config {
* The category of the configuration value
* @param string $key
* The configuration key to query
* @param boolean $refresh
* If true the config is loaded from the db and not from the cache
* @param mixed $default_value optional
* The value to return if key is not set (default: null)
* @param boolean $refresh optional
* If true the config is loaded from the db and not from the cache (default: false)
* @return mixed Stored value or null if it does not exist
*/
public static function get($family, $key, $refresh = false) {
public static function get($family, $key, $default_value=null, $refresh = false) {
global $a;
@ -76,13 +78,13 @@ class Config {
// Looking if the whole family isn't set
if(isset($a->config[$family])) {
if($a->config[$family] === '!<unset>!') {
return null;
return $default_value;
}
}
if(isset($a->config[$family][$key])) {
if($a->config[$family][$key] === '!<unset>!') {
return null;
return $default_value;
}
return $a->config[$family][$key];
}
@ -137,7 +139,7 @@ class Config {
elseif (function_exists("xcache_set"))
xcache_set($family."|".$key, '!<unset>!', 600);*/
}
return null;
return $default_value;
}
/**

View file

@ -57,11 +57,13 @@ class PConfig {
* The category of the configuration value
* @param string $key
* The configuration key to query
* @param boolean $refresh
* If true the config is loaded from the db and not from the cache
* @param mixed $default_value optional
* The value to return if key is not set (default: null)
* @param boolean $refresh optional
* If true the config is loaded from the db and not from the cache (default: false)
* @return mixed Stored value or null if it does not exist
*/
public static function get($uid, $family, $key, $refresh = false) {
public static function get($uid, $family, $key, $default_value = null, $refresh = false) {
global $a;
@ -69,13 +71,13 @@ class PConfig {
// Looking if the whole family isn't set
if(isset($a->config[$uid][$family])) {
if($a->config[$uid][$family] === '!<unset>!') {
return null;
return $default_value;
}
}
if(isset($a->config[$uid][$family][$key])) {
if($a->config[$uid][$family][$key] === '!<unset>!') {
return null;
return $default_value;
}
return $a->config[$uid][$family][$key];
}
@ -131,7 +133,7 @@ class PConfig {
elseif (function_exists("xcache_set"))
xcache_set($uid."|".$family."|".$key, '!<unset>!', 600);*/
}
return null;
return $default_value;
}
/**

View file

@ -43,10 +43,7 @@ function load_config($family) {
* @return mixed Stored value or false if it does not exist
*/
function get_config($family, $key, $refresh = false) {
$v = Config::get($family, $key, $refresh);
if(is_null($v))
$v = false;
$v = Config::get($family, $key, false, $refresh);
return $v;
}
@ -114,10 +111,7 @@ function load_pconfig($uid,$family) {
* @return mixed Stored value or false if it does not exist
*/
function get_pconfig($uid, $family, $key, $refresh = false) {
$v = PConfig::get($uid, $family, $key, $refresh);
if(is_null($v))
$v = false;
$v = PConfig::get($uid, $family, $key, false, $refresh);
return $v;
}