Kernel : Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
Disable function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Safe mode : OFF
Host : diestoffstrasse.com | Server ip : 127.0.0.1 | Your ip : 127.0.0.1 | Time @ Server : 24 Aug 2025 10:14:58
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/dev2.destoffenstraat.com/vendor-1/magento/framework/ObjectManager/Config/Mapper/

HOME about upload exec mass file domain root vuln newfile newfolder kill me

File Path : /home/dev2.destoffenstraat.com/vendor-1/magento/framework/ObjectManager/Config/Mapper/Dom.php

<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\ObjectManager\Config\Mapper; use Magento\Framework\Data\Argument\InterpreterInterface; use Magento\Framework\Stdlib\BooleanUtils; class Dom implements \Magento\Framework\Config\ConverterInterface { /** * @var BooleanUtils */ private $booleanUtils; /** * @var ArgumentParser */ private $argumentParser; /** * @var InterpreterInterface */ private $argumentInterpreter; /** * @param BooleanUtils $booleanUtils * @param ArgumentParser $argumentParser * @param InterpreterInterface $argumentInterpreter */ public function __construct( InterpreterInterface $argumentInterpreter, BooleanUtils $booleanUtils = null, ArgumentParser $argumentParser = null ) { $this->argumentInterpreter = $argumentInterpreter; $this->booleanUtils = $booleanUtils ?: new BooleanUtils(); $this->argumentParser = $argumentParser ?: new ArgumentParser(); } /** * Convert configuration in DOM format to assoc array that can be used by object manager * * @param \DOMDocument $config * @return array * @throws \Exception * @todo this method has high cyclomatic complexity in order to avoid performance issues * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function convert($config) { $output = []; /** @var \DOMNode $node */ foreach ($config->documentElement->childNodes as $node) { if ($node->nodeType != XML_ELEMENT_NODE) { continue; } switch ($node->nodeName) { case 'preference': $output['preferences'][$node->attributes->getNamedItem( 'for' )->nodeValue] = $node->attributes->getNamedItem( 'type' )->nodeValue; break; case 'type': case 'virtualType': $typeData = []; $typeNodeAttributes = $node->attributes; $typeNodeShared = $typeNodeAttributes->getNamedItem('shared'); if ($typeNodeShared) { $typeData['shared'] = $this->booleanUtils->toBoolean($typeNodeShared->nodeValue); } if ($node->nodeName == 'virtualType') { $attributeType = $typeNodeAttributes->getNamedItem('type'); // attribute type is required for virtual type only in merged configuration if ($attributeType) { $typeData['type'] = $attributeType->nodeValue; } } $typeArguments = []; $typePlugins = []; /** @var \DOMNode $typeChildNode */ foreach ($node->childNodes as $typeChildNode) { if ($typeChildNode->nodeType != XML_ELEMENT_NODE) { continue; } switch ($typeChildNode->nodeName) { case 'arguments': /** @var \DOMNode $argumentNode */ foreach ($typeChildNode->childNodes as $argumentNode) { if ($argumentNode->nodeType != XML_ELEMENT_NODE) { continue; } $argumentName = $argumentNode->attributes->getNamedItem('name')->nodeValue; $argumentData = $this->argumentParser->parse($argumentNode); $typeArguments[$argumentName] = $this->argumentInterpreter->evaluate( $argumentData ); } break; case 'plugin': $pluginAttributes = $typeChildNode->attributes; $pluginDisabledNode = $pluginAttributes->getNamedItem('disabled'); $pluginSortOrderNode = $pluginAttributes->getNamedItem('sortOrder'); $pluginTypeNode = $pluginAttributes->getNamedItem('type'); $pluginData = [ 'sortOrder' => $pluginSortOrderNode ? (int)$pluginSortOrderNode->nodeValue : 0, ]; if ($pluginDisabledNode) { $pluginData['disabled'] = $this->booleanUtils->toBoolean( $pluginDisabledNode->nodeValue ); } if ($pluginTypeNode) { $pluginData['instance'] = $pluginTypeNode->nodeValue; } $typePlugins[$pluginAttributes->getNamedItem('name')->nodeValue] = $pluginData; break; default: throw new \Exception( "Invalid application config. Unknown node: {$typeChildNode->nodeName}." ); } } $typeData['arguments'] = $typeArguments; if (!empty($typePlugins)) { $typeData['plugins'] = $typePlugins; } $output[$typeNodeAttributes->getNamedItem('name')->nodeValue] = $typeData; break; default: throw new \Exception("Invalid application config. Unknown node: {$node->nodeName}."); } } return $output; } }