mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
[feature/controller] Create Symfony Request in new function
PHPBB3-10864
This commit is contained in:
@@ -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']);
|
||||
}
|
||||
|
Reference in New Issue
Block a user