aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorNicofuma <github@nicofuma.fr>2015-05-10 23:54:49 +0200
committerNicofuma <github@nicofuma.fr>2015-05-14 23:04:23 +0200
commit02af9385a13543f3f6bd9cb1500fd8508bcd35ac (patch)
treef975127f8aabaf1777589240a248ffefee1429f7 /phpBB
parent549fe66d90eed1d6a4fee6f5f706c73455d73596 (diff)
downloadforums-02af9385a13543f3f6bd9cb1500fd8508bcd35ac.tar
forums-02af9385a13543f3f6bd9cb1500fd8508bcd35ac.tar.gz
forums-02af9385a13543f3f6bd9cb1500fd8508bcd35ac.tar.bz2
forums-02af9385a13543f3f6bd9cb1500fd8508bcd35ac.tar.xz
forums-02af9385a13543f3f6bd9cb1500fd8508bcd35ac.zip
[ticket/13770] Fix tests
PHPBB3-13770
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/common.php10
-rw-r--r--phpBB/install/index.php3
-rw-r--r--phpBB/phpbb/di/container_builder.php83
3 files changed, 53 insertions, 43 deletions
diff --git a/phpBB/common.php b/phpBB/common.php
index 70fb34331c..0b898d9553 100644
--- a/phpBB/common.php
+++ b/phpBB/common.php
@@ -96,21 +96,19 @@ set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handle
$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
$phpbb_class_loader_ext->register();
-\Symfony\Component\Debug\Debug::enable(E_ALL);
-
// Set up container
-/*try
-{*/
+try
+{
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_root_path, $phpEx);
$phpbb_container = $phpbb_container_builder->with_config($phpbb_config_php_file)->get_container();
-/*}
+}
catch (InvalidArgumentException $e)
{
trigger_error(
'The requested environment ' . PHPBB_ENVIRONMENT . ' is not available.',
E_USER_ERROR
);
-}*/
+}
$phpbb_class_loader->set_cache($phpbb_container->get('cache.driver'));
$phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));
diff --git a/phpBB/install/index.php b/phpBB/install/index.php
index f935e3d08c..3559a10971 100644
--- a/phpBB/install/index.php
+++ b/phpBB/install/index.php
@@ -117,11 +117,10 @@ $phpbb_class_loader_ext->register();
// Set up container
$phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx);
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_root_path, $phpEx);
-$phpbb_container = $phpbb_container_builder
+$phpbb_container_builder
->without_extensions()
->without_cache()
->without_compiled_container()
- ->get_container()
;
$other_config_path = $phpbb_root_path . 'install/update/new/config/';
diff --git a/phpBB/phpbb/di/container_builder.php b/phpBB/phpbb/di/container_builder.php
index 3886bfdd5d..9f2e860932 100644
--- a/phpBB/phpbb/di/container_builder.php
+++ b/phpBB/phpbb/di/container_builder.php
@@ -21,6 +21,7 @@ use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass;
+use Symfony\Component\Filesystem\Exception\IOException;
use Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass;
class container_builder
@@ -130,50 +131,55 @@ class container_builder
{
require($config_cache->getPath());
$this->container = new \phpbb_cache_container();
-
- return $this->container;
}
-
- $this->container_extensions = array(new extension\core($this->get_config_path()));
-
- if ($this->use_extensions)
+ else
{
- $this->load_extensions();
- }
+ $this->container_extensions = array(new extension\core($this->get_config_path()));
- // Inject the config
- if ($this->config_php_file)
- {
- $this->container_extensions[] = new extension\config($this->config_php_file);
- }
+ if ($this->use_extensions)
+ {
+ $this->load_extensions();
+ }
- $this->container = $this->create_container($this->container_extensions);
+ // Inject the config
+ if ($this->config_php_file)
+ {
+ $this->container_extensions[] = new extension\config($this->config_php_file);
+ }
- // Easy collections through tags
- $this->container->addCompilerPass(new pass\collection_pass());
+ $this->container = $this->create_container($this->container_extensions);
- // Event listeners "phpBB style"
- $this->container->addCompilerPass(new RegisterListenersPass('dispatcher', 'event.listener_listener', 'event.listener'));
+ // Easy collections through tags
+ $this->container->addCompilerPass(new pass\collection_pass());
- // Event listeners "Symfony style"
- $this->container->addCompilerPass(new RegisterListenersPass('dispatcher'));
+ // Event listeners "phpBB style"
+ $this->container->addCompilerPass(new RegisterListenersPass('dispatcher', 'event.listener_listener', 'event.listener'));
- $filesystem = new filesystem();
- $loader = new YamlFileLoader($this->container, new FileLocator($filesystem->realpath($this->get_config_path())));
- $loader->load($this->container->getParameter('core.environment') . '/config.yml');
+ // Event listeners "Symfony style"
+ $this->container->addCompilerPass(new RegisterListenersPass('dispatcher'));
- $this->inject_custom_parameters();
+ $filesystem = new filesystem();
+ $loader = new YamlFileLoader($this->container, new FileLocator($filesystem->realpath($this->get_config_path())));
+ $loader->load($this->container->getParameter('core.environment') . '/config.yml');
- if ($this->compile_container)
- {
- $this->container->compile();
+ $this->inject_custom_parameters();
- if ($this->use_cache)
+ if ($this->compile_container)
{
- $this->dump_container($config_cache);
+ $this->container->compile();
+
+ if ($this->use_cache)
+ {
+ $this->dump_container($config_cache);
+ }
}
}
+ if ($this->compile_container && $this->config_php_file)
+ {
+ $this->container->set('config.php', $this->config_php_file);
+ }
+
return $this->container;
}
@@ -394,13 +400,20 @@ class container_builder
*/
protected function dump_container($cache)
{
- $dumper = new PhpDumper($this->container);
- $cached_container_dump = $dumper->dump(array(
- 'class' => 'phpbb_cache_container',
- 'base_class' => 'Symfony\\Component\\DependencyInjection\\ContainerBuilder',
- ));
+ try
+ {
+ $dumper = new PhpDumper($this->container);
+ $cached_container_dump = $dumper->dump(array(
+ 'class' => 'phpbb_cache_container',
+ 'base_class' => 'Symfony\\Component\\DependencyInjection\\ContainerBuilder',
+ ));
- $cache->write($cached_container_dump, $this->container->getResources());
+ $cache->write($cached_container_dump, $this->container->getResources());
+ }
+ catch (IOException $e)
+ {
+ // Don't fail if the cache isn't writeable
+ }
}
/**