aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/controller/provider.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/phpbb/controller/provider.php')
-rw-r--r--phpBB/phpbb/controller/provider.php22
1 files changed, 13 insertions, 9 deletions
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;