235ebb34b60ff22b403b6d03d764650c6dbe65e1
[yaffs-website] / vendor / ezyang / htmlpurifier / library / HTMLPurifier / AttrTransform / ImgRequired.php
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