- remove no longer needed file and updated testinstall

This commit is contained in:
uwetews
2015-12-08 23:41:01 +01:00
parent 4839d0e0cc
commit be8340bef2
2 changed files with 30 additions and 128 deletions

View File

@@ -1,97 +0,0 @@
<?php
/**
* Tplfunc Runtime Methods callTemplateFunction
*
* @package Smarty
* @subpackage PluginsInternal
* @author Uwe Tews
*
**/
class Smarty_Internal_Runtime_Tplfunc
{
/**
* Call template function
*
* @param \Smarty_Internal_Template $tpl template object
* @param string $name template function name
* @param array $params parameter array
* @param bool $nocache true if called nocache
*
* @throws \SmartyException
*/
public function callTemplateFunction(\Smarty_Internal_Template $tpl, $name, $params, $nocache)
{
if (isset($tpl->tpl_function[$name])) {
if (!$tpl->caching || ($tpl->caching && $nocache)) {
$function = $tpl->tpl_function[$name]['call_name'];
} else {
if (isset($tpl->tpl_function[$name]['call_name_caching'])) {
$function = $tpl->tpl_function[$name]['call_name_caching'];
} else {
$function = $tpl->tpl_function[$name]['call_name'];
}
}
if (function_exists($function)) {
$function ($tpl, $params);
return;
}
// try to load template function dynamically
if ($this->addTplFuncToCache($tpl, $name, $function)) {
$function ($tpl, $params);
return;
}
}
throw new SmartyException("Unable to find template function '{$name}'");
}
/**
*
* Add template function to cache file for nocache calls
*
* @param Smarty_Internal_Template $tpl
* @param string $_name template function name
* @param string $_function PHP function name
*
* @return bool
*/
public function addTplFuncToCache(Smarty_Internal_Template $tpl, $_name, $_function)
{
$funcParam = $tpl->tpl_function[$_name];
if (is_file($funcParam['compiled_filepath'])) {
// read compiled file
$code = file_get_contents($funcParam['compiled_filepath']);
// grab template function
if (preg_match("/\/\* {$_function} \*\/([\S\s]*?)\/\*\/ {$_function} \*\//", $code, $match)) {
// grab source info from file dependency
preg_match("/\s*'{$funcParam['uid']}'([\S\s]*?)\),/", $code, $match1);
unset($code);
// make PHP function known
eval($match[0]);
if (function_exists($_function)) {
// search cache file template
$tplPtr = $tpl;
while (!isset($tplPtr->cached) && isset($tplPtr->parent)) {
$tplPtr = $tplPtr->parent;
}
// add template function code to cache file
if (isset($tplPtr->cached)) {
$cache = $tplPtr->cached;
$content = $cache->read($tplPtr);
if ($content) {
// check if we must update file dependency
if (!preg_match("/'{$funcParam['uid']}'(.*?)'nocache_hash'/", $content, $match2)) {
$content = preg_replace("/('file_dependency'(.*?)\()/", "\\1{$match1[0]}", $content);
}
$cache->write($tplPtr, preg_replace('/\s*\?>\s*$/', "\n", $content) . "\n" .
preg_replace(array('/^\s*<\?php\s+/', '/\s*\?>\s*$/'), "\n",
$match[0]));
}
}
return true;
}
}
}
return false;
}
}

View File

@@ -63,7 +63,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['template_dir'] = $message; $errors[ 'template_dir' ] = $message;
} }
continue; continue;
@@ -74,7 +74,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['template_dir'] = $message; $errors[ 'template_dir' ] = $message;
} }
continue; continue;
@@ -87,7 +87,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['template_dir'] = $message; $errors[ 'template_dir' ] = $message;
} }
} elseif (!is_readable($template_dir)) { } elseif (!is_readable($template_dir)) {
$status = false; $status = false;
@@ -95,7 +95,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['template_dir'] = $message; $errors[ 'template_dir' ] = $message;
} }
} else { } else {
if ($errors === null) { if ($errors === null) {
@@ -117,7 +117,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['compile_dir'] = $message; $errors[ 'compile_dir' ] = $message;
} }
} elseif (!is_dir($_compile_dir)) { } elseif (!is_dir($_compile_dir)) {
$status = false; $status = false;
@@ -125,7 +125,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['compile_dir'] = $message; $errors[ 'compile_dir' ] = $message;
} }
} elseif (!is_readable($_compile_dir)) { } elseif (!is_readable($_compile_dir)) {
$status = false; $status = false;
@@ -133,7 +133,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['compile_dir'] = $message; $errors[ 'compile_dir' ] = $message;
} }
} elseif (!is_writable($_compile_dir)) { } elseif (!is_writable($_compile_dir)) {
$status = false; $status = false;
@@ -141,7 +141,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['compile_dir'] = $message; $errors[ 'compile_dir' ] = $message;
} }
} else { } else {
if ($errors === null) { if ($errors === null) {
@@ -182,7 +182,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['plugins_dir'] = $message; $errors[ 'plugins_dir' ] = $message;
} }
continue; continue;
@@ -193,7 +193,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['plugins_dir'] = $message; $errors[ 'plugins_dir' ] = $message;
} }
continue; continue;
@@ -206,7 +206,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['plugins_dir'] = $message; $errors[ 'plugins_dir' ] = $message;
} }
} elseif (!is_readable($plugin_dir)) { } elseif (!is_readable($plugin_dir)) {
$status = false; $status = false;
@@ -214,7 +214,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['plugins_dir'] = $message; $errors[ 'plugins_dir' ] = $message;
} }
} elseif ($_core_plugins_dir && $_core_plugins_dir == realpath($plugin_dir)) { } elseif ($_core_plugins_dir && $_core_plugins_dir == realpath($plugin_dir)) {
$_core_plugins_available = true; $_core_plugins_available = true;
@@ -232,8 +232,8 @@ class Smarty_Internal_TestInstall
$message = "WARNING: Smarty's own libs/plugins is not available"; $message = "WARNING: Smarty's own libs/plugins is not available";
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} elseif (!isset($errors['plugins_dir'])) { } elseif (!isset($errors[ 'plugins_dir' ])) {
$errors['plugins_dir'] = $message; $errors[ 'plugins_dir' ] = $message;
} }
} }
@@ -250,7 +250,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['cache_dir'] = $message; $errors[ 'cache_dir' ] = $message;
} }
} elseif (!is_dir($_cache_dir)) { } elseif (!is_dir($_cache_dir)) {
$status = false; $status = false;
@@ -258,7 +258,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['cache_dir'] = $message; $errors[ 'cache_dir' ] = $message;
} }
} elseif (!is_readable($_cache_dir)) { } elseif (!is_readable($_cache_dir)) {
$status = false; $status = false;
@@ -266,7 +266,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['cache_dir'] = $message; $errors[ 'cache_dir' ] = $message;
} }
} elseif (!is_writable($_cache_dir)) { } elseif (!is_writable($_cache_dir)) {
$status = false; $status = false;
@@ -274,7 +274,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['cache_dir'] = $message; $errors[ 'cache_dir' ] = $message;
} }
} else { } else {
if ($errors === null) { if ($errors === null) {
@@ -311,7 +311,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['config_dir'] = $message; $errors[ 'config_dir' ] = $message;
} }
continue; continue;
@@ -322,7 +322,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['config_dir'] = $message; $errors[ 'config_dir' ] = $message;
} }
continue; continue;
@@ -335,7 +335,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['config_dir'] = $message; $errors[ 'config_dir' ] = $message;
} }
} elseif (!is_readable($config_dir)) { } elseif (!is_readable($config_dir)) {
$status = false; $status = false;
@@ -343,7 +343,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['config_dir'] = $message; $errors[ 'config_dir' ] = $message;
} }
} else { } else {
if ($errors === null) { if ($errors === null) {
@@ -476,7 +476,6 @@ class Smarty_Internal_TestInstall
'smarty_internal_runtime_getincludepath.php' => true, 'smarty_internal_runtime_getincludepath.php' => true,
'smarty_internal_runtime_hhvm.php' => true, 'smarty_internal_runtime_hhvm.php' => true,
'smarty_internal_runtime_inheritance.php' => true, 'smarty_internal_runtime_inheritance.php' => true,
'smarty_internal_runtime_iscached.php' => true,
'smarty_internal_runtime_subtemplate.php' => true, 'smarty_internal_runtime_subtemplate.php' => true,
'smarty_internal_runtime_tplfunction.php' => true, 'smarty_internal_runtime_tplfunction.php' => true,
'smarty_internal_runtime_updatecache.php' => true, 'smarty_internal_runtime_updatecache.php' => true,
@@ -508,8 +507,8 @@ class Smarty_Internal_TestInstall
foreach ($iterator as $file) { foreach ($iterator as $file) {
if (!$file->isDot()) { if (!$file->isDot()) {
$filename = $file->getFilename(); $filename = $file->getFilename();
if (isset($expectedSysplugins[$filename])) { if (isset($expectedSysplugins[ $filename ])) {
unset($expectedSysplugins[$filename]); unset($expectedSysplugins[ $filename ]);
} }
} }
} }
@@ -519,7 +518,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['sysplugins'] = $message; $errors[ 'sysplugins' ] = $message;
} }
} elseif ($errors === null) { } elseif ($errors === null) {
echo "... OK\n"; echo "... OK\n";
@@ -530,7 +529,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['sysplugins_dir_constant'] = $message; $errors[ 'sysplugins_dir_constant' ] = $message;
} }
} }
@@ -569,8 +568,8 @@ class Smarty_Internal_TestInstall
foreach ($iterator as $file) { foreach ($iterator as $file) {
if (!$file->isDot()) { if (!$file->isDot()) {
$filename = $file->getFilename(); $filename = $file->getFilename();
if (isset($expectedPlugins[$filename])) { if (isset($expectedPlugins[ $filename ])) {
unset($expectedPlugins[$filename]); unset($expectedPlugins[ $filename ]);
} }
} }
} }
@@ -580,7 +579,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['plugins'] = $message; $errors[ 'plugins' ] = $message;
} }
} elseif ($errors === null) { } elseif ($errors === null) {
echo "... OK\n"; echo "... OK\n";
@@ -591,7 +590,7 @@ class Smarty_Internal_TestInstall
if ($errors === null) { if ($errors === null) {
echo $message . ".\n"; echo $message . ".\n";
} else { } else {
$errors['plugins_dir_constant'] = $message; $errors[ 'plugins_dir_constant' ] = $message;
} }
} }