addElement('basefont', true, 'Inline', 'Empty', false, array( 'color' => 'Color', 'face' => 'Text', // extremely broad, we should 'size' => 'Text', // tighten it 'id' => 'ID' )); $this->addElement('center', true, 'Block', 'Flow', 'Common'); $this->addElement('dir', true, 'Block', 'Required: li', 'Common', array( 'compact' => 'Bool#compact' )); $this->addElement('font', true, 'Inline', 'Inline', array('Core', 'I18N'), array( 'color' => 'Color', 'face' => 'Text', // extremely broad, we should 'size' => 'Text', // tighten it )); $this->addElement('menu', true, 'Block', 'Required: li', 'Common', array( 'compact' => 'Bool#compact' )); $this->addElement('s', true, 'Inline', 'Inline', 'Common'); $this->addElement('strike', true, 'Inline', 'Inline', 'Common'); $this->addElement('u', true, 'Inline', 'Inline', 'Common'); // setup modifications to old elements $li =& $this->addBlankElement('li'); $li->attr['value'] = new HTMLPurifier_AttrDef_Integer(); $ol =& $this->addBlankElement('ol'); $ol->attr['start'] = new HTMLPurifier_AttrDef_Integer(); $align = 'Enum#left,right,center,justify'; $address =& $this->addBlankElement('address'); $address->content_model = 'Inline | #PCDATA | p'; $address->content_model_type = 'optional'; $address->child = false; $blockquote =& $this->addBlankElement('blockquote'); $blockquote->content_model = 'Flow | #PCDATA'; $blockquote->content_model_type = 'optional'; $blockquote->child = false; $br =& $this->addBlankElement('br'); $br->attr['clear'] = 'Enum#left,all,right,none'; $caption =& $this->addBlankElement('caption'); $caption->attr['align'] = 'Enum#top,bottom,left,right'; $div =& $this->addBlankElement('div'); $div->attr['align'] = $align; $dl =& $this->addBlankElement('dl'); $dl->attr['compact'] = 'Bool#compact'; for ($i = 1; $i <= 6; $i++) { $h =& $this->addBlankElement("h$i"); $h->attr['align'] = $align; } // to be continued... } } ?>