From 5a7595e54a4fb46ec1cde57e1aeebc1f81cb88ef Mon Sep 17 00:00:00 2001 From: Cameron Date: Mon, 4 Apr 2016 19:55:22 -0700 Subject: [PATCH] Fixes #1490 Prevent themes and other code from interfering with wysiwyg.php --- e107_plugins/tinymce4/wysiwyg.php | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/e107_plugins/tinymce4/wysiwyg.php b/e107_plugins/tinymce4/wysiwyg.php index b299de7ee..929fbcc8e 100644 --- a/e107_plugins/tinymce4/wysiwyg.php +++ b/e107_plugins/tinymce4/wysiwyg.php @@ -11,7 +11,7 @@ $_E107['no_online'] = true; $_E107['no_forceuserupdate'] = true; $_E107['no_menus'] = true; $_E107['no_maintenance'] = true; -require_once("../../class2.php"); +require_once("../../class2.php"); //TODO Prevent Theme loading. /* echo ' @@ -120,28 +120,39 @@ $gen = $wy->renderConfig($config); define('USE_GZIP', true); +if(strstr(varset($_SERVER['HTTP_ACCEPT_ENCODING'], ''), 'gzip')) +{ + $compression_browser_support = true; +} + +if(ini_get("zlib.output_compression")=='' && function_exists("gzencode")) +{ + $compression_server_support = true; +} + if(ADMIN && e_QUERY == 'debug' || !empty($_GET['debug'])) { define('e_IFRAME', true); require_once(HEADERF); - echo " + echo "
"; - - print_a($output); - - echo "
"; + echo "
".print_a($gen,true)."
"; + + echo "
Browser gZip support: ".$compression_browser_support; + echo "
Server gZip support: ". $compression_server_support; require_once(FOOTERF); } -elseif(USE_GZIP === true) +elseif((USE_GZIP === true) && $compression_browser_support && $compression_server_support) { - header('Content-type: text/javascript', TRUE); + while (@ob_end_clean()); // clear out anything that may have been echoed from class2.php or theme + header('Content-type: text/javascript;charset=UTF-8', true); header('Content-Encoding: gzip'); $minified = e107::minify($gen); @@ -152,6 +163,7 @@ elseif(USE_GZIP === true) } else { + while (@ob_end_clean()); // clear out anything that may have been echoed from class2.php or theme. ob_start(); ob_implicit_flush(0); header('Content-type: text/javascript', TRUE);