From 38ecff1220a6b11261ba9f11edbefb5e5bfaa53b Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 27 Jan 2022 20:27:02 +0000 Subject: some refinement on storing the raw ap message, some comments and make sure the AS->raw is always a json string --- Zotlabs/Lib/Activity.php | 21 +++++++++++++++------ Zotlabs/Lib/ActivityStreams.php | 1 + 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index 33183de76..4a5d42026 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -2638,22 +2638,31 @@ class Activity { } } - $rawmsg = ''; + $zot_rawmsg = ''; + $raw_arr = []; - if (is_array($act->obj) && is_array($act->obj['attachment'])) { + $raw_arr = json_decode($act->raw, true); + + // This is a zot6 packet and the raw activitypub message json + // is possible available in the attachement. + if (array_key_exists('signed', $raw_arr) && is_array($act->obj) && is_array($act->obj['attachment'])) { foreach($act->obj['attachment'] as $a) { - if (isset($a['type']) && $a['type'] === 'PropertyValue' && + if ( + isset($a['type']) && $a['type'] === 'PropertyValue' && isset($a['name']) && $a['name'] === 'zot.activitypub.rawmsg' && isset($a['value']) ) { - $rawmsg = $a['value']; + $zot_rawmsg = $a['value']; break; } } } - if ($rawmsg) { - set_iconfig($s, 'activitypub', 'rawmsg', $rawmsg, 1); + if ($zot_rawmsg) { + set_iconfig($s, 'activitypub', 'rawmsg', $zot_rawmsg, 1); + } + else { + set_iconfig($s, 'activitypub', 'rawmsg', $act->raw, 1); } set_iconfig($s, 'activitypub', 'recips', $act->raw_recips); diff --git a/Zotlabs/Lib/ActivityStreams.php b/Zotlabs/Lib/ActivityStreams.php index 09e1679ac..fe2e7610b 100644 --- a/Zotlabs/Lib/ActivityStreams.php +++ b/Zotlabs/Lib/ActivityStreams.php @@ -40,6 +40,7 @@ class ActivityStreams { if (is_array($string)) { $this->data = $string; + $this->raw = json_encode($string, JSON_UNESCAPED_SLASHES); } else { $this->data = json_decode($string, true); -- cgit v1.2.3