From df87d6feeb8b9235dabb6fe06cb5be9a88f17484 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 31 Jan 2022 10:18:58 +0000 Subject: more work on relaying zap and diaspora, fix mod hcard --- Zotlabs/Lib/Activity.php | 23 ++++++++++++++++++++++- Zotlabs/Lib/ActivityStreams.php | 1 + 2 files changed, 23 insertions(+), 1 deletion(-) (limited to 'Zotlabs/Lib') diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index 17d14d44a..df994cd79 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -529,6 +529,7 @@ class Activity { $top_level = (($i['mid'] === $i['parent_mid']) ? true : false); if ($public) { + $ret['to'] = [ACTIVITY_PUBLIC_INBOX]; $ret['cc'] = [z_root() . '/followers/' . substr($i['author']['xchan_addr'], 0, strpos($i['author']['xchan_addr'], '@'))]; } @@ -2644,6 +2645,7 @@ class Activity { } $ap_rawmsg = ''; + $diaspora_rawmsg = ''; $raw_arr = []; $raw_arr = json_decode($act->raw, true); @@ -2658,7 +2660,13 @@ class Activity { isset($a['value']) ) { $ap_rawmsg = $a['value']; - break; + } + if ( + isset($a['type']) && $a['type'] === 'PropertyValue' && + isset($a['name']) && $a['name'] === 'zot.diaspora.fields' && + isset($a['value']) + ) { + $diaspora_rawmsg = $a['value']; } } } @@ -2682,6 +2690,15 @@ class Activity { } // end old style + if (!$ap_rawmsg && array_key_exists('signed', $raw_arr)) { + //zap + unset($act->data['signer']); + unset($act->data['signed_data']); + unset($act->data['hubloc']); + + $ap_rawmsg = json_encode($act->data, JSON_UNESCAPED_SLASHES); + } + if ($ap_rawmsg) { set_iconfig($s, 'activitypub', 'rawmsg', $ap_rawmsg, 1); } @@ -2689,6 +2706,10 @@ class Activity { set_iconfig($s, 'activitypub', 'rawmsg', $act->raw, 1); } + if ($diaspora_rawmsg) { + set_iconfig($s, 'diaspora', 'fields', $diaspora_rawmsg, 1); + } + set_iconfig($s, 'activitypub', 'recips', $act->raw_recips); $hookinfo = [ diff --git a/Zotlabs/Lib/ActivityStreams.php b/Zotlabs/Lib/ActivityStreams.php index 52f888b95..ffb034bf4 100644 --- a/Zotlabs/Lib/ActivityStreams.php +++ b/Zotlabs/Lib/ActivityStreams.php @@ -56,6 +56,7 @@ class ActivityStreams { if (is_array($this->data) && array_key_exists('signed', $this->data)) { $ret = JSalmon::verify($this->data); $tmp = JSalmon::unpack($this->data['data']); + if ($ret && $ret['success']) { if ($ret['signer']) { $saved = json_encode($this->data, JSON_UNESCAPED_SLASHES); -- cgit v1.2.3