Esempio n. 1
0
<?php

// this script compile all twig templates and put it in cahce to get Poedit (or xgettext) to extract phrases fron chached templates.
// gettext command line tools:
// msgunfmt - get po from mo
// msgfmt - get mo from po
// xgettext - extract phrases from files
$siteRoot = dirname(__FILE__) . '/../..';
require_once $siteRoot . '/vendor/twig/twig/lib/Twig/Autoloader.php';
Twig_Autoloader::register();
require_once $siteRoot . '/vendor/twig/extensions/lib/Twig/Extensions/Autoloader.php';
Twig_Extensions_Autoloader::register();
//$tplDir = $siteRoot.'/themes/default';
$tplDirRoot = $siteRoot . '/themes/';
$tmpDir = $siteRoot . '/cache/';
foreach (new IteratorIterator(new DirectoryIterator($tplDirRoot)) as $tplDir) {
    if ($tplDir->isDir() and $tplDir != '.' and $tplDir != '..') {
        echo "\n{$tplDir}\n";
        $loader = new Twig_Loader_Filesystem($tplDirRoot . $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 Twig_Extensions_Extension_I18n());
        $filter = new Twig_SimpleFilter('getDomain', 'Tools::getDomain');
        $twig->addFilter($filter);
        $filter = new Twig_SimpleFilter('getReadingTime', 'Tools::getReadingTime');
        $twig->addFilter($filter);
        $filter = new Twig_SimpleFilter('getPrettyFilename', function ($string) {
            return str_replace($siteRoot, '', $string);
        });
        $twig->addFilter($filter);
        // 				// iterate over all your templates
Esempio n. 2
0
 /**
  * Creates new TwigEnvironment if it doesn't already exist, and returns it.
  *
  * @return Twig_Environment
  */
 public function getEnvironment()
 {
     if (!$this->twigEnvironment) {
         // Check for Composer Package Autoloader class loading
         if (!class_exists('\\Twig_Autoloader')) {
             require_once self::$twigDirectory . '/Autoloader.php';
         }
         \Twig_Autoloader::register();
         $loader = new \Twig_Loader_Filesystem($this->getTemplateDirs());
         $this->twigEnvironment = new \Twig_Environment($loader, self::$twigOptions);
         // Check for Composer Package Autoloader class loading
         if (!class_exists('\\Twig_Extensions_Autoloader')) {
             $extension_autoloader = dirname(__FILE__) . '/Extension/TwigAutoloader.php';
             if (file_exists($extension_autoloader)) {
                 require_once $extension_autoloader;
             }
         }
         if (class_exists('\\Twig_Extensions_Autoloader')) {
             \Twig_Extensions_Autoloader::register();
             foreach (self::$twigExtensions as $ext) {
                 $extension = is_object($ext) ? $ext : new $ext();
                 $this->twigEnvironment->addExtension($extension);
             }
         }
     }
     return $this->twigEnvironment;
 }