Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
RequestDataConverter.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Setup\Model;
7 
8 use Magento\Framework\Config\ConfigOptionsListConstants as SetupConfigOptionsList;
9 use Magento\Backend\Setup\ConfigOptionsList as BackendConfigOptionsList;
12 
17 {
24  public function convert(array $source)
25  {
26  $result = array_merge(
27  $this->convertDeploymentConfigForm($source),
28  $this->convertUserConfigForm($source),
29  $this->convertAdminUserForm($source)
30  );
31  return $result;
32  }
33 
42  private function convertDeploymentConfigForm(array $source)
43  {
44  $result = [];
45  $result[SetupConfigOptionsList::INPUT_KEY_DB_HOST] = isset($source['db']['host']) ? $source['db']['host'] : '';
46  $result[SetupConfigOptionsList::INPUT_KEY_DB_NAME] = isset($source['db']['name']) ? $source['db']['name'] : '';
47  $result[SetupConfigOptionsList::INPUT_KEY_DB_USER] = isset($source['db']['user']) ? $source['db']['user'] : '';
48  $result[SetupConfigOptionsList::INPUT_KEY_DB_PASSWORD] =
49  isset($source['db']['password']) ? $source['db']['password'] : '';
50  $result[SetupConfigOptionsList::INPUT_KEY_DB_PREFIX] =
51  isset($source['db']['tablePrefix']) ? $source['db']['tablePrefix'] : '';
52  $result[BackendConfigOptionsList::INPUT_KEY_BACKEND_FRONTNAME] = isset($source['config']['address']['admin'])
53  ? $source['config']['address']['admin'] : '';
54  $result[SetupConfigOptionsList::INPUT_KEY_ENCRYPTION_KEY] = isset($source['config']['encrypt']['key'])
55  ? $source['config']['encrypt']['key'] : null;
56  $result[SetupConfigOptionsList::INPUT_KEY_SESSION_SAVE] = isset($source['config']['sessionSave']['type'])
57  ? $source['config']['sessionSave']['type'] : SetupConfigOptionsList::SESSION_SAVE_FILES;
58  $result[Installer::ENABLE_MODULES] = isset($source['store']['selectedModules'])
59  ? implode(',', $source['store']['selectedModules']) : '';
60  $result[Installer::DISABLE_MODULES] = isset($source['store']['allModules'])
61  ? implode(',', array_diff($source['store']['allModules'], $source['store']['selectedModules'])) : '';
62  return $result;
63  }
64 
73  private function convertUserConfigForm(array $source)
74  {
75  $result = [];
76  if (isset($source['config']['address']['base_url']) && !empty($source['config']['address']['base_url'])) {
77  $result[UserConfig::KEY_BASE_URL] = $source['config']['address']['base_url'];
78  }
79  $result[UserConfig::KEY_USE_SEF_URL] = isset($source['config']['rewrites']['allowed'])
80  ? $source['config']['rewrites']['allowed'] : '';
81  $result[UserConfig::KEY_IS_SECURE] = isset($source['config']['https']['front'])
82  ? $source['config']['https']['front'] : '';
83  $result[UserConfig::KEY_IS_SECURE_ADMIN] = isset($source['config']['https']['admin'])
84  ? $source['config']['https']['admin'] : '';
85  $result[UserConfig::KEY_BASE_URL_SECURE] = (isset($source['config']['https']['front'])
86  || isset($source['config']['https']['admin']))
87  ? $source['config']['https']['text'] : '';
88  $result[UserConfig::KEY_LANGUAGE] = isset($source['store']['language'])
89  ? $source['store']['language'] : '';
90  $result[UserConfig::KEY_TIMEZONE] = isset($source['store']['timezone'])
91  ? $source['store']['timezone'] : '';
92  $result[UserConfig::KEY_CURRENCY] = isset($source['store']['currency'])
93  ? $source['store']['currency'] : '';
94  $result[InstallCommand::INPUT_KEY_USE_SAMPLE_DATA] = isset($source['store']['useSampleData'])
95  ? $source['store']['useSampleData'] : '';
96  $result[InstallCommand::INPUT_KEY_CLEANUP_DB] = isset($source['store']['cleanUpDatabase'])
97  ? $source['store']['cleanUpDatabase'] : '';
98  return $result;
99  }
100 
107  private function convertAdminUserForm(array $source)
108  {
109  $result = [];
110  $result[AdminAccount::KEY_USER] = isset($source['admin']['username']) ? $source['admin']['username'] : '';
111  $result[AdminAccount::KEY_PASSWORD] = isset($source['admin']['password']) ? $source['admin']['password'] : '';
112  $result[AdminAccount::KEY_EMAIL] = isset($source['admin']['email']) ? $source['admin']['email'] : '';
115  return $result;
116  }
117 }
$source
Definition: source.php:23