credit-card-fields.php
3 years ago
form-account-info-fields.php
2 months ago
form-billing-fields.php
3 years ago
form-checkout-sidebar.php
1 year ago
form-checkout-submit-btn.php
1 week ago
form-checkout.php
2 months ago
form-login.php
3 years ago
form-payment-methods.php
1 year ago
form-terms.php
9 months ago
group-selector.php
11 months ago
index.php
3 years ago
form-checkout.php
106 lines
| 1 | <?php |
| 2 | |
| 3 | use ProfilePress\Core\Membership\Controllers\CheckoutSessionData; |
| 4 | use ProfilePress\Core\Membership\Models\Customer\CustomerFactory; |
| 5 | use ProfilePress\Core\Membership\Models\Group\GroupEntity; |
| 6 | use ProfilePress\Core\Membership\Models\Subscription\SubscriptionFactory; |
| 7 | use ProfilePress\Core\Membership\Services\OrderService; |
| 8 | use ProfilePress\Core\Membership\Models\Plan\PlanEntity; |
| 9 | |
| 10 | /** @var PlanEntity $planObj */ |
| 11 | /** @var GroupEntity $groupObj */ |
| 12 | /** @var int $changePlanSubId */ |
| 13 | |
| 14 | $changePlanId = SubscriptionFactory::fromId($changePlanSubId)->get_plan_id(); |
| 15 | |
| 16 | // if we on change plan checkout and selected plan is same as plan to switch from */ |
| 17 | $isChangePlanIdSelected = $changePlanId == $planObj->id; |
| 18 | |
| 19 | $cart_vars = OrderService::init()->checkout_order_calculation([ |
| 20 | 'plan_id' => $planObj->id, |
| 21 | 'coupon_code' => CheckoutSessionData::get_coupon_code($planObj->id), |
| 22 | 'tax_rate' => CheckoutSessionData::get_tax_rate($planObj->id), |
| 23 | 'change_plan_sub_id' => $changePlanSubId |
| 24 | ]); |
| 25 | |
| 26 | ?> |
| 27 | |
| 28 | <div id="ppress_checkout_summary" class="ppress-checkout-section ppress-checkout_side_section"> |
| 29 | <?php |
| 30 | ppress_render_view('checkout/form-checkout-sidebar', [ |
| 31 | 'plan' => $planObj, |
| 32 | 'cart_vars' => $cart_vars, |
| 33 | 'isChangePlanIdSelected' => $isChangePlanIdSelected |
| 34 | ] |
| 35 | ); ?> |
| 36 | </div> |
| 37 | |
| 38 | <div id="ppress_checkout_main_form" class="ppress-checkout-section ppress-checkout_main"> |
| 39 | |
| 40 | <form method="post" id="ppress_mb_checkout_form" enctype="multipart/form-data"> |
| 41 | <input id="ppress-checkout-plan-id" type="hidden" name="plan_id" value="<?= $planObj->id ?>"> |
| 42 | <input id="ppress-checkout-group-id" type="hidden" name="group_id" value="<?= $groupObj->get_id() ?>"> |
| 43 | <input id="ppress-checkout-change-plan-id" type="hidden" name="change_plan_sub_id" value="<?= $changePlanSubId ?>"> |
| 44 | <?php wp_nonce_field('ppress_process_checkout', 'ppress_checkout_nonce'); ?> |
| 45 | |
| 46 | <div class="ppress-main-checkout-form__block"> |
| 47 | |
| 48 | <?php if ($changePlanId > 0 || $groupObj->exists()) : ?> |
| 49 | <?php ppress_render_view('checkout/group-selector', ['plan' => $planObj]); ?> |
| 50 | <?php endif; ?> |
| 51 | |
| 52 | <?php if (CustomerFactory::fromUserId(get_current_user_id())->has_active_subscription($planObj->id)) : ?> |
| 53 | <div class="ppress-alert ppress-error"> |
| 54 | <p><?php esc_html_e('You have an active subscription to this plan.', 'wp-user-avatar') ?></p> |
| 55 | </div> |
| 56 | <?php else: ?> |
| 57 | |
| 58 | <?php if ( ! $isChangePlanIdSelected) : ?> |
| 59 | |
| 60 | <?php do_action('ppress_checkout_before_account_info_fields', $planObj, $groupObj, $changePlanSubId); ?> |
| 61 | |
| 62 | <div class="ppress-main-checkout-form__block__fieldset"> |
| 63 | <fieldset id="ppress_checkout_account_info"> |
| 64 | <legend> |
| 65 | <span><?php esc_html_e('Account Information', 'wp-user-avatar') ?></span> |
| 66 | <?php if ( ! is_user_logged_in()): ?> |
| 67 | <a class="ppress-checkout-show-login-form" href="#"> |
| 68 | <?php esc_html_e('Already have an account?', 'wp-user-avatar') ?> |
| 69 | </a> |
| 70 | <?php endif; ?> |
| 71 | </legend> |
| 72 | |
| 73 | <?php ppress_render_view('checkout/form-login', ['plan' => $planObj, 'groupObj' => $groupObj]); ?> |
| 74 | |
| 75 | </fieldset> |
| 76 | </div> |
| 77 | |
| 78 | <?php ppress_render_view('checkout/form-account-info-fields', ['plan' => $planObj]); ?> |
| 79 | |
| 80 | <?php ppress_render_view('checkout/form-payment-methods', [ |
| 81 | 'plan' => $planObj, |
| 82 | 'cart_vars' => $cart_vars |
| 83 | ]); ?> |
| 84 | |
| 85 | <?php ppress_render_view('checkout/form-terms'); ?> |
| 86 | |
| 87 | <?php do_action('ppress_checkout_before_submit_button', $cart_vars, $planObj); ?> |
| 88 | |
| 89 | <label style="display: none !important;"> |
| 90 | <input style="display:none !important" type="text" name="_ppress_honeypot" value="" tabindex="-1" autocomplete="off"/> |
| 91 | </label> |
| 92 | <input type="hidden" name="_ppress_timestamp" value="<?= time() ?>"/> |
| 93 | |
| 94 | <?php ppress_render_view('checkout/form-checkout-submit-btn', [ |
| 95 | 'order_total' => $cart_vars->total, |
| 96 | 'plan' => $planObj |
| 97 | ]); ?> |
| 98 | <?php endif; ?> |
| 99 | |
| 100 | <?php endif; ?> |
| 101 | </div> |
| 102 | |
| 103 | </form> |
| 104 | |
| 105 | </div> |
| 106 |