mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-11-25 15:38:40 +00:00
96d4a3ecf7
Due to historical reasons, the code is in subfolder "1". With SVN removal, we place the code back and remove the annoying "1" folder.
76 lines
2.3 KiB
PHP
76 lines
2.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* XHTML 1.1 Tables Module, fully defines accessible table elements.
|
|
*/
|
|
class HTMLPurifier_HTMLModule_Tables extends HTMLPurifier_HTMLModule
|
|
{
|
|
/**
|
|
* @type string
|
|
*/
|
|
public $name = 'Tables';
|
|
|
|
/**
|
|
* @param HTMLPurifier_Config $config
|
|
*/
|
|
public function setup($config)
|
|
{
|
|
$this->addElement('caption', false, 'Inline', 'Common');
|
|
|
|
$this->addElement(
|
|
'table',
|
|
'Block',
|
|
new HTMLPurifier_ChildDef_Table(),
|
|
'Common',
|
|
array(
|
|
'border' => 'Pixels',
|
|
'cellpadding' => 'Length',
|
|
'cellspacing' => 'Length',
|
|
'frame' => 'Enum#void,above,below,hsides,lhs,rhs,vsides,box,border',
|
|
'rules' => 'Enum#none,groups,rows,cols,all',
|
|
'summary' => 'Text',
|
|
'width' => 'Length'
|
|
)
|
|
);
|
|
|
|
// common attributes
|
|
$cell_align = array(
|
|
'align' => 'Enum#left,center,right,justify,char',
|
|
'charoff' => 'Length',
|
|
'valign' => 'Enum#top,middle,bottom,baseline',
|
|
);
|
|
|
|
$cell_t = array_merge(
|
|
array(
|
|
'abbr' => 'Text',
|
|
'colspan' => 'Number',
|
|
'rowspan' => 'Number',
|
|
// Apparently, as of HTML5 this attribute only applies
|
|
// to 'th' elements.
|
|
'scope' => 'Enum#row,col,rowgroup,colgroup',
|
|
),
|
|
$cell_align
|
|
);
|
|
$this->addElement('td', false, 'Flow', 'Common', $cell_t);
|
|
$this->addElement('th', false, 'Flow', 'Common', $cell_t);
|
|
|
|
$this->addElement('tr', false, 'Required: td | th', 'Common', $cell_align);
|
|
|
|
$cell_col = array_merge(
|
|
array(
|
|
'span' => 'Number',
|
|
'width' => 'MultiLength',
|
|
),
|
|
$cell_align
|
|
);
|
|
$this->addElement('col', false, 'Empty', 'Common', $cell_col);
|
|
$this->addElement('colgroup', false, 'Optional: col', 'Common', $cell_col);
|
|
|
|
$this->addElement('tbody', false, 'Required: tr', 'Common', $cell_align);
|
|
$this->addElement('thead', false, 'Required: tr', 'Common', $cell_align);
|
|
$this->addElement('tfoot', false, 'Required: tr', 'Common', $cell_align);
|
|
}
|
|
}
|
|
|
|
// vim: et sw=4 sts=4
|