Check media_attributes keys before using them in Mastodon\Statuses

- Address https://github.com/friendica/friendica/issues/13157#issuecomment-1832575517
This commit is contained in:
Hypolite Petovan 2023-12-02 16:51:35 -05:00
parent 05ffc8b0d7
commit 6c7dee4bcd

View file

@ -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);
}