diff --git a/phpBB/includes/acp/acp_extensions.php b/phpBB/includes/acp/acp_extensions.php index aaac3b04fd..69a1063e4d 100644 --- a/phpBB/includes/acp/acp_extensions.php +++ b/phpBB/includes/acp/acp_extensions.php @@ -605,7 +605,7 @@ class acp_extensions $this->config->set('exts_composer_enable_on_install', $enable_on_install); $this->config->set('exts_composer_purge_on_remove', $purge_on_remove); - $this->config->set('exts_composer_repositories', serialize($repositories)); + $this->config->set('exts_composer_repositories', json_encode($repositories, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)); if (!$this->config['exts_composer_packagist'] && $enable_packagist) { @@ -651,7 +651,7 @@ class acp_extensions 'enable_packagist' => $this->config['exts_composer_packagist'], 'enable_on_install' => $this->config['exts_composer_enable_on_install'], 'purge_on_remove' => $this->config['exts_composer_purge_on_remove'], - 'repositories' => unserialize($this->config['exts_composer_repositories']), + 'repositories' => json_decode($this->config['exts_composer_repositories'], true), ]); $this->template->assign_var('enabled', $manager->check_requirements()); diff --git a/phpBB/phpbb/composer/installer.php b/phpBB/phpbb/composer/installer.php index 9a02060316..9bfff31337 100644 --- a/phpBB/phpbb/composer/installer.php +++ b/phpBB/phpbb/composer/installer.php @@ -77,7 +77,7 @@ class installer { if ($config) { - $repositories = unserialize($config['exts_composer_repositories']); + $repositories = json_decode($config['exts_composer_repositories'], true); if (!is_array($repositories) && !empty($repositories)) { @@ -606,7 +606,7 @@ class installer * * @param array $repositories An array of composer repositories to use */ - public function set_repositories($repositories) + public function set_repositories(array $repositories) { $this->repositories = $repositories; } diff --git a/phpBB/phpbb/db/migration/data/v320/extensions_composer.php b/phpBB/phpbb/db/migration/data/v320/extensions_composer.php index 71456afd49..438c412158 100644 --- a/phpBB/phpbb/db/migration/data/v320/extensions_composer.php +++ b/phpBB/phpbb/db/migration/data/v320/extensions_composer.php @@ -18,7 +18,7 @@ class extensions_composer extends \phpbb\db\migration\migration public function update_data() { return array( - array('config.add', array('exts_composer_repositories', serialize([]))), + array('config.add', array('exts_composer_repositories', json_encode([], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES))), array('config.add', array('exts_composer_packagist', true)), array('config.add', array('exts_composer_json_file', 'composer-ext.json')), array('config.add', array('exts_composer_vendor_dir', 'vendor-ext/')),