| 
									
										
										
										
											2016-01-28 18:57:36 +01:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // must be called POST validation
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Transform that supplies default values for the src and alt attributes | 
					
						
							|  |  |  |  * in img tags, as well as prevents the img tag from being removed | 
					
						
							|  |  |  |  * because of a missing alt tag. This needs to be registered as both | 
					
						
							|  |  |  |  * a pre and post attribute transform. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | class HTMLPurifier_AttrTransform_ImgRequired extends HTMLPurifier_AttrTransform | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * @param array $attr | 
					
						
							|  |  |  |      * @param HTMLPurifier_Config $config | 
					
						
							|  |  |  |      * @param HTMLPurifier_Context $context | 
					
						
							|  |  |  |      * @return array | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function transform($attr, $config, $context) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $src = true; | 
					
						
							|  |  |  |         if (!isset($attr['src'])) { | 
					
						
							|  |  |  |             if ($config->get('Core.RemoveInvalidImg')) { | 
					
						
							|  |  |  |                 return $attr; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             $attr['src'] = $config->get('Attr.DefaultInvalidImage'); | 
					
						
							|  |  |  |             $src = false; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (!isset($attr['alt'])) { | 
					
						
							|  |  |  |             if ($src) { | 
					
						
							|  |  |  |                 $alt = $config->get('Attr.DefaultImageAlt'); | 
					
						
							|  |  |  |                 if ($alt === null) { | 
					
						
							| 
									
										
										
										
											2017-07-10 13:46:07 +02:00
										 |  |  |                     $attr['alt'] = basename($attr['src']); | 
					
						
							| 
									
										
										
										
											2016-01-28 18:57:36 +01:00
										 |  |  |                 } else { | 
					
						
							|  |  |  |                     $attr['alt'] = $alt; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 $attr['alt'] = $config->get('Attr.DefaultInvalidImageAlt'); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         return $attr; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // vim: et sw=4 sts=4
 |