]> git.wh0rd.org - tt-rss.git/blob - lib/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php
strip_tags_long: use htmlpurifier to properly reformat html content
[tt-rss.git] / lib / 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 public function transform($attr, $config, $context) {
15
16 $src = true;
17 if (!isset($attr['src'])) {
18 if ($config->get('Core', 'RemoveInvalidImg')) return $attr;
19 $attr['src'] = $config->get('Attr', 'DefaultInvalidImage');
20 $src = false;
21 }
22
23 if (!isset($attr['alt'])) {
24 if ($src) {
25 $alt = $config->get('Attr', 'DefaultImageAlt');
26 if ($alt === null) {
27 $attr['alt'] = basename($attr['src']);
28 } else {
29 $attr['alt'] = $alt;
30 }
31 } else {
32 $attr['alt'] = $config->get('Attr', 'DefaultInvalidImageAlt');
33 }
34 }
35
36 return $attr;
37
38 }
39
40 }
41
42 // vim: et sw=4 sts=4