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
title
Description
Body
title
Description
Body
title
Description
Body
title
Body