From 570bc41b12cf4f0c2699c6b7712efefb4f316ded Mon Sep 17 00:00:00 2001 From: Uwe Tews Date: Thu, 26 Oct 2017 06:14:22 +0200 Subject: [PATCH] - optimization replace internal Smarty::$ds property by DIRECTORY_SEPARATOR --- .../smarty_internal_cacheresource_file.php | 23 +++++++++++-------- .../smarty_internal_compile_include.php | 1 - ...ty_internal_method_compilealltemplates.php | 22 +++++++++++------- ...rty_internal_runtime_cacheresourcefile.php | 14 ++++------- 4 files changed, 32 insertions(+), 28 deletions(-) diff --git a/libs/sysplugins/smarty_internal_cacheresource_file.php b/libs/sysplugins/smarty_internal_cacheresource_file.php index 5eb99fb1..372e8cf4 100644 --- a/libs/sysplugins/smarty_internal_cacheresource_file.php +++ b/libs/sysplugins/smarty_internal_cacheresource_file.php @@ -7,7 +7,6 @@ * @author Uwe Tews * @author Rodney Rehm */ - /** * This class does contain all necessary methods for the HTML cache on file system * Implements the file system as resource for the HTML cache Version ussing nocache inserts. @@ -29,13 +28,14 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource { $source = &$_template->source; $smarty = &$_template->smarty; - $_compile_dir_sep = $smarty->use_sub_dirs ? $smarty->ds : '^'; + $_compile_dir_sep = $smarty->use_sub_dirs ? DIRECTORY_SEPARATOR : '^'; $_filepath = sha1($source->uid . $smarty->_joined_template_dir); $cached->filepath = $smarty->getCacheDir(); if (isset($_template->cache_id)) { $cached->filepath .= preg_replace(array('![^\w|]+!', - '![|]+!'), array('_', - $_compile_dir_sep), + '![|]+!'), + array('_', + $_compile_dir_sep), $_template->cache_id) . $_compile_dir_sep; } if (isset($_template->compile_id)) { @@ -43,9 +43,10 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource } // if use_sub_dirs, break file into directories if ($smarty->use_sub_dirs) { - $cached->filepath .= $_filepath[ 0 ] . $_filepath[ 1 ] . $smarty->ds . $_filepath[ 2 ] . $_filepath[ 3 ] . - $smarty->ds . - $_filepath[ 4 ] . $_filepath[ 5 ] . $smarty->ds; + $cached->filepath .= $_filepath[ 0 ] . $_filepath[ 1 ] . DIRECTORY_SEPARATOR . $_filepath[ 2 ] . + $_filepath[ 3 ] . + DIRECTORY_SEPARATOR . + $_filepath[ 4 ] . $_filepath[ 5 ] . DIRECTORY_SEPARATOR; } $cached->filepath .= $_filepath; $basename = $source->handler->getBasename($source); @@ -86,7 +87,8 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource * * @return boolean true or false if the cached content does not exist */ - public function process(Smarty_Internal_Template $_smarty_tpl, Smarty_Template_Cached $cached = null, + public function process(Smarty_Internal_Template $_smarty_tpl, + Smarty_Template_Cached $cached = null, $update = false) { $_smarty_tpl->cached->valid = false; @@ -108,14 +110,15 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource */ public function writeCachedContent(Smarty_Internal_Template $_template, $content) { - if ($_template->smarty->ext->_writeFile->writeFile($_template->cached->filepath, $content, + if ($_template->smarty->ext->_writeFile->writeFile($_template->cached->filepath, + $content, $_template->smarty) === true ) { if (function_exists('opcache_invalidate') && (!function_exists('ini_get') || strlen(ini_get("opcache.restrict_api"))) < 1 ) { opcache_invalidate($_template->cached->filepath, true); - } elseif (function_exists('apc_compile_file')) { + } else if (function_exists('apc_compile_file')) { apc_compile_file($_template->cached->filepath); } $cached = $_template->cached; diff --git a/libs/sysplugins/smarty_internal_compile_include.php b/libs/sysplugins/smarty_internal_compile_include.php index 6fdbe258..5fbbdac8 100644 --- a/libs/sysplugins/smarty_internal_compile_include.php +++ b/libs/sysplugins/smarty_internal_compile_include.php @@ -7,7 +7,6 @@ * @subpackage Compiler * @author Uwe Tews */ - /** * Smarty Internal Plugin Compile Include Class * diff --git a/libs/sysplugins/smarty_internal_method_compilealltemplates.php b/libs/sysplugins/smarty_internal_method_compilealltemplates.php index 0abed212..95486085 100644 --- a/libs/sysplugins/smarty_internal_method_compilealltemplates.php +++ b/libs/sysplugins/smarty_internal_method_compilealltemplates.php @@ -1,5 +1,4 @@ compileAll($smarty, $extension, $force_compile, $time_limit, $max_errors); @@ -49,7 +51,11 @@ class Smarty_Internal_Method_CompileAllTemplates * * @return int number of template files compiled */ - protected function compileAll(Smarty $smarty, $extension, $force_compile, $time_limit, $max_errors, + protected function compileAll(Smarty $smarty, + $extension, + $force_compile, + $time_limit, + $max_errors, $isConfig = false) { // switch off time limit @@ -69,11 +75,11 @@ class Smarty_Internal_Method_CompileAllTemplates if (substr(basename($_fileinfo->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) { continue; } - if (!substr_compare($_file, $extension, - strlen($extension)) == 0) { + if (!substr_compare($_file, $extension, -strlen($extension)) == 0) { continue; } - if ($_fileinfo->getPath() !== substr($_dir, 0, - 1)) { - $_file = substr($_fileinfo->getPath(), strlen($_dir)) . $smarty->ds . $_file; + if ($_fileinfo->getPath() !== substr($_dir, 0, -1)) { + $_file = substr($_fileinfo->getPath(), strlen($_dir)) . DIRECTORY_SEPARATOR . $_file; } echo "\n
", $_dir, '---', $_file; flush(); @@ -92,7 +98,7 @@ class Smarty_Internal_Method_CompileAllTemplates $isConfig ? Smarty_Template_Config::load($_tpl) : Smarty_Template_Source::load($_tpl); if ($_tpl->mustCompile()) { $_tpl->compileTemplateSource(); - $_count ++; + $_count++; echo ' compiled in ', microtime(true) - $_start_time, ' seconds'; flush(); } else { @@ -102,7 +108,7 @@ class Smarty_Internal_Method_CompileAllTemplates } catch (Exception $e) { echo "\n
------>Error: ", $e->getMessage(), "

\n"; - $_error_count ++; + $_error_count++; } // free memory unset($_tpl); diff --git a/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php b/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php index 38ad41cb..59863ad0 100644 --- a/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php +++ b/libs/sysplugins/smarty_internal_runtime_cacheresourcefile.php @@ -1,5 +1,4 @@ use_sub_dirs) { foreach ($_cache_id_parts as $id_part) { - $_dir .= $id_part . $smarty->ds; + $_dir .= $id_part . DIRECTORY_SEPARATOR; } } } @@ -52,10 +50,8 @@ class Smarty_Internal_Runtime_CacheResourceFile $smarty->caching = true; $tpl = new $smarty->template_class($resource_name, $smarty); $smarty->caching = $_save_stat; - // remove from template cache $tpl->source; // have the template registered before unset() - if ($tpl->source->exists) { $_resourcename_parts = basename(str_replace('^', '/', $tpl->cached->filepath)); } else { @@ -71,7 +67,7 @@ class Smarty_Internal_Runtime_CacheResourceFile if (substr(basename($_file->getPathname()), 0, 1) == '.') { continue; } - $_filepath = (string) $_file; + $_filepath = (string)$_file; // directory ? if ($_file->isDir()) { if (!$_cache->isDot()) { @@ -80,7 +76,7 @@ class Smarty_Internal_Runtime_CacheResourceFile } } else { // delete only php files - if (substr($_filepath, - 4) !== '.php') { + if (substr($_filepath, -4) !== '.php') { continue; } $_parts = explode($_dir_sep, str_replace('\\', '/', substr($_filepath, $_dir_length))); @@ -105,7 +101,7 @@ class Smarty_Internal_Runtime_CacheResourceFile if ($_parts_count < $_cache_id_parts_count) { continue; } - for ($i = 0; $i < $_cache_id_parts_count; $i ++) { + for ($i = 0; $i < $_cache_id_parts_count; $i++) { if ($_parts[ $i ] != $_cache_id_parts[ $i ]) { continue 2; } @@ -130,7 +126,7 @@ class Smarty_Internal_Runtime_CacheResourceFile && (!function_exists('ini_get') || strlen(ini_get("opcache.restrict_api")) < 1) ) { opcache_invalidate($_filepath, true); - } elseif (function_exists('apc_delete_file')) { + } else if (function_exists('apc_delete_file')) { apc_delete_file($_filepath); } }