]> git.wh0rd.org - tt-rss.git/blob - lib/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php
update HTMLPurifier; enable embedded flash video in articles
[tt-rss.git] / lib / htmlpurifier / library / HTMLPurifier / AttrDef / Switch.php
1 <?php
2
3 /**
4 * Decorator that, depending on a token, switches between two definitions.
5 */
6 class HTMLPurifier_AttrDef_Switch
7 {
8
9 protected $tag;
10 protected $withTag, $withoutTag;
11
12 /**
13 * @param string $tag Tag name to switch upon
14 * @param HTMLPurifier_AttrDef $with_tag Call if token matches tag
15 * @param HTMLPurifier_AttrDef $without_tag Call if token doesn't match, or there is no token
16 */
17 public function __construct($tag, $with_tag, $without_tag) {
18 $this->tag = $tag;
19 $this->withTag = $with_tag;
20 $this->withoutTag = $without_tag;
21 }
22
23 public function validate($string, $config, $context) {
24 $token = $context->get('CurrentToken', true);
25 if (!$token || $token->name !== $this->tag) {
26 return $this->withoutTag->validate($string, $config, $context);
27 } else {
28 return $this->withTag->validate($string, $config, $context);
29 }
30 }
31
32 }
33
34 // vim: et sw=4 sts=4