]> git.mxchange.org Git - friendica.git/blob - library/HTMLPurifier/HTMLModule/Edit.php
ff93690555fc76ce60c598d7e18df0c53dc5afc3
[friendica.git] / library / HTMLPurifier / HTMLModule / Edit.php
1 <?php
2
3 /**
4  * XHTML 1.1 Edit Module, defines editing-related elements. Text Extension
5  * Module.
6  */
7 class HTMLPurifier_HTMLModule_Edit extends HTMLPurifier_HTMLModule
8 {
9
10     public $name = 'Edit';
11
12     public function setup($config) {
13         $contents = 'Chameleon: #PCDATA | Inline ! #PCDATA | Flow';
14         $attr = array(
15             'cite' => 'URI',
16             // 'datetime' => 'Datetime', // not implemented
17         );
18         $this->addElement('del', 'Inline', $contents, 'Common', $attr);
19         $this->addElement('ins', 'Inline', $contents, 'Common', $attr);
20     }
21
22     // HTML 4.01 specifies that ins/del must not contain block
23     // elements when used in an inline context, chameleon is
24     // a complicated workaround to acheive this effect
25
26     // Inline context ! Block context (exclamation mark is
27     // separator, see getChildDef for parsing)
28
29     public $defines_child_def = true;
30     public function getChildDef($def) {
31         if ($def->content_model_type != 'chameleon') return false;
32         $value = explode('!', $def->content_model);
33         return new HTMLPurifier_ChildDef_Chameleon($value[0], $value[1]);
34     }
35
36 }
37
38 // vim: et sw=4 sts=4