- some fixes on yesterdays update

This commit is contained in:
Uwe.Tews
2009-04-04 15:46:09 +00:00
parent 3c5f0d56d3
commit 228a225f5b
4 changed files with 66 additions and 7 deletions

View File

@@ -1,3 +1,6 @@
04/04/2009
- some fixes on yesterdays update
04/03/2006
- added registerDefaultTemplateHandler methode and functionallity
- added registerDefaultPluginHandler methode and functionallity

View File

@@ -0,0 +1,56 @@
<?php
/**
* Smarty Internal Plugin Compile Append
*
* Compiles the {append} tag
*
* @package Smarty
* @subpackage Compiler
* @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Append Class
*/
class Smarty_Internal_Compile_Append extends Smarty_Internal_CompileBase {
/**
* Compiles code for the {append} tag
*
* @param array $args array with attributes from parser
* @param object $compiler compiler object
* @return string compiled code
*/
public function compile($args, $compiler)
{
$this->compiler = $compiler;
$this->required_attributes = array('var', 'value');
$this->optional_attributes = array('global', 'nocache', 'index');
$_nocache = 'null';
$_global = 'null';
// check for nocache attribute before _get_attributes because
// it shall not controll caching of the compiled code, but is a parameter
if (isset($args['nocache'])) {
if ($args['nocache'] == 'true') {
$_nocache = 'true';
$_nocache_boolean = true;
}
unset($args['nocache']);
}
// check and get attributes
$_attr = $this->_get_attributes($args);
if (isset($_attr['global']) && $_attr['global'] == 'true') {
$_global = 'true';
$_global_boolean = true;
}
// compiled output
if (isset($_attr['index'])) {
return "<?php \$_smarty_tpl->append($_attr[var],array($_attr[index] => $_attr[value]),true,$_nocache,$_global);?>";
} else {
return "<?php \$_smarty_tpl->append($_attr[var],$_attr[value],false,$_nocache,$_global);?>";
}
}
}
?>

View File

@@ -16,7 +16,7 @@
* Registers a default plugin handler
*/
class Smarty_Method_registerDefaultPluginhandlerHandler extends Smarty_Internal_Base {
class Smarty_Method_registerDefaultPluginHandler extends Smarty_Internal_Base {
/**
* Registers a default plugin handler
*
@@ -27,7 +27,7 @@ class Smarty_Method_registerDefaultPluginhandlerHandler extends Smarty_Internal_
if (is_callable($plugin)) {
$this->smarty->default_plugin_handler_func = $plugin;
} else {
throw new Exception("Default plugin handler not callable");
throw new Exception('Default plugin handler "'.$plugin.'" not callable');
}
}
}

View File

@@ -20,14 +20,14 @@ class Smarty_Method_registerDefaultTemplateHandler extends Smarty_Internal_Base
/**
* Registers a default template handler
*
* @param string $ |array $plugin class/methode name
* @param string $ |array $function class/methode name
*/
public function execute($plugin)
public function execute($function)
{
if (is_callable($plugin)) {
$this->smarty->default_template_handler_func = $plugin;
if (is_callable($function)) {
$this->smarty->default_template_handler_func = $function;
} else {
throw new Exception("Default template handler not callable");
throw new Exception('Default template handler "'.$function.'" not callable');
}
}
}