Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
   1  <?php
   2  
   3  /**
   4   * XHTML 1.1 Image Module provides basic image embedding.
   5   * @note There is specialized code for removing empty images in
   6   *       HTMLPurifier_Strategy_RemoveForeignElements
   7   */
   8  class HTMLPurifier_HTMLModule_Image extends HTMLPurifier_HTMLModule
   9  {
  10  
  11      /**
  12       * @type string
  13       */
  14      public $name = 'Image';
  15  
  16      /**
  17       * @param HTMLPurifier_Config $config
  18       */
  19      public function setup($config)
  20      {
  21          $max = $config->get('HTML.MaxImgLength');
  22          $img = $this->addElement(
  23              'img',
  24              'Inline',
  25              'Empty',
  26              'Common',
  27              array(
  28                  'alt*' => 'Text',
  29                  // According to the spec, it's Length, but percents can
  30                  // be abused, so we allow only Pixels.
  31                  'height' => 'Pixels#' . $max,
  32                  'width' => 'Pixels#' . $max,
  33                  'longdesc' => 'URI',
  34                  'src*' => new HTMLPurifier_AttrDef_URI(true), // embedded
  35              )
  36          );
  37          if ($max === null || $config->get('HTML.Trusted')) {
  38              $img->attr['height'] =
  39              $img->attr['width'] = 'Length';
  40          }
  41  
  42          // kind of strange, but splitting things up would be inefficient
  43          $img->attr_transform_pre[] =
  44          $img->attr_transform_post[] =
  45              new HTMLPurifier_AttrTransform_ImgRequired();
  46      }
  47  }
  48  
  49  // vim: et sw=4 sts=4