]> git.mxchange.org Git - friendica.git/blob - library/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php
Composer: Add vendor directry
[friendica.git] / library / 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                     // truncate if the alt is too long
36                     $attr['alt'] = substr(basename($attr['src']), 0, 40);
37                 } else {
38                     $attr['alt'] = $alt;
39                 }
40             } else {
41                 $attr['alt'] = $config->get('Attr.DefaultInvalidImageAlt');
42             }
43         }
44         return $attr;
45     }
46 }
47
48 // vim: et sw=4 sts=4