diff options
author | Mario <mario@mariovavti.com> | 2020-04-20 09:34:00 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2020-04-20 09:34:00 +0000 |
commit | 244936b0fd3ac60defa9fa6042e6ee3be869721c (patch) | |
tree | 298ae3ea65af63028fb7fd22880569317276fb1a | |
parent | f430a24fa38ea9d47d2916243e33d61b08f50f0f (diff) | |
download | volse-hubzilla-244936b0fd3ac60defa9fa6042e6ee3be869721c.tar.gz volse-hubzilla-244936b0fd3ac60defa9fa6042e6ee3be869721c.tar.bz2 volse-hubzilla-244936b0fd3ac60defa9fa6042e6ee3be869721c.zip |
some work on improving federation of item_private and make sure we deal with an array in array_path_exists()
-rw-r--r-- | Zotlabs/Lib/Activity.php | 9 | ||||
-rw-r--r-- | Zotlabs/Lib/ActivityStreams.php | 13 | ||||
-rw-r--r-- | include/text.php | 2 |
3 files changed, 17 insertions, 7 deletions
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index 613f939ab..322579610 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -2339,8 +2339,13 @@ class Activity { $s['plink'] = $s['mid']; } - if ($act->recips && (! in_array(ACTIVITY_PUBLIC_INBOX,$act->recips))) - $s['item_private'] = 1; + // assume this is private unless specifically told otherwise. + + $s['item_private'] = 1; + + if ($act->recips && in_array(ACTIVITY_PUBLIC_INBOX, $act->recips)) { + $s['item_private'] = 0; + } if (is_array($act->obj)) { if (array_key_exists('directMessage',$act->obj) && intval($act->obj['directMessage'])) { diff --git a/Zotlabs/Lib/ActivityStreams.php b/Zotlabs/Lib/ActivityStreams.php index d8bd72943..b1ef59364 100644 --- a/Zotlabs/Lib/ActivityStreams.php +++ b/Zotlabs/Lib/ActivityStreams.php @@ -146,15 +146,20 @@ class ActivityStreams { */ function collect_recips($base = '', $namespace = '') { $x = []; + $fields = [ 'to', 'cc', 'bto', 'bcc', 'audience']; foreach($fields as $f) { $y = $this->get_compound_property($f, $base, $namespace); if($y) { - $x = array_merge($x, $y); - if(! is_array($this->raw_recips)) + if (! is_array($this->raw_recips)) { $this->raw_recips = []; + } - $this->raw_recips[$f] = $x; + if (! is_array($y)) { + $y = [ $y ]; + } + $this->raw_recips[$f] = $y; + $x = array_merge($x, $y); } } // not yet ready for prime time @@ -411,4 +416,4 @@ class ActivityStreams { } -}
\ No newline at end of file +} diff --git a/include/text.php b/include/text.php index 5d1cf6eff..6f56a0754 100644 --- a/include/text.php +++ b/include/text.php @@ -3732,7 +3732,7 @@ function array_path_exists($str,$arr) { if($search) { foreach($search as $s) { - if($ptr && array_key_exists($s,$ptr)) { + if(is_array($ptr) && array_key_exists($s,$ptr)) { $ptr = $ptr[$s]; } else { |