![]() 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/vendor/magento/module-sales/Model/Order/Pdf/Config/ |
<?php /** * Converter of pdf configuration from \DOMDocument to array * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Model\Order\Pdf\Config; class Converter implements \Magento\Framework\Config\ConverterInterface { /** * Convert dom node tree to array * * @param \DOMDocument $source * @return array */ public function convert($source) { $result = ['renderers' => [], 'totals' => []]; $pageTypes = $source->getElementsByTagName('page'); foreach ($pageTypes as $pageType) { /** @var \DOMNode $pageType */ $pageTypeName = $pageType->attributes->getNamedItem('type')->nodeValue; foreach ($pageType->childNodes as $rendererNode) { /** @var \DOMNode $rendererNode */ if ($rendererNode->nodeType != XML_ELEMENT_NODE) { continue; } $productType = $rendererNode->attributes->getNamedItem('product_type')->nodeValue; $result['renderers'][$pageTypeName][$productType] = $rendererNode->nodeValue; } } $totalItems = $source->getElementsByTagName('total'); foreach ($totalItems as $item) { /** @var \DOMNode $item */ $itemName = $item->attributes->getNamedItem('name')->nodeValue; foreach ($item->childNodes as $setting) { /** @var \DOMNode $setting */ if ($setting->nodeType != XML_ELEMENT_NODE) { continue; } $result['totals'][$itemName][$setting->nodeName] = $setting->nodeValue; } } return $result; } }