1: <?php
2:
3: /**
4: * Represents a pre or post processing filter on HTML Purifier's output
5: *
6: * Sometimes, a little ad-hoc fixing of HTML has to be done before
7: * it gets sent through HTML Purifier: you can use filters to acheive
8: * this effect. For instance, YouTube videos can be preserved using
9: * this manner. You could have used a decorator for this task, but
10: * PHP's support for them is not terribly robust, so we're going
11: * to just loop through the filters.
12: *
13: * Filters should be exited first in, last out. If there are three filters,
14: * named 1, 2 and 3, the order of execution should go 1->preFilter,
15: * 2->preFilter, 3->preFilter, purify, 3->postFilter, 2->postFilter,
16: * 1->postFilter.
17: *
18: * @note Methods are not declared abstract as it is perfectly legitimate
19: * for an implementation not to want anything to happen on a step
20: */
21:
22: class HTMLPurifier_Filter
23: {
24:
25: /**
26: * Name of the filter for identification purposes
27: */
28: public $name;
29:
30: /**
31: * Pre-processor function, handles HTML before HTML Purifier
32: */
33: public function preFilter($html, $config, $context) {
34: return $html;
35: }
36:
37: /**
38: * Post-processor function, handles HTML after HTML Purifier
39: */
40: public function postFilter($html, $config, $context) {
41: return $html;
42: }
43:
44: }
45:
46: // vim: et sw=4 sts=4
47: