ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
HTMLPurifier_HTMLModule_Legacy Class Reference

XHTML 1.1 Legacy module defines elements that were previously deprecated. More...

+ Inheritance diagram for HTMLPurifier_HTMLModule_Legacy:
+ Collaboration diagram for HTMLPurifier_HTMLModule_Legacy:

Public Member Functions

 setup ($config)
 Lazy load construction of the module after determining whether or not it's needed, and also when a finalized configuration object is available.
- Public Member Functions inherited from HTMLPurifier_HTMLModule
 getChildDef ($def)
 Retrieves a proper HTMLPurifier_ChildDef subclass based on content_model and content_model_type member variables of the HTMLPurifier_ElementDef class.
 addElement ($element, $type, $contents, $attr_includes=array(), $attr=array())
 Convenience function that sets up a new element.
 addBlankElement ($element)
 Convenience function that creates a totally blank, non-standalone element.
 addElementToContentSet ($element, $type)
 Convenience function that registers an element to a content set.
 parseContents ($contents)
 Convenience function that transforms single-string contents into separate content model and content model type.
 mergeInAttrIncludes (&$attr, $attr_includes)
 Convenience function that merges a list of attribute includes into an attribute array.
 makeLookup ($list)
 Convenience function that generates a lookup table with boolean true as value.

Data Fields

 $name = 'Legacy'
- Data Fields inherited from HTMLPurifier_HTMLModule
 $name
 Short unique string identifier of the module.
 $elements = array()
 Informally, a list of elements this module changes.
 $info = array()
 Associative array of element names to element definitions.
 $content_sets = array()
 Associative array of content set names to content set additions.
 $attr_collections = array()
 Associative array of attribute collection names to attribute collection additions.
 $info_tag_transform = array()
 Associative array of deprecated tag name to HTMLPurifier_TagTransform.
 $info_attr_transform_pre = array()
 List of HTMLPurifier_AttrTransform to be performed before validation.
 $info_attr_transform_post = array()
 List of HTMLPurifier_AttrTransform to be performed after validation.
 $info_injector = array()
 List of HTMLPurifier_Injector to be performed during well-formedness fixing.
 $defines_child_def = false
 Boolean flag that indicates whether or not getChildDef is implemented.
 $safe = true
 Boolean flag whether or not this module is safe.

Detailed Description

XHTML 1.1 Legacy module defines elements that were previously deprecated.

Note
Not all legacy elements have been implemented yet, which is a bit of a reverse problem as compared to browsers! In addition, this legacy module may implement a bit more than mandated by XHTML 1.1.

This module can be used in combination with TransformToStrict in order to transform as many deprecated elements as possible, but retain questionably deprecated elements that do not have good alternatives as well as transform elements that don't have an implementation. See docs/ref-strictness.txt for more details.

Definition at line 19 of file Legacy.php.

Member Function Documentation

HTMLPurifier_HTMLModule_Legacy::setup (   $config)

Lazy load construction of the module after determining whether or not it's needed, and also when a finalized configuration object is available.

Parameters
$configInstance of HTMLPurifier_Config

Reimplemented from HTMLPurifier_HTMLModule.

Definition at line 24 of file Legacy.php.

References $img, $legend, HTMLPurifier_HTMLModule\addBlankElement(), and HTMLPurifier_HTMLModule\addElement().

{
$this->addElement('basefont', 'Inline', 'Empty', false, array(
'color' => 'Color',
'face' => 'Text', // extremely broad, we should
'size' => 'Text', // tighten it
'id' => 'ID'
));
$this->addElement('center', 'Block', 'Flow', 'Common');
$this->addElement('dir', 'Block', 'Required: li', 'Common', array(
'compact' => 'Bool#compact'
));
$this->addElement('font', 'Inline', 'Inline', array('Core', 'I18N'), array(
'color' => 'Color',
'face' => 'Text', // extremely broad, we should
'size' => 'Text', // tighten it
));
$this->addElement('menu', 'Block', 'Required: li', 'Common', array(
'compact' => 'Bool#compact'
));
$s = $this->addElement('s', 'Inline', 'Inline', 'Common');
$s->formatting = true;
$strike = $this->addElement('strike', 'Inline', 'Inline', 'Common');
$strike->formatting = true;
$u = $this->addElement('u', 'Inline', 'Inline', 'Common');
$u->formatting = true;
// setup modifications to old elements
$align = 'Enum#left,right,center,justify';
$address = $this->addBlankElement('address');
$address->content_model = 'Inline | #PCDATA | p';
$address->content_model_type = 'optional';
$address->child = false;
$blockquote = $this->addBlankElement('blockquote');
$blockquote->content_model = 'Flow | #PCDATA';
$blockquote->content_model_type = 'optional';
$blockquote->child = false;
$br = $this->addBlankElement('br');
$br->attr['clear'] = 'Enum#left,all,right,none';
$caption = $this->addBlankElement('caption');
$caption->attr['align'] = 'Enum#top,bottom,left,right';
$div = $this->addBlankElement('div');
$div->attr['align'] = $align;
$dl = $this->addBlankElement('dl');
$dl->attr['compact'] = 'Bool#compact';
for ($i = 1; $i <= 6; $i++) {
$h = $this->addBlankElement("h$i");
$h->attr['align'] = $align;
}
$hr = $this->addBlankElement('hr');
$hr->attr['align'] = $align;
$hr->attr['noshade'] = 'Bool#noshade';
$hr->attr['size'] = 'Pixels';
$hr->attr['width'] = 'Length';
$img = $this->addBlankElement('img');
$img->attr['align'] = 'IAlign';
$img->attr['border'] = 'Pixels';
$img->attr['hspace'] = 'Pixels';
$img->attr['vspace'] = 'Pixels';
// figure out this integer business
$li = $this->addBlankElement('li');
$li->attr['value'] = new HTMLPurifier_AttrDef_Integer();
$li->attr['type'] = 'Enum#s:1,i,I,a,A,disc,square,circle';
$ol = $this->addBlankElement('ol');
$ol->attr['compact'] = 'Bool#compact';
$ol->attr['start'] = new HTMLPurifier_AttrDef_Integer();
$ol->attr['type'] = 'Enum#s:1,i,I,a,A';
$p = $this->addBlankElement('p');
$p->attr['align'] = $align;
$pre = $this->addBlankElement('pre');
$pre->attr['width'] = 'Number';
// script omitted
$table = $this->addBlankElement('table');
$table->attr['align'] = 'Enum#left,center,right';
$table->attr['bgcolor'] = 'Color';
$tr = $this->addBlankElement('tr');
$tr->attr['bgcolor'] = 'Color';
$th = $this->addBlankElement('th');
$th->attr['bgcolor'] = 'Color';
$th->attr['height'] = 'Length';
$th->attr['nowrap'] = 'Bool#nowrap';
$th->attr['width'] = 'Length';
$td = $this->addBlankElement('td');
$td->attr['bgcolor'] = 'Color';
$td->attr['height'] = 'Length';
$td->attr['nowrap'] = 'Bool#nowrap';
$td->attr['width'] = 'Length';
$ul = $this->addBlankElement('ul');
$ul->attr['compact'] = 'Bool#compact';
$ul->attr['type'] = 'Enum#square,disc,circle';
// "safe" modifications to "unsafe" elements
// WARNING: If you want to add support for an unsafe, legacy
// attribute, make a new TrustedLegacy module with the trusted
// bit set appropriately
$form = $this->addBlankElement('form');
$form->content_model = 'Flow | #PCDATA';
$form->content_model_type = 'optional';
$form->attr['target'] = 'FrameTarget';
$input = $this->addBlankElement('input');
$input->attr['align'] = 'IAlign';
$legend = $this->addBlankElement('legend');
$legend->attr['align'] = 'LAlign';
}

+ Here is the call graph for this function:

Field Documentation

HTMLPurifier_HTMLModule_Legacy::$name = 'Legacy'

Definition at line 22 of file Legacy.php.


The documentation for this class was generated from the following file: