summaryrefslogtreecommitdiff
path: root/modules/gallery/lib/HTMLPurifier/HTMLPurifier.kses.php
diff options
context:
space:
mode:
authorRomain LE DISEZ <romain.git@ledisez.net>2009-07-16 17:31:20 +0200
committerRomain LE DISEZ <romain.git@ledisez.net>2009-07-16 17:31:20 +0200
commit7f5030ac208c30a7dc576a57cd9e665022ccbde5 (patch)
tree6b23e78aa8cc2dd363def46e083217e3c9b52f1b /modules/gallery/lib/HTMLPurifier/HTMLPurifier.kses.php
parent923732ca4dca6db218f6252a7133cd72f98fa086 (diff)
parent85b0f580291e375a2c5ec21b8210e59023ee24c2 (diff)
Merge commit 'upstream/master'
Diffstat (limited to 'modules/gallery/lib/HTMLPurifier/HTMLPurifier.kses.php')
-rw-r--r--modules/gallery/lib/HTMLPurifier/HTMLPurifier.kses.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/modules/gallery/lib/HTMLPurifier/HTMLPurifier.kses.php b/modules/gallery/lib/HTMLPurifier/HTMLPurifier.kses.php
new file mode 100644
index 00000000..4e404879
--- /dev/null
+++ b/modules/gallery/lib/HTMLPurifier/HTMLPurifier.kses.php
@@ -0,0 +1,30 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+
+/**
+ * @file
+ * Emulation layer for code that used kses(), substituting in HTML Purifier.
+ */
+
+require_once dirname(__FILE__) . '/HTMLPurifier.auto.php';
+
+function kses($string, $allowed_html, $allowed_protocols = null) {
+ $config = HTMLPurifier_Config::createDefault();
+ $allowed_elements = array();
+ $allowed_attributes = array();
+ foreach ($allowed_html as $element => $attributes) {
+ $allowed_elements[$element] = true;
+ foreach ($attributes as $attribute => $x) {
+ $allowed_attributes["$element.$attribute"] = true;
+ }
+ }
+ $config->set('HTML.AllowedElements', $allowed_elements);
+ $config->set('HTML.AllowedAttributes', $allowed_attributes);
+ $allowed_schemes = array();
+ if ($allowed_protocols !== null) {
+ $config->set('URI.AllowedSchemes', $allowed_protocols);
+ }
+ $purifier = new HTMLPurifier($config);
+ return $purifier->purify($string);
+}
+
+// vim: et sw=4 sts=4