From 60ff681639fcfd84e609a5a0a5b9e8909d54c37c Mon Sep 17 00:00:00 2001 From: Daniel Fahlke Date: Fri, 19 Jun 2015 02:02:03 +0200 Subject: [PATCH 1/3] prevent HEADERS ALREADY SENT error $image->display() directly outputs the image together with the mimeType header, causing the Mage_Core_Controller_Varien_Front->dispatch() to log an Headers already sent error on sending the actual Response object --- .../core/Mage/Adminhtml/controllers/Cms/WysiwygController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php b/app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php index 8df9ee5c6f3..6865a3d802e 100644 --- a/app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php +++ b/app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php @@ -43,6 +43,7 @@ public function directiveAction() $directive = $this->getRequest()->getParam('___directive'); $directive = Mage::helper('core')->urlDecode($directive); $url = Mage::getModel('cms/adminhtml_template_filter')->filter($directive); + ob_start(); try { $image = Varien_Image_Adapter::factory('GD2'); $image->open($url); @@ -62,5 +63,8 @@ public function directiveAction() imagedestroy($image); */ } + $this->getResponse()->setHeader('Content-type', $image->getMimeType(), true); + $this->getResponse()->setBody(ob_get_contents()); + ob_get_clean(); } } From 5aeb0b6673655cdb206436632a73f195cdff8079 Mon Sep 17 00:00:00 2001 From: Daniel Fahlke Date: Tue, 26 Jan 2016 21:20:10 +0100 Subject: [PATCH 2/3] make directly use of ob_get_clean() --- .../core/Mage/Adminhtml/controllers/Cms/WysiwygController.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php b/app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php index 6865a3d802e..25394aeff75 100644 --- a/app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php +++ b/app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php @@ -64,7 +64,6 @@ public function directiveAction() */ } $this->getResponse()->setHeader('Content-type', $image->getMimeType(), true); - $this->getResponse()->setBody(ob_get_contents()); - ob_get_clean(); + $this->getResponse()->setBody(ob_get_clean()); } } From 634ec5c0547b4c5ca9708cdb3d3a215344601aee Mon Sep 17 00:00:00 2001 From: Flyingmana Date: Sat, 8 Oct 2016 01:24:40 +0200 Subject: [PATCH 3/3] prevent HEADERS ALREADY SENT error --- .../Adminhtml/controllers/Cms/Wysiwyg/ImagesController.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/code/core/Mage/Adminhtml/controllers/Cms/Wysiwyg/ImagesController.php b/app/code/core/Mage/Adminhtml/controllers/Cms/Wysiwyg/ImagesController.php index 2aa44a8560d..fa90f6315b1 100644 --- a/app/code/core/Mage/Adminhtml/controllers/Cms/Wysiwyg/ImagesController.php +++ b/app/code/core/Mage/Adminhtml/controllers/Cms/Wysiwyg/ImagesController.php @@ -186,9 +186,12 @@ public function thumbnailAction() $file = Mage::helper('cms/wysiwyg_images')->idDecode($file); $thumb = $this->getStorage()->resizeOnTheFly($file); if ($thumb !== false) { + ob_start(); $image = Varien_Image_Adapter::factory('GD2'); $image->open($thumb); $image->display(); + $this->getResponse()->setHeader('Content-type', $image->getMimeType(), true); + $this->getResponse()->setBody(ob_get_clean()); } else { // todo: genearte some placeholder }