PluginProbe
Depicter — Popup & Slider Builder / 1.5.2
Depicter — Popup & Slider Builder v1.5.2
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / app / src / Middleware / CapabilityMiddleware.php

CapabilityMiddleware.php in Depicter — Popup & Slider Builder 1.5.2, at app/src/Middleware/CapabilityMiddleware.php

45 lines 1022 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Depicter\Middleware;
3
4
5 use WPEmerge\Requests\RequestInterface;
6 use WPEmerge\Responses\ResponseService;
7
8 class CapabilityMiddleware {
9
10 /**
11 * Response service.
12 *
13 * @var ResponseService
14 */
15 protected $responseService = null;
16
17 /**
18 * Constructor.
19 *
20 * @codeCoverageIgnore
21 * @param ResponseService $responseService
22 */
23 public function __construct( ResponseService $responseService ) {
24 $this->responseService = $responseService;
25 }
26
27 /**
28 * @param RequestInterface $request
29 * @param $next
30 * @param string $capability
31 *
32 * @return mixed|ResponseService
33 */
34 public function handle( RequestInterface $request, $next, string $capability = 'manage_options' ){
35 // ignore the request if the current user doesn't have sufficient permissions
36 if ( ! current_user_can( $capability ) ) {
37 return $this->responseService->json([
38 'errors' => [ __( "Sorry, insufficient permission!", 'depicter' ) ]
39 ])->withStatus(403);
40 }
41
42 return $next( $request );
43 }
44 }
45