diff options
author | redmatrix <git@macgirvin.com> | 2016-03-30 16:33:23 -0700 |
---|---|---|
committer | redmatrix <git@macgirvin.com> | 2016-03-30 16:33:23 -0700 |
commit | 6a6dbec0335c43137e4dc5e84b5b188edc57ba10 (patch) | |
tree | 4a329ee9050be11da2ffc4a75b5d3002f35d3ecd /include/config.php | |
parent | 08461c7049ee5c9788e815537b540b9987a5eace (diff) | |
download | volse-hubzilla-6a6dbec0335c43137e4dc5e84b5b188edc57ba10.tar.gz volse-hubzilla-6a6dbec0335c43137e4dc5e84b5b188edc57ba10.tar.bz2 volse-hubzilla-6a6dbec0335c43137e4dc5e84b5b188edc57ba10.zip |
issue #319 - NOTE: this does not fix the issue, it only reports it and continues. We need to examine any logger statements that contain 'stack:' as a result of reporting this issue and find and fix the original problem - which is that set_pconfig is being called without a valid $uid. I'm worried that since we will now continue on without throwing a PHP error that nobody will ever notice or find the problem that is causing this.
Diffstat (limited to 'include/config.php')
-rw-r--r-- | include/config.php | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/config.php b/include/config.php index 51d4e99ac..28a72f7ea 100644 --- a/include/config.php +++ b/include/config.php @@ -287,6 +287,17 @@ function get_pconfig($uid, $family, $key, $instore = false) { function set_pconfig($uid, $family, $key, $value) { global $a; + // this catches subtle errors where this function has been called + // with local_channel() when not logged in (which returns false) + // and throws an error in array_key_exists below. + // we provide a function backtrace in the logs so that we can find + // and fix the calling function. + + if($uid === false) { + btlogger('UID is FALSE!', LOGGER_NORMAL, LOG_ERR); + return; + } + // manage array value $dbvalue = ((is_array($value)) ? serialize($value) : $value); $dbvalue = ((is_bool($dbvalue)) ? intval($dbvalue) : $dbvalue); |