23 $routers =
$source->getElementsByTagName(
'router');
26 foreach ($routers as $router) {
33 foreach ($router->getElementsByTagName(
'route') as $routeData) {
35 foreach ($routeData->attributes as $routeAttribute) {
36 $routeConfig[$routeAttribute->nodeName] = $routeAttribute->nodeValue;
40 foreach ($routeData->getElementsByTagName(
'module') as $moduleData) {
42 foreach ($moduleData->attributes as $moduleAttribute) {
43 $moduleConfig[$moduleAttribute->nodeName] = $moduleAttribute->nodeValue;
45 $routeConfig[
'modules'][] = $moduleConfig;
48 $routerConfig[
'routes'][$routeData->attributes->getNamedItem(
'id')->nodeValue] = $routeConfig;
51 $output[$router->attributes->getNamedItem(
'id')->nodeValue] = $routerConfig;
65 $sortedModulesList = [];
67 foreach ($modulesList as $moduleData) {
68 if (isset($moduleData[
'before'])) {
69 $position = array_search($moduleData[
'before'], $sortedModulesList);
70 if ($position ===
false) {
73 array_splice($sortedModulesList, $position, 0, $moduleData[
'name']);
74 }
elseif (isset($moduleData[
'after'])) {
75 $position = array_search($moduleData[
'after'], $sortedModulesList);
76 if ($position ===
false) {
77 $position = count($modulesList);
79 array_splice($sortedModulesList, $position + 1, 0, $moduleData[
'name']);
81 $sortedModulesList[] = $moduleData[
'name'];
85 return $sortedModulesList;
elseif(isset( $params[ 'redirect_parent']))
_sortModulesList($modulesList)