true, 'post' => true, 'output' => true, 'variable' => true); /** * load a filter of specified type and name * * @api Smarty::loadFilter() * * @link http://www.smarty.net/docs/en/api.load.filter.tpl * * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj * @param string $type filter type * @param string $name filter name * * @return bool * @throws SmartyException if filter could not be loaded */ public function loadFilter(Smarty_Internal_TemplateBase $obj, $type, $name) { $smarty = $obj->_getSmartyObj(); $this->_checkFilterType($type); $_plugin = "smarty_{$type}filter_{$name}"; $_filter_name = $_plugin; if (is_callable($_plugin)) { $smarty->registered_filters[ $type ][ $_filter_name ] = $_plugin; return true; } if ($smarty->loadPlugin($_plugin)) { if (class_exists($_plugin, false)) { $_plugin = array($_plugin, 'execute'); } if (is_callable($_plugin)) { $smarty->registered_filters[ $type ][ $_filter_name ] = $_plugin; return true; } } throw new SmartyException("{$type}filter \"{$name}\" not found or callable"); } /** * Check if filter type is valid * * @param string $type * * @throws \SmartyException */ public function _checkFilterType($type) { if (!isset($this->filterTypes[ $type ])) { throw new SmartyException("Illegal filter type \"{$type}\""); } } }