1: <?php
2:
3: 4: 5:
6: class HTMLPurifier_AttrDef_CSS_Border extends HTMLPurifier_AttrDef
7: {
8:
9: 10: 11:
12: protected $info = array();
13:
14: public function __construct($config) {
15: $def = $config->getCSSDefinition();
16: $this->info['border-width'] = $def->info['border-width'];
17: $this->info['border-style'] = $def->info['border-style'];
18: $this->info['border-top-color'] = $def->info['border-top-color'];
19: }
20:
21: public function validate($string, $config, $context) {
22: $string = $this->parseCDATA($string);
23: $string = $this->mungeRgb($string);
24: $bits = explode(' ', $string);
25: $done = array();
26: $ret = '';
27: foreach ($bits as $bit) {
28: foreach ($this->info as $propname => $validator) {
29: if (isset($done[$propname])) continue;
30: $r = $validator->validate($bit, $config, $context);
31: if ($r !== false) {
32: $ret .= $r . ' ';
33: $done[$propname] = true;
34: break;
35: }
36: }
37: }
38: return rtrim($ret);
39: }
40:
41: }
42:
43:
44: