diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2020-02-11 12:06:32 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2020-02-11 12:06:32 +0000 |
| commit | 600daa5d4fa729dbec2d21fb3adffed0ae6efda9 (patch) | |
| tree | 3285f1b2135725eb53b98dd713ed67236397ff71 /vendor/symfony/translation/Dumper/FileDumper.php | |
| parent | 1b47c2feedb65f946198e7c18aeb4286b98ceeb5 (diff) | |
| download | webtrees-600daa5d4fa729dbec2d21fb3adffed0ae6efda9.tar.gz webtrees-600daa5d4fa729dbec2d21fb3adffed0ae6efda9.tar.bz2 webtrees-600daa5d4fa729dbec2d21fb3adffed0ae6efda9.zip | |
Update vendor code - Update markdown handler to use new CommonMark library
Diffstat (limited to 'vendor/symfony/translation/Dumper/FileDumper.php')
| -rw-r--r-- | vendor/symfony/translation/Dumper/FileDumper.php | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/vendor/symfony/translation/Dumper/FileDumper.php b/vendor/symfony/translation/Dumper/FileDumper.php index 477fcfa19e..2009c53403 100644 --- a/vendor/symfony/translation/Dumper/FileDumper.php +++ b/vendor/symfony/translation/Dumper/FileDumper.php @@ -67,37 +67,36 @@ abstract class FileDumper implements DumperInterface throw new InvalidArgumentException('The file dumper needs a path option.'); } - $hasMessageFormatter = class_exists(\MessageFormatter::class); - // save a file for each domain foreach ($messages->getDomains() as $domain) { - if ($hasMessageFormatter) { - $defaultDomain = $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX; - $altDomain = $domain; - } else { - $defaultDomain = $domain; - $altDomain = $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX; - } - $defaultPath = $options['path'].'/'.$this->getRelativePath($defaultDomain, $messages->getLocale()); - $altPath = $options['path'].'/'.$this->getRelativePath($altDomain, $messages->getLocale()); - - if (!file_exists($defaultPath) && file_exists($altPath)) { - [$defaultPath, $altPath] = [$altPath, $defaultPath]; - } - - if (!file_exists($defaultPath)) { - $directory = \dirname($defaultPath); + $fullpath = $options['path'].'/'.$this->getRelativePath($domain, $messages->getLocale()); + if (!file_exists($fullpath)) { + $directory = \dirname($fullpath); if (!file_exists($directory) && !@mkdir($directory, 0777, true)) { throw new RuntimeException(sprintf('Unable to create directory "%s".', $directory)); } } - if (file_exists($altPath)) { - // clear alternative translation file - file_put_contents($altPath, $this->formatCatalogue(new MessageCatalogue($messages->getLocale()), $altDomain, $options)); + $intlDomain = $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX; + $intlMessages = $messages->all($intlDomain); + + if ($intlMessages) { + $intlPath = $options['path'].'/'.$this->getRelativePath($intlDomain, $messages->getLocale()); + file_put_contents($intlPath, $this->formatCatalogue($messages, $intlDomain, $options)); + + $messages->replace([], $intlDomain); + + try { + if ($messages->all($domain)) { + file_put_contents($fullpath, $this->formatCatalogue($messages, $domain, $options)); + } + continue; + } finally { + $messages->replace($intlMessages, $intlDomain); + } } - file_put_contents($defaultPath, $this->formatCatalogue($messages, $domain, $options)); + file_put_contents($fullpath, $this->formatCatalogue($messages, $domain, $options)); } } |
