private static function getInstance() { if (self::$instance) { return self::$instance; } $loader = new BitrixLoader($_SERVER['DOCUMENT_ROOT']); $c = Configuration::getInstance(); $config = $c->get('maximaster'); $twigConfig = (array) $config['tools']['twig']; $defaultConfig = array('debug' => false, 'charset' => SITE_CHARSET, 'cache' => $_SERVER['DOCUMENT_ROOT'] . '/bitrix/cache/maximaster/tools.twig', 'auto_reload' => isset($_GET['clear_cache']) && strtoupper($_GET['clear_cache']) == 'Y', 'autoescape' => false); $twigOptions = array_merge($defaultConfig, $twigConfig); $twig = new \Twig_Environment($loader, $twigOptions); if ($twig->isDebug()) { $twig->addExtension(new \Twig_Extension_Debug()); } $twig->addExtension(new BitrixExtension()); $twig->addExtension(new CustomFunctionsExtension()); $event = new Event('', 'onAfterTwigTemplateEngineInited', array($twig)); $event->send(); if ($event->getResults()) { foreach ($event->getResults() as $evenResult) { if ($evenResult->getType() == \Bitrix\Main\EventResult::SUCCESS) { $twig = current($evenResult->getParameters()); } } } return self::$instance = $twig; }
public static function getInstance() { if (self::$instance) { return self::$instance; } return self::$instance = new self(); }