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:31:58
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

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

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

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

<?php /** * Application config file resolver * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Config; use Magento\Framework\App\Filesystem\DirectoryList; use Magento\Framework\Filesystem; use Magento\Framework\Module\Dir\Reader as DirReader; use Magento\Framework\View\Design\Fallback\RulePool; use Magento\Framework\View\Design\FileResolution\Fallback\ResolverInterface; use Magento\Framework\View\Design\ThemeInterface; use Magento\Framework\View\DesignInterface; /** * Class FileResolver * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class FileResolver implements \Magento\Framework\Config\FileResolverInterface, DesignResolverInterface { /** * Module configuration file reader * * @var DirReader */ protected $moduleReader; /** * @var \Magento\Framework\Config\FileIteratorFactory */ protected $iteratorFactory; /** * @var \Magento\Framework\View\DesignInterface */ protected $currentTheme; /** * @var string */ protected $area; /** * @var Filesystem\Directory\ReadInterface */ protected $rootDirectory; /** * @var \Magento\Framework\View\Design\FileResolution\Fallback\ResolverInterface */ protected $resolver; /** * @var DirectoryList * @deprecated 102.0.0 Unused class property */ private $directoryList; /** * @param DirReader $moduleReader * @param FileIteratorFactory $iteratorFactory * @param DesignInterface $designInterface * @param DirectoryList $directoryList @deprecated * @param Filesystem $filesystem * @param ResolverInterface $resolver */ public function __construct( DirReader $moduleReader, FileIteratorFactory $iteratorFactory, DesignInterface $designInterface, DirectoryList $directoryList, Filesystem $filesystem, ResolverInterface $resolver ) { $this->directoryList = $directoryList; $this->iteratorFactory = $iteratorFactory; $this->moduleReader = $moduleReader; $this->currentTheme = $designInterface->getDesignTheme(); $this->area = $designInterface->getArea(); $this->rootDirectory = $filesystem->getDirectoryRead(DirectoryList::ROOT); $this->resolver = $resolver; } /** * {@inheritdoc} */ public function get($filename, $scope) { switch ($scope) { case 'global': $iterator = $this->moduleReader->getConfigurationFiles($filename)->toArray(); $themeConfigFile = $this->currentTheme->getCustomization()->getCustomViewConfigPath(); if ($themeConfigFile && $this->rootDirectory->isExist($this->rootDirectory->getRelativePath($themeConfigFile)) ) { $iterator[$this->rootDirectory->getRelativePath($themeConfigFile)] = $this->rootDirectory->readFile( $this->rootDirectory->getRelativePath( $themeConfigFile ) ); } else { $designPath = $this->resolver->resolve( RulePool::TYPE_FILE, 'etc/view.xml', $this->area, $this->currentTheme ); if (file_exists($designPath)) { try { $designDom = new \DOMDocument(); $designDom->load($designPath); $iterator[$designPath] = $designDom->saveXML(); } catch (\Exception $e) { throw new \Magento\Framework\Exception\LocalizedException( new \Magento\Framework\Phrase('Could not read config file') ); } } } break; default: $iterator = $this->iteratorFactory->create([]); break; } return $iterator; } /** * {@inheritdoc} */ public function getParents($filename, $scope) { switch ($scope) { case 'global': $iterator = $this->moduleReader->getConfigurationFiles($filename)->toArray(); $designPath = $this->resolver->resolve( RulePool::TYPE_FILE, 'etc/view.xml', $this->area, $this->currentTheme ); if (file_exists($designPath)) { try { $iterator = $this->getParentConfigs($this->currentTheme, []); } catch (\Exception $e) { throw new \Magento\Framework\Exception\LocalizedException( new \Magento\Framework\Phrase('Could not read config file') ); } } break; default: $iterator = $this->iteratorFactory->create([]); break; } return $iterator; } /** * Recursively add parent theme configs * * @param ThemeInterface $theme * @param array $iterator * @param int $index * @return array */ private function getParentConfigs(ThemeInterface $theme, array $iterator, $index = 0) { if ($theme->getParentTheme() && $theme->isPhysical()) { $parentDesignPath = $this->resolver->resolve( RulePool::TYPE_FILE, 'etc/view.xml', $this->area, $theme->getParentTheme() ); $parentDom = new \DOMDocument(); $parentDom->load($parentDesignPath); $iterator[$index] = $parentDom->saveXML(); $iterator = $this->getParentConfigs($theme->getParentTheme(), $iterator, ++$index); } return $iterator; } }