1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- /**
- * XHTML 1.1 Image Module provides basic image embedding.
- * @note There is specialized code for removing empty images in
- * HTMLPurifier_Strategy_RemoveForeignElements
- */
- class HTMLPurifier_HTMLModule_Image extends HTMLPurifier_HTMLModule
- {
- /**
- * @type string
- */
- public $name = 'Image';
- /**
- * @param HTMLPurifier_Config $config
- */
- public function setup($config)
- {
- $max = $config->get('HTML.MaxImgLength');
- $img = $this->addElement(
- 'img',
- 'Inline',
- 'Empty',
- 'Common',
- array(
- 'alt*' => 'Text',
- // According to the spec, it's Length, but percents can
- // be abused, so we allow only Pixels.
- 'height' => 'Pixels#' . $max,
- 'width' => 'Pixels#' . $max,
- 'longdesc' => 'URI',
- 'src*' => new HTMLPurifier_AttrDef_URI(true), // embedded
- )
- );
- if ($max === null || $config->get('HTML.Trusted')) {
- $img->attr['height'] =
- $img->attr['width'] = 'Length';
- }
- // kind of strange, but splitting things up would be inefficient
- $img->attr_transform_pre[] =
- $img->attr_transform_post[] =
- new HTMLPurifier_AttrTransform_ImgRequired();
- }
- }
- // vim: et sw=4 sts=4
|