From 6c7dee4bcdf9c877c90a7d82ab38b251fb40b9bd Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sat, 2 Dec 2023 16:51:35 -0500 Subject: [PATCH] Check media_attributes keys before using them in Mastodon\Statuses - Address https://github.com/friendica/friendica/issues/13157#issuecomment-1832575517 --- src/Module/Api/Mastodon/Statuses.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Module/Api/Mastodon/Statuses.php b/src/Module/Api/Mastodon/Statuses.php index 84eaadfe5..0ebd61608 100644 --- a/src/Module/Api/Mastodon/Statuses.php +++ b/src/Module/Api/Mastodon/Statuses.php @@ -122,8 +122,8 @@ class Statuses extends BaseApi $existing_media = array_column(Post\Media::getByURIId($post['uri-id'], [Post\Media::AUDIO, Post\Media::VIDEO, Post\Media::IMAGE]), 'id'); foreach ($request['media_attributes'] as $attributes) { - if (in_array($attributes['id'], $existing_media)) { - Post\Media::updateById(['description' => $attributes['description']], $attributes['id']); + if (!empty($attributes['id']) && in_array($attributes['id'], $existing_media)) { + Post\Media::updateById(['description' => $attributes['description'] ?? null], $attributes['id']); } } @@ -227,7 +227,7 @@ class Statuses extends BaseApi break; } } - + if (!empty($owner['allow_cid'] . $owner['allow_gid'] . $owner['deny_cid'] . $owner['deny_gid'])) { $item['allow_cid'] = $owner['allow_cid']; $item['allow_gid'] = $owner['allow_gid']; @@ -306,7 +306,7 @@ class Statuses extends BaseApi } $item = DI::contentItem()->expandTags($item, $request['visibility'] == 'direct'); - + if (!empty($request['media_ids'])) { $item = $this->storeMediaIds($request['media_ids'], $item); }