File indexing completed on 2024-05-12 06:02:04

0001 <?php
0002 
0003 /**
0004  * Pre-transform that changes deprecated name attribute to ID if necessary
0005  */
0006 class HTMLPurifier_AttrTransform_Name extends HTMLPurifier_AttrTransform
0007 {
0008 
0009     /**
0010      * @param array $attr
0011      * @param HTMLPurifier_Config $config
0012      * @param HTMLPurifier_Context $context
0013      * @return array
0014      */
0015     public function transform($attr, $config, $context)
0016     {
0017         // Abort early if we're using relaxed definition of name
0018         if ($config->get('HTML.Attr.Name.UseCDATA')) {
0019             return $attr;
0020         }
0021         if (!isset($attr['name'])) {
0022             return $attr;
0023         }
0024         $id = $this->confiscateAttr($attr, 'name');
0025         if (isset($attr['id'])) {
0026             return $attr;
0027         }
0028         $attr['id'] = $id;
0029         return $attr;
0030     }
0031 }
0032 
0033 // vim: et sw=4 sts=4