LLMS_AJAX_Handler::validate_coupon_code( array $request )
Validate a Coupon via the Checkout Form
Parameters Parameters
- $request
-
(array) (Required) $_POST data.
Return Return
(array|WP_Error) On success, returns an array containing HTML parts used to update the interface of the checkout screen. On error, returns an error object with details of the encountered error.
Source Source
File: includes/class.llms.ajax.handler.php
if ( empty( $request['code'] ) ) { $error->add( 'error', __( 'Please enter a coupon code.', 'lifterlms' ) ); } elseif ( empty( $request['plan_id'] ) ) { $error->add( 'error', __( 'Please enter a plan ID.', 'lifterlms' ) ); } else { $cid = llms_find_coupon( $request['code'] ); if ( ! $cid ) { // Translators: %s = coupon code. $error->add( 'error', sprintf( __( 'Coupon code "%s" not found.', 'lifterlms' ), $request['code'] ) ); } else { $coupon = new LLMS_Coupon( $cid ); $valid = $coupon->is_valid( $request['plan_id'] ); if ( is_wp_error( $valid ) ) { $error = $valid; } else { llms()->session->set( 'llms_coupon', array( 'plan_id' => $request['plan_id'], 'coupon_id' => $coupon->get( 'id' ), ) ); $plan = new LLMS_Access_Plan( $request['plan_id'] ); ob_start(); llms_get_template( 'checkout/form-coupon.php', array( 'coupon' => $coupon, ) ); $coupon_html = ob_get_clean(); ob_start(); llms_get_template( 'checkout/form-gateways.php', array( 'coupon' => $coupon, 'gateways' => llms()->payment_gateways()->get_enabled_payment_gateways(), 'selected_gateway' => llms()->payment_gateways()->get_default_gateway(), 'plan' => $plan, ) ); $gateways_html = ob_get_clean(); ob_start(); llms_get_template( 'checkout/form-summary.php', array( 'coupon' => $coupon, 'plan' => $plan, 'product' => $plan->get_product(), ) ); $summary_html = ob_get_clean(); return array( 'code' => $coupon->get( 'title' ), 'coupon_html' => $coupon_html, 'gateways_html' => $gateways_html, 'summary_html' => $summary_html, ); } } } return $error; } /** * Create course's section. * * @since Unknown
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
4.21.1 | Sanitize user-submitted coupon code before outputting in error messages. |
3.39.0 | Minor changes to code for readability with no changes to function behavior. |
3.0.0 | Introduced. |