[PLUGIN][ActivityPub][Model][Note] There may be no attachments, nor tags, nor to, nor cc

This commit is contained in:
Diogo Peralta Cordeiro 2022-02-18 15:28:48 +00:00
parent ebbd8bf1e4
commit 9523927b8e
Signed by: diogo
GPG Key ID: 18D2D35001FBFAB0
2 changed files with 4 additions and 4 deletions

View File

@ -55,12 +55,12 @@ class ActivityCreate extends Activity
if ($type_object->get('type') === 'Note' || $type_object->get('type') === 'Page') { if ($type_object->get('type') === 'Note' || $type_object->get('type') === 'Page') {
$actual_to = array_flip(is_string($type_object->get('to')) ? [$type_object->get('to')] : $type_object->get('to')); $actual_to = array_flip(is_string($type_object->get('to')) ? [$type_object->get('to')] : $type_object->get('to'));
$actual_cc = array_flip(is_string($type_object->get('cc')) ? [$type_object->get('cc')] : $type_object->get('cc')); $actual_cc = array_flip(is_string($type_object->get('cc')) ? [$type_object->get('cc')] : $type_object->get('cc'));
foreach (is_string($type_activity->get('to')) ? [$type_activity->get('to')] : $type_activity->get('to') as $to) { foreach (is_string($type_activity->get('to')) ? [$type_activity->get('to')] : ($type_activity->get('to') ?? []) as $to) {
if ($to !== 'https://www.w3.org/ns/activitystreams#Public') { if ($to !== 'https://www.w3.org/ns/activitystreams#Public') {
$actual_to[$to] = true; $actual_to[$to] = true;
} }
} }
foreach (is_string($type_activity->get('cc')) ? [$type_activity->get('cc')] : $type_activity->get('cc') as $cc) { foreach (is_string($type_activity->get('cc')) ? [$type_activity->get('cc')] : ($type_activity->get('cc') ?? []) as $cc) {
if ($cc !== 'https://www.w3.org/ns/activitystreams#Public') { if ($cc !== 'https://www.w3.org/ns/activitystreams#Public') {
$actual_cc[$cc] = true; $actual_cc[$cc] = true;
} }

View File

@ -224,7 +224,7 @@ class Note extends Model
// Attachments // Attachments
$processed_attachments = []; $processed_attachments = [];
foreach ($type_note->get('attachment') as $attachment) { foreach ($type_note->get('attachment') ?? [] as $attachment) {
if ($attachment->get('type') === 'Document') { if ($attachment->get('type') === 'Document') {
// Retrieve media // Retrieve media
$get_response = HTTPClient::get($attachment->get('url')); $get_response = HTTPClient::get($attachment->get('url'));
@ -253,7 +253,7 @@ class Note extends Model
// Assign conversation to this note // Assign conversation to this note
Conversation::assignLocalConversation($obj, $reply_to); Conversation::assignLocalConversation($obj, $reply_to);
foreach ($type_note->get('tag') as $ap_tag) { foreach ($type_note->get('tag') ?? [] as $ap_tag) {
switch ($ap_tag->get('type')) { switch ($ap_tag->get('type')) {
case 'Mention': case 'Mention':
case 'Group': case 'Group':