diff options
Diffstat (limited to 'inc/3rdparty/htmlpurifier/HTMLPurifier/HTMLModule/Tables.php')
-rw-r--r-- | inc/3rdparty/htmlpurifier/HTMLPurifier/HTMLModule/Tables.php | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/inc/3rdparty/htmlpurifier/HTMLPurifier/HTMLModule/Tables.php b/inc/3rdparty/htmlpurifier/HTMLPurifier/HTMLModule/Tables.php new file mode 100644 index 00000000..f993e3ca --- /dev/null +++ b/inc/3rdparty/htmlpurifier/HTMLPurifier/HTMLModule/Tables.php | |||
@@ -0,0 +1,75 @@ | |||
1 | <?php | ||
2 | |||
3 | /** | ||
4 | * XHTML 1.1 Tables Module, fully defines accessible table elements. | ||
5 | */ | ||
6 | class HTMLPurifier_HTMLModule_Tables extends HTMLPurifier_HTMLModule | ||
7 | { | ||
8 | /** | ||
9 | * @type string | ||
10 | */ | ||
11 | public $name = 'Tables'; | ||
12 | |||
13 | /** | ||
14 | * @param HTMLPurifier_Config $config | ||
15 | */ | ||
16 | public function setup($config) | ||
17 | { | ||
18 | $this->addElement('caption', false, 'Inline', 'Common'); | ||
19 | |||
20 | $this->addElement( | ||
21 | 'table', | ||
22 | 'Block', | ||
23 | new HTMLPurifier_ChildDef_Table(), | ||
24 | 'Common', | ||
25 | array( | ||
26 | 'border' => 'Pixels', | ||
27 | 'cellpadding' => 'Length', | ||
28 | 'cellspacing' => 'Length', | ||
29 | 'frame' => 'Enum#void,above,below,hsides,lhs,rhs,vsides,box,border', | ||
30 | 'rules' => 'Enum#none,groups,rows,cols,all', | ||
31 | 'summary' => 'Text', | ||
32 | 'width' => 'Length' | ||
33 | ) | ||
34 | ); | ||
35 | |||
36 | // common attributes | ||
37 | $cell_align = array( | ||
38 | 'align' => 'Enum#left,center,right,justify,char', | ||
39 | 'charoff' => 'Length', | ||
40 | 'valign' => 'Enum#top,middle,bottom,baseline', | ||
41 | ); | ||
42 | |||
43 | $cell_t = array_merge( | ||
44 | array( | ||
45 | 'abbr' => 'Text', | ||
46 | 'colspan' => 'Number', | ||
47 | 'rowspan' => 'Number', | ||
48 | // Apparently, as of HTML5 this attribute only applies | ||
49 | // to 'th' elements. | ||
50 | 'scope' => 'Enum#row,col,rowgroup,colgroup', | ||
51 | ), | ||
52 | $cell_align | ||
53 | ); | ||
54 | $this->addElement('td', false, 'Flow', 'Common', $cell_t); | ||
55 | $this->addElement('th', false, 'Flow', 'Common', $cell_t); | ||
56 | |||
57 | $this->addElement('tr', false, 'Required: td | th', 'Common', $cell_align); | ||
58 | |||
59 | $cell_col = array_merge( | ||
60 | array( | ||
61 | 'span' => 'Number', | ||
62 | 'width' => 'MultiLength', | ||
63 | ), | ||
64 | $cell_align | ||
65 | ); | ||
66 | $this->addElement('col', false, 'Empty', 'Common', $cell_col); | ||
67 | $this->addElement('colgroup', false, 'Optional: col', 'Common', $cell_col); | ||
68 | |||
69 | $this->addElement('tbody', false, 'Required: tr', 'Common', $cell_align); | ||
70 | $this->addElement('thead', false, 'Required: tr', 'Common', $cell_align); | ||
71 | $this->addElement('tfoot', false, 'Required: tr', 'Common', $cell_align); | ||
72 | } | ||
73 | } | ||
74 | |||
75 | // vim: et sw=4 sts=4 | ||