![]() 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-eav/Model/Entity/Attribute/Config/ |
<?php /** * Attributes configuration converter * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Eav\Model\Entity\Attribute\Config; class Converter implements \Magento\Framework\Config\ConverterInterface { /** * Convert config * * @param mixed $source * @return array */ public function convert($source) { $output = []; /** @var \DOMNodeList $entities */ $entities = $source->getElementsByTagName('entity'); /** @var DOMNode $entity */ foreach ($entities as $entity) { $entityConfig = []; $attributes = []; /** @var DOMNode $entityAttribute */ foreach ($entity->getElementsByTagName('attribute') as $entityAttribute) { $attributeFields = []; foreach ($entityAttribute->getElementsByTagName('field') as $fieldData) { $locked = $fieldData->attributes->getNamedItem('locked')->nodeValue == "true" ? true : false; $attributeFields[$fieldData->attributes->getNamedItem( 'code' )->nodeValue] = [ 'code' => $fieldData->attributes->getNamedItem('code')->nodeValue, 'locked' => $locked, ]; } $attributes[$entityAttribute->attributes->getNamedItem('code')->nodeValue] = $attributeFields; } $entityConfig['attributes'] = $attributes; $output[$entity->attributes->getNamedItem('type')->nodeValue] = $entityConfig; } return $output; } }