diff options
Diffstat (limited to 'admin/survey/classes/htmlpurifier-4.3.0/library/HTMLPurifier/AttrTransform.php')
-rw-r--r-- | admin/survey/classes/htmlpurifier-4.3.0/library/HTMLPurifier/AttrTransform.php | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/admin/survey/classes/htmlpurifier-4.3.0/library/HTMLPurifier/AttrTransform.php b/admin/survey/classes/htmlpurifier-4.3.0/library/HTMLPurifier/AttrTransform.php new file mode 100644 index 0000000..e525c94 --- /dev/null +++ b/admin/survey/classes/htmlpurifier-4.3.0/library/HTMLPurifier/AttrTransform.php @@ -0,0 +1,56 @@ +<?php
+
+/**
+ * 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.
+ */
+
+abstract class HTMLPurifier_AttrTransform
+{
+
+ /**
+ * Abstract: makes changes to the attributes dependent on multiple values.
+ *
+ * @param $attr Assoc array of attributes, usually from
+ * HTMLPurifier_Token_Tag::$attr
+ * @param $config Mandatory HTMLPurifier_Config object.
+ * @param $context Mandatory HTMLPurifier_Context object
+ * @returns Processed attribute array.
+ */
+ abstract public function transform($attr, $config, $context);
+
+ /**
+ * Prepends CSS properties to the style attribute, creating the
+ * attribute if it doesn't exist.
+ * @param $attr Attribute array to process (passed by reference)
+ * @param $css CSS to prepend
+ */
+ public function prependCSS(&$attr, $css) {
+ $attr['style'] = isset($attr['style']) ? $attr['style'] : '';
+ $attr['style'] = $css . $attr['style'];
+ }
+
+ /**
+ * Retrieves and removes an attribute
+ * @param $attr Attribute array to process (passed by reference)
+ * @param $key Key of attribute to confiscate
+ */
+ public function confiscateAttr(&$attr, $key) {
+ if (!isset($attr[$key])) return null;
+ $value = $attr[$key];
+ unset($attr[$key]);
+ return $value;
+ }
+
+}
+
+// vim: et sw=4 sts=4
|