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 / NonceFieldMiddleware.php

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

48 lines 1.1 KB
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 NonceFieldMiddleware
9 {
10
11 /**
12 * Response service.
13 *
14 * @var ResponseService
15 */
16 protected $responseService = null;
17
18 /**
19 * Constructor.
20 *
21 * @codeCoverageIgnore
22 * @param ResponseService $responseService
23 */
24 public function __construct( ResponseService $responseService ) {
25 $this->responseService = $responseService;
26 }
27
28 /**
29 * @param RequestInterface $request
30 * @param $next
31 * @param string $action
32 * @param string $nonce
33 * @param string $method
34 *
35 * @return mixed|ResponseService
36 */
37 public function handle( RequestInterface $request, $next, string $action = 'depicter-nonce', string $nonce = '_wpnonce', string $method = 'post' ){
38 $nonce = $method == 'post' ? $request->body($nonce ) : $request->query($nonce);
39 if ( empty($nonce) || ! wp_verify_nonce( $nonce, $action ) ) {
40 return $this->responseService->json([
41 'errors' => ['Nonce is invalid']
42 ]);
43 }
44
45 return $next( $request );
46 }
47 }
48