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:
parent
4efbb893b7
commit
8913b2c7c4
@ -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();
|
||||
|
@ -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');
|
||||
|
@ -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'];
|
||||
|
Loading…
x
Reference in New Issue
Block a user