Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.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