|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / app / code / Geissweb / Euvat / Block / |
Filename | /home/dev2.destoffenstraat.com/app/code/Geissweb/Euvat/Block/Vatfield.php |
Size | 2.8 kb |
Permission | rwxrwxrwx |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 09-Jul-2024 08:39 |
Last accessed | 22-Aug-2025 02:07 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* ||GEISSWEB| EU VAT Enhanced
*
* NOTICE OF LICENSE
*
* This source file is subject to the GEISSWEB End User License Agreement
* that is available through the world-wide-web at this URL: https://www.geissweb.de/legal-information/eula
*
* DISCLAIMER
*
* Do not edit this file if you wish to update the extension in the future. If you wish to customize the extension
* for your needs please refer to our support for more information.
*
* @copyright Copyright (c) 2015 GEISS Weblösungen (https://www.geissweb.de)
* @license https://www.geissweb.de/legal-information/eula GEISSWEB End User License Agreement
*/
declare(strict_types=1);
namespace Geissweb\Euvat\Block;
use Geissweb\Euvat\Helper\Configuration;
use Geissweb\Euvat\Logger\Logger;
use Magento\Framework\Serialize\Serializer\Json as JsonSerializer;
use Magento\Framework\View\Element\Template;
use Magento\Framework\View\Element\Template\Context;
use Magento\Framework\Stdlib\ArrayManager;
class Vatfield extends Template
{
protected Configuration $config;
private JsonSerializer $serializer;
private ArrayManager $arrayManager;
private Logger $logger;
/**
* Constructor
*
* @param Context $context
* @param Configuration $config
* @param array $data
*/
public function __construct(
Context $context,
Configuration $config,
JsonSerializer $serializer,
ArrayManager $arrayManager,
Logger $logger,
array $data = []
) {
parent::__construct($context, $data);
$this->config = $config;
$this->serializer = $serializer;
$this->arrayManager = $arrayManager;
$this->logger = $logger;
}
public function getJsLayout()
{
$jsLayout = parent::getJsLayout();
$jsLayoutArray = $this->serializer->unserialize($jsLayout);
$vatIdSections = $this->arrayManager->findPaths('vat-id-input', $jsLayoutArray);
foreach ($vatIdSections as $vatIdSectionPath) {
$sectionData = $this->arrayManager->get($vatIdSectionPath, $jsLayoutArray);
if (is_array($sectionData) && isset($sectionData['config'])) {
$jsLayoutArray = $this->arrayManager->replace(
$vatIdSectionPath,
$jsLayoutArray,
array_merge(
$sectionData,
$this->config->getFrontendVatFieldConfig()
)
);
}
}
$this->logger->customLog('jsLayoutArray', $jsLayoutArray);
return $this->serializer->serialize($jsLayoutArray);
}
/**
* Gets system config 'euvat/interface_settings/validate_vatid' value
*/
public function isValidationEnabled(): bool
{
return $this->config->isValidationEnabled();
}
}
/**
* ||GEISSWEB| EU VAT Enhanced
*
* NOTICE OF LICENSE
*
* This source file is subject to the GEISSWEB End User License Agreement
* that is available through the world-wide-web at this URL: https://www.geissweb.de/legal-information/eula
*
* DISCLAIMER
*
* Do not edit this file if you wish to update the extension in the future. If you wish to customize the extension
* for your needs please refer to our support for more information.
*
* @copyright Copyright (c) 2015 GEISS Weblösungen (https://www.geissweb.de)
* @license https://www.geissweb.de/legal-information/eula GEISSWEB End User License Agreement
*/
declare(strict_types=1);
namespace Geissweb\Euvat\Block;
use Geissweb\Euvat\Helper\Configuration;
use Geissweb\Euvat\Logger\Logger;
use Magento\Framework\Serialize\Serializer\Json as JsonSerializer;
use Magento\Framework\View\Element\Template;
use Magento\Framework\View\Element\Template\Context;
use Magento\Framework\Stdlib\ArrayManager;
class Vatfield extends Template
{
protected Configuration $config;
private JsonSerializer $serializer;
private ArrayManager $arrayManager;
private Logger $logger;
/**
* Constructor
*
* @param Context $context
* @param Configuration $config
* @param array $data
*/
public function __construct(
Context $context,
Configuration $config,
JsonSerializer $serializer,
ArrayManager $arrayManager,
Logger $logger,
array $data = []
) {
parent::__construct($context, $data);
$this->config = $config;
$this->serializer = $serializer;
$this->arrayManager = $arrayManager;
$this->logger = $logger;
}
public function getJsLayout()
{
$jsLayout = parent::getJsLayout();
$jsLayoutArray = $this->serializer->unserialize($jsLayout);
$vatIdSections = $this->arrayManager->findPaths('vat-id-input', $jsLayoutArray);
foreach ($vatIdSections as $vatIdSectionPath) {
$sectionData = $this->arrayManager->get($vatIdSectionPath, $jsLayoutArray);
if (is_array($sectionData) && isset($sectionData['config'])) {
$jsLayoutArray = $this->arrayManager->replace(
$vatIdSectionPath,
$jsLayoutArray,
array_merge(
$sectionData,
$this->config->getFrontendVatFieldConfig()
)
);
}
}
$this->logger->customLog('jsLayoutArray', $jsLayoutArray);
return $this->serializer->serialize($jsLayoutArray);
}
/**
* Gets system config 'euvat/interface_settings/validate_vatid' value
*/
public function isValidationEnabled(): bool
{
return $this->config->isValidationEnabled();
}
}