aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/install/module/install_finish
diff options
context:
space:
mode:
authorTristan Darricau <tristan.darricau@sensiolabs.com>2016-02-16 00:06:52 +0100
committerTristan Darricau <tristan.darricau@sensiolabs.com>2016-02-16 00:06:52 +0100
commitd0ce6a18df2172a6e9baf1f1c2802efb30b25323 (patch)
tree478bf6c878bacec7c4e60832e0af7d106bd52e52 /phpBB/phpbb/install/module/install_finish
parent00d71d854cb844cba7755a2e8adfa4217dbc0ef0 (diff)
parent6debd9a1bea4ee69a06eac43cc6b2f856f601604 (diff)
downloadforums-d0ce6a18df2172a6e9baf1f1c2802efb30b25323.tar
forums-d0ce6a18df2172a6e9baf1f1c2802efb30b25323.tar.gz
forums-d0ce6a18df2172a6e9baf1f1c2802efb30b25323.tar.bz2
forums-d0ce6a18df2172a6e9baf1f1c2802efb30b25323.tar.xz
forums-d0ce6a18df2172a6e9baf1f1c2802efb30b25323.zip
Merge pull request #4171 from CHItA/ticket/14462
[ticket/14462] Try to prevent timeouts in the installer * CHItA/ticket/14462: [ticket/14462] Not show timeout messages in convertors [ticket/14462] Make timeout error translateable [ticket/14462] Update ordering in install db config [ticket/14462] Fix comments [ticket/14462] Fix tests [ticket/14462] Fix CS and typo [ticket/14462] Set instance of db driver for database access using global [ticket/14462] Fix installation in tests [ticket/14462] Refactor tasks to be more modular [ticket/14462] Further speed improvements
Diffstat (limited to 'phpBB/phpbb/install/module/install_finish')
-rw-r--r--phpBB/phpbb/install/module/install_finish/task/notify_user.php6
-rw-r--r--phpBB/phpbb/install/module/install_finish/task/populate_migrations.php24
2 files changed, 27 insertions, 3 deletions
diff --git a/phpBB/phpbb/install/module/install_finish/task/notify_user.php b/phpBB/phpbb/install/module/install_finish/task/notify_user.php
index 5268b85a42..292be57f5f 100644
--- a/phpBB/phpbb/install/module/install_finish/task/notify_user.php
+++ b/phpBB/phpbb/install/module/install_finish/task/notify_user.php
@@ -87,9 +87,13 @@ class notify_user extends \phpbb\install\task_base
$this->php_ext = $php_ext;
// We need to reload config for cases when it doesn't have all values
+ /** @var \phpbb\cache\driver\driver_interface $cache */
+ $cache = $container->get('cache.driver');
+ $cache->destroy('config');
+
$this->config = new db(
$container->get('dbal.conn'),
- $container->get('cache.driver'),
+ $cache,
$container->get_parameter('tables.config')
);
diff --git a/phpBB/phpbb/install/module/install_finish/task/populate_migrations.php b/phpBB/phpbb/install/module/install_finish/task/populate_migrations.php
index 8629d9aea3..34541c361e 100644
--- a/phpBB/phpbb/install/module/install_finish/task/populate_migrations.php
+++ b/phpBB/phpbb/install/module/install_finish/task/populate_migrations.php
@@ -13,12 +13,21 @@
namespace phpbb\install\module\install_finish\task;
+use phpbb\install\exception\resource_limit_reached_exception;
+use phpbb\install\helper\config;
+use phpbb\install\helper\container_factory;
+
/**
* Populates migrations
*/
class populate_migrations extends \phpbb\install\task_base
{
/**
+ * @var config
+ */
+ protected $config;
+
+ /**
* @var \phpbb\extension\manager
*/
protected $extension_manager;
@@ -31,10 +40,12 @@ class populate_migrations extends \phpbb\install\task_base
/**
* Constructor
*
- * @param \phpbb\install\helper\container_factory $container phpBB's DI contianer
+ * @param config $config Installer's config
+ * @param container_factory $container phpBB's DI contianer
*/
- public function __construct(\phpbb\install\helper\container_factory $container)
+ public function __construct(config $config, container_factory $container)
{
+ $this->config = $config;
$this->extension_manager = $container->get('ext.manager');
$this->migrator = $container->get('migrator');
@@ -46,6 +57,15 @@ class populate_migrations extends \phpbb\install\task_base
*/
public function run()
{
+ if (!$this->config->get('populate_migration_refresh_before', false))
+ {
+ if ($this->config->get_time_remaining() < 1)
+ {
+ $this->config->set('populate_migration_refresh_before', true);
+ throw new resource_limit_reached_exception();
+ }
+ }
+
$finder = $this->extension_manager->get_finder();
$migrations = $finder