1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-06 08:47:45 +02:00

Merge pull request #3577 from MateBartus/ticket/13800

[ticket/13800] Make router's extension manager dependency optional
This commit is contained in:
Nicofuma
2015-05-14 16:47:18 +02:00
6 changed files with 33 additions and 29 deletions

View File

@@ -15,6 +15,7 @@ imports:
- { resource: services_password.yml }
- { resource: services_profilefield.yml }
- { resource: services_report.yml }
- { resource: services_routing.yml }
- { resource: services_text_formatter.yml }
- { resource: services_twig.yml }
- { resource: services_user.yml }
@@ -157,25 +158,6 @@ services:
- null
- %core.disable_super_globals%
router:
class: phpbb\routing\router
arguments:
- @filesystem
- @ext.manager
- %core.root_path%
- %core.php_ext%
- %core.environment%
router.listener:
class: Symfony\Component\HttpKernel\EventListener\RouterListener
arguments:
- @router
- null
- null
- @request_stack
tags:
- { name: kernel.event_subscriber }
# WARNING: The Symfony request does not escape the input and should be used very carefully
# prefer the phpbb request (service @request) as possible
symfony_request:

View File

@@ -0,0 +1,19 @@
services:
router:
class: phpbb\routing\router
arguments:
- @filesystem
- %core.root_path%
- %core.php_ext%
- %core.environment%
- @ext.manager
router.listener:
class: Symfony\Component\HttpKernel\EventListener\RouterListener
arguments:
- @router
- null
- null
- @request_stack
tags:
- { name: kernel.event_subscriber }

View File

@@ -94,13 +94,14 @@ class router implements RouterInterface
* Construct method
*
* @param \phpbb\filesystem\filesystem_interface $filesystem Filesystem helper
* @param manager $extension_manager Extension manager
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP file extension
* @param string $environment Name of the current environment
* @param array $routing_files Array of strings containing paths to YAML files holding route information
* @param string $phpbb_root_path phpBB root path
* @param string $php_ext PHP file extension
* @param string $environment Name of the current environment
* @param manager|null $extension_manager Extension manager
* @param array $routing_files Array of strings containing paths to YAML files
* holding route information
*/
public function __construct(\phpbb\filesystem\filesystem_interface $filesystem, manager $extension_manager, $phpbb_root_path, $php_ext, $environment, $routing_files = array())
public function __construct(\phpbb\filesystem\filesystem_interface $filesystem, $phpbb_root_path, $php_ext, $environment, manager $extension_manager = null, $routing_files = array())
{
$this->filesystem = $filesystem;
$this->extension_manager = $extension_manager;
@@ -172,7 +173,9 @@ class router implements RouterInterface
{
if ($this->route_collection == null || empty($this->routing_files))
{
$this->find_routing_files($this->extension_manager->all_enabled(false))
$this->find_routing_files(
($this->extension_manager !== null) ? $this->extension_manager->all_enabled(false) : array()
)
->find($this->phpbb_root_path);
}