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 / vendor / magento / framework / Config / Converter /
Filename/home/dev2.destoffenstraat.com/vendor/magento/framework/Config/Converter/Dom.php
Size1.55 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified07-Jan-2021 21:08
Last accessed22-Aug-2025 16:19
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Config\Converter;

class Dom implements \Magento\Framework\Config\ConverterInterface
{
const ATTRIBUTES = '__attributes__';

const CONTENT = '__content__';

/**
* Convert dom node tree to array
*
* @param mixed $source
* @return array
*/
public function convert($source)
{
$nodeListData = [];

/** @var $node \DOMNode */
foreach ($source->childNodes as $node) {
if ($node->nodeType == XML_ELEMENT_NODE) {
$nodeData = [];
/** @var $attribute \DOMNode */
foreach ($node->attributes as $attribute) {
if ($attribute->nodeType == XML_ATTRIBUTE_NODE) {
$nodeData[self::ATTRIBUTES][$attribute->nodeName] = $attribute->nodeValue;
}
}
$childrenData = $this->convert($node);

if (is_array($childrenData)) {
$nodeData = array_merge($nodeData, $childrenData);
} else {
$nodeData[self::CONTENT] = $childrenData;
}
$nodeListData[$node->nodeName][] = $nodeData;
} elseif ($node->nodeType == XML_CDATA_SECTION_NODE || $node->nodeType == XML_TEXT_NODE && trim(
$node->nodeValue
) != ''
) {
return $node->nodeValue;
}
}
return $nodeListData;
}
}