]> BookStack Code Mirror - bookstack/blob - app/Http/Middleware/RunThemeActions.php
Added prevention of nested chapters on sort
[bookstack] / app / Http / Middleware / RunThemeActions.php
1 <?php
2
3 namespace BookStack\Http\Middleware;
4
5 use BookStack\Facades\Theme;
6 use BookStack\Theming\ThemeEvents;
7 use Closure;
8
9 class RunThemeActions
10 {
11     /**
12      * Handle an incoming request.
13      *
14      * @param \Illuminate\Http\Request $request
15      * @param \Closure                 $next
16      *
17      * @return mixed
18      */
19     public function handle($request, Closure $next)
20     {
21         $earlyResponse = Theme::dispatch(ThemeEvents::WEB_MIDDLEWARE_BEFORE, $request);
22         if (!is_null($earlyResponse)) {
23             return $earlyResponse;
24         }
25
26         $response = $next($request);
27         $response = Theme::dispatch(ThemeEvents::WEB_MIDDLEWARE_AFTER, $request, $response) ?? $response;
28
29         return $response;
30     }
31 }