]> git.mxchange.org Git - friendica.git/blobdiff - library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php
mistpark 2.0 infrasturcture lands
[friendica.git] / library / HTMLPurifier / DefinitionCache / Decorator / Cleanup.php
diff --git a/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php b/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php
new file mode 100644 (file)
index 0000000..d4cc35c
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+
+/**
+ * Definition cache decorator class that cleans up the cache
+ * whenever there is a cache miss.
+ */
+class HTMLPurifier_DefinitionCache_Decorator_Cleanup extends
+      HTMLPurifier_DefinitionCache_Decorator
+{
+
+    public $name = 'Cleanup';
+
+    public function copy() {
+        return new HTMLPurifier_DefinitionCache_Decorator_Cleanup();
+    }
+
+    public function add($def, $config) {
+        $status = parent::add($def, $config);
+        if (!$status) parent::cleanup($config);
+        return $status;
+    }
+
+    public function set($def, $config) {
+        $status = parent::set($def, $config);
+        if (!$status) parent::cleanup($config);
+        return $status;
+    }
+
+    public function replace($def, $config) {
+        $status = parent::replace($def, $config);
+        if (!$status) parent::cleanup($config);
+        return $status;
+    }
+
+    public function get($config) {
+        $ret = parent::get($config);
+        if (!$ret) parent::cleanup($config);
+        return $ret;
+    }
+
+}
+
+// vim: et sw=4 sts=4