diff options
author | Romain LE DISEZ <romain.git@ledisez.net> | 2009-07-16 17:31:20 +0200 |
---|---|---|
committer | Romain LE DISEZ <romain.git@ledisez.net> | 2009-07-16 17:31:20 +0200 |
commit | 7f5030ac208c30a7dc576a57cd9e665022ccbde5 (patch) | |
tree | 6b23e78aa8cc2dd363def46e083217e3c9b52f1b /modules/gallery/lib/HTMLPurifier/HTMLPurifier.kses.php | |
parent | 923732ca4dca6db218f6252a7133cd72f98fa086 (diff) | |
parent | 85b0f580291e375a2c5ec21b8210e59023ee24c2 (diff) |
Merge commit 'upstream/master'
Diffstat (limited to 'modules/gallery/lib/HTMLPurifier/HTMLPurifier.kses.php')
-rw-r--r-- | modules/gallery/lib/HTMLPurifier/HTMLPurifier.kses.php | 30 |
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 |