1: <?php
2:
3: /**
4: * Chainable filters for custom URI processing.
5: *
6: * These filters can perform custom actions on a URI filter object,
7: * including transformation or blacklisting.
8: *
9: * @warning This filter is called before scheme object validation occurs.
10: * Make sure, if you require a specific scheme object, you
11: * you check that it exists. This allows filters to convert
12: * proprietary URI schemes into regular ones.
13: */
14: abstract class HTMLPurifier_URIFilter
15: {
16:
17: /**
18: * Unique identifier of filter
19: */
20: public $name;
21:
22: /**
23: * True if this filter should be run after scheme validation.
24: */
25: public $post = false;
26:
27: /**
28: * Performs initialization for the filter
29: */
30: public function prepare($config) {return true;}
31:
32: /**
33: * Filter a URI object
34: * @param $uri Reference to URI object variable
35: * @param $config Instance of HTMLPurifier_Config
36: * @param $context Instance of HTMLPurifier_Context
37: * @return bool Whether or not to continue processing: false indicates
38: * URL is no good, true indicates continue processing. Note that
39: * all changes are committed directly on the URI object
40: */
41: abstract public function filter(&$uri, $config, $context);
42:
43: }
44:
45: // vim: et sw=4 sts=4
46: