From 81ebefcceabe27aba9b576d4760339df9e7c82f1 Mon Sep 17 00:00:00 2001 From: "Uwe.Tews" Date: Sat, 17 Oct 2009 02:02:28 +0000 Subject: [PATCH] experimental compile_directory method --- libs/sysplugins/method.compile_directory.php | 63 ++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 libs/sysplugins/method.compile_directory.php diff --git a/libs/sysplugins/method.compile_directory.php b/libs/sysplugins/method.compile_directory.php new file mode 100644 index 00000000..624808f3 --- /dev/null +++ b/libs/sysplugins/method.compile_directory.php @@ -0,0 +1,63 @@ +template_dir; + } + // switch off time limit + if (function_exists('set_time_limit')) { + @set_time_limit(0); + } + + $smarty->force_compile = true; + $_count = 0; + // loop over array of template directories + foreach ($dir_name as $_dir) { + $_compileDirs = new RecursiveDirectoryIterator($_dir); + $_compile = new RecursiveIteratorIterator($_compileDirs); + foreach ($_compile as $_fileinfo) { + if (strpos($_fileinfo, '.svn') !== false) continue; + $_file = $_fileinfo->getFilename(); + if (!substr_compare($_file, $extention, - strlen($extention)) == 0) continue; + echo '
' . $_fileinfo->getPath().'\\'.$_file; + flush(); + $_start_time = _get_time(); + try { + $_tpl = $smarty->createTemplate($_file); + $_tpl->getCompiledTemplate(); + } + catch (Exception $e) { + echo 'Error: ', $e->getMessage(), "

"; + } + echo ' done in ',_get_time() - $_start_time,' seconds'; + } + } + return $_count; +} + +?>