Subversion Repositories ALCASAR

Rev

Go to most recent revision | Details | Last modification | View Log

Rev Author Line No. Line
2809 rexy 1
<?php
2
 
3
/**
4
 * Smarty Method UnregisterFilter
5
 *
6
 * Smarty::unregisterFilter() method
7
 *
8
 * @package    Smarty
9
 * @subpackage PluginsInternal
10
 * @author     Uwe Tews
11
 */
12
class Smarty_Internal_Method_UnregisterFilter extends Smarty_Internal_Method_RegisterFilter
13
{
14
    /**
15
     * Unregisters a filter function
16
     *
17
     * @api  Smarty::unregisterFilter()
18
     *
19
     * @link http://www.smarty.net/docs/en/api.unregister.filter.tpl
20
     *
21
     * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj
22
     * @param string                                                          $type filter type
23
     * @param callback|string                                                 $callback
24
     *
25
     * @return \Smarty|\Smarty_Internal_Template
26
     * @throws \SmartyException
27
     */
28
    public function unregisterFilter(Smarty_Internal_TemplateBase $obj, $type, $callback)
29
    {
30
        $smarty = $obj->_getSmartyObj();
31
        $this->_checkFilterType($type);
32
        if (isset($smarty->registered_filters[ $type ])) {
33
            $name = is_string($callback) ? $callback : $this->_getFilterName($callback);
34
            if (isset($smarty->registered_filters[ $type ][ $name ])) {
35
                unset($smarty->registered_filters[ $type ][ $name ]);
36
                if (empty($smarty->registered_filters[ $type ])) {
37
                    unset($smarty->registered_filters[ $type ]);
38
                }
39
            }
40
        }
41
        return $obj;
42
    }
43
}