From 10f0d802917a3d7b3060264512c799048db9e06e Mon Sep 17 00:00:00 2001 From: Cameron Date: Fri, 1 Apr 2016 11:27:06 -0700 Subject: [PATCH] Issue #1460 - Fix crash in parser when posting code. --- e107_handlers/e_parse_class.php | 45 +++++++++++++++--------------- e107_plugins/pm/sendpm.sc | 49 --------------------------------- 2 files changed, 23 insertions(+), 71 deletions(-) delete mode 100644 e107_plugins/pm/sendpm.sc diff --git a/e107_handlers/e_parse_class.php b/e107_handlers/e_parse_class.php index 12ee0ba8b..162fe6685 100644 --- a/e107_handlers/e_parse_class.php +++ b/e107_handlers/e_parse_class.php @@ -4408,36 +4408,37 @@ return; // Disable Shortcodes in pre/code - foreach($this->nodesToDisableSC as $node) + foreach($this->nodesToDisableSC as $key => $node) { - $value = $node->C14N(); + $value = $node->C14N(); - if(empty($value)) - { - continue; - } + if(empty($value)) + { + continue; + } - $value = str_replace(" ","\r",$value); + $value = str_replace(" ", "\r", $value); - if($node->nodeName == 'pre') - { - $value = preg_replace('/^]*>/','',$value); - $value = str_replace("", "", $value); - } + if($node->nodeName == 'pre') + { + $value = preg_replace('/^]*>/', '', $value); + $value = str_replace("", "", $value); + } - if($node->nodeName == 'code') - { - $value = preg_replace('/^]*>/','',$value); - $value = str_replace("", "", $value); - } + if($node->nodeName == 'code') + { + $value = preg_replace('/^]*>/', '', $value); + $value = str_replace("", "", $value); + } - $value = str_replace('{','{{{',$value); // temporarily change {e_XXX} to {{{e_XXX}}} - $value = str_replace('}','}}}',$value); // temporarily change {e_XXX} to {{{e_XXX}}} + $value = str_replace('{', '{{{', $value); // temporarily change {e_XXX} to {{{e_XXX}}} + $value = str_replace('}', '}}}', $value); // temporarily change {e_XXX} to {{{e_XXX}}} - // $value = htmlentities(htmlentities($value)); // Crashes apache. - $node->nodeValue = $value; // Crashes apache sometimes FIXME! . + $newNode = $doc->createElement($node->nodeName); + $newNode->nodeValue = $value; - } + $node->parentNode->replaceChild($newNode, $node); + } diff --git a/e107_plugins/pm/sendpm.sc b/e107_plugins/pm/sendpm.sc deleted file mode 100644 index d2ea3f8cd..000000000 --- a/e107_plugins/pm/sendpm.sc +++ /dev/null @@ -1,49 +0,0 @@ -//getArray("pm_prefs"); -$pm_prefs = e107::getPlugPref('pm'); - -if(check_class($pm_prefs['pm_class'])) -{ - if(deftrue('FONTAWESOME') && deftrue('BOOTSTRAP')) - { - $img = e107::getParser()->toGlyph('fa-paper-plane',''); - return "{$img} ".LAN_PM_35.""; - } - - - if(file_exists(THEME.'forum/pm.png')) - { - $img = "".LAN_PM.""; - } - else - { - $img = "".LAN_PM.""; - } - - - - return "{$img}"; -} -else -{ - return ''; -}