diff --git a/install-dev/classes/controllerHttp.php b/install-dev/classes/controllerHttp.php index b0de1ad57..2375356a4 100644 --- a/install-dev/classes/controllerHttp.php +++ b/install-dev/classes/controllerHttp.php @@ -95,6 +95,11 @@ abstract class InstallControllerHttp final public static function execute() { + if (Tools::getValue('compile_templates')) + { + require_once (_PS_INSTALL_CONTROLLERS_PATH_.'http/smarty_compile.php'); + exit; + } // Include all controllers foreach (self::$steps as $step) { diff --git a/install-dev/controllers/http/smarty_compile.php b/install-dev/controllers/http/smarty_compile.php new file mode 100644 index 000000000..d8ec92a58 --- /dev/null +++ b/install-dev/controllers/http/smarty_compile.php @@ -0,0 +1,43 @@ + +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +require_once(_PS_ROOT_DIR_.'/config/settings.inc.php'); +if (Tools::getValue('bo')) +{ + if (!is_dir(_PS_ROOT_DIR_.'/admin/')) + exit; + define('_PS_ADMIN_DIR_', _PS_ROOT_DIR_.'/admin/'); + $directory = _PS_ADMIN_DIR_.'themes/default/'; +} +else + $directory = _PS_THEME_DIR_; + +require_once(_PS_ROOT_DIR_.'/config/smarty.config.inc.php'); + +$smarty->setTemplateDir($directory); +ob_start(); +$smarty->compileAllTemplates('.tpl', false); +ob_end_clean(); \ No newline at end of file diff --git a/install-dev/theme/js/install.js b/install-dev/theme/js/install.js index a73c11c7d..e5d753eb2 100644 --- a/install-dev/theme/js/install.js +++ b/install-dev/theme/js/install.js @@ -19,4 +19,20 @@ $(document).ready(function() }); $('select.chosen').chosen(); + + // try to pre-compile the smarty templates + function compile_smarty_templates(bo) + { + $.ajax( + { + url: 'index.php', + data: { + 'compile_templates': 1, + 'bo':bo + }, + global: false + }); + } + compile_smarty_templates(1); + compile_smarty_templates(0); });