Converter.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. /**
  3. * Converter of email templates configuration from \DOMDocument to array
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\Email\Model\Template\Config;
  9. class Converter implements \Magento\Framework\Config\ConverterInterface
  10. {
  11. /**
  12. * {@inheritdoc}
  13. */
  14. public function convert($source)
  15. {
  16. $result = [];
  17. /** @var \DOMNode $templateNode */
  18. foreach ($source->documentElement->childNodes as $templateNode) {
  19. if ($templateNode->nodeType != XML_ELEMENT_NODE) {
  20. continue;
  21. }
  22. $templateId = $templateNode->attributes->getNamedItem('id')->nodeValue;
  23. $templateLabel = $templateNode->attributes->getNamedItem('label')->nodeValue;
  24. $templateFile = $templateNode->attributes->getNamedItem('file')->nodeValue;
  25. $templateType = $templateNode->attributes->getNamedItem('type')->nodeValue;
  26. $templateModule = $templateNode->attributes->getNamedItem('module')->nodeValue;
  27. $templateArea = $templateNode->attributes->getNamedItem('area')->nodeValue;
  28. $result[$templateId] = [
  29. 'label' => $templateLabel,
  30. 'file' => $templateFile,
  31. 'type' => $templateType,
  32. 'module' => $templateModule,
  33. 'area' => $templateArea,
  34. ];
  35. }
  36. return $result;
  37. }
  38. }