PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 3.1.5
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v3.1.5
4.7.2 4.7.1 4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 All 281 releases
surecart / app / src / Middleware / CheckoutFormModeMiddleware.php
CheckoutFormModeMiddleware.php
36 lines 949 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace SureCart\Middleware;
4
5 use Closure;
6 use SureCartCore\Requests\RequestInterface;
7
8 /**
9 * Middleware for handling checkout mode.
10 */
11 class CheckoutFormModeMiddleware {
12 /**
13 * Handle the request.
14 *
15 * @param RequestInterface $request Request.
16 * @param Closure $next Next.
17 * @return function
18 */
19 public function handle( RequestInterface $request, Closure $next ) {
20 // Check nonce.
21 if ( ! $request->query( 'nonce' ) || ! wp_verify_nonce( $request->query( 'nonce' ), 'update_checkout_mode' ) ) {
22 wp_die( esc_html__( 'Your session expired - please try again.', 'surecart' ) );
23 }
24
25 // Check permission to edit the post.
26 if (
27 ! current_user_can( 'edit_post', $request->query( 'sc_checkout_post' ) ) ||
28 ! current_user_can( 'edit_post', $request->query( 'sc_checkout_change_mode' ) )
29 ) {
30 wp_die( esc_html__( 'You do not have permission do this.', 'surecart' ) );
31 }
32
33 return $next( $request );
34 }
35 }
36