/** * 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))); }
/** * 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"); } }