ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilHtmlPurifierAbstractLibWrapper Class Reference

Abstract class wrapping the HTMLPurifier instance. More...

+ Inheritance diagram for ilHtmlPurifierAbstractLibWrapper:
+ Collaboration diagram for ilHtmlPurifierAbstractLibWrapper:

Public Member Functions

 __construct ()
 ilHtmlPurifierAbstractLibWrapper constructor. More...
 
 purify (string $html)
 @inheritDoc More...
 
 purifyArray (array $htmlCollection)
 @inheritDoc More...
 
 purify (string $html)
 Filters an HTML snippet/document to be XSS-free and standards-compliant. More...
 
 purifyArray (array $htmlCollection)
 Filters an array of HTML snippets/documents to be XSS-free and standards-compliant. More...
 

Static Public Member Functions

static _getCacheDirectory ()
 

Protected Member Functions

 getPurifierConfigInstance ()
 
 setPurifier (HTMLPurifier $purifier)
 
 getPurifier ()
 
 removeUnsupportedElements (array $elements)
 Removes all unsupported elements. More...
 
 makeElementListTinyMceCompliant (array $elements)
 

Protected Attributes

 $purifier
 

Detailed Description

Abstract class wrapping the HTMLPurifier instance.

Author
Michael Jansen mjans.nosp@m.en@d.nosp@m.ataba.nosp@m.y.de

Definition at line 8 of file class.ilHtmlPurifierAbstractLibWrapper.php.

Constructor & Destructor Documentation

◆ __construct()

ilHtmlPurifierAbstractLibWrapper::__construct ( )

ilHtmlPurifierAbstractLibWrapper constructor.

Reimplemented in ilHtmlForumPostPurifier.

Definition at line 16 of file class.ilHtmlPurifierAbstractLibWrapper.php.

17 {
18 $this->setPurifier(
19 new HTMLPurifier($this->getPurifierConfigInstance())
20 );
21 }

References getPurifierConfigInstance(), and setPurifier().

+ Here is the call graph for this function:

Member Function Documentation

◆ _getCacheDirectory()

static ilHtmlPurifierAbstractLibWrapper::_getCacheDirectory ( )
staticfinal
Returns
string

Definition at line 65 of file class.ilHtmlPurifierAbstractLibWrapper.php.

65 : string
66 {
67 if (!file_exists(ilUtil::getDataDir() . '/HTMLPurifier') ||
68 !is_dir(ilUtil::getDataDir() . '/HTMLPurifier')) {
69 ilUtil::makeDirParents(ilUtil::getDataDir() . '/HTMLPurifier');
70 }
71
72 return ilUtil::getDataDir() . '/HTMLPurifier';
73 }
static getDataDir()
get data directory (outside webspace)
static makeDirParents($a_dir)
Create a new directory and all parent directories.

References ilUtil\getDataDir(), and ilUtil\makeDirParents().

Referenced by ilAccessibilityDocumentHtmlPurifier\__construct(), ilTermsOfServiceDocumentHtmlPurifier\__construct(), ilWebDAVMountInstructionsDocumentPurifier\__construct(), ilAssHtmlPurifier\getPurifierConfigInstance(), and ilHtmlForumPostPurifier\getPurifierConfigInstance().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPurifier()

ilHtmlPurifierAbstractLibWrapper::getPurifier ( )
protected
Returns
HTMLPurifier

Definition at line 57 of file class.ilHtmlPurifierAbstractLibWrapper.php.

References $purifier.

◆ getPurifierConfigInstance()

ilHtmlPurifierAbstractLibWrapper::getPurifierConfigInstance ( )
abstractprotected
Returns
HTMLPurifier_Config

Reimplemented in ilAssHtmlPurifier, ilAccessibilityDocumentHtmlPurifier, ilHtmlForumPostPurifier, ilTermsOfServiceDocumentHtmlPurifier, and ilWebDAVMountInstructionsDocumentPurifier.

Referenced by __construct().

+ Here is the caller graph for this function:

◆ makeElementListTinyMceCompliant()

ilHtmlPurifierAbstractLibWrapper::makeElementListTinyMceCompliant ( array  $elements)
protected
Parameters
string[]$elements
Returns
string[]

Definition at line 110 of file class.ilHtmlPurifierAbstractLibWrapper.php.

110 : array
111 {
112 // Bugfix #5945: Necessary because TinyMCE does not use the "u"
113 // html element but <span style="text-decoration: underline">E</span>
114
115 if (in_array('u', $elements) && !in_array('span', $elements)) {
116 $elements[] = 'span';
117 }
118
119 return $elements;
120 }

Referenced by ilAssHtmlPurifier\getAllowedElements(), ilAccessibilityDocumentHtmlPurifier\getPurifierConfigInstance(), ilHtmlForumPostPurifier\getPurifierConfigInstance(), ilTermsOfServiceDocumentHtmlPurifier\getPurifierConfigInstance(), and ilWebDAVMountInstructionsDocumentPurifier\getPurifierConfigInstance().

+ Here is the caller graph for this function:

◆ purify()

ilHtmlPurifierAbstractLibWrapper::purify ( string  $html)
final

@inheritDoc

Implements ilHtmlPurifierInterface.

Definition at line 26 of file class.ilHtmlPurifierAbstractLibWrapper.php.

26 : string
27 {
28 return $this->purifier->purify($html);
29 }

◆ purifyArray()

ilHtmlPurifierAbstractLibWrapper::purifyArray ( array  $htmlCollection)
final

@inheritDoc

Implements ilHtmlPurifierInterface.

Definition at line 34 of file class.ilHtmlPurifierAbstractLibWrapper.php.

34 : array
35 {
36 return $this->purifier->purifyArray($htmlCollection);
37 }

◆ removeUnsupportedElements()

ilHtmlPurifierAbstractLibWrapper::removeUnsupportedElements ( array  $elements)
finalprotected

Removes all unsupported elements.

Parameters
string[]$elements
Returns
string[]

Definition at line 80 of file class.ilHtmlPurifierAbstractLibWrapper.php.

80 : array
81 {
82 $supportedElements = array();
83
84 $notSupportedTags = array(
85 'rp',
86 'rt',
87 'rb',
88 'rtc',
89 'rbc',
90 'ruby',
91 'u',
92 'strike',
93 'param',
94 'object'
95 );
96
97 foreach ($elements as $element) {
98 if (!in_array($element, $notSupportedTags)) {
99 $supportedElements[] = $element;
100 }
101 }
102
103 return $supportedElements;
104 }

Referenced by ilAssHtmlPurifier\getAllowedElements(), ilAccessibilityDocumentHtmlPurifier\getPurifierConfigInstance(), ilHtmlForumPostPurifier\getPurifierConfigInstance(), ilTermsOfServiceDocumentHtmlPurifier\getPurifierConfigInstance(), and ilWebDAVMountInstructionsDocumentPurifier\getPurifierConfigInstance().

+ Here is the caller graph for this function:

◆ setPurifier()

ilHtmlPurifierAbstractLibWrapper::setPurifier ( HTMLPurifier  $purifier)
protected
Parameters
HTMLPurifier$purifier
Returns
ilHtmlPurifierAbstractLibWrapper

Definition at line 48 of file class.ilHtmlPurifierAbstractLibWrapper.php.

48 : self
49 {
50 $this->purifier = $purifier;
51 return $this;
52 }

References $purifier.

Referenced by __construct().

+ Here is the caller graph for this function:

Field Documentation

◆ $purifier

ilHtmlPurifierAbstractLibWrapper::$purifier
protected

Definition at line 11 of file class.ilHtmlPurifierAbstractLibWrapper.php.

Referenced by getPurifier(), and setPurifier().


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