MyAccountTag.php
4 years ago
account-settings.tmpl.php
4 years ago
billing-details.tmpl.php
4 years ago
change-password.tmpl.php
4 years ago
dashboard.tmpl.php
5 years ago
edit-profile.tmpl.php
4 years ago
email-notifications.tmpl.php
4 years ago
index.php
5 years ago
orders.tmpl.php
4 years ago
subscriptions.tmpl.php
4 years ago
view-order.tmpl.php
4 years ago
view-subscription.tmpl.php
4 years ago
view-subscription.tmpl.php
143 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_id = CustomerFactory::fromUserId(get_current_user_id())->id; |
| 20 | |
| 21 | $payment_method = PaymentMethods::get_instance()->get_by_id($sub->get_payment_method()); |
| 22 | |
| 23 | ?> |
| 24 | <div class="profilepress-myaccount-orders-subs"> |
| 25 | |
| 26 | <?php |
| 27 | |
| 28 | if ( ! $sub->exists() || $sub->customer_id != $customer_id) : |
| 29 | printf('<p class="profilepress-myaccount-alert pp-alert-danger">%s</p>', esc_html__('Invalid subscription', 'wp-user-avatar')); |
| 30 | else : |
| 31 | $plan = ppress_get_plan($sub->plan_id); |
| 32 | $sub_orders = $sub->get_all_orders(); |
| 33 | |
| 34 | $parent_order = OrderFactory::fromId($sub->parent_order_id); |
| 35 | $actions = []; |
| 36 | |
| 37 | if ( ! $sub->has_cancellation_requested() && $sub->can_cancel()) { |
| 38 | $actions['cancel'] = esc_html__('Cancel', 'wp-user-avatar'); |
| 39 | } |
| 40 | |
| 41 | /** |
| 42 | * @todo when plan group launches, do not show resubscribe button if expired/cancelled plan belongs to |
| 43 | * a plan group where the customer has an active plan |
| 44 | */ |
| 45 | if ($sub->is_cancelled() || $sub->is_expired()) { |
| 46 | $actions['resubscribe'] = esc_html__('Resubscribe', 'wp-user-avatar'); |
| 47 | } |
| 48 | |
| 49 | do_action('ppress_myaccount_subscription_action_status', $sub, ppressGET_var('ppress-myac-sub-message')); |
| 50 | ?> |
| 51 | |
| 52 | <div class="profilepress-myaccount-order-details-wrap"> |
| 53 | <div class="ppress-details-table-wrap"> |
| 54 | <table class="ppress-details-table"> |
| 55 | <tbody> |
| 56 | <tr> |
| 57 | <td><?php esc_html_e('Status', 'wp-user-avatar'); ?></td> |
| 58 | <td> |
| 59 | <span class="sub-status <?= $sub->status ?>"><?= SubscriptionStatus::get_label($sub->status) ?></span> |
| 60 | </td> |
| 61 | </tr> |
| 62 | <tr> |
| 63 | <td><?php esc_html_e('Plan', 'wp-user-avatar'); ?></td> |
| 64 | <td><?= $plan->name ?></td> |
| 65 | </tr> |
| 66 | <tr> |
| 67 | <td><?php esc_html_e('Terms', 'wp-user-avatar'); ?></td> |
| 68 | <td><?= $sub->get_subscription_terms() ?></td> |
| 69 | </tr> |
| 70 | <tr> |
| 71 | <td><?php esc_html_e('Initial Amount', 'wp-user-avatar'); ?></td> |
| 72 | <td><?= ppress_display_amount($sub->initial_amount, $parent_order->currency) ?></td> |
| 73 | </tr> |
| 74 | <tr> |
| 75 | <td><?php esc_html_e('Start Date', 'wp-user-avatar'); ?></td> |
| 76 | <td><?= ppress_format_date($sub->created_date) ?></td> |
| 77 | </tr> |
| 78 | <tr> |
| 79 | <td><?php echo ($sub->is_cancelled() || $sub->has_cancellation_requested()) ? esc_html__('Expiration Date', 'wp-user-avatar') : esc_html__('Renewal Date', 'wp-user-avatar'); ?></td> |
| 80 | <td><?= $sub->get_formatted_expiration_date() ?></td> |
| 81 | </tr> |
| 82 | <tr> |
| 83 | <td><?php esc_html_e('Payment', 'wp-user-avatar'); ?></td> |
| 84 | <td><?php printf(esc_html__('Via %s', 'wp-user-avatar'), $payment_method->title) ?></td> |
| 85 | </tr> |
| 86 | <?php if ( ! empty($actions)) : ?> |
| 87 | <tr> |
| 88 | <td><?php esc_html_e('Actions', 'wp-user-avatar'); ?></td> |
| 89 | <td> |
| 90 | <?php foreach ($actions as $action => $label) : |
| 91 | $url = wp_nonce_url( |
| 92 | add_query_arg(['ppress_myac_sub_action' => $action, 'sub_id' => $sub->id]), |
| 93 | $sub->id . $action |
| 94 | ); ?> |
| 95 | <a href="<?php echo esc_url($url); ?>" class="ppress-myac-action ppress-<?php echo sanitize_html_class($action) ?> ppress-confirm-delete"><?php echo esc_html($label); ?></a> |
| 96 | <?php endforeach; ?> |
| 97 | </td> |
| 98 | </tr> |
| 99 | <?php endif; ?> |
| 100 | </tbody> |
| 101 | </table> |
| 102 | </div> |
| 103 | </div> |
| 104 | |
| 105 | <?php if ( ! empty($sub_orders)) : ?> |
| 106 | |
| 107 | <h2><?= sprintf(esc_html__('Subscription Orders', 'wp-user-avatar'), $sub->id) ?></h2> |
| 108 | |
| 109 | <div class="profilepress-myaccount-sub-order-details-wrap"> |
| 110 | <div class="profilepress-myaccount-sub-order-details-table-wrap"> |
| 111 | <table class="ppress-details-table"> |
| 112 | <thead> |
| 113 | <tr> |
| 114 | <th><?php esc_html_e('Order', 'wp-user-avatar') ?></th> |
| 115 | <th><?php esc_html_e('Date', 'wp-user-avatar') ?></th> |
| 116 | <th><?php esc_html_e('Status', 'wp-user-avatar') ?></th> |
| 117 | <th><?php esc_html_e('Total', 'wp-user-avatar') ?></th> |
| 118 | </tr> |
| 119 | </thead> |
| 120 | <tbody> |
| 121 | <?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')); |
| 122 | ?> |
| 123 | <tr> |
| 124 | <td> |
| 125 | <a href="<?php echo esc_url($view_order_url) ?>">#<?= $sub_order->get_reduced_order_key() ?></a> |
| 126 | </td> |
| 127 | <td><?= ppress_format_date($sub_order->date_created) ?></td> |
| 128 | <td><?= OrderStatus::get_label($sub_order->status) ?></td> |
| 129 | <td><?= ppress_display_amount($sub_order->total, $sub_order->currency) ?></td> |
| 130 | </tr> |
| 131 | <?php endforeach; ?> |
| 132 | </tbody> |
| 133 | </table> |
| 134 | </div> |
| 135 | </div> |
| 136 | |
| 137 | <?php endif; ?> |
| 138 | <?php endif; ?> |
| 139 | |
| 140 | </div> |
| 141 | <?php |
| 142 | |
| 143 | do_action('ppress_myaccount_view_order_details'); |