Example #1
0
 /**
  * Generates the template mapper array.
  *
  * @param string $cacheDir The cache directory
  */
 private function generateTemplateMapper($cacheDir)
 {
     $mapper = [];
     try {
         $files = $this->finder->findIn('templates')->name('*.html5');
     } catch (\InvalidArgumentException $e) {
         $files = [];
     }
     foreach ($files as $file) {
         $mapper[$file->getBasename('.html5')] = strtr($file->getPath(), '\\', '/');
     }
     $this->filesystem->dumpFile($cacheDir . '/contao/config/templates.php', sprintf("<?php\n\nreturn %s;\n", var_export($mapper, true)));
 }
Example #2
0
 /**
  * Generates the DCA extracts.
  *
  * @param string $cacheDir The cache directory
  */
 private function generateDcaExtracts($cacheDir)
 {
     $processed = [];
     /** @var SplFileInfo[] $files */
     $files = $this->finder->findIn('dca')->files()->name('*.php');
     foreach ($files as $file) {
         if (in_array($file->getBasename(), $processed)) {
             continue;
         }
         $processed[] = $file->getBasename();
         $table = $file->getBasename('.php');
         $extract = DcaExtractor::getInstance($table);
         if (!$extract->isDbTable()) {
             continue;
         }
         $this->filesystem->dumpFile(sprintf('%s/contao/sql/%s.php', $cacheDir, $table), "<?php\n\n" . sprintf("\$this->arrMeta = %s;\n\n", var_export($extract->getMeta(), true)) . sprintf("\$this->arrFields = %s;\n\n", var_export($extract->getFields(), true)) . sprintf("\$this->arrOrderFields = %s;\n\n", var_export($extract->getOrderFields(), true)) . sprintf("\$this->arrKeys = %s;\n\n", var_export($extract->getKeys(), true)) . sprintf("\$this->arrRelations = %s;\n\n", var_export($extract->getRelations(), true)) . "\$this->blnIsDbTable = true;\n");
     }
 }