![]() 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/cartforge.co/vendor/magento/module-tax/Block/Adminhtml/Frontend/Region/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Tax\Block\Adminhtml\Frontend\Region; use Magento\Framework\App\ObjectManager; use Magento\Framework\Data\Form\Element\AbstractElement; use Magento\Framework\View\Helper\SecureHtmlRenderer; class Updater extends \Magento\Config\Block\System\Config\Form\Field { /** * @var \Magento\Directory\Helper\Data */ protected $_directoryHelper; /** * @var SecureHtmlRenderer */ private $secureRenderer; /** * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\Directory\Helper\Data $directoryHelper * @param array $data * @param SecureHtmlRenderer|null $secureRenderer */ public function __construct( \Magento\Backend\Block\Template\Context $context, \Magento\Directory\Helper\Data $directoryHelper, array $data = [], ?SecureHtmlRenderer $secureRenderer = null ) { $this->_directoryHelper = $directoryHelper; parent::__construct($context, $data); $this->secureRenderer = $secureRenderer ?? ObjectManager::getInstance()->get(SecureHtmlRenderer::class); } /** * Return element html. * * @param AbstractElement $element * @return string */ protected function _getElementHtml(AbstractElement $element) { $html = parent::_getElementHtml($element); $js = 'require(["prototype", "mage/adminhtml/form"], function(){ updater = new RegionUpdater("tax_defaults_country", "none", "tax_defaults_region", %s, "nullify"); if(updater.lastCountryId) { var tmpRegionId = $("tax_defaults_region").value; var tmpCountryId = updater.lastCountryId; updater.lastCountryId=false; updater.update(); updater.lastCountryId = tmpCountryId; $("tax_defaults_region").value = tmpRegionId; } else { updater.update(); } });'; $scriptString = sprintf($js, $this->_directoryHelper->getRegionJson()); $html .= /* @noEscape */ $this->secureRenderer->renderTag('script', [], $scriptString, false); return $html; } }