![]() 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-email/view/adminhtml/templates/template/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ use Magento\Framework\App\TemplateTypesInterface; // phpcs:disable Generic.Files.LineLength.TooLong /** @var $block \Magento\Email\Block\Adminhtml\Template\Edit */ /** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */ ?> <?php if (!$block->getEditMode()): ?> <form action="<?= $block->escapeUrl($block->getLoadUrl()) ?>" method="post" id="email_template_load_form"> <?= $block->getBlockHtml('formkey') ?> <fieldset class="admin__fieldset form-inline"> <legend class="admin__legend"><span><?= $block->escapeHtml(__('Load Default Template')) ?></span></legend><br> <div class="admin__field required"> <label class="admin__field-label" for="template_select"> <span><?= $block->escapeHtml(__('Template')) ?></span> </label> <div class="admin__field-control"> <select id="template_select" name="code" class="admin__control-select required-entry"> <?php foreach ($block->getTemplateOptions() as $group => $options): ?> <?php if ($group): ?> <optgroup label="<?= $block->escapeHtmlAttr($group) ?>"> <?php endif; ?> <?php foreach ($options as $option): ?> <option value="<?= $block->escapeHtmlAttr($option['value']) ?>" <?= /* @noEscape */ $block->getOrigTemplateCode() == $option['value'] ? ' selected="selected"' : '' ?>><?= $block->escapeHtml($option['label']) ?> </option> <?php endforeach; ?> <?php if ($group): ?> </optgroup> <?php endif; ?> <?php endforeach; ?> </select> </div> </div> <div class="admin__field required"> <span class="admin__field-label"></span> <div class="admin__field-control"> <?= /* @noEscape */ $block->getLoadButtonHtml() ?> </div> </div> </fieldset> </form> <?php endif ?> <form action="<?= $block->escapeUrl($block->getSaveUrl()) ?>" method="post" id="email_template_edit_form"> <?= /* @noEscape */ $block->getBlockHtml('formkey') ?> <input type="hidden" id="change_flag_element" name="_change_type_flag" value="" /> <input type="hidden" id="orig_template_code" name="orig_template_code" value="<?= $block->escapeHtmlAttr($block->getOrigTemplateCode()) ?>" /> <?= /* @noEscape */ $block->getFormHtml() ?> </form> <form action="<?= $block->escapeUrl($block->getPreviewUrl()) ?>" method="post" id="email_template_preview_form" target="_blank"> <?= /* @noEscape */ $block->getBlockHtml('formkey') ?> <div class="no-display"> <input type="hidden" id="preview_type" name="type" value="<?= /* @noEscape */ $block->isTextType() ? 1 : 2 ?>"/> <input type="hidden" id="preview_text" name="text" value="" /> <input type="hidden" id="preview_styles" name="styles" value="" /> </div> </form> <?php $currentlyUsedForPaths = /* @noEscape */ $block->getCurrentlyUsedForPaths(); $templateType = (int)$block->getTemplateType(); $typeText = /* @noEscape */ TemplateTypesInterface::TYPE_TEXT; $scriptString = <<<script require([ "jquery", "wysiwygAdapter", "Magento_Ui/js/modal/alert", 'Magento_Ui/js/modal/confirm', "mage/mage", "Magento_Email/js/variables", "prototype" ], function(jQuery, tinyMCE, alert, confirm){ //<![CDATA[ jQuery('#email_template_edit_form').mage('form').mage('validation'); jQuery('#email_template_preview_form').mage('form').mage('validation'); jQuery('#email_template_load_form').mage('validation'); templateControl = { unconvertedText: '', typeChange: false, variables: null, events: { 'click [data-role=template-save]' : 'save', 'click [data-role=template-preview]' : 'preview', 'click [data-role=template-unstrip]' : 'unStripTags', 'click [data-role=template-strip]' : 'stripTags', 'click [data-role=template-delete]': 'deleteTemplate', 'click [data-role=template-load]': 'load' }, init: function () { if ($('convert_button_back')) { $('convert_button_back').hide(); } this.bindEvents(); this.renderPaths({$currentlyUsedForPaths}, 'currently_used_for'); }, bindEvents: function(){ var events = this.events, eventName, selector, callback, key; for( key in events ){ callback = this[events[key]]; key = key.split(' '); eventName = key[0]; selector = key.slice(1).join(' '); jQuery(selector).on(eventName, jQuery.proxy(callback, this) ); } }, stripTags: function () { var self = this; confirm({ content: "{$block->escapeJs(__('Are you sure you want to strip tags?'))}", actions: { confirm: function () { self.unconvertedText = $('template_text').value; $('convert_button').hide(); $('template_text').value = $('template_text').value.stripScripts().replace( new RegExp('<style[^>]*>[\\S\\s]*?</style>', 'img'), '' ).stripTags().strip(); $('convert_button_back').show(); $('field_template_styles').hide(); self.typeChange = true; return false; } } }); }, unStripTags: function () { $('convert_button').show(); $('convert_button_back').hide(); $('template_text').value = this.unconvertedText; $('field_template_styles').show(); this.typeChange = false; return false; }, save: function() { if (this.typeChange) { $('change_flag_element').value = '1'; } // Temporary solution will be replaced after refactoring of email templates functionality jQuery('#email_template_edit_form').triggerHandler('save'); return false; }, preview: function() { if (this.typeChange) { $('preview_type').value = {$typeText}; } else { $('preview_type').value = {$templateType}; } if (typeof tinyMCE == 'undefined' || !tinyMCE.get('template_text')) { $('preview_text').value = $('template_text').value; } else { $('preview_text').value = tinyMCE.get('template_text').getHTML(); } if ($('template_styles') != undefined) { $('preview_styles').value = $('template_styles').value; } // Temporary solution will be replaced after refactoring of email templates functionality jQuery('#email_template_preview_form').triggerHandler('save'); return false; }, deleteTemplate: function() { confirm({ content: "{$block->escapeJs(__('Are you sure you want to delete this template?'))}", actions: { confirm: function () { window.location.href = '{$block->escapeJs($block->getDeleteUrl())}'; } } }); }, load: function() { // Temporary solution will be replaced after refactoring of email templates functionality if (!jQuery('#email_template_load_form').valid()) { return; } this.variables = null; new Ajax.Request($('email_template_load_form').action, { parameters: Form.serialize($('email_template_load_form'), true), area: $('email_template_load_form'), onComplete: function (transport) { if (transport.responseText.isJSON()) { var fields = \$H(transport.responseText.evalJSON()); fields.each(function(pair) { if ($(pair.key)) { $(pair.key).value = pair.value.strip(); } if (pair.key == 'template_type') { if (pair.value == 1) { this.typeChange = true; $('convert_button').hide(); $('convert_button_back').hide(); } else { this.typeChange = false; $('convert_button_back').hide(); $('convert_button').show(); } } if (pair.key == 'orig_template_currently_used_for') { if(pair.value.length){ $('currently_used_for').show(); this.renderPaths(pair.value, 'currently_used_for'); } else{ $('currently_used_for').hide(); } } }.bind(this)); } else { alert({ content: '{$block->escapeJs(__( 'The template did not load. Please review the log for details.' ))}' }); } }.bind(this) }); }, renderPaths: function(paths, fieldId) { var field = $(fieldId); if (field) { field.down('div').down('div') .update(this.parsePath(paths, '<span class="path-delimiter"> -> </span>', '<br />')); } }, parsePath: function (value, pathDelimiter, lineDelimiter) { if (Object.isArray(value)) { var result = []; for (var i = 0, len = value.length; i < len; i++) { result.push(this.parsePath(value[i], pathDelimiter, pathDelimiter)); } return result.join(lineDelimiter); } if(!Object.isString(value) && value.title) { value = (value.url ? '<a href="' + value.url + '">' + value.title + '</a>' : value.title) + (value.scope ? ' <span class="path-scope-label">(' + value.scope + ')</span>' : ''); } return value; }, openVariableChooser: function() { Variables.init('template_text'); if (this.variables == null) { Variables.resetData(); this.variables = $('variables').value.evalJSON(); var templateVariablesValue = $('template_variables').value; if (this.variables && templateVariablesValue) { if (templateVariables = templateVariablesValue.evalJSON()) { this.variables.push(templateVariables); } } } if (this.variables) { Variables.openVariableChooser(this.variables); } } }; templateControl.init(); //]]> }); script; ?> <?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>