add-edit-order.php
2 years ago
digital-products-metabox.php
3 years ago
download-logs-sidebar.php
3 years ago
eu-vat-sidebar.php
3 years ago
order-data-metabox.php
4 months ago
order-item-metabox.php
3 years ago
order-notes-sidebar.php
3 years ago
order-submit-sidebar.php
3 years ago
order-subscription-sidebar.php
3 years ago
add-edit-order.php
174 lines
| 1 | <?php |
| 2 | |
| 3 | use ProfilePress\Core\Membership\Models\Order\OrderFactory; |
| 4 | use ProfilePress\Core\Membership\Models\Subscription\SubscriptionFactory; |
| 5 | use ProfilePress\Core\Membership\Services\TaxService; |
| 6 | |
| 7 | $order_id = absint(ppressGET_var('id')); |
| 8 | |
| 9 | $order_data = OrderFactory::fromId($order_id); |
| 10 | |
| 11 | if (ppressGET_var('ppress_order_action') == 'edit' && ! $order_data->exists()) { |
| 12 | ppress_content_http_redirect(PPRESS_MEMBERSHIP_ORDERS_SETTINGS_PAGE); |
| 13 | |
| 14 | return; |
| 15 | } |
| 16 | |
| 17 | add_action('add_meta_boxes', function () use ($order_data, $order_id) { |
| 18 | add_meta_box( |
| 19 | 'ppress-membership-order-content', |
| 20 | sprintf(esc_html__('Order #%s', 'wp-user-avatar'), $order_id), |
| 21 | function () use ($order_data, $order_id) { |
| 22 | require __DIR__ . '/order-data-metabox.php'; |
| 23 | }, |
| 24 | 'ppmembershiporder' |
| 25 | ); |
| 26 | |
| 27 | add_meta_box( |
| 28 | 'ppress-membership-item-content', |
| 29 | sprintf(esc_html__('Order Item', 'wp-user-avatar'), $order_id), |
| 30 | function () use ($order_data, $order_id) { |
| 31 | require __DIR__ . '/order-item-metabox.php'; |
| 32 | }, |
| 33 | 'ppmembershiporder' |
| 34 | ); |
| 35 | |
| 36 | if ( ! empty($order_data->get_plan()->has_downloads())) { |
| 37 | |
| 38 | add_meta_box( |
| 39 | 'ppress-membership-plan-downloads', |
| 40 | esc_html__('Digital Products', 'wp-user-avatar'), |
| 41 | function () use ($order_data) { |
| 42 | require __DIR__ . '/digital-products-metabox.php'; |
| 43 | }, |
| 44 | 'ppmembershiporder' |
| 45 | ); |
| 46 | } |
| 47 | |
| 48 | add_meta_box( |
| 49 | 'submitdiv', |
| 50 | __('Publish', 'wp-user-avatar'), |
| 51 | function () use ($order_data, $order_id) { |
| 52 | require __DIR__ . '/order-submit-sidebar.php'; |
| 53 | }, |
| 54 | 'ppmembershiporder', |
| 55 | 'sidebar' |
| 56 | ); |
| 57 | |
| 58 | $subscriptionObj = SubscriptionFactory::fromId( |
| 59 | $order_data->get_subscription_id() |
| 60 | ); |
| 61 | |
| 62 | do_action('ppress_order_admin_page_sidebar', $order_data); |
| 63 | |
| 64 | if ($subscriptionObj->exists()) { |
| 65 | add_meta_box( |
| 66 | 'ppress-membership-order-subscription', |
| 67 | __('Subscriptions', 'wp-user-avatar'), |
| 68 | function () use ($order_data, $subscriptionObj) { |
| 69 | require __DIR__ . '/order-subscription-sidebar.php'; |
| 70 | }, |
| 71 | 'ppmembershiporder', |
| 72 | 'sidebar' |
| 73 | ); |
| 74 | } |
| 75 | |
| 76 | if (TaxService::init()->is_tax_enabled() && TaxService::init()->is_eu_vat_enabled()) { |
| 77 | add_meta_box( |
| 78 | 'ppress-membership-eu-vat', |
| 79 | __('EU VAT', 'wp-user-avatar'), |
| 80 | function () use ($order_data) { |
| 81 | require __DIR__ . '/eu-vat-sidebar.php'; |
| 82 | }, |
| 83 | 'ppmembershiporder', |
| 84 | 'sidebar' |
| 85 | ); |
| 86 | } |
| 87 | |
| 88 | $order_notes = $order_data->get_notes(); |
| 89 | |
| 90 | if ( ! empty($order_notes)) { |
| 91 | add_meta_box( |
| 92 | 'ppress-membership-order-notes', |
| 93 | __('Order Notes', 'wp-user-avatar'), |
| 94 | function () use ($order_notes) { |
| 95 | require __DIR__ . '/order-notes-sidebar.php'; |
| 96 | }, |
| 97 | 'ppmembershiporder', |
| 98 | 'sidebar' |
| 99 | ); |
| 100 | } |
| 101 | |
| 102 | if ($order_data->get_plan()->has_downloads()) { |
| 103 | add_meta_box( |
| 104 | 'ppress-membership-order-download-logs', |
| 105 | __('Logs', 'wp-user-avatar'), |
| 106 | function () use ($order_data) { |
| 107 | require __DIR__ . '/download-logs-sidebar.php'; |
| 108 | }, |
| 109 | 'ppmembershiporder', |
| 110 | 'sidebar' |
| 111 | ); |
| 112 | } |
| 113 | }); |
| 114 | |
| 115 | do_action('add_meta_boxes', 'ppmembershiporder', new WP_Post(new stdClass())); |
| 116 | ?> |
| 117 | |
| 118 | <div id="poststuff"> |
| 119 | <div id="post-body" class="metabox-holder columns-2"> |
| 120 | |
| 121 | <form method="post"> |
| 122 | <div id="postbox-container-1" class="postbox-container"> |
| 123 | <?php do_meta_boxes('ppmembershiporder', 'sidebar', ''); ?> |
| 124 | </div> |
| 125 | <div id="postbox-container-2" class="postbox-container"> |
| 126 | <?php do_meta_boxes('ppmembershiporder', 'advanced', ''); ?> |
| 127 | </div> |
| 128 | <?php echo ppress_nonce_field(); ?> |
| 129 | </form> |
| 130 | </div> |
| 131 | <br class="clear"> |
| 132 | </div> |
| 133 | <script type="text/javascript"> |
| 134 | var ppress_order_replace_modal_title = '<?php esc_html_e('Add or Replace Order Item', 'wp-user-avatar'); ?>'; |
| 135 | var ppress_modal_empty_plan_error = '<?php esc_html_e('Please select a membership plan', 'wp-user-avatar'); ?>'; |
| 136 | </script> |
| 137 | <script type="text/html" id="tmpl-add-replace-order-template"> |
| 138 | <div class="ppress-order-item-modal-wrap"> |
| 139 | <p> |
| 140 | <label for="subscription-plans"><?php esc_html_e('Plan', 'wp-user-avatar'); ?></label> |
| 141 | <select id="subscription-plans" class="ppress-order-change-modal"> |
| 142 | <option value=""><?php esc_html_e('Select Plan', 'wp-user-avatar'); ?></option> |
| 143 | </select> |
| 144 | </p> |
| 145 | |
| 146 | <p> |
| 147 | <label for="sub_plan_price"><?php esc_html_e('Plan Price', 'wp-user-avatar'); ?></label> |
| 148 | <input id="sub_plan_price" type="text" placeholder="<?php echo ppress_display_amount('0.00') ?>"> |
| 149 | </p> |
| 150 | |
| 151 | <?php if (TaxService::init()->is_tax_enabled()) : ?> |
| 152 | <p> |
| 153 | <label for="tax-amount"><?php esc_html_e('Tax/VAT Fee', 'wp-user-avatar'); ?></label> |
| 154 | <input id="tax-amount" type="text" placeholder="<?php echo ppress_display_amount('0.00') ?>"> |
| 155 | </p> |
| 156 | <?php endif; ?> |
| 157 | <p> |
| 158 | <label for="order_coupon"><?php esc_html_e('Coupon', 'wp-user-avatar'); ?></label> |
| 159 | <select id="order_coupon" class="ppress-order-change-modal"> |
| 160 | <option value=""><?php esc_html_e('Select Coupon', 'wp-user-avatar'); ?></option> |
| 161 | </select> |
| 162 | </p> |
| 163 | <?php if (TaxService::init()->is_tax_enabled()): ?> |
| 164 | <?php if (TaxService::init()->is_price_inclusive_tax()): ?> |
| 165 | <p><?php esc_html_e('Price is inclusive of VAT/Sales Tax', 'wp-user-avatar'); ?></p> |
| 166 | <?php else : ?> |
| 167 | <p><?php esc_html_e('Price is exclusive of VAT/Sales Tax', 'wp-user-avatar'); ?></p> |
| 168 | <?php endif; ?> |
| 169 | <?php endif; ?> |
| 170 | <p> |
| 171 | <button id="save-order-change" type="button" class="button button-primary"><?php esc_html_e('Save', 'wp-user-avatar'); ?></button> |
| 172 | </p> |
| 173 | </div> |
| 174 | </script> |