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 06:40:17
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/dev2.destoffenstraat.com/vendor-1/magento/framework/View/TemplateEngine/Xhtml/

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

File Path : /home/dev2.destoffenstraat.com/vendor-1/magento/framework/View/TemplateEngine/Xhtml/Compiler.php

<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\View\TemplateEngine\Xhtml; use Magento\Framework\DataObject; use Magento\Framework\View\TemplateEngine\Xhtml\Compiler\AttributeInterface; use Magento\Framework\View\TemplateEngine\Xhtml\Compiler\CdataInterface; use Magento\Framework\View\TemplateEngine\Xhtml\Compiler\CommentInterface; use Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Element\ElementInterface; use Magento\Framework\View\TemplateEngine\Xhtml\Compiler\TextInterface; /** * Class Compiler */ class Compiler implements CompilerInterface { /** * @var TextInterface */ protected $compilerText; /** * @var AttributeInterface */ protected $compilerAttribute; /** * @var CdataInterface */ protected $compilerCdata; /** * @var CommentInterface */ protected $compilerComment; /** * @var ElementInterface[] */ protected $elementCompilers; /** * Postprocessing data * * @var array */ protected $data; /** * Constructor * * @param TextInterface $compilerText * @param AttributeInterface $compilerAttribute * @param AttributeInterface|CdataInterface $compilerCdata * @param CommentInterface $compilerComment * @param ElementInterface[] $elementCompilers */ public function __construct( TextInterface $compilerText, AttributeInterface $compilerAttribute, CdataInterface $compilerCdata, CommentInterface $compilerComment, array $elementCompilers ) { $this->compilerText = $compilerText; $this->compilerAttribute = $compilerAttribute; $this->compilerCdata = $compilerCdata; $this->compilerComment = $compilerComment; $this->elementCompilers = $elementCompilers; } /** * The compilation of the template and filling in the data * * @param \DOMNode $node * @param DataObject $processedObject * @param DataObject $context * @return void */ public function compile(\DOMNode $node, DataObject $processedObject, DataObject $context) { switch ($node->nodeType) { case XML_TEXT_NODE: $this->compilerText->compile($node, $processedObject); break; case XML_CDATA_SECTION_NODE: $this->compilerCdata->compile($node, $processedObject); break; case XML_COMMENT_NODE: $this->compilerComment->compile($node, $processedObject); break; default: /** @var \DomElement $node */ if ($node->hasAttributes()) { foreach ($node->attributes as $attribute) { $this->compilerAttribute->compile($attribute, $processedObject); } } $compiler = $this->getElementCompiler($node->nodeName); if (null !== $compiler) { $compiler->compile($this, $node, $processedObject, $context); } elseif ($node->hasChildNodes()) { foreach ($this->getChildNodes($node) as $child) { $this->compile($child, $processedObject, $context); } } } } /** * Run postprocessing contents * * @param string $content * @return string */ public function postprocessing($content) { $patternTag = preg_quote(CompilerInterface::PATTERN_TAG); return preg_replace_callback( '#' . $patternTag . '(.+?)' . $patternTag . '#', function ($match) { return $this->data[$match[1]] ?? ''; }, $content ); } /** * Set postprocessing data * * @param string $key * @param string $content * @return void */ public function setPostprocessingData($key, $content) { $this->data[$key] = $content; } /** * Get child nodes * * @param \DOMElement $node * @return \DOMElement[] */ protected function getChildNodes(\DOMElement $node) { $childNodes = []; foreach ($node->childNodes as $child) { $childNodes[] = $child; } return $childNodes; } /** * Get element compiler by name * * @param string $name * @return ElementInterface */ protected function getElementCompiler($name) { if (isset($this->elementCompilers[$name])) { return $this->elementCompilers[$name]; } return null; } }