1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-01 20:30:39 +02:00

Issue #1460 - Fix crash in parser when posting code.

This commit is contained in:
Cameron
2016-04-01 11:27:06 -07:00
parent a30ee0d5b8
commit 10f0d80291
2 changed files with 23 additions and 71 deletions

View File

@@ -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('/^<pre[^>]*>/','',$value);
$value = str_replace("</pre>", "", $value);
}
if($node->nodeName == 'pre')
{
$value = preg_replace('/^<pre[^>]*>/', '', $value);
$value = str_replace("</pre>", "", $value);
}
if($node->nodeName == 'code')
{
$value = preg_replace('/^<code[^>]*>/','',$value);
$value = str_replace("</code>", "", $value);
}
if($node->nodeName == 'code')
{
$value = preg_replace('/^<code[^>]*>/', '', $value);
$value = str_replace("</code>", "", $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);
}

View File

@@ -1,49 +0,0 @@
//<?php
/*
*//*
* Copyright e107 Inc e107.org, Licensed under GNU GPL (http://www.gnu.org/licenses/gpl.txt)
* $Id$
*
* PM icon shortcode
*/
/**
* e107 Private messenger plugin
*
* @package e107_plugins
* @subpackage pm
* @version $Id$;
*/
include_lan(e_PLUGIN.'pm/languages/'.e_LANGUAGE.'.php');
// global $sysprefs, $pm_prefs;
// $pm_prefs = $sysprefs->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 "<a class='btn btn-sm btn-default' href='".e_PLUGIN_ABS."pm/pm.php?send.{$parm}'>{$img} ".LAN_PM_35."</a>";
}
if(file_exists(THEME.'forum/pm.png'))
{
$img = "<img src='".THEME_ABS."forum/pm.png' alt='".LAN_PM."' title='".LAN_PM."' style='border:0' />";
}
else
{
$img = "<img src='".e_PLUGIN_ABS."pm/images/pm.png' alt='".LAN_PM."' title='".LAN_PM."' style='border:0' />";
}
return "<a href='".e_PLUGIN_ABS."pm/pm.php?send.{$parm}'>{$img}</a>";
}
else
{
return '';
}