From e7804ecce4511d8befdcc28f6705c3589c47c878 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Fri, 27 Jun 2014 21:02:20 +0200 Subject: [ticket/12775] Update phpBB/install/database_update.php PHPBB3-12775 --- phpBB/phpbb/config_php.php | 23 +++++++++++++++++++++-- phpBB/phpbb/di/container_factory.php | 25 +++++++++++++++++++++++-- 2 files changed, 44 insertions(+), 4 deletions(-) (limited to 'phpBB/phpbb') diff --git a/phpBB/phpbb/config_php.php b/phpBB/phpbb/config_php.php index d502088897..31a84662fa 100644 --- a/phpBB/phpbb/config_php.php +++ b/phpBB/phpbb/config_php.php @@ -35,6 +35,13 @@ class config_php */ protected $config_data = array(); + /** + * The path to the config file. (Defaults: $phpbb_root_path . 'config.' . $php_ext) + * + * @var string + */ + protected $config_file; + /** * Constructor * @@ -45,6 +52,18 @@ class config_php { $this->phpbb_root_path = $phpbb_root_path; $this->php_ext = $php_ext; + $this->config_file = $this->phpbb_root_path . 'config.' . $this->php_ext; + } + + /** + * Set the path to the config file. + * + * @param string $config_file + */ + public function set_config_file($config_file) + { + $this->config_file = $config_file; + $this->config_loaded = false; } /** @@ -87,12 +106,12 @@ class config_php { if (!$this->config_loaded) { - if (file_exists($this->phpbb_root_path . 'config.' . $this->php_ext)) + if (file_exists($this->config_file)) { $defined_vars = null; $defined_vars = get_defined_vars(); - require($this->phpbb_root_path . 'config.' . $this->php_ext); + require($this->config_file); $this->config_data = array_diff_key(get_defined_vars(), $defined_vars); $this->config_loaded = true; diff --git a/phpBB/phpbb/di/container_factory.php b/phpBB/phpbb/di/container_factory.php index dd348d8eee..548bbf153f 100644 --- a/phpBB/phpbb/di/container_factory.php +++ b/phpBB/phpbb/di/container_factory.php @@ -70,6 +70,13 @@ class container_factory */ protected $use_custom_pass = true; + /** + * Indicates if the kernel compile pass have to be used (default to true). + * + * @var bool + */ + protected $use_kernel_pass = true; + /** * Indicates if a dump container should be used (default to true). * @@ -143,7 +150,11 @@ class container_factory if ($this->use_custom_pass) { $this->container->addCompilerPass(new \phpbb\di\pass\collection_pass()); - $this->container->addCompilerPass(new \phpbb\di\pass\kernel_pass()); + + if ($this->use_kernel_pass) + { + $this->container->addCompilerPass(new \phpbb\di\pass\kernel_pass()); + } } $this->inject_custom_parameters(); @@ -179,11 +190,21 @@ class container_factory * * @param bool $use_custom_pass */ - public function set_use_customPass($use_custom_pass) + public function set_use_custom_pass($use_custom_pass) { $this->use_custom_pass = $use_custom_pass; } + /** + * Set if the kernel compile pass have to be used. + * + * @param bool $use_kernel_pass + */ + public function set_use_kernel_pass($use_kernel_pass) + { + $this->use_kernel_pass = $use_kernel_pass; + } + /** * Set if the php config file should be injecting into the container. * -- cgit v1.2.1