1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-02-24 12:03:21 +01:00

[ticket/11997] Fix redirect tests for mod rewrite

Controller routes that are supposed to link to parent directories can't be
tested as the links are incorrectly created depending on enabled mod rewrite
or not.

PHPBB3-11997
This commit is contained in:
Marc Alexander 2013-12-28 16:50:15 +01:00
parent 4c1569dd8a
commit 3e815616c5
2 changed files with 27 additions and 15 deletions

View File

@ -5,6 +5,7 @@ services:
- @controller.helper
- @path_helper
- @template
- @config
- %core.root_path%
- %core.php_ext%

View File

@ -7,12 +7,16 @@ use Symfony\Component\HttpFoundation\Response;
class controller
{
protected $template;
protected $helper;
protected $path_helper;
protected $config;
public function __construct(\phpbb\controller\helper $helper, \phpbb\path_helper $path_helper, \phpbb\template\template $template, $root_path, $php_ext)
public function __construct(\phpbb\controller\helper $helper, \phpbb\path_helper $path_helper, \phpbb\template\template $template, \phpbb\config\config $config, $root_path, $php_ext)
{
$this->template = $template;
$this->helper = $helper;
$this->path_helper = $path_helper;
$this->config = $config;
$this->root_path = $root_path;
$this->php_ext = $php_ext;
}
@ -42,6 +46,9 @@ class controller
public function redirect()
{
$url_root = generate_board_url();
$rewrite_prefix = (!empty($this->config['enable_mod_rewrite'])) ? '' : 'app.php/';
$redirects = array(
array(
append_sid($this->root_path . 'index.' . $this->php_ext),
@ -61,36 +68,40 @@ class controller
),
array(
$this->helper->url('index'),
'app.php/index',
$rewrite_prefix . 'index',
),
array(
$this->helper->url('tests/index'),
$rewrite_prefix . 'tests/index',
),
array(
$this->helper->url('tests/../index'),
$rewrite_prefix . 'index',
),
/*
// helper URLs starting with ../ are prone to failure.
// Do not test them right now.
array(
$this->helper->url('../index'),
'index',
'../index',
),
array(
$this->helper->url('../../index'),
'../index',
),
array(
$this->helper->url('tests/index'),
'app.php/tests/index',
$this->helper->url('../tests/index'),
$rewrite_prefix . '../tests/index',
),
array(
$this->helper->url('../tests/index'),
'tests/index',
$this->helper->url('../tests/../index'),
'../index',
),
array(
$this->helper->url('../../tests/index'),
'../tests/index',
),
array(
$this->helper->url('../tests/../index'),
'index',
),
array(
$this->helper->url('tests/../index'),
'app.php/index',
),
*/
);
foreach ($redirects as $redirect)