From 3e1a7e3c1efda7f122f359505f1ce898c1d4f262 Mon Sep 17 00:00:00 2001 From: Georg Ringer <georg.ringer@gmail.com> Date: Tue, 12 Sep 2023 06:54:22 +0200 Subject: [PATCH] [BUGFIX] Always update index time when saving metadata MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves: #101730 Releases: main, 12.4, 11.5 Change-Id: I9e400e1c582f84602b6aa8ef3cdd9a85f4e5b93e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81057 Reviewed-by: Stefan Bürk <stefan@buerk.tech> Tested-by: core-ci <typo3@b13.com> Tested-by: Stefan Bürk <stefan@buerk.tech> --- .../sysext/core/Classes/Resource/Index/Indexer.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/typo3/sysext/core/Classes/Resource/Index/Indexer.php b/typo3/sysext/core/Classes/Resource/Index/Indexer.php index 632a3c9ac9ef..2f50eb6c503b 100644 --- a/typo3/sysext/core/Classes/Resource/Index/Indexer.php +++ b/typo3/sysext/core/Classes/Resource/Index/Indexer.php @@ -79,11 +79,13 @@ class Indexer implements LoggerAwareInterface } $fileProperties = $this->gatherFileInformationArray($identifier); - $record = $this->getFileIndexRepository()->addRaw($fileProperties); + $fileIndexRepository = $this->getFileIndexRepository(); + $record = $fileIndexRepository->addRaw($fileProperties); $fileObject = $this->getResourceFactory()->getFileObject($record['uid'], $record); - $metaData = $this->extractRequiredMetaData($fileObject); + $fileIndexRepository->updateIndexingTime($fileObject->getUid()); + $metaData = $this->extractRequiredMetaData($fileObject); if ($this->storage->autoExtractMetadataEnabled()) { $metaData = array_merge($metaData, $this->getExtractorService()->extractMetaData($fileObject)); } @@ -103,13 +105,16 @@ class Indexer implements LoggerAwareInterface $updatedInformation = $this->gatherFileInformationArray($fileObject->getIdentifier()); $fileObject->updateProperties($updatedInformation); - $this->getFileIndexRepository()->update($fileObject); - $metaData = $this->extractRequiredMetaData($fileObject); + $fileIndexRepository = $this->getFileIndexRepository(); + $fileIndexRepository->update($fileObject); + $fileIndexRepository->updateIndexingTime($fileObject->getUid()); + $metaData = $this->extractRequiredMetaData($fileObject); if ($this->storage->autoExtractMetadataEnabled()) { $metaData = array_merge($metaData, $this->getExtractorService()->extractMetaData($fileObject)); } $fileObject->getMetaData()->add($metaData)->save(); + return $fileObject; } -- GitLab