Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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