aboutsummaryrefslogtreecommitdiff
path: root/mod/htmlawed/start.php
diff options
context:
space:
mode:
authorCash Costello <cash.costello@gmail.com>2012-07-10 17:28:44 -0700
committerCash Costello <cash.costello@gmail.com>2012-07-10 17:28:44 -0700
commit208938ec5a5aa3fc4abb99c9ad82fdbdfe7a27ec (patch)
tree81ade5e799a620e4a99948f8fff1f1174a352947 /mod/htmlawed/start.php
parent017b609861984718b73ba909d1b2266d4b144b06 (diff)
parent894481db371b3dd25be115275b7254c68eb85542 (diff)
downloadelgg-208938ec5a5aa3fc4abb99c9ad82fdbdfe7a27ec.tar.gz
elgg-208938ec5a5aa3fc4abb99c9ad82fdbdfe7a27ec.tar.bz2
Merge pull request #311 from migrax/fixhtmlawed_dup_18
Fixes #4692 duplicated tags caused by new htmlawed code
Diffstat (limited to 'mod/htmlawed/start.php')
-rw-r--r--mod/htmlawed/start.php22
1 files changed, 21 insertions, 1 deletions
diff --git a/mod/htmlawed/start.php b/mod/htmlawed/start.php
index 5af18f4dd..12b6470a3 100644
--- a/mod/htmlawed/start.php
+++ b/mod/htmlawed/start.php
@@ -18,6 +18,8 @@ function htmlawed_init() {
$lib = elgg_get_plugins_path() . "htmlawed/vendors/htmLawed/htmLawed.php";
elgg_register_library('htmlawed', $lib);
+
+ elgg_register_plugin_hook_handler('unit_test', 'system', 'htmlawed_test');
}
/**
@@ -90,7 +92,13 @@ function htmLawedArray(&$v, $k, $htmlawed_config) {
* @param array $attributes An array of attributes
* @return string
*/
-function htmlawed_tag_post_processor($element, $attributes = array()) {
+function htmlawed_tag_post_processor($element, $attributes = false) {
+ if ($attributes === false) {
+ // This is a closing tag. Prevent further processing to avoid inserting a duplicate tag
+
+ return "</${element}>";
+ }
+
// these are the default styles used by tinymce.
$allowed_styles = array(
'color', 'cursor', 'text-align', 'vertical-align', 'font-size',
@@ -143,3 +151,15 @@ function htmlawed_tag_post_processor($element, $attributes = array()) {
$r = "<$element$string>";
return $r;
}
+
+/**
+ * Runs unit tests for htmlawed
+ *
+ * @return array
+ * */
+function htmlawed_test($hook, $type, $value, $params) {
+ global $CONFIG;
+
+ $value[] = dirname(__FILE__) . '/tests/tags.php';
+ return $value;
+}