*/ class Mage_Adminhtml_Block_System_Email_Template_Preview extends Mage_Adminhtml_Block_Widget { /** * Prepare html output * * @return string */ protected function _toHtml() { // Start store emulation process // Since the Transactional Email preview process has no mechanism for selecting a store view to use for // previewing, use the default store view $defaultStoreId = Mage::app()->getDefaultStoreView()->getId(); $appEmulation = Mage::getSingleton('core/app_emulation'); $initialEnvironmentInfo = $appEmulation->startEnvironmentEmulation($defaultStoreId); /** @var $template Mage_Core_Model_Email_Template */ $template = Mage::getModel('core/email_template'); $id = (int)$this->getRequest()->getParam('id'); if ($id) { $template->load($id); } else { $template->setTemplateType($this->getRequest()->getParam('type')); $template->setTemplateText($this->getRequest()->getParam('text')); $template->setTemplateStyles($this->getRequest()->getParam('styles')); } /* @var $filter Mage_Core_Model_Input_Filter_MaliciousCode */ $filter = Mage::getSingleton('core/input_filter_maliciousCode'); $template->setTemplateText( $filter->filter($template->getTemplateText()) ); Varien_Profiler::start("email_template_proccessing"); $vars = array(); $templateProcessed = $template->getProcessedTemplate($vars, true); if ($template->isPlain()) { $templateProcessed = "
" . htmlspecialchars($templateProcessed) . "
"; } Varien_Profiler::stop("email_template_proccessing"); // Stop store emulation process $appEmulation->stopEnvironmentEmulation($initialEnvironmentInfo); return $templateProcessed; } }