1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-06-05 22:14:59 +02:00

[feature/controller] Use query string, not path info, for controller access

This is hopefully just temporary until we can fix the relative path issue.

PHPBB3-10864
This commit is contained in:
David King 2012-11-17 17:48:20 -05:00
parent 4efbb893b7
commit 8913b2c7c4
3 changed files with 9 additions and 22 deletions

View File

@ -7,6 +7,8 @@
*
*/
use Symfony\Component\HttpFoundation\Request;
/**
*/
@ -24,6 +26,12 @@ $user->session_begin();
$auth->acl($user->data);
$user->setup('app');
// Until we fix the issue with relative paths, we have to fake path info to
// allow urls like app.php?controller=foo/bar
$controller = $request->variable('controller', '', false, phpbb_request_interface::GET);
$uri = '/' . $controller;
$symfony_request = Request::create($uri);
$http_kernel = $phpbb_container->get('http_kernel');
$response = $http_kernel->handle($symfony_request);
$response->send();

View File

@ -8,8 +8,6 @@
* Minimum Requirement: PHP 5.3.3
*/
use Symfony\Component\HttpFoundation\Request;
/**
*/
if (!defined('IN_PHPBB'))
@ -105,11 +103,6 @@ $phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver'));
// set up caching
$cache = $phpbb_container->get('cache');
// Instantiate the Symfony Request object
// This must be done before phpbb_request
// because otherwise globals are disabled
$symfony_request = Request::createFromGlobals();
// Instantiate some basic classes
$phpbb_dispatcher = $phpbb_container->get('dispatcher');
$request = $phpbb_container->get('request');

View File

@ -2346,20 +2346,6 @@ function append_sid($url, $params = false, $is_amp = true, $session_id = false)
$params = false;
}
// Make sure we have a Symfony Request object; tests do not have one
// unless they need it.
if ($symfony_request)
{
// Correct the path when we are accessing it through a controller
// This simply rewrites the value given by $phpbb_root_path to the
// script_path in config.
$path_info = $symfony_request->getPathInfo();
if (!empty($path_info) && $path_info != '/')
{
$url = $config['script_path'] . '/' . substr($url, strlen($phpbb_root_path));
}
}
$append_sid_overwrite = false;
/**
@ -5056,7 +5042,7 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
// Determine board url - we may need it later
$board_url = generate_board_url() . '/';
$web_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? $board_url : $config['script_path'] . '/';
$web_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? $board_url : $phpbb_root_path;
// Send a proper content-language to the output
$user_lang = $user->lang['USER_LANG'];