diff options
| author | Joas Schilling <nickvergessen@gmx.de> | 2014-05-11 15:47:13 +0200 |
|---|---|---|
| committer | Joas Schilling <nickvergessen@gmx.de> | 2014-05-11 15:47:13 +0200 |
| commit | f37ff48e2c1edc643c25db6f213c56de6a27464e (patch) | |
| tree | 68aac3d3c5db176c83dec4cfe7c1396baf0ce282 | |
| parent | f2fc18b4b7cd2aa619ed448d338741501812031a (diff) | |
| parent | 16cd1db59a3e089fd07b2b2a7586e32e73a780e9 (diff) | |
| download | forums-f37ff48e2c1edc643c25db6f213c56de6a27464e.tar forums-f37ff48e2c1edc643c25db6f213c56de6a27464e.tar.gz forums-f37ff48e2c1edc643c25db6f213c56de6a27464e.tar.bz2 forums-f37ff48e2c1edc643c25db6f213c56de6a27464e.tar.xz forums-f37ff48e2c1edc643c25db6f213c56de6a27464e.zip | |
Merge pull request #2441 from Nicofuma/ticket/12529
[ticket/12529] Use root_path in controller\resolver to check the template dir
* Nicofuma/ticket/12529:
[ticket/12529] Move $phpbb_root_path to the end of the constructor
[ticket/12529] Use root_path in controller\resolver to check the template dir
| -rw-r--r-- | phpBB/config/services.yml | 1 | ||||
| -rw-r--r-- | phpBB/phpbb/controller/resolver.php | 18 | ||||
| -rw-r--r-- | tests/controller/controller_test.php | 2 |
3 files changed, 15 insertions, 6 deletions
diff --git a/phpBB/config/services.yml b/phpBB/config/services.yml index fdd8a33135..4de47f750f 100644 --- a/phpBB/config/services.yml +++ b/phpBB/config/services.yml @@ -104,6 +104,7 @@ services: arguments: - @user - @service_container + - %core.root_path% - @template controller.provider: diff --git a/phpBB/phpbb/controller/resolver.php b/phpBB/phpbb/controller/resolver.php index 233179e343..3010901024 100644 --- a/phpBB/phpbb/controller/resolver.php +++ b/phpBB/phpbb/controller/resolver.php @@ -33,28 +33,36 @@ class resolver implements ControllerResolverInterface /** * phpbb\template\template object - * @var phpbb\template\template + * @var \phpbb\template\template */ protected $template; /** + * phpBB root path + * @var string + */ + protected $phpbb_root_path; + + /** * Construct method * * @param \phpbb\user $user User Object * @param ContainerInterface $container ContainerInterface object + * @param string $phpbb_root_path Relative path to phpBB root * @param \phpbb\template\template $template */ - public function __construct(\phpbb\user $user, ContainerInterface $container, \phpbb\template\template $template = null) + public function __construct(\phpbb\user $user, ContainerInterface $container, $phpbb_root_path, \phpbb\template\template $template = null) { $this->user = $user; $this->container = $container; $this->template = $template; + $this->phpbb_root_path = $phpbb_root_path; } /** * Load a controller callable * - * @param Symfony\Component\HttpFoundation\Request $request Symfony Request object + * @param \Symfony\Component\HttpFoundation\Request $request Symfony Request object * @return bool|Callable Callable or false * @throws \phpbb\controller\exception */ @@ -94,7 +102,7 @@ class resolver implements ControllerResolverInterface { $controller_style_dir = 'ext/' . $controller_dir[0] . '/' . $controller_dir[1] . '/styles'; - if (is_dir($controller_style_dir)) + if (is_dir($this->phpbb_root_path . $controller_style_dir)) { $this->template->set_style(array($controller_style_dir, 'styles')); } @@ -109,7 +117,7 @@ class resolver implements ControllerResolverInterface * and should match the parameters of the method you are using as your * controller. * - * @param Symfony\Component\HttpFoundation\Request $request Symfony Request object + * @param \Symfony\Component\HttpFoundation\Request $request Symfony Request object * @param mixed $controller A callable (controller class, method) * @return bool False * @throws \phpbb\controller\exception diff --git a/tests/controller/controller_test.php b/tests/controller/controller_test.php index 7b8b78dd22..e0564f0a11 100644 --- a/tests/controller/controller_test.php +++ b/tests/controller/controller_test.php @@ -68,7 +68,7 @@ class phpbb_controller_controller_test extends phpbb_test_case include(__DIR__.'/phpbb/controller/foo.php'); } - $resolver = new \phpbb\controller\resolver(new \phpbb\user, $container); + $resolver = new \phpbb\controller\resolver(new \phpbb\user, $container, dirname(__FILE__) . '/'); $symfony_request = new Request(); $symfony_request->attributes->set('_controller', 'foo.controller:handle'); |
