protected function registerInterceptForThemePreview()
{
$preview_theme = $this->app['request']->get('preview_theme', null);
if ($preview_theme !== null) {
intercept('XeTheme@getSelectedTheme', 'preview_theme', function ($target) use($preview_theme) {
if (!auth()->user()->isAdmin()) {
throw new AccessDeniedHttpException();
}
/** @var ThemeHandler $themeHandler */
$themeHandler = $target->getTargetObject();
$themeHandler->selectTheme($preview_theme);
return $target();
});
}
}