diff options
author | emkael <emkael@tlen.pl> | 2018-10-18 02:39:34 +0200 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2018-10-18 02:39:42 +0200 |
commit | ab5d8d4e07bb3c8230d0285ef8902ef1979fce51 (patch) | |
tree | 0b955e585cb2fdbc7207392a5f2c97d610b6a5bc /lib/smarty/sysplugins/smarty_internal_method_addautoloadfilters.php | |
parent | c055ce2ab60c6582bad3e5babcb1d00384fde78a (diff) |
Updating Smarty
Diffstat (limited to 'lib/smarty/sysplugins/smarty_internal_method_addautoloadfilters.php')
-rw-r--r-- | lib/smarty/sysplugins/smarty_internal_method_addautoloadfilters.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/smarty/sysplugins/smarty_internal_method_addautoloadfilters.php b/lib/smarty/sysplugins/smarty_internal_method_addautoloadfilters.php new file mode 100644 index 0000000..a05f55a --- /dev/null +++ b/lib/smarty/sysplugins/smarty_internal_method_addautoloadfilters.php @@ -0,0 +1,53 @@ +<?php + +/** + * Smarty Method AddAutoloadFilters + * + * Smarty::addAutoloadFilters() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_AddAutoloadFilters extends Smarty_Internal_Method_SetAutoloadFilters +{ + /** + * Add autoload filters + * + * @api Smarty::setAutoloadFilters() + * + * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj + * @param array $filters filters to load automatically + * @param string $type "pre", "output", … specify + * the filter type to set. + * Defaults to none treating + * $filters' keys as the + * appropriate types + * + * @return \Smarty|\Smarty_Internal_Template + * @throws \SmartyException + */ + public function addAutoloadFilters(Smarty_Internal_TemplateBase $obj, $filters, $type = null) + { + $smarty = $obj->_getSmartyObj(); + if ($type !== null) { + $this->_checkFilterType($type); + if (!empty($smarty->autoload_filters[ $type ])) { + $smarty->autoload_filters[ $type ] = array_merge($smarty->autoload_filters[ $type ], (array)$filters); + } else { + $smarty->autoload_filters[ $type ] = (array)$filters; + } + } else { + foreach ((array)$filters as $type => $value) { + $this->_checkFilterType($type); + if (!empty($smarty->autoload_filters[ $type ])) { + $smarty->autoload_filters[ $type ] = + array_merge($smarty->autoload_filters[ $type ], (array)$value); + } else { + $smarty->autoload_filters[ $type ] = (array)$value; + } + } + } + return $obj; + } +} |