diff --git a/system/src/Grav/Common/Themes.php b/system/src/Grav/Common/Themes.php index 7df197807..ae2962ea9 100644 --- a/system/src/Grav/Common/Themes.php +++ b/system/src/Grav/Common/Themes.php @@ -13,6 +13,7 @@ use Grav\Common\Config\Config; use Grav\Common\File\CompiledYamlFile; use Grav\Common\Data\Blueprints; use Grav\Common\Data\Data; +use Grav\Framework\Psr7\Response; use RocketTheme\Toolbox\Event\EventDispatcher; use RocketTheme\Toolbox\Event\EventSubscriberInterface; use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; @@ -214,7 +215,9 @@ class Themes extends Iterator } } } elseif (!$locator('theme://') && !defined('GRAV_CLI')) { - exit("Theme '$name' does not exist, unable to display page."); + $response = new Response(500, [], "Theme '$name' does not exist, unable to display page."); + + $grav->exit($response); } $this->config->set('theme', $config->get('themes.' . $name)); diff --git a/system/src/Grav/Common/Twig/TwigExtension.php b/system/src/Grav/Common/Twig/TwigExtension.php index a0f53f5ee..166844c4a 100644 --- a/system/src/Grav/Common/Twig/TwigExtension.php +++ b/system/src/Grav/Common/Twig/TwigExtension.php @@ -29,6 +29,7 @@ use Grav\Common\User\Interfaces\UserInterface; use Grav\Common\Utils; use Grav\Common\Yaml; use Grav\Common\Helpers\Base32; +use Grav\Framework\Psr7\Response; use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; use Twig\Environment; use Twig\Extension\AbstractExtension; @@ -1110,8 +1111,9 @@ class TwigExtension extends AbstractExtension implements GlobalsInterface */ public function redirectFunc($url, $statusCode = 303) { - header('Location: ' . $url, true, $statusCode); - exit(); + $response = new Response($statusCode, ['location' => $url]); + + $this->grav->exit($response); } /**