Пример #1
0
 public static function init($template_dir = null, $compiled_dir = null, $cache_dir = null)
 {
     if (self::$instance == null) {
         //echo "<p>init() called!</p>";
         if ($template_dir != null) {
             self::$template_dir = $template_dir;
         } else {
             self::$template_dir = KX_ROOT . kxEnv::get("kx:templates:dir");
         }
         $loader = new Twig_Loader_Filesystem(self::$template_dir);
         if ($cache_dir == null) {
             $cache_dir = KX_ROOT . kxEnv::get("kx:templates:cachedir");
         }
         self::$instance = new Twig_Environment($loader, array('cache' => $cache_dir, 'auto_reload' => true, 'debug' => true));
         // Load our extensions
         self::$instance->addExtension(new Twig_Extensions_Extension_I18n());
         self::$instance->addExtension(new Twig_Extensions_Extension_kxEnv());
         self::$instance->addExtension(new Twig_Extensions_Extension_DateFormat());
         self::$instance->addExtension(new Twig_Extensions_Extension_Text());
         self::$instance->addExtension(new Twig_Extensions_Extension_Round());
         self::$instance->addExtension(new Twig_Extensions_Extension_Strip());
         self::$instance->addExtension(new Twig_Extensions_Extension_Debug());
         self::$instance->addExtension(new Twig_Extensions_Extension_PHP());
         // Supply Twig with our GET/POST variables
         self::$data['_get'] = $_GET;
         self::$data['_post'] = $_POST;
         // Supply Twig with the default locale
         self::$data['locale'] = kxEnv::Get('kx:misc:locale');
         // Are we in manage? Load up the manage wrapper
         if (IN_MANAGE) {
             self::$data['current_app'] = "";
             if (KX_CURRENT_APP == "core") {
                 // Load up some variables for tabbing/menu purposes
                 if (isset(kxEnv::$request['app'])) {
                     self::$data['current_app'] = kxEnv::$request['app'];
                 }
             } else {
                 if (KX_CURRENT_APP == "board") {
                     if (kxEnv::$current_module == "posts") {
                         self::$data['current_app'] = "posts";
                     } else {
                         self::$data['current_app'] = "board";
                     }
                 }
             }
             $baseurl = kxEnv::Get('kx:paths:main:path') . '/manage.php?sid=' . (isset(kxEnv::$request['sid']) ? kxEnv::$request['sid'] : '') . '&';
             self::$data['base_url'] = $baseurl;
             // Get our manage username
             if (isset(kxEnv::$request['sid'])) {
                 $result = kxDB::getinstance()->select('staff', 'stf')->fields('stf', array('user_name'));
                 $result->innerJoin("manage_sessions", "ms", "ms.session_staff_id = stf.user_id");
                 self::assign('name', $result->condition('session_id', kxEnv::$request['sid'])->execute()->fetchField());
             }
         }
         // else {
         //	die('Not IN_MANAGE!');
         //}
     }
 }