Merge pull request #1743 from bburnichon/bug/video-tools-subdef-rebuild-PHRAS-1030

Subdef substitution rebuilds all sub-definitions
This commit is contained in:
Benoît Burnichon
2016-03-04 17:40:52 +01:00
2 changed files with 14 additions and 9 deletions

View File

@@ -406,12 +406,12 @@ class ToolsController extends Controller
} }
/** /**
* @param $record * @param \record_adapter $record
* @param $subDefName * @param string $subDefName
* @param $subDefDataUri * @param string $subDefDataUri
* @throws \DataURI\Exception\InvalidDataException * @throws \DataURI\Exception\InvalidDataException
*/ */
private function substituteMedia($record, $subDefName, $subDefDataUri) private function substituteMedia(\record_adapter $record, $subDefName, $subDefDataUri)
{ {
$dataUri = Parser::parse($subDefDataUri); $dataUri = Parser::parse($subDefDataUri);

View File

@@ -46,7 +46,7 @@ class SubdefSubstituer
public function substitute(\record_adapter $record, $name, MediaInterface $media, $adapt = true) public function substitute(\record_adapter $record, $name, MediaInterface $media, $adapt = true)
{ {
if ($name == 'document') { if ($name == 'document') {
$this->substituteDocument($record, $media); $this->substituteDocument($record, $media, $adapt);
return; return;
} }
@@ -54,7 +54,12 @@ class SubdefSubstituer
$this->substituteSubdef($record, $name, $media, $adapt); $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 */ /** @var \SplFileInfo $file */
$file = $media->getFile(); $file = $media->getFile();
@@ -70,7 +75,9 @@ class SubdefSubstituer
$record->write_metas(); $record->write_metas();
$record->rebuild_subdefs(); if ($shouldSubdefsBeRebuilt) {
$record->rebuild_subdefs();
}
$this->dispatcher->dispatch(RecordEvents::MEDIA_SUBSTITUTED, new MediaSubstitutedEvent($record)); $this->dispatcher->dispatch(RecordEvents::MEDIA_SUBSTITUTED, new MediaSubstitutedEvent($record));
} }
@@ -121,8 +128,6 @@ class SubdefSubstituer
$record->write_metas(); $record->write_metas();
} }
$record->rebuild_subdefs();
$this->dispatcher->dispatch(RecordEvents::MEDIA_SUBSTITUTED, new MediaSubstitutedEvent($record)); $this->dispatcher->dispatch(RecordEvents::MEDIA_SUBSTITUTED, new MediaSubstitutedEvent($record));
} }