ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilHtmlPurifierAbstractLibWrapper.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once 'Services/Html/HtmlPurifier/library/HTMLPurifier.safe-includes.php';
5require_once 'Services/Html/interfaces/interface.ilHtmlPurifierInterface.php';
6
16{
17
26 protected $oPurifier = null;
27
34 public function __construct()
35 {
36 $this->setPurifier(
38 );
39 }
40
50 final public function purify($a_html, $a_config = null)
51 {
52 return $this->oPurifier->purify($a_html, $a_config);
53 }
54
64 final public function purifyArray(Array $a_array_of_html, $a_config = null)
65 {
66 return $this->oPurifier->purifyArray($a_array_of_html, $a_config);
67 }
68
77 abstract protected function getPurifierConfigInstance();
78
89 {
90 $this->oPurifier = $oPurifier;
91 return $this;
92 }
93
102 protected function getPurifier()
103 {
104 return $this->oPurifier;
105 }
106
117 final static public function _getCacheDirectory()
118 {
119 if(!file_exists(ilUtil::getDataDir().'/HTMLPurifier') ||
120 !is_dir(ilUtil::getDataDir().'/HTMLPurifier'))
121 {
123 }
124
125 return ilUtil::getDataDir().'/HTMLPurifier';
126 }
127
137 final protected function removeUnsupportedElements($a_array)
138 {
139 $supportedElements = array();
140
141 $notSupportedTags = array(
142 'rp',
143 'rt',
144 'rb',
145 'rtc',
146 'rbc',
147 'ruby',
148 'u',
149 'strike',
150 'param',
151 'object'
152 );
153
154 foreach($a_array as $element)
155 {
156 if(!in_array($element, $notSupportedTags))
157 {
158 $supportedElements[] = $element;
159 }
160 }
161
162 return $supportedElements;
163 }
164
165 protected function makeElementListTinyMceCompliant($elements)
166 {
167 // Bugfix #5945: Necessary because TinyMCE does not use the "u"
168 // html element but <span style="text-decoration: underline">E</span>
169
170 if( in_array('u', $elements) && !in_array('span', $elements) )
171 {
172 $elements[] = 'span';
173 }
174
175 return $elements;
176 }
177}
178?>
HTMLPurifier($html, $config=null)
Purify HTML.
Facade that coordinates HTML Purifier's subsystems in order to purify HTML.
Abstract class wrapping the HTMLPurifier instance.
purifyArray(Array $a_array_of_html, $a_config=null)
Filters an array of HTML snippets/documents to be XSS-free and standards-compliant.
removeUnsupportedElements($a_array)
Removes all unsupported elements.
setPurifier(HTMLPurifier $oPurifier)
Set the purifier by subclass.
getPurifierConfigInstance()
Has to be implemented by subclasses to build the HTMLPurifier_Config instance with object specific co...
purify($a_html, $a_config=null)
Filters an HTML snippet/document to be XSS-free and standards-compliant.
static _getCacheDirectory()
Get the directory for HTMLPurifier cache files.
static getDataDir()
get data directory (outside webspace)
static makeDirParents($a_dir)
Create a new directory and all parent directories.
Interface for html sanitizing functionality.