ILIAS  release_4-4 Revision
HTMLPurifier_AttrTransform Class Reference

Processes an entire attribute array for corrections needing multiple values. More...

+ Inheritance diagram for HTMLPurifier_AttrTransform:
+ Collaboration diagram for HTMLPurifier_AttrTransform:

Public Member Functions

 transform ($attr, $config, $context)
 Abstract: makes changes to the attributes dependent on multiple values. More...
 
 prependCSS (&$attr, $css)
 Prepends CSS properties to the style attribute, creating the attribute if it doesn't exist. More...
 
 confiscateAttr (&$attr, $key)
 Retrieves and removes an attribute. More...
 

Detailed Description

Processes an entire attribute array for corrections needing multiple values.

Occasionally, a certain attribute will need to be removed and popped onto another value. Instead of creating a complex return syntax for HTMLPurifier_AttrDef, we just pass the whole attribute array to a specialized object and have that do the special work. That is the family of HTMLPurifier_AttrTransform.

An attribute transformation can be assigned to run before or after HTMLPurifier_AttrDef validation. See HTMLPurifier_HTMLDefinition for more details.

Definition at line 17 of file AttrTransform.php.

Member Function Documentation

◆ confiscateAttr()

HTMLPurifier_AttrTransform::confiscateAttr ( $attr,
  $key 
)

Retrieves and removes an attribute.

Parameters
$attrAttribute array to process (passed by reference)
$keyKey of attribute to confiscate

Definition at line 47 of file AttrTransform.php.

Referenced by HTMLPurifier_AttrTransform_Background\transform(), HTMLPurifier_AttrTransform_Border\transform(), HTMLPurifier_AttrTransform_BgColor\transform(), HTMLPurifier_AttrTransform_Name\transform(), HTMLPurifier_AttrTransform_Length\transform(), and HTMLPurifier_AttrTransform_ImgSpace\transform().

47  {
48  if (!isset($attr[$key])) return null;
49  $value = $attr[$key];
50  unset($attr[$key]);
51  return $value;
52  }
+ Here is the caller graph for this function:

◆ prependCSS()

HTMLPurifier_AttrTransform::prependCSS ( $attr,
  $css 
)

Prepends CSS properties to the style attribute, creating the attribute if it doesn't exist.

Parameters
$attrAttribute array to process (passed by reference)
$cssCSS to prepend

Definition at line 37 of file AttrTransform.php.

Referenced by HTMLPurifier_AttrTransform_Background\transform(), HTMLPurifier_AttrTransform_Border\transform(), HTMLPurifier_AttrTransform_BgColor\transform(), HTMLPurifier_AttrTransform_Length\transform(), HTMLPurifier_AttrTransform_ImgSpace\transform(), HTMLPurifier_AttrTransform_BoolToCSS\transform(), and HTMLPurifier_AttrTransform_EnumToCSS\transform().

37  {
38  $attr['style'] = isset($attr['style']) ? $attr['style'] : '';
39  $attr['style'] = $css . $attr['style'];
40  }
+ Here is the caller graph for this function:

◆ transform()

HTMLPurifier_AttrTransform::transform (   $attr,
  $config,
  $context 
)
abstract

Abstract: makes changes to the attributes dependent on multiple values.

Parameters
$attrAssoc array of attributes, usually from HTMLPurifier_Token_Tag::$attr
$configMandatory HTMLPurifier_Config object.
$contextMandatory HTMLPurifier_Context object
Returns
Processed attribute array.

The documentation for this class was generated from the following file: