From 6ca7fc946000b1f0c12e593da13d62881f236bb7 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Wed, 11 Mar 2015 15:41:28 +0100 Subject: [PATCH 1/4] Revert "bug #13715 Enforce UTF-8 charset for core controllers (WouterJ)" This reverts commit 463b24b27c15c8b24cdb4925f8772ef53ede9b23, reversing changes made to c475704c8feaac30ee260a542185a5699eba3d1b. --- .../Controller/ExceptionController.php | 4 +- .../Controller/ExceptionControllerTest.php | 3 +- .../Controller/ExceptionController.php | 19 ++-- .../Controller/ProfilerController.php | 104 +++++++----------- .../Controller/RouterController.php | 14 +-- .../Controller/ProfilerControllerTest.php | 1 - 6 files changed, 57 insertions(+), 88 deletions(-) diff --git a/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php b/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php index 39d4aee102..9f1edad12c 100644 --- a/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php +++ b/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php @@ -51,7 +51,7 @@ class ExceptionController $code = $exception->getStatusCode(); - return Response::create($this->twig->render( + return new Response($this->twig->render( (string) $this->findTemplate($request, $request->getRequestFormat(), $code, $this->debug), array( 'status_code' => $code, @@ -60,7 +60,7 @@ class ExceptionController 'logger' => $logger, 'currentContent' => $currentContent, ) - ))->setCharset('UTF-8'); + )); } /** diff --git a/src/Symfony/Bundle/TwigBundle/Tests/Controller/ExceptionControllerTest.php b/src/Symfony/Bundle/TwigBundle/Tests/Controller/ExceptionControllerTest.php index 6cdb02f99d..20646f74aa 100644 --- a/src/Symfony/Bundle/TwigBundle/Tests/Controller/ExceptionControllerTest.php +++ b/src/Symfony/Bundle/TwigBundle/Tests/Controller/ExceptionControllerTest.php @@ -39,7 +39,6 @@ class ExceptionControllerTest extends TestCase $request->headers->set('X-Php-Ob-Level', 1); $controller = new ExceptionController($twig, false); - $response = $controller->showAction($request, $flatten); - $this->assertEquals('UTF-8', $response->getCharset(), 'Request charset is explicitly set to UTF-8'); + $controller->showAction($request, $flatten); } } diff --git a/src/Symfony/Bundle/WebProfilerBundle/Controller/ExceptionController.php b/src/Symfony/Bundle/WebProfilerBundle/Controller/ExceptionController.php index abd75d440e..0b5db752ee 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Controller/ExceptionController.php +++ b/src/Symfony/Bundle/WebProfilerBundle/Controller/ExceptionController.php @@ -62,17 +62,16 @@ class ExceptionController $code = $exception->getStatusCode(); - return Response::create( - $this->twig->render($template, array( + return new Response($this->twig->render( + $template, + array( 'status_code' => $code, 'status_text' => Response::$statusTexts[$code], 'exception' => $exception, 'logger' => null, 'currentContent' => '', - )), - 200, - array('Content-Type' => 'text/html') - )->setCharset('UTF-8'); + ) + ), 200, array('Content-Type' => 'text/html')); } /** @@ -98,14 +97,10 @@ class ExceptionController if (!$this->templateExists($template)) { $handler = new ExceptionHandler(); - $response = new Response($handler->getStylesheet($exception), 200, array('Content-Type' => 'text/css')); - } else { - $response = new Response($this->twig->render('@WebProfiler/Collector/exception.css.twig'), 200, array('Content-Type' => 'text/css')); + return new Response($handler->getStylesheet($exception), 200, array('Content-Type' => 'text/css')); } - $response->setCharset('UTF-8'); - - return $response; + return new Response($this->twig->render('@WebProfiler/Collector/exception.css.twig'), 200, array('Content-Type' => 'text/css')); } protected function getTemplate() diff --git a/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php b/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php index 2c0d7a795e..173616fd9f 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php +++ b/src/Symfony/Bundle/WebProfilerBundle/Controller/ProfilerController.php @@ -99,20 +99,16 @@ class ProfilerController throw new NotFoundHttpException(sprintf('Panel "%s" is not available for token "%s".', $panel, $token)); } - return Response::create( - $this->twig->render($this->getTemplateManager()->getName($profile, $panel), array( - 'token' => $token, - 'profile' => $profile, - 'collector' => $profile->getCollector($panel), - 'panel' => $panel, - 'page' => $page, - 'request' => $request, - 'templates' => $this->getTemplateManager()->getTemplates($profile), - 'is_ajax' => $request->isXmlHttpRequest(), - )), - 200, - array('Content-Type' => 'text/html') - )->setCharset('UTF-8'); + return new Response($this->twig->render($this->getTemplateManager()->getName($profile, $panel), array( + 'token' => $token, + 'profile' => $profile, + 'collector' => $profile->getCollector($panel), + 'panel' => $panel, + 'page' => $page, + 'request' => $request, + 'templates' => $this->getTemplateManager()->getTemplates($profile), + 'is_ajax' => $request->isXmlHttpRequest(), + )), 200, array('Content-Type' => 'text/html')); } /** @@ -151,13 +147,9 @@ class ProfilerController $this->profiler->disable(); - return Response::create( - $this->twig->render('@WebProfiler/Profiler/info.html.twig', array( - 'about' => $about, - )), - 200, - array('Content-Type' => 'text/html') - )->setCharset('UTF-8'); + return new Response($this->twig->render('@WebProfiler/Profiler/info.html.twig', array( + 'about' => $about, + )), 200, array('Content-Type' => 'text/html')); } /** @@ -205,17 +197,13 @@ class ProfilerController // the profiler is not enabled } - return Response::create( - $this->twig->render('@WebProfiler/Profiler/toolbar.html.twig', array( - 'position' => $position, - 'profile' => $profile, - 'templates' => $this->getTemplateManager()->getTemplates($profile), - 'profiler_url' => $url, - 'token' => $token, - )), - 200, - array('Content-Type' => 'text/html') - )->setCharset('UTF-8'); + return new Response($this->twig->render('@WebProfiler/Profiler/toolbar.html.twig', array( + 'position' => $position, + 'profile' => $profile, + 'templates' => $this->getTemplateManager()->getTemplates($profile), + 'profiler_url' => $url, + 'token' => $token, + )), 200, array('Content-Type' => 'text/html')); } /** @@ -253,19 +241,15 @@ class ProfilerController $token = $session->get('_profiler_search_token'); } - return Response::create( - $this->twig->render('@WebProfiler/Profiler/search.html.twig', array( - 'token' => $token, - 'ip' => $ip, - 'method' => $method, - 'url' => $url, - 'start' => $start, - 'end' => $end, - 'limit' => $limit, - )), - 200, - array('Content-Type' => 'text/html') - )->setCharset('UTF-8'); + return new Response($this->twig->render('@WebProfiler/Profiler/search.html.twig', array( + 'token' => $token, + 'ip' => $ip, + 'method' => $method, + 'url' => $url, + 'start' => $start, + 'end' => $end, + 'limit' => $limit, + )), 200, array('Content-Type' => 'text/html')); } /** @@ -295,22 +279,18 @@ class ProfilerController $end = $request->query->get('end', null); $limit = $request->query->get('limit'); - return Response::create( - $this->twig->render('@WebProfiler/Profiler/results.html.twig', array( - 'token' => $token, - 'profile' => $profile, - 'tokens' => $this->profiler->find($ip, $url, $limit, $method, $start, $end), - 'ip' => $ip, - 'method' => $method, - 'url' => $url, - 'start' => $start, - 'end' => $end, - 'limit' => $limit, - 'panel' => null, - )), - 200, - array('Content-Type' => 'text/html') - )->setCharset('UTF-8'); + return new Response($this->twig->render('@WebProfiler/Profiler/results.html.twig', array( + 'token' => $token, + 'profile' => $profile, + 'tokens' => $this->profiler->find($ip, $url, $limit, $method, $start, $end), + 'ip' => $ip, + 'method' => $method, + 'url' => $url, + 'start' => $start, + 'end' => $end, + 'limit' => $limit, + 'panel' => null, + )), 200, array('Content-Type' => 'text/html')); } /** @@ -384,7 +364,7 @@ class ProfilerController phpinfo(); $phpinfo = ob_get_clean(); - return Response::create($phpinfo, 200, array('Content-Type' => 'text/html'))->setCharset('UTF-8'); + return new Response($phpinfo, 200, array('Content-Type' => 'text/html')); } /** diff --git a/src/Symfony/Bundle/WebProfilerBundle/Controller/RouterController.php b/src/Symfony/Bundle/WebProfilerBundle/Controller/RouterController.php index 800f209a6f..f4a84bf568 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Controller/RouterController.php +++ b/src/Symfony/Bundle/WebProfilerBundle/Controller/RouterController.php @@ -68,14 +68,10 @@ class RouterController $request = $profile->getCollector('request'); - return Response::create( - $this->twig->render('@WebProfiler/Router/panel.html.twig', array( - 'request' => $request, - 'router' => $profile->getCollector('router'), - 'traces' => $matcher->getTraces($request->getPathInfo()), - )), - 200, - array('Content-Type' => 'text/html') - )->setCharset('UTF-8'); + return new Response($this->twig->render('@WebProfiler/Router/panel.html.twig', array( + 'request' => $request, + 'router' => $profile->getCollector('router'), + 'traces' => $matcher->getTraces($request->getPathInfo()), + )), 200, array('Content-Type' => 'text/html')); } } diff --git a/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/ProfilerControllerTest.php b/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/ProfilerControllerTest.php index 3338d8c53b..c10449d323 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/ProfilerControllerTest.php +++ b/src/Symfony/Bundle/WebProfilerBundle/Tests/Controller/ProfilerControllerTest.php @@ -69,7 +69,6 @@ class ProfilerControllerTest extends \PHPUnit_Framework_TestCase $response = $controller->toolbarAction(Request::create('/_wdt/found'), 'found'); $this->assertEquals(200, $response->getStatusCode()); - $this->assertEquals('UTF-8', $response->getCharset(), 'Request charset is explicitly set to UTF-8'); $response = $controller->toolbarAction(Request::create('/_wdt/notFound'), 'notFound'); $this->assertEquals(404, $response->getStatusCode()); From cbd0525f8f5c4fa71caf4a6183dbb8cf61256cbc Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Sun, 31 Mar 2013 20:32:41 +0200 Subject: [PATCH 2/4] used HTML5 meta charset tag and removed hardcoded ones Conflicts: src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/Resources/views/base.html.twig src/Symfony/Bundle/TwigBundle/Resources/views/Exception/error.html.twig src/Symfony/Bundle/TwigBundle/Resources/views/layout.html.twig --- .../Tests/Functional/app/Resources/views/base.html.twig | 2 +- .../TwigBundle/Resources/views/Exception/error.html.twig | 2 +- .../WebProfilerBundle/Resources/views/Profiler/base.html.twig | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/Resources/views/base.html.twig b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/Resources/views/base.html.twig index 4b9151eaf8..58ba1fe89e 100644 --- a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/Resources/views/base.html.twig +++ b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/Resources/views/base.html.twig @@ -1,7 +1,7 @@ - + {% block title %}Welcome!{% endblock %} {% block stylesheets %}{% endblock %} diff --git a/src/Symfony/Bundle/TwigBundle/Resources/views/Exception/error.html.twig b/src/Symfony/Bundle/TwigBundle/Resources/views/Exception/error.html.twig index 30b51e4760..138a60ad96 100644 --- a/src/Symfony/Bundle/TwigBundle/Resources/views/Exception/error.html.twig +++ b/src/Symfony/Bundle/TwigBundle/Resources/views/Exception/error.html.twig @@ -1,7 +1,7 @@ - + An Error Occurred: {{ status_text }} diff --git a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base.html.twig b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base.html.twig index e4258a205d..3567708a72 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base.html.twig +++ b/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base.html.twig @@ -1,8 +1,8 @@ - - + + {% block title 'Profiler' %}