diff options
Diffstat (limited to 'inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter.php')
-rw-r--r-- | inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter.php | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter.php b/inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter.php new file mode 100644 index 00000000..0333ea34 --- /dev/null +++ b/inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter.php | |||
@@ -0,0 +1,74 @@ | |||
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. A filter named Foo | ||
8 | * must have a corresponding configuration directive %URI.Foo, | ||
9 | * unless always_load is specified to be true. | ||
10 | * | ||
11 | * The following contexts may be available while URIFilters are being | ||
12 | * processed: | ||
13 | * | ||
14 | * - EmbeddedURI: true if URI is an embedded resource that will | ||
15 | * be loaded automatically on page load | ||
16 | * - CurrentToken: a reference to the token that is currently | ||
17 | * being processed | ||
18 | * - CurrentAttr: the name of the attribute that is currently being | ||
19 | * processed | ||
20 | * - CurrentCSSProperty: the name of the CSS property that is | ||
21 | * currently being processed (if applicable) | ||
22 | * | ||
23 | * @warning This filter is called before scheme object validation occurs. | ||
24 | * Make sure, if you require a specific scheme object, you | ||
25 | * you check that it exists. This allows filters to convert | ||
26 | * proprietary URI schemes into regular ones. | ||
27 | */ | ||
28 | abstract class HTMLPurifier_URIFilter | ||
29 | { | ||
30 | |||
31 | /** | ||
32 | * Unique identifier of filter. | ||
33 | * @type string | ||
34 | */ | ||
35 | public $name; | ||
36 | |||
37 | /** | ||
38 | * True if this filter should be run after scheme validation. | ||
39 | * @type bool | ||
40 | */ | ||
41 | public $post = false; | ||
42 | |||
43 | /** | ||
44 | * True if this filter should always be loaded. | ||
45 | * This permits a filter to be named Foo without the corresponding | ||
46 | * %URI.Foo directive existing. | ||
47 | * @type bool | ||
48 | */ | ||
49 | public $always_load = false; | ||
50 | |||
51 | /** | ||
52 | * Performs initialization for the filter. If the filter returns | ||
53 | * false, this means that it shouldn't be considered active. | ||
54 | * @param HTMLPurifier_Config $config | ||
55 | * @return bool | ||
56 | */ | ||
57 | public function prepare($config) | ||
58 | { | ||
59 | return true; | ||
60 | } | ||
61 | |||
62 | /** | ||
63 | * Filter a URI object | ||
64 | * @param HTMLPurifier_URI $uri Reference to URI object variable | ||
65 | * @param HTMLPurifier_Config $config | ||
66 | * @param HTMLPurifier_Context $context | ||
67 | * @return bool Whether or not to continue processing: false indicates | ||
68 | * URL is no good, true indicates continue processing. Note that | ||
69 | * all changes are committed directly on the URI object | ||
70 | */ | ||
71 | abstract public function filter(&$uri, $config, $context); | ||
72 | } | ||
73 | |||
74 | // vim: et sw=4 sts=4 | ||