From 777666fac178f023baa47ec7ca12d4d0b824b99e Mon Sep 17 00:00:00 2001 From: Yassine Guedidi Date: Thu, 17 Jul 2014 14:55:31 +0200 Subject: [PATCH] [HttpFoundation] Update QUERY_STRING when overrideGlobals --- src/Symfony/Component/HttpFoundation/Request.php | 2 ++ .../Component/HttpFoundation/Tests/RequestTest.php | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/src/Symfony/Component/HttpFoundation/Request.php b/src/Symfony/Component/HttpFoundation/Request.php index d7053339bdaf..f50219deae8c 100644 --- a/src/Symfony/Component/HttpFoundation/Request.php +++ b/src/Symfony/Component/HttpFoundation/Request.php @@ -479,6 +479,8 @@ public function __toString() */ public function overrideGlobals() { + $this->server->set('QUERY_STRING', static::normalizeQueryString(http_build_query($this->query->all(), null, '&'))); + $_GET = $this->query->all(); $_POST = $this->request->all(); $_SERVER = $this->server->all(); diff --git a/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php b/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php index 688f3094b9df..c2719ac9ab2c 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php @@ -1009,6 +1009,15 @@ public function testOverrideGlobals() $this->assertArrayHasKey('HTTP_X_FORWARDED_PROTO', $_SERVER); + $request->initialize(array('foo' => 'bar', 'baz' => 'foo')); + $request->query->remove('baz'); + + $request->overrideGlobals(); + + $this->assertEquals(array('foo' => 'bar'), $_GET); + $this->assertEquals('foo=bar', $_SERVER['QUERY_STRING']); + $this->assertEquals('foo=bar', $request->server->get('QUERY_STRING')); + // restore initial $_SERVER array $_SERVER = $server; }