diff options
| author | javiexin <javiexin@gmail.com> | 2017-03-09 16:12:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-09 16:12:25 +0100 |
| commit | bd12504f6cf03b36821a5cea2bf77a419496dcdb (patch) | |
| tree | d30cc3506e1bbdc284dc7cca910c5dac6b927ae0 /phpBB/phpbb/install/module/requirements/abstract_requirements_module.php | |
| parent | 96a90d3f81c1fcce3834ee72b7d1b9f76aa9354c (diff) | |
| parent | 3e9f12d12d7dbdd2cee39425e81b5fdf66fcfbc8 (diff) | |
| download | forums-bd12504f6cf03b36821a5cea2bf77a419496dcdb.tar forums-bd12504f6cf03b36821a5cea2bf77a419496dcdb.tar.gz forums-bd12504f6cf03b36821a5cea2bf77a419496dcdb.tar.bz2 forums-bd12504f6cf03b36821a5cea2bf77a419496dcdb.tar.xz forums-bd12504f6cf03b36821a5cea2bf77a419496dcdb.zip | |
Merge branch '3.2.x' into ticket/15068
Diffstat (limited to 'phpBB/phpbb/install/module/requirements/abstract_requirements_module.php')
| -rw-r--r-- | phpBB/phpbb/install/module/requirements/abstract_requirements_module.php | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/phpBB/phpbb/install/module/requirements/abstract_requirements_module.php b/phpBB/phpbb/install/module/requirements/abstract_requirements_module.php new file mode 100644 index 0000000000..121b4ff4e5 --- /dev/null +++ b/phpBB/phpbb/install/module/requirements/abstract_requirements_module.php @@ -0,0 +1,71 @@ +<?php +/** + * + * This file is part of the phpBB Forum Software package. + * + * @copyright (c) phpBB Limited <https://www.phpbb.com> + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ + +namespace phpbb\install\module\requirements; + +use phpbb\install\exception\user_interaction_required_exception; +use phpbb\install\module_base; + +/** + * Base class for requirements installer module + */ +abstract class abstract_requirements_module extends module_base +{ + public function run() + { + $tests_passed = true; + foreach ($this->task_collection as $name => $task) + { + // Check if we can run the task + if (!$task->is_essential() && !$task->check_requirements()) + { + continue; + } + + if ($this->allow_progress_bar) + { + $this->install_config->increment_current_task_progress(); + } + + $test_result = $task->run(); + $tests_passed = ($tests_passed) ? $test_result : false; + } + + // Module finished, so clear task progress + $this->install_config->set_finished_task(0); + + // Check if tests have failed + if (!$tests_passed) + { + // If requirements are not met, exit form installer + // Set up UI for retesting + $this->iohandler->add_user_form_group('', array( + 'install' => array( + 'label' => 'RETEST_REQUIREMENTS', + 'type' => 'submit', + ), + )); + + // Send the response and quit + throw new user_interaction_required_exception(); + } + } + + /** + * {@inheritdoc} + */ + public function get_step_count() + { + return 0; + } +} |
