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 / libraries / framework / Middlewares / AdminMiddleware.php
kirki / libraries / framework / Middlewares Last commit date
AdminMiddleware.php 3 weeks ago AuthMiddleware.php 3 weeks ago
AdminMiddleware.php
43 lines
1 <?php
2
3 /**
4 * Middleware to ensure the user is authenticated.
5 * Blocks access to routes unless the user is logged in.
6 *
7 * @package Framework
8 * @subpackage Middlewares
9 * @since 1.0.0
10 */
11 namespace Kirki\Framework\Middlewares;
12
13 \defined('ABSPATH') || exit;
14 use Kirki\Framework\Contracts\Middleware;
15 use Kirki\Framework\Contracts\Request;
16 use Kirki\Framework\Exceptions\AuthorizationException;
17 use Kirki\Framework\Http\Response;
18 use Kirki\Framework\Wordpress\Constants\Capabilities;
19 use function Kirki\Framework\message;
20 class AdminMiddleware implements Middleware
21 {
22 /**
23 * Handle the incoming request and determine if the user is authenticated and has admin privileges.
24 *
25 * @param Request $request The incoming request instance.
26 * @param callable $next The next middleware callback.
27 *
28 * @return mixed The result of the next middleware or a response.
29 *
30 * @throws AuthorizationException
31 *
32 * @since 1.0.0
33 */
34 public function handle(Request $request, callable $next)
35 {
36 if (is_user_logged_in() && current_user_can(Capabilities::MANAGE_OPTIONS)) {
37 $request->from_admin_middleware = 'from_admin_middleware';
38 return $next($request);
39 }
40 throw new AuthorizationException(message('auth.admin_required'), Response::FORBIDDEN);
41 }
42 }
43