diff --git a/lib/Alchemy/Phrasea/Controller/Prod/ToolsController.php b/lib/Alchemy/Phrasea/Controller/Prod/ToolsController.php index 90012df68e..4579c8a676 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/ToolsController.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/ToolsController.php @@ -406,12 +406,12 @@ class ToolsController extends Controller } /** - * @param $record - * @param $subDefName - * @param $subDefDataUri + * @param \record_adapter $record + * @param string $subDefName + * @param string $subDefDataUri * @throws \DataURI\Exception\InvalidDataException */ - private function substituteMedia($record, $subDefName, $subDefDataUri) + private function substituteMedia(\record_adapter $record, $subDefName, $subDefDataUri) { $dataUri = Parser::parse($subDefDataUri); diff --git a/lib/Alchemy/Phrasea/Media/SubdefSubstituer.php b/lib/Alchemy/Phrasea/Media/SubdefSubstituer.php index e16045f8f1..6333ba4fd1 100644 --- a/lib/Alchemy/Phrasea/Media/SubdefSubstituer.php +++ b/lib/Alchemy/Phrasea/Media/SubdefSubstituer.php @@ -46,7 +46,7 @@ class SubdefSubstituer public function substitute(\record_adapter $record, $name, MediaInterface $media, $adapt = true) { if ($name == 'document') { - $this->substituteDocument($record, $media); + $this->substituteDocument($record, $media, $adapt); return; } @@ -54,7 +54,12 @@ class SubdefSubstituer $this->substituteSubdef($record, $name, $media, $adapt); } - public function substituteDocument(\record_adapter $record, MediaInterface $media) + /** + * @param \record_adapter $record + * @param MediaInterface $media + * @param bool $shouldSubdefsBeRebuilt + */ + public function substituteDocument(\record_adapter $record, MediaInterface $media, $shouldSubdefsBeRebuilt = true) { /** @var \SplFileInfo $file */ $file = $media->getFile(); @@ -70,7 +75,9 @@ class SubdefSubstituer $record->write_metas(); - $record->rebuild_subdefs(); + if ($shouldSubdefsBeRebuilt) { + $record->rebuild_subdefs(); + } $this->dispatcher->dispatch(RecordEvents::MEDIA_SUBSTITUTED, new MediaSubstitutedEvent($record)); } @@ -121,8 +128,6 @@ class SubdefSubstituer $record->write_metas(); } - $record->rebuild_subdefs(); - $this->dispatcher->dispatch(RecordEvents::MEDIA_SUBSTITUTED, new MediaSubstitutedEvent($record)); }