Converter.php 1015 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Search\SearchEngine\Config;
  7. use Magento\Framework\Config\ConverterInterface;
  8. class Converter implements ConverterInterface
  9. {
  10. /**
  11. * {@inheritdoc}
  12. */
  13. public function convert($source)
  14. {
  15. $result = [];
  16. /** @var \DOMElement $engine */
  17. foreach ($source->documentElement->getElementsByTagName('engine') as $engine) {
  18. $name = $engine->getAttribute('name');
  19. $result[$name] = [];
  20. /** @var \DOMElement $feature */
  21. foreach ($engine->getElementsByTagName('feature') as $feature) {
  22. if ($feature->getAttribute('support') === '1'
  23. || strtolower($feature->getAttribute('support')) === 'true'
  24. ) {
  25. $result[$name][] = strtolower($feature->getAttribute('name'));
  26. }
  27. }
  28. }
  29. return $result;
  30. }
  31. }