b374k
m1n1 1.01
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
Size2.8 kb
Permissionrwxrwxrwx
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified09-Jul-2024 08:39
Last accessed22-Aug-2025 02:07
Actionsedit | rename | delete | download (gzip)
Viewtext | 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();
}
}