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

class Converter implements \Magento\Framework\Config\ConverterInterface
{
/**
* Convert config
*
* @param \DOMDocument $source
* @return array
*/
public function convert($source)
{
$output = [];

/** @var \DOMNodeList $routers */
$routers = $source->getElementsByTagName('router');

/** @var \DOMNode $router */
foreach ($routers as $router) {
$routerConfig = [];
foreach ($router->attributes as $attribute) {
$routerConfig[$attribute->nodeName] = $attribute->nodeValue;
}

/** @var \DOMNode $routeData */
foreach ($router->getElementsByTagName('route') as $routeData) {
$routeConfig = [];
foreach ($routeData->attributes as $routeAttribute) {
$routeConfig[$routeAttribute->nodeName] = $routeAttribute->nodeValue;
}

/** @var \DOMNode $module */
foreach ($routeData->getElementsByTagName('module') as $moduleData) {
$moduleConfig = [];
foreach ($moduleData->attributes as $moduleAttribute) {
$moduleConfig[$moduleAttribute->nodeName] = $moduleAttribute->nodeValue;
}
$routeConfig['modules'][] = $moduleConfig;
}
$routeConfig['modules'] = $this->_sortModulesList($routeConfig['modules']);
$routerConfig['routes'][$routeData->attributes->getNamedItem('id')->nodeValue] = $routeConfig;
}

$output[$router->attributes->getNamedItem('id')->nodeValue] = $routerConfig;
}

return $output;
}

/**
* Sort modules list according to before/after attributes
*
* @param array $modulesList
* @return array
*/
protected function _sortModulesList($modulesList)
{
$sortedModulesList = [];

foreach ($modulesList as $moduleData) {
if (isset($moduleData['before'])) {
$position = array_search($moduleData['before'], $sortedModulesList);
if ($position === false) {
$position = 0;
}
array_splice($sortedModulesList, $position, 0, $moduleData['name']);
} elseif (isset($moduleData['after'])) {
$position = array_search($moduleData['after'], $sortedModulesList);
if ($position === false) {
$position = count($modulesList);
}
array_splice($sortedModulesList, $position + 1, 0, $moduleData['name']);
} else {
$sortedModulesList[] = $moduleData['name'];
}
}

return $sortedModulesList;
}
}