info, since the object's data is only info, * with extra behavior associated with it. * @public */ var $attr_collections = array(); /** * Associative array of deprecated tag name to HTMLPurifier_TagTransform * @public */ var $info_tag_transform = array(); /** * List of HTMLPurifier_AttrTransform to be performed before validation. * @public */ var $info_attr_transform_pre = array(); /** * List of HTMLPurifier_AttrTransform to be performed after validation. * @public */ var $info_attr_transform_post = array(); /** * Boolean flag that indicates whether or not getChildDef is implemented. * For optimization reasons: may save a call to a function. Be sure * to set it if you do implement getChildDef(), otherwise it will have * no effect! * @public */ var $defines_child_def = false; /** * Retrieves a proper HTMLPurifier_ChildDef subclass based on * content_model and content_model_type member variables of * the HTMLPurifier_ElementDef class. There is a similar function * in HTMLPurifier_HTMLDefinition. * @param $def HTMLPurifier_ElementDef instance * @return HTMLPurifier_ChildDef subclass * @public */ function getChildDef($def) {return false;} /** * Hook method that lets module perform arbitrary operations on * HTMLPurifier_HTMLDefinition before the module gets processed. * @param $definition Reference to HTMLDefinition being setup */ function preProcess(&$definition) {} /** * Hook method that lets module perform arbitrary operations * on HTMLPurifier_HTMLDefinition after the module gets processed. * @param $definition Reference to HTMLDefinition being setup */ function postProcess(&$definition) {} /** * Hook method that is called when a module gets registered to * the definition. * @param $definition Reference to HTMLDefinition being setup */ function setup(&$definition) {} /** * Convenience function that sets up a new element * @param $element Name of element to add * @param $safe Is element safe for untrusted users to use? * @param $type What content set should element be registered to? * Set as false to skip this step. * @param $content_model Content model definition in form of: * "$content_model_type: $content_model" * @param $attr_includes What attribute collections to register to * element? * @param $attr What unique attributes does the element define? * @note See ElementDef for in-depth descriptions of these parameters. * @protected */ function addElement($element, $safe, $type, $content_model, $attr_includes, $attr) { $this->elements[] = $element; // parse content_model list($content_model_type, $content_model) = explode(':', $content_model); $content_model_type = strtolower(trim($content_model_type)); $content_model = trim($content_model); // merge in attribute inclusions $attr[0] = $attr_includes; // add element to content sets if ($type) $this->addElementToContentSet($element, $type); // create element $this->info[$element] = HTMLPurifier_ElementDef::create( $safe, $content_model, $content_model_type, $attr ); } /** * Convenience function that registers an element to a content set * @param Element to register * @param Name content set (warning: case sensitive, usually upper-case * first letter) * @protected */ function addElementToContentSet($element, $type) { if (!isset($this->content_sets[$type])) $this->content_sets[$type] = ''; else $this->content_sets[$type] .= ' | '; $this->content_sets[$type] .= $element; } } ?>