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  // must be called POST validation
   4  
   5  /**
   6   * Transform that supplies default values for the src and alt attributes
   7   * in img tags, as well as prevents the img tag from being removed
   8   * because of a missing alt tag. This needs to be registered as both
   9   * a pre and post attribute transform.
  10   */
  11  class HTMLPurifier_AttrTransform_ImgRequired extends HTMLPurifier_AttrTransform
  12  {
  13  
  14      /**
  15       * @param array $attr
  16       * @param HTMLPurifier_Config $config
  17       * @param HTMLPurifier_Context $context
  18       * @return array
  19       */
  20      public function transform($attr, $config, $context)
  21      {
  22          $src = true;
  23          if (!isset($attr['src'])) {
  24              if ($config->get('Core.RemoveInvalidImg')) {
  25                  return $attr;
  26              }
  27              $attr['src'] = $config->get('Attr.DefaultInvalidImage');
  28              $src = false;
  29          }
  30  
  31          if (!isset($attr['alt'])) {
  32              if ($src) {
  33                  $alt = $config->get('Attr.DefaultImageAlt');
  34                  if ($alt === null) {
  35                      $attr['alt'] = basename($attr['src']);
  36                  } else {
  37                      $attr['alt'] = $alt;
  38                  }
  39              } else {
  40                  $attr['alt'] = $config->get('Attr.DefaultInvalidImageAlt');
  41              }
  42          }
  43          return $attr;
  44      }
  45  }
  46  
  47  // vim: et sw=4 sts=4