diff --git a/typo3/sysext/core/Classes/Resource/MetaDataEventListener.php b/typo3/sysext/core/Classes/Resource/MetaDataEventListener.php index d557d7f52c9d031e7badeab39e061cbff2f53aec..fa9d3241f3cfd0036ba4538514c3891270cf7ff2 100644 --- a/typo3/sysext/core/Classes/Resource/MetaDataEventListener.php +++ b/typo3/sysext/core/Classes/Resource/MetaDataEventListener.php @@ -26,16 +26,16 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; */ final class MetaDataEventListener { - private string $tableName = 'sys_file_metadata'; + private const TABLE_NAME = 'sys_file_metadata'; /** - * @throws \Doctrine\DBAL\Driver\Exception + * @param AfterFileMetaDataUpdatedEvent $event */ public function afterFileMetaDataUpdated(AfterFileMetaDataUpdatedEvent $event): void { $record = $event->getRecord(); - if ((int)$record['width'] <= 0 || (int)$record['height'] <= 0) { + if (($record['width'] ?? 0) <= 0 || ($record['height'] ?? 0) <= 0) { return; } @@ -44,29 +44,15 @@ final class MetaDataEventListener 'height' => (int)$record['height'], ]; - // Fetch translated meta data records - $connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable($this->tableName); - $translations = $connection->select( - ['uid'], - $this->tableName, - ['file' => $event->getFileUid(), 'l10n_parent' => $event->getMetaDataUid()] - )->fetchFirstColumn(); - - if (empty($translations)) { - return; - } - - // Update width and height of all translations - foreach ($translations as $uid) { - if ((int)$uid > 0) { - $connection->update( - $this->tableName, - $metaData, - [ - 'uid' => (int)$uid, - ], - ); - } - } + // Update translated meta data records + $connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable(self::TABLE_NAME); + $connection->update( + self::TABLE_NAME, + $metaData, + [ + 'file' => $event->getFileUid(), + 'l10n_parent' => $event->getMetaDataUid(), + ] + ); } }