aboutsummaryrefslogtreecommitdiffstats
path: root/include/config.php
diff options
context:
space:
mode:
authorredmatrix <git@macgirvin.com>2016-03-30 16:33:23 -0700
committerredmatrix <git@macgirvin.com>2016-03-30 16:33:23 -0700
commit6a6dbec0335c43137e4dc5e84b5b188edc57ba10 (patch)
tree4a329ee9050be11da2ffc4a75b5d3002f35d3ecd /include/config.php
parent08461c7049ee5c9788e815537b540b9987a5eace (diff)
downloadvolse-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.php11
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);