diff --git a/phpBB/config/default/container/services_routing.yml b/phpBB/config/default/container/services_routing.yml index cb397eab85..858556eb40 100644 --- a/phpBB/config/default/container/services_routing.yml +++ b/phpBB/config/default/container/services_routing.yml @@ -7,6 +7,7 @@ services: - '@routing.delegated_loader' - '%core.php_ext%' - '%core.cache_dir%' + - '%debug.url_generator%' router.listener: class: Symfony\Component\HttpKernel\EventListener\RouterListener diff --git a/phpBB/config/development/config.yml b/phpBB/config/development/config.yml index e3eb537806..2b07dc5136 100644 --- a/phpBB/config/development/config.yml +++ b/phpBB/config/development/config.yml @@ -11,6 +11,7 @@ core: sql_explain: true memory: true show_errors: true + url_generator: true twig: debug: true diff --git a/phpBB/phpbb/di/extension/container_configuration.php b/phpBB/phpbb/di/extension/container_configuration.php index a1e0a4c297..0e68ad29e7 100644 --- a/phpBB/phpbb/di/extension/container_configuration.php +++ b/phpBB/phpbb/di/extension/container_configuration.php @@ -40,6 +40,7 @@ class container_configuration implements ConfigurationInterface ->booleanNode('sql_explain')->defaultValue(false)->end() ->booleanNode('memory')->defaultValue(false)->end() ->booleanNode('show_errors')->defaultValue(false)->end() + ->booleanNode('url_generator')->defaultValue(false)->end() ->end() ->end() ->arrayNode('twig') diff --git a/phpBB/phpbb/routing/router.php b/phpBB/phpbb/routing/router.php index f19886fb0b..09c13a371d 100644 --- a/phpBB/phpbb/routing/router.php +++ b/phpBB/phpbb/routing/router.php @@ -80,16 +80,22 @@ class router implements RouterInterface */ protected $cache_dir; + /** + * @var string + */ + protected $debug_url_generator; + /** * Construct method * - * @param ContainerInterface $container DI container - * @param resources_locator_interface $resources_locator Resources locator - * @param LoaderInterface $loader Resources loader - * @param string $php_ext PHP file extension - * @param string $cache_dir phpBB cache directory + * @param ContainerInterface $container DI container + * @param resources_locator_interface $resources_locator Resources locator + * @param LoaderInterface $loader Resources loader + * @param string $php_ext PHP file extension + * @param string $cache_dir phpBB cache directory + * @param string $debug_url_generator Debug url generator */ - public function __construct(ContainerInterface $container, resources_locator_interface $resources_locator, LoaderInterface $loader, $php_ext, $cache_dir) + public function __construct(ContainerInterface $container, resources_locator_interface $resources_locator, LoaderInterface $loader, $php_ext, $cache_dir, $debug_url_generator) { $this->container = $container; $this->resources_locator = $resources_locator; @@ -97,6 +103,7 @@ class router implements RouterInterface $this->php_ext = $php_ext; $this->context = new RequestContext(); $this->cache_dir = $cache_dir; + $this->debug_url_generator = $debug_url_generator; } /** @@ -255,7 +262,7 @@ class router implements RouterInterface { try { - $cache = new ConfigCache("{$this->cache_dir}url_generator.{$this->php_ext}", defined('DEBUG')); + $cache = new ConfigCache("{$this->cache_dir}url_generator.{$this->php_ext}", $this->debug_url_generator); if (!$cache->isFresh()) { $dumper = new PhpGeneratorDumper($this->get_routes()); diff --git a/tests/controller/common_helper_route.php b/tests/controller/common_helper_route.php index 6b128269a3..951741156b 100644 --- a/tests/controller/common_helper_route.php +++ b/tests/controller/common_helper_route.php @@ -151,7 +151,7 @@ abstract class phpbb_controller_common_helper_route extends phpbb_database_test_ new \phpbb\routing\file_locator(dirname(__FILE__) . '/') ); $resources_locator = new \phpbb\routing\resources_locator\default_resources_locator(dirname(__FILE__) . '/', PHPBB_ENVIRONMENT, $this->extension_manager); - $this->router = new phpbb_mock_router($container, $resources_locator, $loader, 'php', dirname(__FILE__) . '/'); + $this->router = new phpbb_mock_router($container, $resources_locator, $loader, 'php', dirname(__FILE__) . '/', true); $this->auth = new \phpbb\auth\auth(); $this->cache = new \phpbb\cache\driver\dummy(); $this->db = $this->new_dbal(); diff --git a/tests/controller/controller_test.php b/tests/controller/controller_test.php index 0f5bc34cd4..a3a892bffe 100644 --- a/tests/controller/controller_test.php +++ b/tests/controller/controller_test.php @@ -48,7 +48,7 @@ class phpbb_controller_controller_test extends phpbb_test_case new \phpbb\routing\file_locator(dirname(__FILE__) . '/') ); $resources_locator = new \phpbb\routing\resources_locator\default_resources_locator(dirname(__FILE__) . '/', PHPBB_ENVIRONMENT, $this->extension_manager); - $router = new phpbb_mock_router($container, $resources_locator, $loader, 'php', dirname(__FILE__) . '/'); + $router = new phpbb_mock_router($container, $resources_locator, $loader, 'php', dirname(__FILE__) . '/', true); $routes = $router->get_routes(); // This will need to be updated if any new routes are defined diff --git a/tests/pagination/pagination_test.php b/tests/pagination/pagination_test.php index 77f621b8db..0ed5e34c46 100644 --- a/tests/pagination/pagination_test.php +++ b/tests/pagination/pagination_test.php @@ -42,7 +42,7 @@ class phpbb_pagination_pagination_test extends phpbb_template_template_test_case new \phpbb\routing\file_locator(dirname(__FILE__) . '/') ); $resources_locator = new \phpbb\routing\resources_locator\default_resources_locator(dirname(__FILE__) . '/', PHPBB_ENVIRONMENT, $manager); - $router = new phpbb_mock_router(new phpbb_mock_container_builder(), $resources_locator, $loader, 'php', dirname(__FILE__) . '/'); + $router = new phpbb_mock_router(new phpbb_mock_container_builder(), $resources_locator, $loader, 'php', dirname(__FILE__) . '/', true); $request = new phpbb_mock_request(); $request->overwrite('SCRIPT_NAME', '/app.php', \phpbb\request\request_interface::SERVER);