ILIAS  release_4-4 Revision
All Data Structures Namespaces Files Functions Variables Modules Pages
HTMLPurifier_URIDefinition Class Reference
+ Inheritance diagram for HTMLPurifier_URIDefinition:
+ Collaboration diagram for HTMLPurifier_URIDefinition:

Public Member Functions

 __construct ()
 
 registerFilter ($filter)
 
 addFilter ($filter, $config)
 
 getDefaultScheme ($config, $context)
 
 filter (&$uri, $config, $context)
 
 postFilter (&$uri, $config, $context)
 
- Public Member Functions inherited from HTMLPurifier_Definition
 setup ($config)
 Setup function that aborts if already setup. More...
 

Data Fields

 $type = 'URI'
 
 $base
 HTMLPurifier_URI object of the base specified at URI.Base. More...
 
 $host
 String host to consider "home" base, derived off of $base. More...
 
 $defaultScheme
 Name of default scheme based on URI.DefaultScheme and URI.Base. More...
 
- Data Fields inherited from HTMLPurifier_Definition
 $setup = false
 Has setup() been called yet? More...
 
 $optimized = null
 If true, write out the final definition object to the cache after setup. More...
 
 $type
 What type of definition is it? More...
 

Protected Member Functions

 doSetup ($config)
 
 setupFilters ($config)
 
 setupMemberVariables ($config)
 
- Protected Member Functions inherited from HTMLPurifier_Definition
 doSetup ($config)
 Sets up the definition object into the final form, something not done by the constructor. More...
 

Protected Attributes

 $filters = array()
 
 $postFilters = array()
 
 $registeredFilters = array()
 

Detailed Description

Definition at line 3 of file URIDefinition.php.

Constructor & Destructor Documentation

◆ __construct()

Member Function Documentation

◆ addFilter()

HTMLPurifier_URIDefinition::addFilter (   $filter,
  $config 
)

Definition at line 40 of file URIDefinition.php.

References $r.

Referenced by setupFilters().

40  {
41  $r = $filter->prepare($config);
42  if ($r === false) return; // null is ok, for backwards compat
43  if ($filter->post) {
44  $this->postFilters[$filter->name] = $filter;
45  } else {
46  $this->filters[$filter->name] = $filter;
47  }
48  }
$r
+ Here is the caller graph for this function:

◆ doSetup()

HTMLPurifier_URIDefinition::doSetup (   $config)
protected

Definition at line 50 of file URIDefinition.php.

References setupFilters(), and setupMemberVariables().

50  {
51  $this->setupMemberVariables($config);
52  $this->setupFilters($config);
53  }
+ Here is the call graph for this function:

◆ filter()

HTMLPurifier_URIDefinition::filter ( $uri,
  $config,
  $context 
)

Definition at line 85 of file URIDefinition.php.

References $result.

85  {
86  foreach ($this->filters as $name => $f) {
87  $result = $f->filter($uri, $config, $context);
88  if (!$result) return false;
89  }
90  return true;
91  }
$result

◆ getDefaultScheme()

HTMLPurifier_URIDefinition::getDefaultScheme (   $config,
  $context 
)

Definition at line 81 of file URIDefinition.php.

References HTMLPurifier_URISchemeRegistry\instance().

81  {
82  return HTMLPurifier_URISchemeRegistry::instance()->getScheme($this->defaultScheme, $config, $context);
83  }
static instance($prototype=null)
Retrieve sole instance of the registry.
+ Here is the call graph for this function:

◆ postFilter()

HTMLPurifier_URIDefinition::postFilter ( $uri,
  $config,
  $context 
)

Definition at line 93 of file URIDefinition.php.

References $result.

93  {
94  foreach ($this->postFilters as $name => $f) {
95  $result = $f->filter($uri, $config, $context);
96  if (!$result) return false;
97  }
98  return true;
99  }
$result

◆ registerFilter()

HTMLPurifier_URIDefinition::registerFilter (   $filter)

Definition at line 36 of file URIDefinition.php.

Referenced by __construct().

36  {
37  $this->registeredFilters[$filter->name] = $filter;
38  }
+ Here is the caller graph for this function:

◆ setupFilters()

HTMLPurifier_URIDefinition::setupFilters (   $config)
protected

Definition at line 55 of file URIDefinition.php.

References addFilter().

Referenced by doSetup().

55  {
56  foreach ($this->registeredFilters as $name => $filter) {
57  if ($filter->always_load) {
58  $this->addFilter($filter, $config);
59  } else {
60  $conf = $config->get('URI.' . $name);
61  if ($conf !== false && $conf !== null) {
62  $this->addFilter($filter, $config);
63  }
64  }
65  }
66  unset($this->registeredFilters);
67  }
addFilter($filter, $config)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setupMemberVariables()

HTMLPurifier_URIDefinition::setupMemberVariables (   $config)
protected

Definition at line 69 of file URIDefinition.php.

Referenced by doSetup().

69  {
70  $this->host = $config->get('URI.Host');
71  $base_uri = $config->get('URI.Base');
72  if (!is_null($base_uri)) {
73  $parser = new HTMLPurifier_URIParser();
74  $this->base = $parser->parse($base_uri);
75  $this->defaultScheme = $this->base->scheme;
76  if (is_null($this->host)) $this->host = $this->base->host;
77  }
78  if (is_null($this->defaultScheme)) $this->defaultScheme = $config->get('URI.DefaultScheme');
79  }
Parses a URI into the components and fragment identifier as specified by RFC 3986.
Definition: URIParser.php:7
+ Here is the caller graph for this function:

Field Documentation

◆ $base

HTMLPurifier_URIDefinition::$base

HTMLPurifier_URI object of the base specified at URI.Base.

Definition at line 14 of file URIDefinition.php.

◆ $defaultScheme

HTMLPurifier_URIDefinition::$defaultScheme

Name of default scheme based on URI.DefaultScheme and URI.Base.

Definition at line 24 of file URIDefinition.php.

◆ $filters

HTMLPurifier_URIDefinition::$filters = array()
protected

Definition at line 7 of file URIDefinition.php.

◆ $host

HTMLPurifier_URIDefinition::$host

String host to consider "home" base, derived off of $base.

Definition at line 19 of file URIDefinition.php.

◆ $postFilters

HTMLPurifier_URIDefinition::$postFilters = array()
protected

Definition at line 8 of file URIDefinition.php.

◆ $registeredFilters

HTMLPurifier_URIDefinition::$registeredFilters = array()
protected

Definition at line 9 of file URIDefinition.php.

◆ $type

HTMLPurifier_URIDefinition::$type = 'URI'

Definition at line 6 of file URIDefinition.php.


The documentation for this class was generated from the following file: