ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
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 'libs/composer/vendor/autoload.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.
An exception for terminatinating execution or to throw for unit testing.
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.