Upgrade to new smarty

This commit is contained in:
Garvin Hicking
2008-02-15 11:38:53 +00:00
parent f2c82b1cbb
commit 903d9cc0eb
9 changed files with 595 additions and 49 deletions
+34 -18
View File
@@ -27,10 +27,10 @@
* @author Monte Ohrt <monte at ohrt dot com>
* @author Andrei Zmievski <andrei@php.net>
* @package Smarty
* @version 2.6.18
* @version 2.6.19
*/
/* $Id: Smarty.class.php,v 1.528 2007/03/06 10:40:06 messju Exp $ */
/* $Id: Smarty.class.php 2722 2007-06-18 14:29:00Z danilo $ */
/**
* DIR_SEP isn't used anymore, but third party apps might
@@ -464,7 +464,7 @@ class Smarty
*
* @var string
*/
var $_version = '2.6.18';
var $_version = '2.6.19';
/**
* current template inclusion depth
@@ -838,69 +838,66 @@ class Smarty
* Registers a prefilter function to apply
* to a template before compiling
*
* @param string $function name of PHP function to register
* @param callback $function
*/
function register_prefilter($function)
{
$_name = (is_array($function)) ? $function[1] : $function;
$this->_plugins['prefilter'][$_name]
$this->_plugins['prefilter'][$this->_get_filter_name($function)]
= array($function, null, null, false);
}
/**
* Unregisters a prefilter function
*
* @param string $function name of PHP function
* @param callback $function
*/
function unregister_prefilter($function)
{
unset($this->_plugins['prefilter'][$function]);
unset($this->_plugins['prefilter'][$this->_get_filter_name($function)]);
}
/**
* Registers a postfilter function to apply
* to a compiled template after compilation
*
* @param string $function name of PHP function to register
* @param callback $function
*/
function register_postfilter($function)
{
$_name = (is_array($function)) ? $function[1] : $function;
$this->_plugins['postfilter'][$_name]
$this->_plugins['postfilter'][$this->_get_filter_name($function)]
= array($function, null, null, false);
}
/**
* Unregisters a postfilter function
*
* @param string $function name of PHP function
* @param callback $function
*/
function unregister_postfilter($function)
{
unset($this->_plugins['postfilter'][$function]);
unset($this->_plugins['postfilter'][$this->_get_filter_name($function)]);
}
/**
* Registers an output filter function to apply
* to a template output
*
* @param string $function name of PHP function
* @param callback $function
*/
function register_outputfilter($function)
{
$_name = (is_array($function)) ? $function[1] : $function;
$this->_plugins['outputfilter'][$_name]
$this->_plugins['outputfilter'][$this->_get_filter_name($function)]
= array($function, null, null, false);
}
/**
* Unregisters an outputfilter function
*
* @param string $function name of PHP function
* @param callback $function
*/
function unregister_outputfilter($function)
{
unset($this->_plugins['outputfilter'][$function]);
unset($this->_plugins['outputfilter'][$this->_get_filter_name($function)]);
}
/**
@@ -1935,6 +1932,25 @@ class Smarty
{
return eval($code);
}
/**
* Extracts the filter name from the given callback
*
* @param callback $function
* @return string
*/
function _get_filter_name($function)
{
if (is_array($function)) {
$_class_name = (is_object($function[0]) ?
get_class($function[0]) : $function[0]);
return $_class_name . '_' . $function[1];
}
else {
return $function;
}
}
/**#@-*/
}