MyAccountTag.php
1 month ago
account-settings.tmpl.php
3 years ago
billing-details.tmpl.php
1 year ago
change-password.tmpl.php
1 year ago
dashboard.tmpl.php
3 years ago
delete-account.tmpl.php
1 year ago
downloads.tmpl.php
1 year ago
edit-profile.tmpl.php
1 year ago
email-notifications.tmpl.php
3 years ago
index.php
5 years ago
orders.tmpl.php
3 years ago
subscriptions.tmpl.php
1 year ago
view-order.tmpl.php
1 year ago
view-subscription.tmpl.php
1 year ago
view-subscription.tmpl.php
150 lines
| 1 | <?php |
| 2 | |
| 3 | use ProfilePress\Core\Membership\Models\Customer\CustomerFactory; |
| 4 | use ProfilePress\Core\Membership\Models\Order\OrderFactory; |
| 5 | use ProfilePress\Core\Membership\Models\Order\OrderStatus; |
| 6 | use ProfilePress\Core\Membership\Models\Subscription\SubscriptionFactory; |
| 7 | use ProfilePress\Core\Membership\Models\Subscription\SubscriptionStatus; |
| 8 | use ProfilePress\Core\Membership\PaymentMethods\PaymentMethods; |
| 9 | use ProfilePress\Core\ShortcodeParser\MyAccount\MyAccountTag; |
| 10 | |
| 11 | if ( ! defined('ABSPATH')) { |
| 12 | exit; |
| 13 | } |
| 14 | |
| 15 | if ( ! is_user_logged_in()) return; |
| 16 | |
| 17 | $sub = SubscriptionFactory::fromId(ppressGET_var('sub_id')); |
| 18 | |
| 19 | $customer = CustomerFactory::fromUserId(get_current_user_id()); |
| 20 | |
| 21 | $customer_id = $customer->id; |
| 22 | |
| 23 | $payment_method = PaymentMethods::get_instance()->get_by_id($sub->get_payment_method()); |
| 24 | |
| 25 | ?> |
| 26 | <div class="profilepress-myaccount-orders-subs"> |
| 27 | |
| 28 | <?php |
| 29 | |
| 30 | if ( ! $sub->exists() || $sub->customer_id != $customer_id) : |
| 31 | printf('<p class="profilepress-myaccount-alert pp-alert-danger">%s</p>', esc_html__('Invalid subscription', 'wp-user-avatar')); |
| 32 | else : |
| 33 | $plan = ppress_get_plan($sub->plan_id); |
| 34 | |
| 35 | $plan_group_id = $plan->get_group_id(); |
| 36 | |
| 37 | $sub_orders = $sub->get_all_orders(); |
| 38 | |
| 39 | $parent_order = OrderFactory::fromId($sub->parent_order_id); |
| 40 | $actions = []; |
| 41 | |
| 42 | if ( $sub->can_cancel()) { |
| 43 | $actions['cancel'] = esc_html__('Cancel', 'wp-user-avatar'); |
| 44 | } |
| 45 | |
| 46 | if ( ! $customer->has_active_group_subscription($plan_group_id) && ! $sub->is_active()) { |
| 47 | $actions['resubscribe'] = esc_html__('Resubscribe', 'wp-user-avatar'); |
| 48 | } |
| 49 | |
| 50 | if ($plan_group_id && ! $sub->is_pending()) { |
| 51 | $actions['change_plan'] = esc_html__('Change Plan', 'wp-user-avatar'); |
| 52 | } |
| 53 | |
| 54 | $actions = apply_filters('ppress_myaccount_subscription_actions', $actions, $sub, $payment_method, $customer); |
| 55 | |
| 56 | do_action('ppress_myaccount_subscription_action_status', $sub, ppressGET_var('ppress-myac-sub-message')); |
| 57 | ?> |
| 58 | |
| 59 | <div class="profilepress-myaccount-order-details-wrap"> |
| 60 | <div class="ppress-details-table-wrap"> |
| 61 | <table class="ppress-details-table"> |
| 62 | <tbody> |
| 63 | <tr> |
| 64 | <td><?php esc_html_e('Status', 'wp-user-avatar'); ?></td> |
| 65 | <td> |
| 66 | <span class="sub-status <?= $sub->status ?>"><?= SubscriptionStatus::get_label($sub->status) ?></span> |
| 67 | </td> |
| 68 | </tr> |
| 69 | <tr> |
| 70 | <td><?php esc_html_e('Plan', 'wp-user-avatar'); ?></td> |
| 71 | <td><?= $plan->name ?></td> |
| 72 | </tr> |
| 73 | <tr> |
| 74 | <td><?php esc_html_e('Terms', 'wp-user-avatar'); ?></td> |
| 75 | <td><?= $sub->get_subscription_terms() ?></td> |
| 76 | </tr> |
| 77 | <tr> |
| 78 | <td><?php esc_html_e('Initial Amount', 'wp-user-avatar'); ?></td> |
| 79 | <td><?= ppress_display_amount($sub->initial_amount, $parent_order->currency) ?></td> |
| 80 | </tr> |
| 81 | <tr> |
| 82 | <td><?php esc_html_e('Start Date', 'wp-user-avatar'); ?></td> |
| 83 | <td><?= ppress_format_date($sub->created_date) ?></td> |
| 84 | </tr> |
| 85 | <tr> |
| 86 | <td><?php echo $sub->get_renewal_expiration_date_label() ?></td> |
| 87 | <td><?= $sub->get_formatted_expiration_date() ?></td> |
| 88 | </tr> |
| 89 | <tr> |
| 90 | <td><?php esc_html_e('Payment', 'wp-user-avatar'); ?></td> |
| 91 | <td><?php printf(esc_html__('Via %s', 'wp-user-avatar'), $payment_method->title) ?></td> |
| 92 | </tr> |
| 93 | <?php if ( ! empty($actions)) : ?> |
| 94 | <tr> |
| 95 | <td><?php esc_html_e('Actions', 'wp-user-avatar'); ?></td> |
| 96 | <td> |
| 97 | <?php foreach ($actions as $action => $label) : $attr = $action == 'cancel' ? ' ppress-confirm-delete' : ''; |
| 98 | $url = wp_nonce_url( |
| 99 | remove_query_arg('ppress-myac-sub-message', add_query_arg(['ppress_myac_sub_action' => $action, 'sub_id' => $sub->id])), |
| 100 | $sub->id . $action . get_current_user_id() |
| 101 | ); ?> |
| 102 | <a href="<?php echo esc_url($url); ?>" class="ppress-myac-action ppress-<?php echo sanitize_html_class($action) ?><?php echo $attr ?>"><?php echo esc_html($label); ?></a> |
| 103 | <?php endforeach; ?> |
| 104 | </td> |
| 105 | </tr> |
| 106 | <?php endif; ?> |
| 107 | </tbody> |
| 108 | </table> |
| 109 | </div> |
| 110 | </div> |
| 111 | |
| 112 | <?php if ( ! empty($sub_orders)) : ?> |
| 113 | |
| 114 | <h2><?= esc_html__('Subscription Orders', 'wp-user-avatar') ?></h2> |
| 115 | |
| 116 | <div class="profilepress-myaccount-sub-order-details-wrap"> |
| 117 | <div class="profilepress-myaccount-sub-order-details-table-wrap"> |
| 118 | <table class="ppress-details-table"> |
| 119 | <thead> |
| 120 | <tr> |
| 121 | <th><?php esc_html_e('Order', 'wp-user-avatar') ?></th> |
| 122 | <th><?php esc_html_e('Date', 'wp-user-avatar') ?></th> |
| 123 | <th><?php esc_html_e('Status', 'wp-user-avatar') ?></th> |
| 124 | <th><?php esc_html_e('Total', 'wp-user-avatar') ?></th> |
| 125 | </tr> |
| 126 | </thead> |
| 127 | <tbody> |
| 128 | <?php foreach ($sub_orders as $sub_order) : $view_order_url = add_query_arg(['order_key' => $sub_order->order_key], MyAccountTag::get_endpoint_url('list-orders')); |
| 129 | ?> |
| 130 | <tr> |
| 131 | <td> |
| 132 | <a href="<?php echo esc_url($view_order_url) ?>">#<?= $sub_order->get_reduced_order_key() ?></a> |
| 133 | </td> |
| 134 | <td><?= ppress_format_date($sub_order->date_created) ?></td> |
| 135 | <td><?= OrderStatus::get_label($sub_order->status) ?></td> |
| 136 | <td><?= ppress_display_amount($sub_order->total, $sub_order->currency) ?></td> |
| 137 | </tr> |
| 138 | <?php endforeach; ?> |
| 139 | </tbody> |
| 140 | </table> |
| 141 | </div> |
| 142 | </div> |
| 143 | |
| 144 | <?php endif; ?> |
| 145 | <?php endif; ?> |
| 146 | |
| 147 | </div> |
| 148 | <?php |
| 149 | |
| 150 | do_action('ppress_myaccount_view_order_details'); |