diff options
| author | Tristan Darricau <tristan.darricau@sensiolabs.com> | 2015-10-19 14:43:48 +0200 |
|---|---|---|
| committer | Tristan Darricau <tristan.darricau@sensiolabs.com> | 2015-10-19 14:43:48 +0200 |
| commit | 5b3829aab45d4eb53207c1153fc7c71c72f0f83c (patch) | |
| tree | ceb2251546de94d432fa6160e2e6c80a8a2b50fb /phpBB/phpbb/install/helper/config.php | |
| parent | 9ea44abf38f81c696163f45b074c87175c240b69 (diff) | |
| parent | d45f146814a1709a16fb8e4951374242d50b6aed (diff) | |
| download | forums-5b3829aab45d4eb53207c1153fc7c71c72f0f83c.tar forums-5b3829aab45d4eb53207c1153fc7c71c72f0f83c.tar.gz forums-5b3829aab45d4eb53207c1153fc7c71c72f0f83c.tar.bz2 forums-5b3829aab45d4eb53207c1153fc7c71c72f0f83c.tar.xz forums-5b3829aab45d4eb53207c1153fc7c71c72f0f83c.zip | |
Merge pull request #3794 from CHItA/ticket/14039
[ticket/14039] Refactoring the updater
* CHItA/ticket/14039:
[ticket/14039] Use update helper to include files in container factory
[ticket/14039] Fix inclusion logic in update helper
[ticket/14039] Fix folder creation and deleted binary file issue
[ticket/14039] Fix file check for deleted files
[ticket/14039] Fix acp link
[ticket/14039] Fix ACP link generation
[ticket/14039] Fix constants for the updater
[ticket/14039] Include phpBB constants on startup
[ticket/14039] Fix migrator's language calls
[ticket/14039] Fix misunderstandable comment in the archive file updater
[ticket/14039] Use shared language service in the container factory
[ticket/14039] Fix filesystem file updater's mkdir usage
[ticket/14039] Only show log container when it has content
[ticket/14039] Use compatibility globals from the update package
[ticket/14039] Use http_exception instead of die()
[ticket/14039] Fix T_TEMPLATE_PATH constant
[ticket/14039] Fix language constants and comments
[ticket/14039] Revamp updater
Diffstat (limited to 'phpBB/phpbb/install/helper/config.php')
| -rw-r--r-- | phpBB/phpbb/install/helper/config.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/phpBB/phpbb/install/helper/config.php b/phpBB/phpbb/install/helper/config.php index d5653f1924..0f0840f470 100644 --- a/phpBB/phpbb/install/helper/config.php +++ b/phpBB/phpbb/install/helper/config.php @@ -99,6 +99,8 @@ class config 'last_task_name' => '', // Stores the service name of the latest finished task 'max_task_progress' => 0, 'current_task_progress' => 0, + '_restart_points' => array(), + 'use_restart_point' => false, ); $this->install_config_file = $this->phpbb_root_path . 'store/install_config.php'; @@ -240,6 +242,56 @@ class config } /** + * Creates a progress restart point + * + * Restart points can be used to repeat certain tasks periodically. + * You need to call this method from the first task you want to repeat. + * + * @param string $name Name of the restart point + */ + public function create_progress_restart_point($name) + { + $tmp_progress_data = $this->progress_data; + unset($tmp_progress_data['_restart_points']); + + $this->progress_data['_restart_points'][$name] = $tmp_progress_data; + } + + /** + * Set restart point to continue from + * + * @param string $name Name of the restart point + * + * @return bool Returns false if the restart point name does not exist, otherwise true + */ + public function jump_to_restart_point($name) + { + if (!isset($this->progress_data['_restart_points'][$name]) || empty($this->progress_data['_restart_points'][$name])) + { + return false; + } + + foreach ($this->progress_data['_restart_points'][$name] as $key => $value) + { + $this->progress_data[$key] = $value; + } + + return true; + } + + /** + * Returns whether a restart point with a given name exists or not + * + * @param string $name Name of the restart point + * + * @return bool + */ + public function has_restart_point($name) + { + return isset($this->progress_data['_restart_points'][$name]); + } + + /** * Dumps install configuration to disk */ public function save_config() |
