From d45582d32afede64c6a9fa18a76eff6a17544043 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Sat, 19 Oct 2013 12:12:14 +0200 Subject: [ticket/11948] Allow multiple routing files for extensions PHPBB3-11948 --- phpBB/phpbb/controller/provider.php | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'phpBB/phpbb/controller/provider.php') diff --git a/phpBB/phpbb/controller/provider.php b/phpBB/phpbb/controller/provider.php index 3aad08e3aa..683253fdf8 100644 --- a/phpBB/phpbb/controller/provider.php +++ b/phpBB/phpbb/controller/provider.php @@ -31,17 +31,17 @@ class provider * YAML file(s) containing route information * @var array */ - protected $routing_paths; + protected $routing_files; /** * Construct method * - * @param array() $routing_paths Array of strings containing paths + * @param array() $routing_files Array of strings containing paths * to YAML files holding route information */ - public function __construct($routing_paths = array()) + public function __construct($routing_files = array()) { - $this->routing_paths = $routing_paths; + $this->routing_files = $routing_files; } /** @@ -54,12 +54,12 @@ class provider { // We hardcode the path to the core config directory // because the finder cannot find it - $this->routing_paths = array_merge(array('config'), array_map('dirname', array_keys($finder + $this->routing_files = array_merge(array('config/routing.yml'), array_keys($finder ->directory('config') ->prefix('routing') - ->suffix('yml') + ->suffix('.yml') ->find() - ))); + )); return $this; } @@ -73,10 +73,14 @@ class provider public function find($base_path = '') { $routes = new RouteCollection; - foreach ($this->routing_paths as $path) + foreach ($this->routing_files as $file_path) { + $path_info = explode('/', $file_path); + $file_name = array_pop($path_info); + $path = implode('/', $path_info) . '/'; + $loader = new YamlFileLoader(new FileLocator($base_path . $path)); - $routes->addCollection($loader->load('routing.yml')); + $routes->addCollection($loader->load($file_name)); } return $routes; -- cgit v1.2.1 From bd86dea16c2f2d0d8ac6677777d612480186764a Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Sun, 20 Oct 2013 00:00:39 +0200 Subject: [ticket/11948] Use basename and dirname PHPBB3-11948 --- phpBB/phpbb/controller/provider.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'phpBB/phpbb/controller/provider.php') diff --git a/phpBB/phpbb/controller/provider.php b/phpBB/phpbb/controller/provider.php index 683253fdf8..7ea0c973fe 100644 --- a/phpBB/phpbb/controller/provider.php +++ b/phpBB/phpbb/controller/provider.php @@ -75,12 +75,8 @@ class provider $routes = new RouteCollection; foreach ($this->routing_files as $file_path) { - $path_info = explode('/', $file_path); - $file_name = array_pop($path_info); - $path = implode('/', $path_info) . '/'; - - $loader = new YamlFileLoader(new FileLocator($base_path . $path)); - $routes->addCollection($loader->load($file_name)); + $loader = new YamlFileLoader(new FileLocator(dirname($base_path . $file_path))); + $routes->addCollection($loader->load(basename($file_path))); } return $routes; -- cgit v1.2.1 From 51561ed538450d0e3d8392f3073004751e0b03f1 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 21 Oct 2013 21:52:48 +0200 Subject: [ticket/11948] Allow resource importing for routing PHPBB3-11948 --- phpBB/phpbb/controller/provider.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'phpBB/phpbb/controller/provider.php') diff --git a/phpBB/phpbb/controller/provider.php b/phpBB/phpbb/controller/provider.php index 7ea0c973fe..048ca72084 100644 --- a/phpBB/phpbb/controller/provider.php +++ b/phpBB/phpbb/controller/provider.php @@ -56,8 +56,7 @@ class provider // because the finder cannot find it $this->routing_files = array_merge(array('config/routing.yml'), array_keys($finder ->directory('config') - ->prefix('routing') - ->suffix('.yml') + ->suffix('routing.yml') ->find() )); @@ -75,8 +74,8 @@ class provider $routes = new RouteCollection; foreach ($this->routing_files as $file_path) { - $loader = new YamlFileLoader(new FileLocator(dirname($base_path . $file_path))); - $routes->addCollection($loader->load(basename($file_path))); + $loader = new YamlFileLoader(new FileLocator($base_path)); + $routes->addCollection($loader->load($file_path)); } return $routes; -- cgit v1.2.1