aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorTristan Darricau <tristan.darricau@sensiolabs.com>2016-02-07 16:03:52 +0100
committerTristan Darricau <tristan.darricau@sensiolabs.com>2016-02-07 16:03:52 +0100
commitf258aebc593cfceb90369741ed8ab03581d689c3 (patch)
treebe59bd699ed045ce31c332f5cdf775914ce1309a /phpBB
parent39f5aaa5265937334ab3c97c5bec7dca2ebb79ee (diff)
parentad7b3ed17865b4ac91df24812fce4a9192f44fa1 (diff)
downloadforums-f258aebc593cfceb90369741ed8ab03581d689c3.tar
forums-f258aebc593cfceb90369741ed8ab03581d689c3.tar.gz
forums-f258aebc593cfceb90369741ed8ab03581d689c3.tar.bz2
forums-f258aebc593cfceb90369741ed8ab03581d689c3.tar.xz
forums-f258aebc593cfceb90369741ed8ab03581d689c3.zip
Merge pull request #4161 from CHItA/ticket/14312
[ticket/14312] Enable running database update only * CHItA/ticket/14312: [ticket/14312] Allow updating without having the update directory [ticket/14312] Push migration error messages to the user
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/config/installer/container/services_update_requirements.yml1
-rw-r--r--phpBB/phpbb/install/module/obtain_data/task/obtain_update_settings.php37
-rw-r--r--phpBB/phpbb/install/module/requirements/task/check_update.php16
-rw-r--r--phpBB/phpbb/install/module/update_database/task/update.php1
4 files changed, 40 insertions, 15 deletions
diff --git a/phpBB/config/installer/container/services_update_requirements.yml b/phpBB/config/installer/container/services_update_requirements.yml
index c5272ef549..6b851de78b 100644
--- a/phpBB/config/installer/container/services_update_requirements.yml
+++ b/phpBB/config/installer/container/services_update_requirements.yml
@@ -15,6 +15,7 @@ services:
arguments:
- '@installer.helper.container_factory'
- '@filesystem'
+ - '@installer.helper.config'
- '@installer.helper.iohandler'
- '@installer.helper.update_helper'
- '%core.root_path%'
diff --git a/phpBB/phpbb/install/module/obtain_data/task/obtain_update_settings.php b/phpBB/phpbb/install/module/obtain_data/task/obtain_update_settings.php
index 6a98721e77..be6404dcd8 100644
--- a/phpBB/phpbb/install/module/obtain_data/task/obtain_update_settings.php
+++ b/phpBB/phpbb/install/module/obtain_data/task/obtain_update_settings.php
@@ -57,22 +57,35 @@ class obtain_update_settings extends task_base
}
else
{
+ if ($this->installer_config->get('disable_filesystem_update', false))
+ {
+ $options[] = array(
+ 'value' => 'db_only',
+ 'label' => 'UPDATE_TYPE_DB_ONLY',
+ 'selected' => true,
+ );
+ }
+ else
+ {
+ $options = array(
+ array(
+ 'value' => 'all',
+ 'label' => 'UPDATE_TYPE_ALL',
+ 'selected' => true,
+ ),
+ array(
+ 'value' => 'db_only',
+ 'label' => 'UPDATE_TYPE_DB_ONLY',
+ 'selected' => false,
+ ),
+ );
+ }
+
$this->iohandler->add_user_form_group('UPDATE_TYPE', array(
'update_type' => array(
'label' => 'UPDATE_TYPE',
'type' => 'radio',
- 'options' => array(
- array(
- 'value' => 'all',
- 'label' => 'UPDATE_TYPE_ALL',
- 'selected' => true,
- ),
- array(
- 'value' => 'db_only',
- 'label' => 'UPDATE_TYPE_DB_ONLY',
- 'selected' => false,
- ),
- ),
+ 'options' => $options,
),
'submit_update' => array(
'label' => 'SUBMIT',
diff --git a/phpBB/phpbb/install/module/requirements/task/check_update.php b/phpBB/phpbb/install/module/requirements/task/check_update.php
index c986c76810..4e9124ff47 100644
--- a/phpBB/phpbb/install/module/requirements/task/check_update.php
+++ b/phpBB/phpbb/install/module/requirements/task/check_update.php
@@ -14,6 +14,7 @@
namespace phpbb\install\module\requirements\task;
use phpbb\filesystem\filesystem;
+use phpbb\install\helper\config;
use phpbb\install\helper\container_factory;
use phpbb\install\helper\iohandler\iohandler_interface;
use phpbb\install\helper\update_helper;
@@ -35,6 +36,11 @@ class check_update extends task_base
protected $filesystem;
/**
+ * @var config
+ */
+ protected $installer_config;
+
+ /**
* @var iohandler_interface
*/
protected $iohandler;
@@ -69,14 +75,16 @@ class check_update extends task_base
*
* @param container_factory $container
* @param filesystem $filesystem
+ * @param config $config
* @param iohandler_interface $iohandler
* @param update_helper $update_helper
* @param string $phpbb_root_path
* @param string $php_ext
*/
- public function __construct(container_factory $container, filesystem $filesystem, iohandler_interface $iohandler, update_helper $update_helper, $phpbb_root_path, $php_ext)
+ public function __construct(container_factory $container, filesystem $filesystem, config $config, iohandler_interface $iohandler, update_helper $update_helper, $phpbb_root_path, $php_ext)
{
$this->filesystem = $filesystem;
+ $this->installer_config = $config;
$this->iohandler = $iohandler;
$this->update_helper = $update_helper;
$this->phpbb_root_path = $phpbb_root_path;
@@ -117,8 +125,10 @@ class check_update extends task_base
$this->iohandler->add_error_message('UPDATE_FILES_NOT_FOUND');
$this->set_test_passed(false);
- // If there are no update files, we can't check the version
- return false;
+ // If there are no update files, we can't check the version etc
+ // However, we can let the users run migrations if they really want to...
+ $this->installer_config->set('disable_filesystem_update', true);
+ return true;
}
// Recover version numbers
diff --git a/phpBB/phpbb/install/module/update_database/task/update.php b/phpBB/phpbb/install/module/update_database/task/update.php
index 4b2baf2c23..aa44d403dd 100644
--- a/phpBB/phpbb/install/module/update_database/task/update.php
+++ b/phpBB/phpbb/install/module/update_database/task/update.php
@@ -158,6 +158,7 @@ class update extends task_base
array_unshift($msg, $e->getMessage());
$this->iohandler->add_error_message($msg);
+ $this->iohandler->send_response();
throw new user_interaction_required_exception();
}