[Hotfix] Fix #2816 - [Admin] Unable to save config items present in .htconfig.php but not in DB
This commit is contained in:
Tobias Diekershoff 2016-10-01 10:37:10 +02:00 committed by GitHub
commit 894b4286f5
2 changed files with 4 additions and 92 deletions

View file

@ -2,7 +2,7 @@
namespace Friendica\Core; namespace Friendica\Core;
/** /**
* @file include/Core/Config.php * @file include/Core/Config.php
* *
* @brief Contains the class with methods for system configuration * @brief Contains the class with methods for system configuration
*/ */
@ -74,7 +74,7 @@ class Config {
global $a; global $a;
if(! $instore) { if(! $refresh) {
// Looking if the whole family isn't set // Looking if the whole family isn't set
if(isset($a->config[$family])) { if(isset($a->config[$family])) {
if($a->config[$family] === '!<unset>!') { if($a->config[$family] === '!<unset>!') {
@ -90,29 +90,6 @@ class Config {
} }
} }
// 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 === '!<unset>!')
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 === '!<unset>!')
return false;
else
return $val;
}
*/
$ret = q("SELECT `v` FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1", $ret = q("SELECT `v` FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
dbesc($family), dbesc($family),
dbesc($key) dbesc($key)
@ -122,22 +99,10 @@ class Config {
$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[0]['v'])?unserialize( $ret[0]['v']):$ret[0]['v']);
$a->config[$family][$key] = $val; $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; return $val;
} }
else { else {
$a->config[$family][$key] = '!<unset>!'; $a->config[$family][$key] = '!<unset>!';
// If APC is enabled then store the data there, else try XCache
/*if (function_exists("apc_store"))
apc_store($family."|".$key, '!<unset>!', 600);
elseif (function_exists("xcache_set"))
xcache_set($family."|".$key, '!<unset>!', 600);*/
} }
return $default_value; return $default_value;
} }
@ -192,12 +157,6 @@ class Config {
$a->config[$family][$key] = $value; $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) if($ret)
return $value; return $value;
return $ret; return $ret;
@ -224,11 +183,6 @@ class Config {
dbesc($family), dbesc($family),
dbesc($key) 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 $ret;
} }

View file

@ -67,7 +67,7 @@ class PConfig {
global $a; global $a;
if(! $instore) { if(! $refresh) {
// Looking if the whole family isn't set // Looking if the whole family isn't set
if(isset($a->config[$uid][$family])) { if(isset($a->config[$uid][$family])) {
if($a->config[$uid][$family] === '!<unset>!') { if($a->config[$uid][$family] === '!<unset>!') {
@ -83,29 +83,6 @@ class PConfig {
} }
} }
// 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($uid."|".$family."|".$key)) {
$val = apc_fetch($uid."|".$family."|".$key);
$a->config[$uid][$family][$key] = $val;
if ($val === '!<unset>!')
return false;
else
return $val;
}
elseif (function_exists("xcache_get") AND function_exists("xcache_isset"))
if (xcache_isset($uid."|".$family."|".$key)) {
$val = xcache_get($uid."|".$family."|".$key);
$a->config[$uid][$family][$key] = $val;
if ($val === '!<unset>!')
return false;
else
return $val;
}*/
$ret = q("SELECT `v` FROM `pconfig` WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1", $ret = q("SELECT `v` FROM `pconfig` WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
intval($uid), intval($uid),
dbesc($family), dbesc($family),
@ -116,22 +93,10 @@ class PConfig {
$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[0]['v'])?unserialize( $ret[0]['v']):$ret[0]['v']);
$a->config[$uid][$family][$key] = $val; $a->config[$uid][$family][$key] = $val;
// If APC is enabled then store the data there, else try XCache
/*if (function_exists("apc_store"))
apc_store($uid."|".$family."|".$key, $val, 600);
elseif (function_exists("xcache_set"))
xcache_set($uid."|".$family."|".$key, $val, 600);*/
return $val; return $val;
} }
else { else {
$a->config[$uid][$family][$key] = '!<unset>!'; $a->config[$uid][$family][$key] = '!<unset>!';
// If APC is enabled then store the data there, else try XCache
/*if (function_exists("apc_store"))
apc_store($uid."|".$family."|".$key, '!<unset>!', 600);
elseif (function_exists("xcache_set"))
xcache_set($uid."|".$family."|".$key, '!<unset>!', 600);*/
} }
return $default_value; return $default_value;
} }
@ -169,7 +134,7 @@ class PConfig {
dbesc($key), dbesc($key),
dbesc($dbvalue) dbesc($dbvalue)
); );
if($ret) if($ret)
return $value; return $value;
return $ret; return $ret;
} }
@ -182,13 +147,6 @@ class PConfig {
$a->config[$uid][$family][$key] = $value; $a->config[$uid][$family][$key] = $value;
// If APC is enabled then store the data there, else try XCache
/*if (function_exists("apc_store"))
apc_store($uid."|".$family."|".$key, $value, 600);
elseif (function_exists("xcache_set"))
xcache_set($uid."|".$family."|".$key, $value, 600);*/
if($ret) if($ret)
return $value; return $value;
return $ret; return $ret;