aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2020-04-20 09:34:00 +0000
committerMario <mario@mariovavti.com>2020-04-20 09:34:00 +0000
commit244936b0fd3ac60defa9fa6042e6ee3be869721c (patch)
tree298ae3ea65af63028fb7fd22880569317276fb1a
parentf430a24fa38ea9d47d2916243e33d61b08f50f0f (diff)
downloadvolse-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.php9
-rw-r--r--Zotlabs/Lib/ActivityStreams.php13
-rw-r--r--include/text.php2
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 {