Update Smarty und RedBean
Smarty: 3.1.30 - Redbean: 5.0.0
This commit is contained in:
parent
eb0835ff74
commit
0795a87ecd
193 changed files with 22035 additions and 14455 deletions
|
@ -0,0 +1,82 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Smarty Method RegisterDefaultTemplateHandler
|
||||
*
|
||||
* Smarty::registerDefaultTemplateHandler() method
|
||||
*
|
||||
* @package Smarty
|
||||
* @subpackage PluginsInternal
|
||||
* @author Uwe Tews
|
||||
*/
|
||||
class Smarty_Internal_Method_RegisterDefaultTemplateHandler
|
||||
{
|
||||
/**
|
||||
* Valid for Smarty and template object
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
public $objMap = 3;
|
||||
|
||||
/**
|
||||
* Register template default handler
|
||||
*
|
||||
* @api Smarty::registerDefaultTemplateHandler()
|
||||
*
|
||||
* @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
|
||||
* @param callable $callback class/method name
|
||||
*
|
||||
* @return \Smarty|\Smarty_Internal_Template
|
||||
* @throws SmartyException if $callback is not callable
|
||||
*/
|
||||
public function registerDefaultTemplateHandler(Smarty_Internal_TemplateBase $obj, $callback)
|
||||
{
|
||||
$smarty = isset($obj->smarty) ? $obj->smarty : $obj;
|
||||
if (is_callable($callback)) {
|
||||
$smarty->default_template_handler_func = $callback;
|
||||
} else {
|
||||
throw new SmartyException("Default template handler not callable");
|
||||
}
|
||||
return $obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* get default content from template or config resource handler
|
||||
*
|
||||
* @param Smarty_Template_Source $source
|
||||
*
|
||||
* @throws \SmartyException
|
||||
*/
|
||||
public static function _getDefaultTemplate(Smarty_Template_Source $source)
|
||||
{
|
||||
if ($source->isConfig) {
|
||||
$default_handler = $source->smarty->default_config_handler_func;
|
||||
} else {
|
||||
$default_handler = $source->smarty->default_template_handler_func;
|
||||
}
|
||||
$_content = $_timestamp = null;
|
||||
$_return = call_user_func_array($default_handler,
|
||||
array($source->type, $source->name, &$_content, &$_timestamp, $source->smarty));
|
||||
if (is_string($_return)) {
|
||||
$source->exists = is_file($_return);
|
||||
if ($source->exists) {
|
||||
$source->timestamp = filemtime($_return);
|
||||
} else {
|
||||
throw new SmartyException("Default handler: Unable to load " .
|
||||
($source->isConfig ? 'config' : 'template') .
|
||||
" default file '{$_return}' for '{$source->type}:{$source->name}'");
|
||||
}
|
||||
$source->name = $source->filepath = $_return;
|
||||
$source->uid = sha1($source->filepath);
|
||||
} elseif ($_return === true) {
|
||||
$source->content = $_content;
|
||||
$source->exists = true;
|
||||
$source->uid = $source->name = sha1($_content);
|
||||
$source->handler = Smarty_Resource::load($source->smarty, 'eval');
|
||||
} else {
|
||||
$source->exists = false;
|
||||
throw new SmartyException('Default handler: No ' . ($source->isConfig ? 'config' : 'template') .
|
||||
" default content for '{$source->type}:{$source->name}'");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue