![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-newsletter/Block/Adminhtml/Template/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * Newsletter Template Edit Block * * @author Magento Core Team <[email protected]> */ namespace Magento\Newsletter\Block\Adminhtml\Template; use Magento\Backend\Block\Widget; use Magento\Framework\App\TemplateTypesInterface; /** * @api * @since 100.0.2 */ class Edit extends Widget { /** * @var \Magento\Framework\Registry */ protected $_coreRegistry = null; /** * @var \Magento\Cms\Model\Wysiwyg\Config */ protected $_wysiwygConfig; /** * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig * @param \Magento\Framework\Registry $registry * @param array $data */ public function __construct( \Magento\Backend\Block\Template\Context $context, \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig, \Magento\Framework\Registry $registry, array $data = [] ) { $this->_coreRegistry = $registry; $this->_wysiwygConfig = $wysiwygConfig; parent::__construct($context, $data); } /** * Retrieve template object * * @return \Magento\Newsletter\Model\Template */ public function getModel() { return $this->_coreRegistry->registry('_current_template'); } /** * Preparing block layout * * @return $this * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ protected function _prepareLayout() { $this->getToolbar()->addChild( 'back_button', \Magento\Backend\Block\Widget\Button::class, [ 'label' => __('Back'), 'onclick' => "window.location.href = '" . $this->getUrl('*/*') . "'", 'class' => 'action-back' ] ); $this->getToolbar()->addChild( 'reset_button', \Magento\Backend\Block\Widget\Button::class, [ 'label' => __('Reset'), 'onclick' => 'window.location.href = window.location.href', 'class' => 'reset' ] ); if (!$this->isTextType()) { $this->getToolbar()->addChild( 'to_plain_button', \Magento\Backend\Block\Widget\Button::class, [ 'label' => __('Convert to Plain Text'), 'data_attribute' => [ 'role' => 'template-strip', ], 'id' => 'convert_button', 'class' => 'convert' ] ); $this->getToolbar()->addChild( 'to_html_button', \Magento\Backend\Block\Widget\Button::class, [ 'label' => __('Return HTML Version'), 'data_attribute' => [ 'role' => 'template-unstrip', ], 'id' => 'convert_button_back', 'style' => 'display:none', 'class' => 'return' ] ); } $this->getToolbar()->addChild( 'preview_button', \Magento\Backend\Block\Widget\Button::class, [ 'label' => __('Preview Template'), 'data_attribute' => [ 'role' => 'template-preview', ], 'class' => 'preview' ] ); if ($this->getEditMode()) { $this->getToolbar()->addChild( 'delete_button', \Magento\Backend\Block\Widget\Button::class, [ 'label' => __('Delete Template'), 'data_attribute' => [ 'role' => 'template-delete', ], 'class' => 'delete' ] ); $this->getToolbar()->addChild( 'save_as_button', \Magento\Backend\Block\Widget\Button::class, [ 'label' => __('Save As'), 'data_attribute' => [ 'role' => 'template-save-as', ], 'class' => 'save-as' ] ); } $this->getToolbar()->addChild( 'save_button', \Magento\Backend\Block\Widget\Button::class, [ 'label' => __('Save Template'), 'data_attribute' => [ 'role' => 'template-save', ], 'class' => 'save primary' ] ); return parent::_prepareLayout(); } /** * Return edit flag for block * * @return boolean * @SuppressWarnings(PHPMD.BooleanGetMethodName) */ public function getEditMode() { if ($this->getModel()->getId()) { return true; } return false; } /** * Return header text for form * * @return \Magento\Framework\Phrase */ public function getHeaderText() { if ($this->getEditMode()) { return __('Edit Newsletter Template'); } return __('New Newsletter Template'); } /** * Return form block HTML * * @return string */ public function getForm() { return $this->getLayout()->createBlock( \Magento\Newsletter\Block\Adminhtml\Template\Edit\Form::class )->toHtml(); } /** * Return template name for JS * * @return string */ public function getJsTemplateName() { $templateCode = $this->getModel()->getTemplateCode(); // phpcs:ignore Magento2.Functions.DiscouragedFunction return $templateCode ? addcslashes($templateCode, "\"\r\n\\") : ''; } /** * Return action url for form * * @return string */ public function getSaveUrl() { return $this->getUrl('*/*/save'); } /** * Return preview action url for form * * @return string */ public function getPreviewUrl() { return $this->getUrl('*/*/preview', ['id' => $this->getRequest()->getParam('id')]); } /** * Check Template Type is Plain Text * * @return bool */ public function isTextType() { return $this->getModel()->isPlain(); } /** * Return template type from template object or TYPE_HTML by default * * @return int */ public function getTemplateType() { if ($this->getModel()->getTemplateType()) { return $this->getModel()->getTemplateType(); } return TemplateTypesInterface::TYPE_HTML; } /** * Return delete url for customer group * * @return string */ public function getDeleteUrl() { return $this->getUrl('*/*/delete', ['id' => $this->getRequest()->getParam('id')]); } /** * Retrieve Save As Flag * * @return int */ public function getSaveAsFlag() { return $this->getRequest()->getParam('_save_as_flag') ? '1' : ''; } /** * Getter for single store mode check * * @return boolean */ protected function isSingleStoreMode() { return $this->_storeManager->isSingleStoreMode(); } /** * Getter for id of current store (the only one in single-store mode and current in multi-stores mode) * * @return int */ protected function getStoreId() { return $this->_storeManager->getStore(true)->getId(); } }