diff --git a/typo3/sysext/core/Classes/Resource/File.php b/typo3/sysext/core/Classes/Resource/File.php index 6e4c783328778308c6e4c768a89c01abe7200d12..114b0d7217cf99c7b21843c2743669b652645462 100644 --- a/typo3/sysext/core/Classes/Resource/File.php +++ b/typo3/sysext/core/Classes/Resource/File.php @@ -250,6 +250,22 @@ class File extends AbstractFile { } } + /** + * Updates MetaData properties + * + * @internal Do not use outside the FileAbstraction Layer classes + * + * @param array $properties + * @return void + */ + public function _updateMetaDataProperties(array $properties) { + if ($this->metaDataProperties !== NULL) { + $this->metaDataProperties = array_merge($this->metaDataProperties, $properties); + } else { + $this->metaDataProperties = $properties; + } + } + /** * Returns the names of all properties that have been updated in this record * diff --git a/typo3/sysext/core/Classes/Resource/Index/Indexer.php b/typo3/sysext/core/Classes/Resource/Index/Indexer.php index a0d133d2e9d7b41c8b648c4c96333ae67eee379b..898879fee658bae8a4a1c5bf453d7df20b0f786f 100644 --- a/typo3/sysext/core/Classes/Resource/Index/Indexer.php +++ b/typo3/sysext/core/Classes/Resource/Index/Indexer.php @@ -120,6 +120,7 @@ class Indexer { foreach ($newMetaData as $data) { $metaData = array_merge($metaData, $data); } + $fileObject->_updateMetaDataProperties($metaData); $this->getMetaDataRepository()->update($fileObject->getUid(), $metaData); $this->getFileIndexRepository()->updateIndexingTime($fileObject->getUid()); } @@ -220,6 +221,7 @@ class Indexer { $metaData = array(); list($metaData['width'], $metaData['height']) = getimagesize($rawFileLocation); $this->getMetaDataRepository()->update($fileObject->getUid(), $metaData); + $fileObject->_updateMetaDataProperties($metaData); } }