From c9423a2c34a5b93bf9cf2c506acca713781e60b6 Mon Sep 17 00:00:00 2001 From: Michael Save Date: Thu, 12 Apr 2012 02:49:22 +1000 Subject: large cleanup --- inc/template.php | 97 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 41 deletions(-) (limited to 'inc/template.php') diff --git a/inc/template.php b/inc/template.php index 2a79f918..b348f153 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1,57 +1,72 @@ setPaths($config['dir']['template']); + $twig = new Twig_Environment($loader, Array( + 'autoescape' => false, + 'cache' => "{$config['dir']['template']}/cache", + 'debug' => ($config['debug'] ? true : false), + )); + $twig->addExtension(new Twig_Extensions_Extension_Tinyboard()); + $twig->addExtension(new Twig_Extensions_Extension_I18n()); +} + +function Element($templateFile, array $options) { + global $config, $debug, $twig; - function Element($templateFile, array $options) { - global $config, $debug, $loader; - - if(function_exists('create_pm_header') && ((isset($options['mod']) && $options['mod']) || isset($options['__mod']))) { - $options['pm'] = create_pm_header(); + if(!$twig) + load_twig(); + + if(function_exists('create_pm_header') && ((isset($options['mod']) && $options['mod']) || isset($options['__mod']))) { + $options['pm'] = create_pm_header(); + } + + if(isset($options['body']) && $config['debug']) { + if(isset($debug['start'])) { + $debug['time'] = '~' . round((microtime(true) - $debug['start']) * 1000, 2) . 'ms'; + unset($debug['start']); } + $debug['included'] = get_included_files(); + $debug['memory'] = round(memory_get_usage(true) / (1024 * 1024), 2) . ' MiB'; + $options['body'] .= + '

Debug

' .
+				str_replace("\n", '
', utf8tohtml(print_r($debug, true))) . + '
'; + } + + // Read the template file + if(@file_get_contents("{$config['dir']['template']}/${templateFile}")) { + $body = $twig->render($templateFile, $options); - if(isset($options['body']) && $config['debug']) { - if(isset($debug['start'])) { - $debug['time'] = '~' . round((microtime(true) - $debug['start']) * 1000, 2) . 'ms'; - unset($debug['start']); - - } - $options['body'] .= '

Debug

' . str_replace("\n", '
', utf8tohtml(print_r($debug, true))) . '
'; + if($config['minify_html'] && preg_match('/\.html$/', $templateFile)) { + $body = trim(preg_replace("/[\t\r\n]/", '', $body)); } - $loader->setPaths($config['dir']['template']); - - $twig = new Twig_Environment($loader, Array( - 'autoescape' => false, - 'cache' => "{$config['dir']['template']}/cache", - 'debug' => ($config['debug'] ? true : false), - )); - $twig->addExtension(new Twig_Extensions_Extension_Tinyboard()); - $twig->addExtension(new Twig_Extensions_Extension_I18n()); - - // Read the template file - if(@file_get_contents("{$config['dir']['template']}/${templateFile}")) { - $body = $twig->render($templateFile, $options); - - if($config['minify_html'] && preg_match('/\.html$/', $templateFile)) { - $body = trim(preg_replace("/[\t\r\n]/", '', $body)); - } - - return $body; - } else { - throw new Exception("Template file '${templateFile}' does not exist or is empty in '{$config['dir']['template']}'!"); - } + return $body; + } else { + throw new Exception("Template file '${templateFile}' does not exist or is empty in '{$config['dir']['template']}'!"); } -?> +} + -- cgit v1.3