phpmyadmin/scripts/generate-twig-cache
Maurício Meneghini Fauth 85866598e5 Move Twig classes to PhpMyAdmin namespace
Signed-off-by: Maurício Meneghini Fauth <mauriciofauth@gmail.com>
2017-07-20 12:19:48 -03:00

44 lines
1.3 KiB
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4 ft=php: */
define('PHPMYADMIN', 1);
require_once 'libraries/vendor_config.php';
require_once AUTOLOAD_FILE;
use PhpMyAdmin\Twig\CharsetsExtension;
use PhpMyAdmin\Twig\I18nExtension;
use PhpMyAdmin\Twig\MessageExtension;
use PhpMyAdmin\Twig\SanitizeExtension;
use PhpMyAdmin\Twig\UrlExtension;
use PhpMyAdmin\Twig\UtilExtension;
$tplDir = dirname(__FILE__) . '/../templates';
$tmpDir = dirname(__FILE__) . '/../twig-templates';
$loader = new Twig_Loader_Filesystem($tplDir);
// force auto-reload to always have the latest version of the template
$twig = new Twig_Environment($loader, array(
'cache' => $tmpDir,
'auto_reload' => true
));
$twig->addExtension(new CharsetsExtension());
$twig->addExtension(new I18nExtension());
$twig->addExtension(new MessageExtension());
$twig->addExtension(new SanitizeExtension());
$twig->addExtension(new UrlExtension());
$twig->addExtension(new UtilExtension());
// iterate over all templates
foreach (new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($tplDir),
RecursiveIteratorIterator::LEAVES_ONLY
) as $file) {
// Skip test files
if (strpos($file, '/test/') !== false) {
continue;
}
// force compilation
if ($file->isFile() && $file->getExtension() == 'twig') {
$twig->loadTemplate(str_replace($tplDir.'/', '', $file));
}
}