App\Providers\ThemeServiceProvider::registerInterceptForThemePreview PHP Method

registerInterceptForThemePreview() protected method

registerInterceptForThemePreview
protected registerInterceptForThemePreview ( ) : void
return void
    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();
            });
        }
    }