aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc/3rdparty/htmlpurifier/HTMLPurifier/HTMLModule/Tables.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/3rdparty/htmlpurifier/HTMLPurifier/HTMLModule/Tables.php')
-rw-r--r--inc/3rdparty/htmlpurifier/HTMLPurifier/HTMLModule/Tables.php75
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 */
6class 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