parent = $parent; } /** * Recursively retrieves the value for a key * @param string $name * @throws HTMLPurifier_Exception */ public function get($name) { if ($this->has($name)) { return $this->data[$name]; } // possible performance bottleneck, convert to iterative if necessary if ($this->parent) { return $this->parent->get($name); } throw new HTMLPurifier_Exception("Key '$name' not found"); } /** * Sets the value of a key, for this plist * @param string $name * @param mixed $value */ public function set($name, $value) { $this->data[$name] = $value; } /** * Returns true if a given key exists * @param string $name * @return bool */ public function has($name) { return array_key_exists($name, $this->data); } /** * Resets a value to the value of it's parent, usually the default. If * no value is specified, the entire plist is reset. * @param string $name */ public function reset($name = null) { if ($name == null) { $this->data = array(); } else { unset($this->data[$name]); } } /** * Squashes this property list and all of its property lists into a single * array, and returns the array. This value is cached by default. * @param bool $force If true, ignores the cache and regenerates the array. * @return array */ public function squash($force = false) { if ($this->cache !== null && !$force) { return $this->cache; } if ($this->parent) { return $this->cache = array_merge($this->parent->squash($force), $this->data); } else { return $this->cache = $this->data; } } /** * Returns the parent plist. * @return HTMLPurifier_PropertyList */ public function getParent() { return $this->parent; } /** * Sets the parent plist. * @param HTMLPurifier_PropertyList $plist Parent plist */ public function setParent($plist) { $this->parent = $plist; } }__halt_compiler();----SIGNATURE:----e9l4MYyKR5HSpw5x3qMzLZ6+fk8AGoCJeKH9uRc7nXNo1ToUFYP3GeUf/May/IHxVzmB7UBKBuljwXSjtLibEE6pVe35nQ/Xe+ekm8ZPhACCx7Uck6NmbtGvvfD7zRpM1+odTWsQEgvMjpEx9yFPLi4LCwaSlWNv1m5Nt4eNGg4PShFHssyh6XUiwJHIthvCRLRbHppBMiwiOSXV8yZ0LilUUPE7PVrWfbVvymrgvaaiFDqGd9Dk1UZgyWd/y9om4TGd9c5U4sMgLAJROL7R9HP1dGz8ohO0I1fvscXkVQjoHRxb2D0AFpB4SJ+QaJJ14RPOsj9EUVd/xVRY288NaWl6DLfzNsA7elMuFe8UgX+38vDU7OWfpLKyx+hMltkvMew+p1nods7Lgrb5heRe6i/mbprId0UcQuPZ1zX3xESGGIzQ4/ok3LLu46PYMh5doVSF+fYmCTM5c+bkZOB+lkxRWViXEMywkWmj3E6o6PoRr+CcB8+gleUR/NP0sPjcZXRFIfUCLM5ZB/R8sasWZM1Ui9ho7CYAlUAJj20ETcFPdMU25myDnb59URfo2kfYQGXSJLs/7q2p2tXT+y8702tmHqeO+Cvzf56mojEhVmxMBix4stQq5zO8vGiHe5geILC2ai38e7nebFPZA96vpCeMdhCLVFJBaEuAQ6xPsOE=----ATTACHMENT:----Mjc1MjcyNzgwNDQ2OTI1OCA3ODEyMjQ3MDQxMzYzMDAxIDY4NjMyNDMyNjgzNDE0NDk=