PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.0.13
Kirki – Freeform Page Builder, Website Builder & Customizer v6.0.13
6.1.1 6.1.0 6.0.14 6.0.13 6.0.12 6.0.11 6.0.10 6.0.9 6.0.8 6.0.7 6.0.6 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.19 4.0.20 4.0.21 4.0.22 4.0.23 4.0.24 4.1 4.2.0 5.0.0 5.1.0 5.1.1 5.2.0 5.2.1 5.2.2 5.2.3 6.0.0 trunk 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.1.0 3.1.1 3.1.2
kirki / app / Http / Middlewares / ViewOrPreviewMiddleware.php
kirki / app / Http / Middlewares Last commit date
EditAccessMiddleware.php 2 weeks ago FullAccessMiddleware.php 2 weeks ago ViewAccessMiddleware.php 2 weeks ago ViewOrPreviewMiddleware.php 2 weeks ago
ViewOrPreviewMiddleware.php
41 lines
1 <?php
2
3 namespace Kirki\App\Http\Middlewares;
4
5 defined('ABSPATH') || exit;
6
7 use Kirki\App\Constants\AccessLevels;
8 use Kirki\App\Supports\EditorPreview;
9 use Kirki\Framework\Contracts\Middleware;
10 use Kirki\Framework\Contracts\Request;
11 use Kirki\Framework\Exceptions\AuthorizationException;
12 use function Kirki\Framework\user;
13
14 class ViewOrPreviewMiddleware implements Middleware
15 {
16 /**
17 * Handle the incoming request and determine if the user has view access.
18 *
19 * @param Request $request The incoming request instance.
20 * @param callable $next The next middleware or controller to execute.
21 * @return mixed The result of the next middleware or a response.
22 */
23 public function handle(Request $request, callable $next)
24 {
25 if (EditorPreview::has_valid_token()) {
26 return $next($request);
27 }
28
29 $has_access = user()->has_access([
30 AccessLevels::FULL_ACCESS,
31 AccessLevels::CONTENT_ACCESS,
32 AccessLevels::VIEW_ACCESS,
33 ]);
34
35 if (!$has_access) {
36 throw new AuthorizationException(__('You don\'t have the permission to access this request', 'kirki'));
37 }
38
39 return $next($request);
40 }
41 }