mirror of
https://github.com/phpbb/phpbb.git
synced 2025-04-19 07:16:36 +02:00
[feature/controller] Create Symfony Request in new function
PHPBB3-10864
This commit is contained in:
parent
2f50d65648
commit
0f4f81b096
@ -7,8 +7,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
/**
|
||||
*/
|
||||
|
||||
@ -28,9 +26,9 @@ $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);
|
||||
$controller = $request->variable('controller', '');
|
||||
$uri = '/' . $controller;
|
||||
$symfony_request = Request::create($uri);
|
||||
$symfony_request = phpbb_create_symfony_request($uri, $request);
|
||||
|
||||
$http_kernel = $phpbb_container->get('http_kernel');
|
||||
$response = $http_kernel->handle($symfony_request);
|
||||
|
@ -7,6 +7,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
@ -5430,3 +5432,40 @@ function phpbb_to_numeric($input)
|
||||
{
|
||||
return ($input > PHP_INT_MAX) ? (float) $input : (int) $input;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a Symfony Request object from a given URI and phpbb_request object
|
||||
*
|
||||
* @param string $uri Request URI
|
||||
* @param phpbb_request $request Request object
|
||||
* @return Request A Symfony Request object
|
||||
*/
|
||||
function phpbb_create_symfony_request($uri, phpbb_request $request)
|
||||
{
|
||||
$request_method = $request->server('REQUEST_METHOD');
|
||||
$parameter_names = array();
|
||||
$parameter_names['request'] = array_merge(
|
||||
$request->variable_names(phpbb_request_interface::GET),
|
||||
// POST overwrites duplicated GET parameters
|
||||
$request->variable_names(phpbb_request_interface::POST)
|
||||
);
|
||||
$parameter_names['server'] = $request->variable_names(phpbb_request_interface::SERVER);
|
||||
$parameter_names['files'] = $request->variable_names(phpbb_request_interface::FILES);
|
||||
$parameter_names['cookie'] = $request->variable_names(phpbb_request_interface::COOKIE);
|
||||
|
||||
$parameters = array(
|
||||
'request' => array(),
|
||||
'cookie' => array(),
|
||||
'files' => array(),
|
||||
'server' => array(),
|
||||
);
|
||||
foreach ($parameter_names as $type => $names)
|
||||
{
|
||||
foreach ($names as $name)
|
||||
{
|
||||
$parameters[$type][$name] = $request->variable($name, '');
|
||||
}
|
||||
}
|
||||
|
||||
return Request::create($uri, $request_method, $parameters['request'], $parameters['cookie'], $parameters['files'], $parameters['server']);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user