[TwigBundle] Extract output buffer cleaning to method

This commit is contained in:
Igor Wiedler 2011-11-11 14:54:44 +01:00
parent ed1a6c2e45
commit 29e12affb0

View File

@ -37,15 +37,7 @@ class ExceptionController extends ContainerAware
{ {
$this->container->get('request')->setRequestFormat($format); $this->container->get('request')->setRequestFormat($format);
// the count variable avoids an infinite loop on $currentContent = $this->getAndCleanOutputBuffering();
// some Windows configurations where ob_get_level()
// never reaches 0
$count = 100;
$startObLevel = $this->container->get('kernel')->getStartObLevel();
$currentContent = '';
while (ob_get_level() > $startObLevel && --$count) {
$currentContent .= ob_get_clean();
}
$templating = $this->container->get('templating'); $templating = $this->container->get('templating');
$code = $exception->getStatusCode(); $code = $exception->getStatusCode();
@ -67,6 +59,21 @@ class ExceptionController extends ContainerAware
return $response; return $response;
} }
protected function getAndCleanOutputBuffering()
{
// the count variable avoids an infinite loop on
// some Windows configurations where ob_get_level()
// never reaches 0
$count = 100;
$startObLevel = $this->container->get('kernel')->getStartObLevel();
$currentContent = '';
while (ob_get_level() > $startObLevel && --$count) {
$currentContent .= ob_get_clean();
}
return $currentContent;
}
protected function findTemplate($templating, $format, $code, $debug) protected function findTemplate($templating, $format, $code, $debug)
{ {
$name = $debug ? 'exception' : 'error'; $name = $debug ? 'exception' : 'error';