![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-backend/Setup/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Backend\Setup; use Magento\Framework\Config\Data\ConfigData; use Magento\Framework\Config\File\ConfigFilePool; use Magento\Framework\Setup\ConfigOptionsListInterface; use Magento\Framework\Setup\Option\TextConfigOption; use Magento\Framework\App\DeploymentConfig; use \Magento\Framework\Setup\BackendFrontnameGenerator; /** * Deployment configuration options needed for Backend module * */ class ConfigOptionsList implements ConfigOptionsListInterface { /** * Input key for the options */ const INPUT_KEY_BACKEND_FRONTNAME = 'backend-frontname'; /** * Path to the values in the deployment config */ const CONFIG_PATH_BACKEND_FRONTNAME = 'backend/frontName'; /** * {@inheritdoc} */ public function getOptions() { return [ new TextConfigOption( self::INPUT_KEY_BACKEND_FRONTNAME, TextConfigOption::FRONTEND_WIZARD_TEXT, self::CONFIG_PATH_BACKEND_FRONTNAME, 'Backend frontname (will be autogenerated if missing)' ) ]; } /** * {@inheritdoc} * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function createConfig(array $options, DeploymentConfig $deploymentConfig) { $configData = new ConfigData(ConfigFilePool::APP_ENV); if (!$deploymentConfig->get(self::CONFIG_PATH_BACKEND_FRONTNAME) && !isset($options[self::INPUT_KEY_BACKEND_FRONTNAME])) { $options[self::INPUT_KEY_BACKEND_FRONTNAME] = BackendFrontnameGenerator::generate(); } if (isset($options[self::INPUT_KEY_BACKEND_FRONTNAME])) { $configData->set(self::CONFIG_PATH_BACKEND_FRONTNAME, $options[self::INPUT_KEY_BACKEND_FRONTNAME]); } return [$configData]; } /** * {@inheritdoc} */ public function validate(array $options, DeploymentConfig $deploymentConfig) { $errors = []; if (isset($options[self::INPUT_KEY_BACKEND_FRONTNAME]) && !preg_match('/^[a-zA-Z0-9_]+$/', $options[self::INPUT_KEY_BACKEND_FRONTNAME]) ) { $errors[] = "Invalid backend frontname '{$options[self::INPUT_KEY_BACKEND_FRONTNAME]}'"; } return $errors; } }