From: Hypolite Petovan Date: Sat, 2 Dec 2023 21:51:35 +0000 (-0500) Subject: Check media_attributes keys before using them in Mastodon\Statuses X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=6c7dee4bcdf9c877c90a7d82ab38b251fb40b9bd;p=friendica.git Check media_attributes keys before using them in Mastodon\Statuses - Address https://github.com/friendica/friendica/issues/13157#issuecomment-1832575517 --- diff --git a/src/Module/Api/Mastodon/Statuses.php b/src/Module/Api/Mastodon/Statuses.php index 84eaadfe5e..0ebd616089 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); }