Kernel : Linux vmw02p.internet-indee.net 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Tue Nov 16 14:42:35 UTC 2021 x86_64
Disable function : NONE
Safe mode : OFF
Host : firofichi.it | Server ip : 5.196.164.15 | Your ip : 3.145.111.116 | Time @ Server : 19 Oct 2024 04:12:41
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/webmaster/firofichi/www/vendor/magento/framework/Xml/

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

File Path : /home/webmaster/firofichi/www/vendor/magento/framework/Xml/Generator.php

<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Xml; class Generator { /** * This value is used to replace numeric keys while formatting data for xml output. */ const DEFAULT_ENTITY_ITEM_NAME = 'item'; /** * @var \DOMDocument|null */ protected $_dom = null; /** * @var \DOMDocument */ protected $_currentDom; /** * @var string */ protected $_defaultIndexedArrayItemName; /** * */ public function __construct() { $this->_dom = new \DOMDocument('1.0'); $this->_dom->formatOutput = true; $this->_currentDom = $this->_dom; return $this; } /** * @return \DOMDocument|null */ public function getDom() { return $this->_dom; } /** * @return \DOMDocument */ protected function _getCurrentDom() { return $this->_currentDom; } /** * @param \DOMDocument $node * @return $this */ protected function _setCurrentDom($node) { $this->_currentDom = $node; return $this; } /** * @param array $content * @return $this * @throws \DOMException * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ public function arrayToXml($content) { $parentNode = $this->_getCurrentDom(); if (!$content || !count($content)) { return $this; } foreach ($content as $_key => $_item) { $node = $this->getDom()->createElement(preg_replace('/[^\w-]/i', '', $_key)); $parentNode->appendChild($node); if (is_array($_item) && isset($_item['_attribute'])) { if (is_array($_item['_value'])) { if (isset($_item['_value'][0])) { foreach ($_item['_value'] as $_v) { $this->_setCurrentDom($node)->arrayToXml($_v); } } else { $this->_setCurrentDom($node)->arrayToXml($_item['_value']); } } else { $child = $this->getDom()->createTextNode($_item['_value']); $node->appendChild($child); } foreach ($_item['_attribute'] as $_attributeKey => $_attributeValue) { $node->setAttribute($_attributeKey, $_attributeValue); } } elseif (is_string($_item)) { $text = $this->getDom()->createTextNode($_item); $node->appendChild($text); } elseif (is_array($_item) && !isset($_item[0])) { $this->_setCurrentDom($node)->arrayToXml($_item); } elseif (is_array($_item) && isset($_item[0])) { foreach ($_item as $v) { $this->_setCurrentDom($node)->arrayToXml([$this->_getIndexedArrayItemName() => $v]); } } } return $this; } /** * @return string */ public function __toString() { return $this->getDom()->saveXML(); } /** * @param string $file * @return $this */ public function save($file) { $this->getDom()->save($file); return $this; } /** * Set xml node name to use instead of numeric index during numeric arrays conversion. * * @param string $name * @return $this */ public function setIndexedArrayItemName($name) { $this->_defaultIndexedArrayItemName = $name; return $this; } /** * Get xml node name to use instead of numeric index during numeric arrays conversion. * * @return string */ protected function _getIndexedArrayItemName() { return $this->_defaultIndexedArrayItemName ?? self::DEFAULT_ENTITY_ITEM_NAME; } }