]> git.wh0rd.org - tt-rss.git/blob - lib/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php
remove Archived articles from Uncategorized view
[tt-rss.git] / lib / htmlpurifier / library / HTMLPurifier / DefinitionCache / Decorator / Memory.php
1 <?php
2
3 /**
4 * Definition cache decorator class that saves all cache retrievals
5 * to PHP's memory; good for unit tests or circumstances where
6 * there are lots of configuration objects floating around.
7 */
8 class HTMLPurifier_DefinitionCache_Decorator_Memory extends
9 HTMLPurifier_DefinitionCache_Decorator
10 {
11
12 protected $definitions;
13 public $name = 'Memory';
14
15 public function copy() {
16 return new HTMLPurifier_DefinitionCache_Decorator_Memory();
17 }
18
19 public function add($def, $config) {
20 $status = parent::add($def, $config);
21 if ($status) $this->definitions[$this->generateKey($config)] = $def;
22 return $status;
23 }
24
25 public function set($def, $config) {
26 $status = parent::set($def, $config);
27 if ($status) $this->definitions[$this->generateKey($config)] = $def;
28 return $status;
29 }
30
31 public function replace($def, $config) {
32 $status = parent::replace($def, $config);
33 if ($status) $this->definitions[$this->generateKey($config)] = $def;
34 return $status;
35 }
36
37 public function get($config) {
38 $key = $this->generateKey($config);
39 if (isset($this->definitions[$key])) return $this->definitions[$key];
40 $this->definitions[$key] = parent::get($config);
41 return $this->definitions[$key];
42 }
43
44 }
45
46 // vim: et sw=4 sts=4