![]() 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/app/code/Amasty/Base/Block/Adminhtml/System/Config/ |
<?php declare(strict_types=1); /** * @author Amasty Team * @copyright Copyright (c) Amasty (https://www.amasty.com) * @package Magento 2 Base Package */ namespace Amasty\Base\Block\Adminhtml\System\Config; use Magento\Backend\Block\Context; use Magento\Backend\Model\Auth\Session; use Magento\Config\Block\System\Config\Form\Fieldset; use Magento\Framework\Data\Form\Element\AbstractElement; use Magento\Framework\View\Helper\Js; use Magento\Framework\View\LayoutFactory; class Information extends Fieldset { public const SEO_PARAMS = '?utm_source=extension&utm_medium=backend&utm_campaign='; /** * @var LayoutFactory */ private $layoutFactory; public function __construct( Context $context, Session $authSession, Js $jsHelper, LayoutFactory $layoutFactory, array $data = [] ) { parent::__construct($context, $authSession, $jsHelper, $data); $this->layoutFactory = $layoutFactory; } public function render(AbstractElement $element) { if (!($moduleCode = $element->getDataByPath('group/module_code')) || $moduleCode === 'Amasty_Base' || !($innerHtml = $this->getInnerHtml($moduleCode, $element)) ) { return ''; } $html = $this->_getHeaderHtml($element) . $innerHtml . $this->_getFooterHtml($element); $html = str_replace( 'amasty_information]" type="hidden" value="0"', 'amasty_information]" type="hidden" value="1"', $html ); return preg_replace('(onclick=\"Fieldset.toggleCollapse.*?\")', '', $html); } private function getInnerHtml(string $moduleCode, AbstractElement $element): string { $html = ''; $layout = $this->layoutFactory->create(['cacheable' => false]); $layout->getUpdate()->load( [ 'amasty_base_information_block', strtolower($moduleCode) . '_information_block' ] ); $layout->generateXml(); $layout->generateElements(); $basicBlock = $layout->getBlock('aminfotab.basic'); if ($basicBlock) { $basicBlock->setData('element', $element); $html .= $basicBlock->toHtml(); } return $html; } }