mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-12-23 08:51:53 +00:00
54a68a1713
- Factored out strictblockquote from the common definition - Text module now follows "strict" rules by default - attr_transform_* now are indexed with string keys, to allow overloading - Implement ElementDef mergin, and add standalone class variable to ElementDef to prevent half-baked element definitions from masquerading as full ones - Implement merging global attributes from modules, namely info_attr_transform_post, info_attr_transform_pre and info_tag_transform - Rename setupInfo() to processModules() - Fix typo in HTMLModule/Bdo.php git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@731 48356398-32a2-884e-a903-53898d9a118a
42 lines
1.5 KiB
PHP
42 lines
1.5 KiB
PHP
<?php
|
|
|
|
require_once 'HTMLPurifier/HTMLModule.php';
|
|
require_once 'HTMLPurifier/AttrTransform/BdoDir.php';
|
|
|
|
/**
|
|
* XHTML 1.1 Bi-directional Text Module, defines elements that
|
|
* declare directionality of content. Text Extension Module.
|
|
*/
|
|
class HTMLPurifier_HTMLModule_Bdo extends HTMLPurifier_HTMLModule
|
|
{
|
|
|
|
var $elements = array('bdo');
|
|
var $info = array();
|
|
var $content_sets = array('Inline' => 'bdo');
|
|
var $attr_collections = array(
|
|
'I18N' => array('dir' => false)
|
|
);
|
|
|
|
function HTMLPurifier_HTMLModule_Bdo() {
|
|
$dir = new HTMLPurifier_AttrDef_Enum(array('ltr','rtl'), false);
|
|
$this->attr_collections['I18N']['dir'] = $dir;
|
|
$this->info['bdo'] = new HTMLPurifier_ElementDef();
|
|
$this->info['bdo']->attr = array(
|
|
0 => array('Core', 'Lang'),
|
|
'dir' => $dir, // required
|
|
// The Abstract Module specification has the attribute
|
|
// inclusions wrong for bdo: bdo allows
|
|
// xml:lang too (and we'll toss in lang for good measure,
|
|
// though it is not allowed for XHTML 1.1, this will
|
|
// be managed with a global attribute transform)
|
|
);
|
|
$this->info['bdo']->content_model = '#PCDATA | Inline';
|
|
$this->info['bdo']->content_model_type = 'optional';
|
|
// provides fallback behavior if dir's missing (dir is required)
|
|
$this->info['bdo']->attr_transform_post['required-dir'] =
|
|
new HTMLPurifier_AttrTransform_BdoDir();
|
|
}
|
|
|
|
}
|
|
|
|
?>
|