mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-01 04:13:28 +01:00
8f797be836
- can be used via html class like: $clean_html = html::purify($html); - using it now in eTemplate to remove malicious code from html: a) when displaying "formatted text" b) when "formatted text" get's input by the user
37 lines
1.3 KiB
PHP
Executable File
37 lines
1.3 KiB
PHP
Executable File
<?php
|
|
|
|
/**
|
|
* XHTML 1.1 Presentation Module, defines simple presentation-related
|
|
* markup. Text Extension Module.
|
|
* @note The official XML Schema and DTD specs further divide this into
|
|
* two modules:
|
|
* - Block Presentation (hr)
|
|
* - Inline Presentation (b, big, i, small, sub, sup, tt)
|
|
* We have chosen not to heed this distinction, as content_sets
|
|
* provides satisfactory disambiguation.
|
|
*/
|
|
class HTMLPurifier_HTMLModule_Presentation extends HTMLPurifier_HTMLModule
|
|
{
|
|
|
|
public $name = 'Presentation';
|
|
|
|
public function setup($config) {
|
|
$this->addElement('hr', 'Block', 'Empty', 'Common');
|
|
$this->addElement('sub', 'Inline', 'Inline', 'Common');
|
|
$this->addElement('sup', 'Inline', 'Inline', 'Common');
|
|
$b = $this->addElement('b', 'Inline', 'Inline', 'Common');
|
|
$b->formatting = true;
|
|
$big = $this->addElement('big', 'Inline', 'Inline', 'Common');
|
|
$big->formatting = true;
|
|
$i = $this->addElement('i', 'Inline', 'Inline', 'Common');
|
|
$i->formatting = true;
|
|
$small = $this->addElement('small', 'Inline', 'Inline', 'Common');
|
|
$small->formatting = true;
|
|
$tt = $this->addElement('tt', 'Inline', 'Inline', 'Common');
|
|
$tt->formatting = true;
|
|
}
|
|
|
|
}
|
|
|
|
// vim: et sw=4 sts=4
|