Ejemplo n.º 1
0
 public function getFileContentInArchive(AbstractArchiveBuilder $archiveBuilder, FormatterManager $formatterManager, array $types)
 {
     $content = null;
     /**
      * Check expected file names for each formatter
      */
     $fileNames = [];
     /** @var \Thelia\Core\FileFormat\Formatting\AbstractFormatter $formatter */
     foreach ($formatterManager->getFormattersByTypes($types) as $formatter) {
         $fileName = $formatter::FILENAME . "." . $formatter->getExtension();
         $fileNames[] = $fileName;
         if ($archiveBuilder->hasFile($fileName)) {
             $content = $archiveBuilder->getFileContent($fileName);
             break;
         }
     }
     if ($content === null) {
         throw new FileNotFoundException($this->getTranslator()->trans("Your archive must contain one of these file and doesn't: %files", ["%files" => implode(", ", $fileNames)]));
     }
     return array("formatter" => $formatter, "content" => $content);
 }