1 <?php 2 3 /** 4 * Records errors for particular segments of an HTML document such as tokens, 5 * attributes or CSS properties. They can contain error structs (which apply 6 * to components of what they represent), but their main purpose is to hold 7 * errors applying to whatever struct is being used. 8 */ 9 class HTMLPurifier_ErrorStruct 10 { 11 12 /** 13 * Possible values for $children first-key. Note that top-level structures 14 * are automatically token-level. 15 */ 16 const TOKEN = 0; 17 const ATTR = 1; 18 const CSSPROP = 2; 19 20 /** 21 * Type of this struct. 22 * @type string 23 */ 24 public $type; 25 26 /** 27 * Value of the struct we are recording errors for. There are various 28 * values for this: 29 * - TOKEN: Instance of HTMLPurifier_Token 30 * - ATTR: array('attr-name', 'value') 31 * - CSSPROP: array('prop-name', 'value') 32 * @type mixed 33 */ 34 public $value; 35 36 /** 37 * Errors registered for this structure. 38 * @type array 39 */ 40 public $errors = array(); 41 42 /** 43 * Child ErrorStructs that are from this structure. For example, a TOKEN 44 * ErrorStruct would contain ATTR ErrorStructs. This is a multi-dimensional 45 * array in structure: [TYPE]['identifier'] 46 * @type array 47 */ 48 public $children = array(); 49 50 /** 51 * @param string $type 52 * @param string $id 53 * @return mixed 54 */ 55 public function getChild($type, $id) 56 { 57 if (!isset($this->children[$type][$id])) { 58 $this->children[$type][$id] = new HTMLPurifier_ErrorStruct(); 59 $this->children[$type][$id]->type = $type; 60 } 61 return $this->children[$type][$id]; 62 } 63 64 /** 65 * @param int $severity 66 * @param string $message 67 */ 68 public function addError($severity, $message) 69 { 70 $this->errors[] = array($severity, $message); 71 } 72 } 73 74 // vim: et sw=4 sts=4
title
Description
Body
title
Description
Body
title
Description
Body
title
Body