diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-07-03 12:56:29 -0700 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-07-03 12:56:29 -0700 |
commit | b6e5bf6eaade677187f99182e7face7c4b711bec (patch) | |
tree | 41c31bb904d42f358bc09fc78aa063c3e875ab04 /modules/gallery/libraries/HTMLPurifier/HTMLPurifier.kses.php | |
parent | cf279fc315841836f92c8a81935db00bb3a919ff (diff) |
Fix for ticket #400: Add HTMLPurifier to gallery3 and change p::clean() to call HTMLPurifier->purify()
Diffstat (limited to 'modules/gallery/libraries/HTMLPurifier/HTMLPurifier.kses.php')
-rw-r--r-- | modules/gallery/libraries/HTMLPurifier/HTMLPurifier.kses.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/modules/gallery/libraries/HTMLPurifier/HTMLPurifier.kses.php b/modules/gallery/libraries/HTMLPurifier/HTMLPurifier.kses.php new file mode 100644 index 00000000..3143feb1 --- /dev/null +++ b/modules/gallery/libraries/HTMLPurifier/HTMLPurifier.kses.php @@ -0,0 +1,30 @@ +<?php + +/** + * @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 |