mirror of
https://github.com/pronamic/woocommerce-subscriptions.git
synced 2025-10-15 13:52:57 +00:00
Updates to 5.8.0
This commit is contained in:
@@ -1,5 +1,14 @@
|
|||||||
*** Woo Subscriptions Changelog ***
|
*** Woo Subscriptions Changelog ***
|
||||||
|
|
||||||
|
2023-12-21 - version 5.8.0
|
||||||
|
* Fix: Incorrect switch calculation when upgrading a synchronised product before the first renewal is due where the initial payment was prorated.
|
||||||
|
* Fix: When updating a subscription via the REST API, don't update the start date to the current time if the start date is not set in the request.
|
||||||
|
* Fix: When using the checkout block to pay for renewal orders, ensure the order's cart hash is updated to make sure the existing order can be used.
|
||||||
|
* Fix: Prevents a PHP fatal error that occurs when the cart contains a renewal order item that no longer exists.
|
||||||
|
* Fix: When HPOS is enabled and data compatibility mode is turned on, make sure subscription date changes made to postmeta are synced to orders_meta table.
|
||||||
|
* Fix: Resolved an issue that would cause undefined $current_page, $max_num_pages, and $paginate variable errors when viewing a page with the subscriptions-shortcode.
|
||||||
|
* Dev: Update subscriptions-core to 6.6.0.
|
||||||
|
|
||||||
2023-11-09 - version 5.7.0
|
2023-11-09 - version 5.7.0
|
||||||
* Add: Introduce a new REST API endpoint to create subscription(s) from a given order. This endpoint is available at POST `/wc/v3/orders/{order_id}/subscriptions` and accepts a single order ID.
|
* Add: Introduce a new REST API endpoint to create subscription(s) from a given order. This endpoint is available at POST `/wc/v3/orders/{order_id}/subscriptions` and accepts a single order ID.
|
||||||
* Add: When a customer toggles automatic renewals on or off via their My Account page, add a note to the subscription to record that event.
|
* Add: When a customer toggles automatic renewals on or off via their My Account page, add a note to the subscription to record that event.
|
||||||
|
@@ -241,11 +241,6 @@ class WC_REST_Subscriptions_Controller extends WC_REST_Orders_Controller {
|
|||||||
$payment_meta = array();
|
$payment_meta = array();
|
||||||
$dates = array();
|
$dates = array();
|
||||||
|
|
||||||
// If the start date is not set in the request, set its default to now.
|
|
||||||
if ( ! isset( $request['start_date'] ) ) {
|
|
||||||
$request['start_date'] = gmdate( 'Y-m-d H:i:s' );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Both setting (set_status()) and updating (update_status()) are valid ways for requests to set a subscription's status.
|
// Both setting (set_status()) and updating (update_status()) are valid ways for requests to set a subscription's status.
|
||||||
$status_transition = 'set';
|
$status_transition = 'set';
|
||||||
|
|
||||||
@@ -322,8 +317,8 @@ class WC_REST_Subscriptions_Controller extends WC_REST_Orders_Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( ! empty( $dates ) ) {
|
if ( ! empty( $dates ) ) {
|
||||||
// If the start date is not set in the request when a subscription is created with an active status, set its default to now.
|
// If the start date is not set in the request when a subscription is being created, set its default to now.
|
||||||
if ( 'active' === $status && empty( $id ) && ! isset( $dates['start_date'] ) ) {
|
if ( empty( $id ) && ! isset( $dates['start_date'] ) ) {
|
||||||
$dates['start_date'] = gmdate( 'Y-m-d H:i:s' );
|
$dates['start_date'] = gmdate( 'Y-m-d H:i:s' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -332,11 +332,11 @@ class WCS_Switch_Cart_Item {
|
|||||||
public function calculate_days_in_old_cycle() {
|
public function calculate_days_in_old_cycle() {
|
||||||
$method_to_use = 'days_between_payments';
|
$method_to_use = 'days_between_payments';
|
||||||
|
|
||||||
// If the subscription contains a synced product and the next payment is actually the first payment, determine the days in the "old" cycle from the subscription object
|
// If the subscription contains a synced product with no proration on signup and the next payment is actually the first payment, determine the days in the "old" cycle from the subscription object
|
||||||
if ( WC_Subscriptions_Synchroniser::subscription_contains_synced_product( $this->subscription ) ) {
|
if ( WC_Subscriptions_Synchroniser::subscription_contains_synced_product( $this->subscription ) ) {
|
||||||
$first_synced_payment = WC_Subscriptions_Synchroniser::calculate_first_payment_date( wc_get_product( $this->canonical_product_id ), 'timestamp', $this->subscription->get_date( 'start' ) );
|
$first_synced_payment = WC_Subscriptions_Synchroniser::calculate_first_payment_date( wc_get_product( $this->canonical_product_id ), 'timestamp', $this->subscription->get_date( 'start' ) );
|
||||||
|
|
||||||
if ( $first_synced_payment === $this->next_payment_timestamp ) {
|
if ( $first_synced_payment === $this->next_payment_timestamp && 0 === $this->get_total_paid_for_current_period() ) {
|
||||||
$method_to_use = 'days_in_billing_cycle';
|
$method_to_use = 'days_in_billing_cycle';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2,14 +2,14 @@
|
|||||||
# This file is distributed under the same license as the Woo Subscriptions plugin.
|
# This file is distributed under the same license as the Woo Subscriptions plugin.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Woo Subscriptions 5.7.0\n"
|
"Project-Id-Version: Woo Subscriptions 5.8.0\n"
|
||||||
"Report-Msgid-Bugs-To: https://woocommerce.com/contact-us\n"
|
"Report-Msgid-Bugs-To: https://woocommerce.com/contact-us\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2023-11-09T05:16:09+00:00\n"
|
"POT-Creation-Date: 2023-12-21T00:30:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"X-Generator: WP-CLI 2.8.1\n"
|
"X-Generator: WP-CLI 2.8.1\n"
|
||||||
"X-Domain: woocommerce-subscriptions\n"
|
"X-Domain: woocommerce-subscriptions\n"
|
||||||
@@ -57,7 +57,7 @@ msgstr ""
|
|||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-core-plugin.php:349
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-core-plugin.php:349
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:108
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:108
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:133
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:133
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:287
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:289
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/privacy/class-wcs-privacy-exporters.php:51
|
#: vendor/woocommerce/subscriptions-core/includes/privacy/class-wcs-privacy-exporters.php:51
|
||||||
msgid "Subscriptions"
|
msgid "Subscriptions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -96,14 +96,14 @@ msgid "Report Cache Enabled"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/admin/reports/class-wcs-report-cache-manager.php:316
|
#: includes/admin/reports/class-wcs-report-cache-manager.php:316
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1608
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1644
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1677
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1713
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:98
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:98
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/admin/reports/class-wcs-report-cache-manager.php:316
|
#: includes/admin/reports/class-wcs-report-cache-manager.php:316
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1608
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1644
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:98
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:98
|
||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -677,47 +677,47 @@ msgstr ""
|
|||||||
msgid "Failed to load subscription object with the ID %d."
|
msgid "Failed to load subscription object with the ID %d."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:333
|
#: includes/api/class-wc-rest-subscriptions-controller.php:328
|
||||||
msgid "Subscription dates could not be set. Error message: %s"
|
msgid "Subscription dates could not be set. Error message: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:369
|
#: includes/api/class-wc-rest-subscriptions-controller.php:364
|
||||||
msgid "Subscription status."
|
msgid "Subscription status."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:372
|
#: includes/api/class-wc-rest-subscriptions-controller.php:367
|
||||||
msgid "Where the subscription was created."
|
msgid "Where the subscription was created."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:373
|
#: includes/api/class-wc-rest-subscriptions-controller.php:368
|
||||||
msgid "Currency the subscription was created with, in ISO format."
|
msgid "Currency the subscription was created with, in ISO format."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:374
|
#: includes/api/class-wc-rest-subscriptions-controller.php:369
|
||||||
msgid "The date the subscription was created, in the site's timezone."
|
msgid "The date the subscription was created, in the site's timezone."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:375
|
#: includes/api/class-wc-rest-subscriptions-controller.php:370
|
||||||
msgid "The date the subscription was created, as GMT."
|
msgid "The date the subscription was created, as GMT."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:376
|
#: includes/api/class-wc-rest-subscriptions-controller.php:371
|
||||||
msgid "The date the subscription was last modified, in the site's timezone."
|
msgid "The date the subscription was last modified, in the site's timezone."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:377
|
#: includes/api/class-wc-rest-subscriptions-controller.php:372
|
||||||
msgid "The date the subscription was last modified, as GMT."
|
msgid "The date the subscription was last modified, as GMT."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:378
|
#: includes/api/class-wc-rest-subscriptions-controller.php:373
|
||||||
msgid "User ID who owns the subscription."
|
msgid "User ID who owns the subscription."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:388
|
#: includes/api/class-wc-rest-subscriptions-controller.php:383
|
||||||
msgid "The status to transition a subscription to."
|
msgid "The status to transition a subscription to."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:394
|
#: includes/api/class-wc-rest-subscriptions-controller.php:389
|
||||||
#: includes/api/legacy/class-wc-rest-subscriptions-controller.php:350
|
#: includes/api/legacy/class-wc-rest-subscriptions-controller.php:350
|
||||||
#: includes/api/v1/class-wc-rest-subscriptions-v1-controller.php:506
|
#: includes/api/v1/class-wc-rest-subscriptions-v1-controller.php:506
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-extend-store-endpoint.php:179
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-extend-store-endpoint.php:179
|
||||||
@@ -725,7 +725,7 @@ msgstr ""
|
|||||||
msgid "The number of billing periods between subscription renewals."
|
msgid "The number of billing periods between subscription renewals."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:399
|
#: includes/api/class-wc-rest-subscriptions-controller.php:394
|
||||||
#: includes/api/legacy/class-wc-rest-subscriptions-controller.php:355
|
#: includes/api/legacy/class-wc-rest-subscriptions-controller.php:355
|
||||||
#: includes/api/v1/class-wc-rest-subscriptions-v1-controller.php:511
|
#: includes/api/v1/class-wc-rest-subscriptions-v1-controller.php:511
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-extend-store-endpoint.php:172
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-extend-store-endpoint.php:172
|
||||||
@@ -733,69 +733,69 @@ msgstr ""
|
|||||||
msgid "Billing period for the subscription."
|
msgid "Billing period for the subscription."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:405
|
#: includes/api/class-wc-rest-subscriptions-controller.php:400
|
||||||
#: includes/api/legacy/class-wc-rest-subscriptions-controller.php:361
|
#: includes/api/legacy/class-wc-rest-subscriptions-controller.php:361
|
||||||
#: includes/api/v1/class-wc-rest-subscriptions-v1-controller.php:517
|
#: includes/api/v1/class-wc-rest-subscriptions-v1-controller.php:517
|
||||||
msgid "Subscription payment details."
|
msgid "Subscription payment details."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:410
|
#: includes/api/class-wc-rest-subscriptions-controller.php:405
|
||||||
msgid "Payment method meta and token in a post_meta_key: token format."
|
msgid "Payment method meta and token in a post_meta_key: token format."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:415
|
#: includes/api/class-wc-rest-subscriptions-controller.php:410
|
||||||
msgid "Payment method meta and token in a user_meta_key : token format."
|
msgid "Payment method meta and token in a user_meta_key : token format."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:422
|
#: includes/api/class-wc-rest-subscriptions-controller.php:417
|
||||||
msgid "The subscription's start date, as GMT."
|
msgid "The subscription's start date, as GMT."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:427
|
#: includes/api/class-wc-rest-subscriptions-controller.php:422
|
||||||
msgid "The subscription's trial end date, as GMT."
|
msgid "The subscription's trial end date, as GMT."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:432
|
#: includes/api/class-wc-rest-subscriptions-controller.php:427
|
||||||
msgid "The subscription's next payment date, as GMT."
|
msgid "The subscription's next payment date, as GMT."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:437
|
#: includes/api/class-wc-rest-subscriptions-controller.php:432
|
||||||
msgid "The subscription's cancelled date, as GMT."
|
msgid "The subscription's cancelled date, as GMT."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:442
|
#: includes/api/class-wc-rest-subscriptions-controller.php:437
|
||||||
msgid "The subscription's end date, as GMT."
|
msgid "The subscription's end date, as GMT."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:461
|
#: includes/api/class-wc-rest-subscriptions-controller.php:456
|
||||||
msgid "Limit result set to subscriptions which have specific statuses."
|
msgid "Limit result set to subscriptions which have specific statuses."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: placeholder is the payment method ID.
|
#. translators: placeholder is the payment method ID.
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:505
|
#: includes/api/class-wc-rest-subscriptions-controller.php:500
|
||||||
msgid "The %s payment gateway does not support admin changing the payment method."
|
msgid "The %s payment gateway does not support admin changing the payment method."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: 1$: gateway id, 2$: error message
|
#. translators: 1$: gateway id, 2$: error message
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:522
|
#: includes/api/class-wc-rest-subscriptions-controller.php:517
|
||||||
#: includes/api/legacy/class-wc-rest-subscriptions-controller.php:336
|
#: includes/api/legacy/class-wc-rest-subscriptions-controller.php:336
|
||||||
#: includes/api/v1/class-wc-rest-subscriptions-v1-controller.php:405
|
#: includes/api/v1/class-wc-rest-subscriptions-v1-controller.php:405
|
||||||
msgid "Subscription payment method could not be set to %1$s with error message: %2$s"
|
msgid "Subscription payment method could not be set to %1$s with error message: %2$s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:536
|
#: includes/api/class-wc-rest-subscriptions-controller.php:531
|
||||||
msgid "Invalid order ID."
|
msgid "Invalid order ID."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:542
|
#: includes/api/class-wc-rest-subscriptions-controller.php:537
|
||||||
msgid "Failed to load order object with the ID %d."
|
msgid "Failed to load order object with the ID %d."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:546
|
#: includes/api/class-wc-rest-subscriptions-controller.php:541
|
||||||
msgid "Order does not have a customer associated with it. Subscriptions require a customer."
|
msgid "Order does not have a customer associated with it. Subscriptions require a customer."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: includes/api/class-wc-rest-subscriptions-controller.php:550
|
#: includes/api/class-wc-rest-subscriptions-controller.php:545
|
||||||
msgid "Order already has subscriptions associated with it."
|
msgid "Order already has subscriptions associated with it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1886,46 +1886,6 @@ msgstr ""
|
|||||||
msgid "Want to renew early via the checkout? Click %shere.%s"
|
msgid "Want to renew early via the checkout? Click %shere.%s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tests/unit/scheduler/scheduler.php:65
|
|
||||||
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:291
|
|
||||||
msgctxt "table heading"
|
|
||||||
msgid "Start Date"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: tests/unit/scheduler/scheduler.php:66
|
|
||||||
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:292
|
|
||||||
msgctxt "table heading"
|
|
||||||
msgid "Trial End"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: tests/unit/scheduler/scheduler.php:67
|
|
||||||
#: vendor/woocommerce/subscriptions-core/templates/myaccount/my-subscriptions.php:40
|
|
||||||
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:293
|
|
||||||
msgctxt "table heading"
|
|
||||||
msgid "Next Payment"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: tests/unit/scheduler/scheduler.php:68
|
|
||||||
#: vendor/woocommerce/subscriptions-core/templates/emails/cancelled-subscription.php:23
|
|
||||||
#: vendor/woocommerce/subscriptions-core/templates/emails/expired-subscription.php:23
|
|
||||||
#: vendor/woocommerce/subscriptions-core/templates/emails/on-hold-subscription.php:23
|
|
||||||
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:294
|
|
||||||
msgctxt "table heading"
|
|
||||||
msgid "Last Order Date"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: tests/unit/scheduler/scheduler.php:69
|
|
||||||
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:295
|
|
||||||
msgctxt "table heading"
|
|
||||||
msgid "Cancelled Date"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: tests/unit/scheduler/scheduler.php:70
|
|
||||||
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:296
|
|
||||||
msgctxt "table heading"
|
|
||||||
msgid "End Date"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. translators: 1: relation type, 2: list of valid relation types.
|
#. translators: 1: relation type, 2: list of valid relation types.
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/abstracts/abstract-wcs-related-order-store.php:148
|
#: vendor/woocommerce/subscriptions-core/includes/abstracts/abstract-wcs-related-order-store.php:148
|
||||||
msgid "Invalid relation type: %1$s. Order relationship type must be one of: %2$s."
|
msgid "Invalid relation type: %1$s. Order relationship type must be one of: %2$s."
|
||||||
@@ -2191,70 +2151,82 @@ msgstr ""
|
|||||||
msgid "The trial period can not exceed %s."
|
msgid "The trial period can not exceed %s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1570
|
||||||
|
msgid "Please log in to your account to view your subscriptions."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1607
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1607
|
||||||
|
msgid "No subscriptions found for that customer."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1609
|
||||||
|
msgid "You do not have permission to view those subscriptions."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1643
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:96
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:96
|
||||||
msgctxt "label that indicates whether debugging is turned on for the plugin"
|
msgctxt "label that indicates whether debugging is turned on for the plugin"
|
||||||
msgid "WCS_DEBUG"
|
msgid "WCS_DEBUG"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1613
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1649
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:110
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:110
|
||||||
msgctxt "Live or Staging, Label on WooCommerce -> System Status page"
|
msgctxt "Live or Staging, Label on WooCommerce -> System Status page"
|
||||||
msgid "Subscriptions Mode"
|
msgid "Subscriptions Mode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1614
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1650
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:112
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:112
|
||||||
msgctxt "refers to staging site"
|
msgctxt "refers to staging site"
|
||||||
msgid "Staging"
|
msgid "Staging"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1614
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1650
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:112
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:112
|
||||||
msgctxt "refers to live site"
|
msgctxt "refers to live site"
|
||||||
msgid "Live"
|
msgid "Live"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1644
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1680
|
||||||
msgid "Automatic Recurring Payments"
|
msgid "Automatic Recurring Payments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1677
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1713
|
||||||
msgid "Supports automatic renewal payments."
|
msgid "Supports automatic renewal payments."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1775
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1811
|
||||||
msgid "Subscription items can no longer be edited."
|
msgid "Subscription items can no longer be edited."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1779
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1815
|
||||||
msgid "This subscription is no longer editable because the payment gateway does not allow modification of recurring amounts."
|
msgid "This subscription is no longer editable because the payment gateway does not allow modification of recurring amounts."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: $1-2: opening and closing tags of a link that takes to Woo marketplace / Stripe product page
|
#. translators: $1-2: opening and closing tags of a link that takes to Woo marketplace / Stripe product page
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1798
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1834
|
||||||
msgid "No payment gateways capable of processing automatic subscription payments are enabled. If you would like to process automatic payments, we recommend the %1$sfree Stripe extension%2$s."
|
msgid "No payment gateways capable of processing automatic subscription payments are enabled. If you would like to process automatic payments, we recommend the %1$sfree Stripe extension%2$s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1805
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1841
|
||||||
msgid "Recurring Payments"
|
msgid "Recurring Payments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: placeholders are opening and closing link tags
|
#. translators: placeholders are opening and closing link tags
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1813
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1849
|
||||||
msgid "Payment gateways which don't support automatic recurring payments can be used to process %1$smanual subscription renewal payments%2$s."
|
msgid "Payment gateways which don't support automatic recurring payments can be used to process %1$smanual subscription renewal payments%2$s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1933
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1969
|
||||||
msgid "Note that purchasing a subscription still requires an account."
|
msgid "Note that purchasing a subscription still requires an account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1947
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1983
|
||||||
msgid "The product type can not be changed because this product is associated with subscriptions."
|
msgid "The product type can not be changed because this product is associated with subscriptions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2004
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2040
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2005
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2041
|
||||||
msgid "Allow subscription customers to create an account during checkout"
|
msgid "Allow subscription customers to create an account during checkout"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2519,7 +2491,7 @@ msgstr[1] ""
|
|||||||
#. translators: placeholder is the display name of a payment gateway a subscription was paid by
|
#. translators: placeholder is the display name of a payment gateway a subscription was paid by
|
||||||
#. translators: %s: payment method.
|
#. translators: %s: payment method.
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-post-types.php:646
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-post-types.php:646
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2052
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2126
|
||||||
msgid "Via %s"
|
msgid "Via %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2587,7 +2559,7 @@ msgid "None"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-post-types.php:1129
|
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-post-types.php:1129
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2034
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2108
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-change-payment-method-admin.php:170
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-change-payment-method-admin.php:170
|
||||||
msgid "Manual Renewal"
|
msgid "Manual Renewal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -2966,115 +2938,115 @@ msgid "Error during subscription status transition."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: placeholder is human time diff (e.g. "3 weeks")
|
#. translators: placeholder is human time diff (e.g. "3 weeks")
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1222
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1296
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-manager.php:2387
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-manager.php:2387
|
||||||
msgid "In %s"
|
msgid "In %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: placeholder is human time diff (e.g. "3 weeks")
|
#. translators: placeholder is human time diff (e.g. "3 weeks")
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1225
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1299
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/wcs-formatting-functions.php:246
|
#: vendor/woocommerce/subscriptions-core/includes/wcs-formatting-functions.php:246
|
||||||
msgid "%s ago"
|
msgid "%s ago"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1232
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1306
|
||||||
msgid "Not yet ended"
|
msgid "Not yet ended"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1235
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1309
|
||||||
msgid "Not cancelled"
|
msgid "Not cancelled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1240
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1314
|
||||||
msgctxt "original denotes there is no date to display"
|
msgctxt "original denotes there is no date to display"
|
||||||
msgid "-"
|
msgid "-"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1348
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1422
|
||||||
msgid "The creation date of a subscription can not be deleted, only updated."
|
msgid "The creation date of a subscription can not be deleted, only updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1351
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1425
|
||||||
msgid "The start date of a subscription can not be deleted, only updated."
|
msgid "The start date of a subscription can not be deleted, only updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: %s: date type (e.g. "trial_end").
|
#. translators: %s: date type (e.g. "trial_end").
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1356
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1430
|
||||||
msgid "The %s date of a subscription can not be deleted. You must delete the order."
|
msgid "The %s date of a subscription can not be deleted. You must delete the order."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: %d: subscription ID.
|
#. translators: %d: subscription ID.
|
||||||
#. translators: %d: order ID.
|
#. translators: %d: order ID.
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1365
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1439
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2475
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2549
|
||||||
msgid "Subscription #%d: "
|
msgid "Subscription #%d: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1779
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1853
|
||||||
msgid "Payment status marked complete."
|
msgid "Payment status marked complete."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1812
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1886
|
||||||
msgid "Payment failed."
|
msgid "Payment failed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1817
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1891
|
||||||
msgid "Subscription Cancelled: maximum number of failed payments reached."
|
msgid "Subscription Cancelled: maximum number of failed payments reached."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1927
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2001
|
||||||
msgid "The \"all\" value for $order_type parameter is deprecated. It was a misnomer, as it did not return resubscribe orders. It was also inconsistent with order type values accepted by wcs_get_subscription_orders(). Use array( \"parent\", \"renewal\", \"switch\" ) to maintain previous behaviour, or \"any\" to receive all order types, including switch and resubscribe."
|
msgid "The \"all\" value for $order_type parameter is deprecated. It was a misnomer, as it did not return resubscribe orders. It was also inconsistent with order type values accepted by wcs_get_subscription_orders(). Use array( \"parent\", \"renewal\", \"switch\" ) to maintain previous behaviour, or \"any\" to receive all order types, including switch and resubscribe."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2131
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2205
|
||||||
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:835
|
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:835
|
||||||
msgid "Payment method meta must be an array."
|
msgid "Payment method meta must be an array."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2367
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2441
|
||||||
msgid "Invalid format. First parameter needs to be an array."
|
msgid "Invalid format. First parameter needs to be an array."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2371
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2445
|
||||||
msgid "Invalid data. First parameter was empty when passed to update_dates()."
|
msgid "Invalid data. First parameter was empty when passed to update_dates()."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2378
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2452
|
||||||
msgid "Invalid data. First parameter has a date that is not in the registered date types."
|
msgid "Invalid data. First parameter has a date that is not in the registered date types."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: placeholder is date type (e.g. "end", "next_payment"...)
|
#. translators: placeholder is date type (e.g. "end", "next_payment"...)
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2405
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2479
|
||||||
msgctxt "appears in an error message if date is wrong format"
|
msgctxt "appears in an error message if date is wrong format"
|
||||||
msgid "Invalid %s date. The date must be of the format: \"Y-m-d H:i:s\"."
|
msgid "Invalid %s date. The date must be of the format: \"Y-m-d H:i:s\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: %s: date type (e.g. "end").
|
#. translators: %s: date type (e.g. "end").
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2443
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2517
|
||||||
msgid "The %s date must occur after the cancellation date."
|
msgid "The %s date must occur after the cancellation date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: %s: date type (e.g. "end").
|
#. translators: %s: date type (e.g. "end").
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2449
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2523
|
||||||
msgid "The %s date must occur after the last payment date."
|
msgid "The %s date must occur after the last payment date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: %s: date type (e.g. "end").
|
#. translators: %s: date type (e.g. "end").
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2454
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2528
|
||||||
msgid "The %s date must occur after the next payment date."
|
msgid "The %s date must occur after the next payment date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: %s: date type (e.g. "end").
|
#. translators: %s: date type (e.g. "end").
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2460
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2534
|
||||||
msgid "The %s date must occur after the trial end date."
|
msgid "The %s date must occur after the trial end date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: %s: date type (e.g. "next_payment").
|
#. translators: %s: date type (e.g. "next_payment").
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2465
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2539
|
||||||
msgid "The %s date must occur after the start date."
|
msgid "The %s date must occur after the start date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2495
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2569
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-checkout.php:348
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-checkout.php:348
|
||||||
msgid "Backordered"
|
msgid "Backordered"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -3245,7 +3217,7 @@ msgid "Invalid Subscription."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-change-payment-gateway.php:235
|
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-change-payment-gateway.php:235
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:243
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:245
|
||||||
msgid "The payment method can not be changed for that subscription."
|
msgid "The payment method can not be changed for that subscription."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -4171,16 +4143,16 @@ msgid_plural "We couldn't find the original renewal orders for items in your car
|
|||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-cart-renewal.php:681
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-cart-renewal.php:687
|
||||||
msgid "All linked subscription items have been removed from the cart."
|
msgid "All linked subscription items have been removed from the cart."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-cart-renewal.php:710
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-cart-renewal.php:716
|
||||||
msgctxt "Used in WooCommerce by removed item notification: \"_All linked subscription items were_ removed. Undo?\" Filter for item title."
|
msgctxt "Used in WooCommerce by removed item notification: \"_All linked subscription items were_ removed. Undo?\" Filter for item title."
|
||||||
msgid "All linked subscription items were"
|
msgid "All linked subscription items were"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-cart-renewal.php:1526
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-cart-renewal.php:1532
|
||||||
msgctxt "The place order button text while renewing a subscription"
|
msgctxt "The place order button text while renewing a subscription"
|
||||||
msgid "Renew subscription"
|
msgid "Renew subscription"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -4317,23 +4289,23 @@ msgstr ""
|
|||||||
msgid "My Subscription"
|
msgid "My Subscription"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:288
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:290
|
||||||
msgid "Endpoint for the My Account → Subscriptions page"
|
msgid "Endpoint for the My Account → Subscriptions page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:296
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:298
|
||||||
msgid "View subscription"
|
msgid "View subscription"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:297
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:299
|
||||||
msgid "Endpoint for the My Account → View Subscription page"
|
msgid "Endpoint for the My Account → View Subscription page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:305
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:307
|
||||||
msgid "Subscription payment method"
|
msgid "Subscription payment method"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:306
|
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-query.php:308
|
||||||
msgid "Endpoint for the My Account → Change Subscription Payment Method page"
|
msgid "Endpoint for the My Account → Change Subscription Payment Method page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -6394,6 +6366,14 @@ msgctxt "table headings in notification email"
|
|||||||
msgid "Price"
|
msgid "Price"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vendor/woocommerce/subscriptions-core/templates/emails/cancelled-subscription.php:23
|
||||||
|
#: vendor/woocommerce/subscriptions-core/templates/emails/expired-subscription.php:23
|
||||||
|
#: vendor/woocommerce/subscriptions-core/templates/emails/on-hold-subscription.php:23
|
||||||
|
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:294
|
||||||
|
msgctxt "table heading"
|
||||||
|
msgid "Last Order Date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/templates/emails/cancelled-subscription.php:24
|
#: vendor/woocommerce/subscriptions-core/templates/emails/cancelled-subscription.php:24
|
||||||
msgctxt "table headings in notification email"
|
msgctxt "table headings in notification email"
|
||||||
msgid "End of Prepaid Term"
|
msgid "End of Prepaid Term"
|
||||||
@@ -6676,6 +6656,12 @@ msgstr ""
|
|||||||
msgid "ID"
|
msgid "ID"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vendor/woocommerce/subscriptions-core/templates/myaccount/my-subscriptions.php:40
|
||||||
|
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:293
|
||||||
|
msgctxt "table heading"
|
||||||
|
msgid "Next Payment"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/templates/myaccount/my-subscriptions.php:46
|
#: vendor/woocommerce/subscriptions-core/templates/myaccount/my-subscriptions.php:46
|
||||||
#: vendor/woocommerce/subscriptions-core/templates/myaccount/related-orders.php:53
|
#: vendor/woocommerce/subscriptions-core/templates/myaccount/related-orders.php:53
|
||||||
#: vendor/woocommerce/subscriptions-core/templates/myaccount/related-subscriptions.php:42
|
#: vendor/woocommerce/subscriptions-core/templates/myaccount/related-subscriptions.php:42
|
||||||
@@ -6855,6 +6841,26 @@ msgstr ""
|
|||||||
msgid "Can not get address type display name. Address type is not a string."
|
msgid "Can not get address type display name. Address type is not a string."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:291
|
||||||
|
msgctxt "table heading"
|
||||||
|
msgid "Start Date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:292
|
||||||
|
msgctxt "table heading"
|
||||||
|
msgid "Trial End"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:295
|
||||||
|
msgctxt "table heading"
|
||||||
|
msgid "Cancelled Date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:296
|
||||||
|
msgctxt "table heading"
|
||||||
|
msgid "End Date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:331
|
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:331
|
||||||
msgid "Date type is not a string."
|
msgid "Date type is not a string."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
20
vendor/autoload.php
vendored
20
vendor/autoload.php
vendored
@@ -2,6 +2,24 @@
|
|||||||
|
|
||||||
// autoload.php @generated by Composer
|
// autoload.php @generated by Composer
|
||||||
|
|
||||||
|
if (PHP_VERSION_ID < 50600) {
|
||||||
|
if (!headers_sent()) {
|
||||||
|
header('HTTP/1.1 500 Internal Server Error');
|
||||||
|
}
|
||||||
|
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
|
||||||
|
if (!ini_get('display_errors')) {
|
||||||
|
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
||||||
|
fwrite(STDERR, $err);
|
||||||
|
} elseif (!headers_sent()) {
|
||||||
|
echo $err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
trigger_error(
|
||||||
|
$err,
|
||||||
|
E_USER_ERROR
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
require_once __DIR__ . '/composer/autoload_real.php';
|
require_once __DIR__ . '/composer/autoload_real.php';
|
||||||
|
|
||||||
return ComposerAutoloaderInitfe47e554dced83cd1f1961109287683e::getLoader();
|
return ComposerAutoloaderInita652888dbfcef5cfe9fff35250423322::getLoader();
|
||||||
|
146
vendor/composer/ClassLoader.php
vendored
146
vendor/composer/ClassLoader.php
vendored
@@ -42,30 +42,79 @@ namespace Composer\Autoload;
|
|||||||
*/
|
*/
|
||||||
class ClassLoader
|
class ClassLoader
|
||||||
{
|
{
|
||||||
|
/** @var \Closure(string):void */
|
||||||
|
private static $includeFile;
|
||||||
|
|
||||||
|
/** @var ?string */
|
||||||
private $vendorDir;
|
private $vendorDir;
|
||||||
|
|
||||||
// PSR-4
|
// PSR-4
|
||||||
|
/**
|
||||||
|
* @var array[]
|
||||||
|
* @psalm-var array<string, array<string, int>>
|
||||||
|
*/
|
||||||
private $prefixLengthsPsr4 = array();
|
private $prefixLengthsPsr4 = array();
|
||||||
|
/**
|
||||||
|
* @var array[]
|
||||||
|
* @psalm-var array<string, array<int, string>>
|
||||||
|
*/
|
||||||
private $prefixDirsPsr4 = array();
|
private $prefixDirsPsr4 = array();
|
||||||
|
/**
|
||||||
|
* @var array[]
|
||||||
|
* @psalm-var array<string, string>
|
||||||
|
*/
|
||||||
private $fallbackDirsPsr4 = array();
|
private $fallbackDirsPsr4 = array();
|
||||||
|
|
||||||
// PSR-0
|
// PSR-0
|
||||||
|
/**
|
||||||
|
* @var array[]
|
||||||
|
* @psalm-var array<string, array<string, string[]>>
|
||||||
|
*/
|
||||||
private $prefixesPsr0 = array();
|
private $prefixesPsr0 = array();
|
||||||
|
/**
|
||||||
|
* @var array[]
|
||||||
|
* @psalm-var array<string, string>
|
||||||
|
*/
|
||||||
private $fallbackDirsPsr0 = array();
|
private $fallbackDirsPsr0 = array();
|
||||||
|
|
||||||
|
/** @var bool */
|
||||||
private $useIncludePath = false;
|
private $useIncludePath = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string[]
|
||||||
|
* @psalm-var array<string, string>
|
||||||
|
*/
|
||||||
private $classMap = array();
|
private $classMap = array();
|
||||||
|
|
||||||
|
/** @var bool */
|
||||||
private $classMapAuthoritative = false;
|
private $classMapAuthoritative = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var bool[]
|
||||||
|
* @psalm-var array<string, bool>
|
||||||
|
*/
|
||||||
private $missingClasses = array();
|
private $missingClasses = array();
|
||||||
|
|
||||||
|
/** @var ?string */
|
||||||
private $apcuPrefix;
|
private $apcuPrefix;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var self[]
|
||||||
|
*/
|
||||||
private static $registeredLoaders = array();
|
private static $registeredLoaders = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param ?string $vendorDir
|
||||||
|
*/
|
||||||
public function __construct($vendorDir = null)
|
public function __construct($vendorDir = null)
|
||||||
{
|
{
|
||||||
$this->vendorDir = $vendorDir;
|
$this->vendorDir = $vendorDir;
|
||||||
|
self::initializeIncludeClosure();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
public function getPrefixes()
|
public function getPrefixes()
|
||||||
{
|
{
|
||||||
if (!empty($this->prefixesPsr0)) {
|
if (!empty($this->prefixesPsr0)) {
|
||||||
@@ -75,28 +124,47 @@ class ClassLoader
|
|||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array[]
|
||||||
|
* @psalm-return array<string, array<int, string>>
|
||||||
|
*/
|
||||||
public function getPrefixesPsr4()
|
public function getPrefixesPsr4()
|
||||||
{
|
{
|
||||||
return $this->prefixDirsPsr4;
|
return $this->prefixDirsPsr4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array[]
|
||||||
|
* @psalm-return array<string, string>
|
||||||
|
*/
|
||||||
public function getFallbackDirs()
|
public function getFallbackDirs()
|
||||||
{
|
{
|
||||||
return $this->fallbackDirsPsr0;
|
return $this->fallbackDirsPsr0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array[]
|
||||||
|
* @psalm-return array<string, string>
|
||||||
|
*/
|
||||||
public function getFallbackDirsPsr4()
|
public function getFallbackDirsPsr4()
|
||||||
{
|
{
|
||||||
return $this->fallbackDirsPsr4;
|
return $this->fallbackDirsPsr4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string[] Array of classname => path
|
||||||
|
* @psalm-return array<string, string>
|
||||||
|
*/
|
||||||
public function getClassMap()
|
public function getClassMap()
|
||||||
{
|
{
|
||||||
return $this->classMap;
|
return $this->classMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $classMap Class to filename map
|
* @param string[] $classMap Class to filename map
|
||||||
|
* @psalm-param array<string, string> $classMap
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function addClassMap(array $classMap)
|
public function addClassMap(array $classMap)
|
||||||
{
|
{
|
||||||
@@ -111,9 +179,11 @@ class ClassLoader
|
|||||||
* Registers a set of PSR-0 directories for a given prefix, either
|
* Registers a set of PSR-0 directories for a given prefix, either
|
||||||
* appending or prepending to the ones previously set for this prefix.
|
* appending or prepending to the ones previously set for this prefix.
|
||||||
*
|
*
|
||||||
* @param string $prefix The prefix
|
* @param string $prefix The prefix
|
||||||
* @param array|string $paths The PSR-0 root directories
|
* @param string[]|string $paths The PSR-0 root directories
|
||||||
* @param bool $prepend Whether to prepend the directories
|
* @param bool $prepend Whether to prepend the directories
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function add($prefix, $paths, $prepend = false)
|
public function add($prefix, $paths, $prepend = false)
|
||||||
{
|
{
|
||||||
@@ -156,11 +226,13 @@ class ClassLoader
|
|||||||
* Registers a set of PSR-4 directories for a given namespace, either
|
* Registers a set of PSR-4 directories for a given namespace, either
|
||||||
* appending or prepending to the ones previously set for this namespace.
|
* appending or prepending to the ones previously set for this namespace.
|
||||||
*
|
*
|
||||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||||
* @param array|string $paths The PSR-4 base directories
|
* @param string[]|string $paths The PSR-4 base directories
|
||||||
* @param bool $prepend Whether to prepend the directories
|
* @param bool $prepend Whether to prepend the directories
|
||||||
*
|
*
|
||||||
* @throws \InvalidArgumentException
|
* @throws \InvalidArgumentException
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function addPsr4($prefix, $paths, $prepend = false)
|
public function addPsr4($prefix, $paths, $prepend = false)
|
||||||
{
|
{
|
||||||
@@ -204,8 +276,10 @@ class ClassLoader
|
|||||||
* Registers a set of PSR-0 directories for a given prefix,
|
* Registers a set of PSR-0 directories for a given prefix,
|
||||||
* replacing any others previously set for this prefix.
|
* replacing any others previously set for this prefix.
|
||||||
*
|
*
|
||||||
* @param string $prefix The prefix
|
* @param string $prefix The prefix
|
||||||
* @param array|string $paths The PSR-0 base directories
|
* @param string[]|string $paths The PSR-0 base directories
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function set($prefix, $paths)
|
public function set($prefix, $paths)
|
||||||
{
|
{
|
||||||
@@ -220,10 +294,12 @@ class ClassLoader
|
|||||||
* Registers a set of PSR-4 directories for a given namespace,
|
* Registers a set of PSR-4 directories for a given namespace,
|
||||||
* replacing any others previously set for this namespace.
|
* replacing any others previously set for this namespace.
|
||||||
*
|
*
|
||||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||||
* @param array|string $paths The PSR-4 base directories
|
* @param string[]|string $paths The PSR-4 base directories
|
||||||
*
|
*
|
||||||
* @throws \InvalidArgumentException
|
* @throws \InvalidArgumentException
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setPsr4($prefix, $paths)
|
public function setPsr4($prefix, $paths)
|
||||||
{
|
{
|
||||||
@@ -243,6 +319,8 @@ class ClassLoader
|
|||||||
* Turns on searching the include path for class files.
|
* Turns on searching the include path for class files.
|
||||||
*
|
*
|
||||||
* @param bool $useIncludePath
|
* @param bool $useIncludePath
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setUseIncludePath($useIncludePath)
|
public function setUseIncludePath($useIncludePath)
|
||||||
{
|
{
|
||||||
@@ -265,6 +343,8 @@ class ClassLoader
|
|||||||
* that have not been registered with the class map.
|
* that have not been registered with the class map.
|
||||||
*
|
*
|
||||||
* @param bool $classMapAuthoritative
|
* @param bool $classMapAuthoritative
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setClassMapAuthoritative($classMapAuthoritative)
|
public function setClassMapAuthoritative($classMapAuthoritative)
|
||||||
{
|
{
|
||||||
@@ -285,6 +365,8 @@ class ClassLoader
|
|||||||
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
||||||
*
|
*
|
||||||
* @param string|null $apcuPrefix
|
* @param string|null $apcuPrefix
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setApcuPrefix($apcuPrefix)
|
public function setApcuPrefix($apcuPrefix)
|
||||||
{
|
{
|
||||||
@@ -305,6 +387,8 @@ class ClassLoader
|
|||||||
* Registers this instance as an autoloader.
|
* Registers this instance as an autoloader.
|
||||||
*
|
*
|
||||||
* @param bool $prepend Whether to prepend the autoloader or not
|
* @param bool $prepend Whether to prepend the autoloader or not
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function register($prepend = false)
|
public function register($prepend = false)
|
||||||
{
|
{
|
||||||
@@ -324,6 +408,8 @@ class ClassLoader
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters this instance as an autoloader.
|
* Unregisters this instance as an autoloader.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function unregister()
|
public function unregister()
|
||||||
{
|
{
|
||||||
@@ -343,7 +429,8 @@ class ClassLoader
|
|||||||
public function loadClass($class)
|
public function loadClass($class)
|
||||||
{
|
{
|
||||||
if ($file = $this->findFile($class)) {
|
if ($file = $this->findFile($class)) {
|
||||||
includeFile($file);
|
$includeFile = self::$includeFile;
|
||||||
|
$includeFile($file);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -403,6 +490,11 @@ class ClassLoader
|
|||||||
return self::$registeredLoaders;
|
return self::$registeredLoaders;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $class
|
||||||
|
* @param string $ext
|
||||||
|
* @return string|false
|
||||||
|
*/
|
||||||
private function findFileWithExtension($class, $ext)
|
private function findFileWithExtension($class, $ext)
|
||||||
{
|
{
|
||||||
// PSR-4 lookup
|
// PSR-4 lookup
|
||||||
@@ -468,14 +560,26 @@ class ClassLoader
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scope isolated include.
|
* @return void
|
||||||
*
|
*/
|
||||||
* Prevents access to $this/self from included files.
|
private static function initializeIncludeClosure()
|
||||||
*/
|
{
|
||||||
function includeFile($file)
|
if (self::$includeFile !== null) {
|
||||||
{
|
return;
|
||||||
include $file;
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scope isolated include.
|
||||||
|
*
|
||||||
|
* Prevents access to $this/self from included files.
|
||||||
|
*
|
||||||
|
* @param string $file
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
self::$includeFile = \Closure::bind(static function($file) {
|
||||||
|
include $file;
|
||||||
|
}, null, null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
44
vendor/composer/InstalledVersions.php
vendored
44
vendor/composer/InstalledVersions.php
vendored
@@ -20,12 +20,27 @@ use Composer\Semver\VersionParser;
|
|||||||
*
|
*
|
||||||
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
||||||
*
|
*
|
||||||
* To require it's presence, you can require `composer-runtime-api ^2.0`
|
* To require its presence, you can require `composer-runtime-api ^2.0`
|
||||||
|
*
|
||||||
|
* @final
|
||||||
*/
|
*/
|
||||||
class InstalledVersions
|
class InstalledVersions
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @var mixed[]|null
|
||||||
|
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
|
||||||
|
*/
|
||||||
private static $installed;
|
private static $installed;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var bool|null
|
||||||
|
*/
|
||||||
private static $canGetVendors;
|
private static $canGetVendors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array[]
|
||||||
|
* @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||||
|
*/
|
||||||
private static $installedByVendor = array();
|
private static $installedByVendor = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -83,7 +98,7 @@ class InstalledVersions
|
|||||||
{
|
{
|
||||||
foreach (self::getInstalled() as $installed) {
|
foreach (self::getInstalled() as $installed) {
|
||||||
if (isset($installed['versions'][$packageName])) {
|
if (isset($installed['versions'][$packageName])) {
|
||||||
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
|
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +119,7 @@ class InstalledVersions
|
|||||||
*/
|
*/
|
||||||
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
||||||
{
|
{
|
||||||
$constraint = $parser->parseConstraints($constraint);
|
$constraint = $parser->parseConstraints((string) $constraint);
|
||||||
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
||||||
|
|
||||||
return $provided->matches($constraint);
|
return $provided->matches($constraint);
|
||||||
@@ -228,7 +243,7 @@ class InstalledVersions
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array
|
* @return array
|
||||||
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}
|
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
|
||||||
*/
|
*/
|
||||||
public static function getRootPackage()
|
public static function getRootPackage()
|
||||||
{
|
{
|
||||||
@@ -242,7 +257,7 @@ class InstalledVersions
|
|||||||
*
|
*
|
||||||
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
||||||
* @return array[]
|
* @return array[]
|
||||||
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}
|
* @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
|
||||||
*/
|
*/
|
||||||
public static function getRawData()
|
public static function getRawData()
|
||||||
{
|
{
|
||||||
@@ -265,7 +280,7 @@ class InstalledVersions
|
|||||||
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
||||||
*
|
*
|
||||||
* @return array[]
|
* @return array[]
|
||||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
|
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||||
*/
|
*/
|
||||||
public static function getAllRawData()
|
public static function getAllRawData()
|
||||||
{
|
{
|
||||||
@@ -288,7 +303,7 @@ class InstalledVersions
|
|||||||
* @param array[] $data A vendor/composer/installed.php data set
|
* @param array[] $data A vendor/composer/installed.php data set
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} $data
|
* @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
|
||||||
*/
|
*/
|
||||||
public static function reload($data)
|
public static function reload($data)
|
||||||
{
|
{
|
||||||
@@ -298,7 +313,7 @@ class InstalledVersions
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array[]
|
* @return array[]
|
||||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
|
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||||
*/
|
*/
|
||||||
private static function getInstalled()
|
private static function getInstalled()
|
||||||
{
|
{
|
||||||
@@ -313,7 +328,9 @@ class InstalledVersions
|
|||||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
if (isset(self::$installedByVendor[$vendorDir])) {
|
||||||
$installed[] = self::$installedByVendor[$vendorDir];
|
$installed[] = self::$installedByVendor[$vendorDir];
|
||||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
||||||
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
|
||||||
|
$required = require $vendorDir.'/composer/installed.php';
|
||||||
|
$installed[] = self::$installedByVendor[$vendorDir] = $required;
|
||||||
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
||||||
self::$installed = $installed[count($installed) - 1];
|
self::$installed = $installed[count($installed) - 1];
|
||||||
}
|
}
|
||||||
@@ -325,12 +342,17 @@ class InstalledVersions
|
|||||||
// only require the installed.php file if this file is loaded from its dumped location,
|
// only require the installed.php file if this file is loaded from its dumped location,
|
||||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||||
self::$installed = require __DIR__ . '/installed.php';
|
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
|
||||||
|
$required = require __DIR__ . '/installed.php';
|
||||||
|
self::$installed = $required;
|
||||||
} else {
|
} else {
|
||||||
self::$installed = array();
|
self::$installed = array();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$installed[] = self::$installed;
|
|
||||||
|
if (self::$installed !== array()) {
|
||||||
|
$installed[] = self::$installed;
|
||||||
|
}
|
||||||
|
|
||||||
return $installed;
|
return $installed;
|
||||||
}
|
}
|
||||||
|
2
vendor/composer/autoload_classmap.php
vendored
2
vendor/composer/autoload_classmap.php
vendored
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
// autoload_classmap.php @generated by Composer
|
// autoload_classmap.php @generated by Composer
|
||||||
|
|
||||||
$vendorDir = dirname(dirname(__FILE__));
|
$vendorDir = dirname(__DIR__);
|
||||||
$baseDir = dirname($vendorDir);
|
$baseDir = dirname($vendorDir);
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
|
2
vendor/composer/autoload_namespaces.php
vendored
2
vendor/composer/autoload_namespaces.php
vendored
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
// autoload_namespaces.php @generated by Composer
|
// autoload_namespaces.php @generated by Composer
|
||||||
|
|
||||||
$vendorDir = dirname(dirname(__FILE__));
|
$vendorDir = dirname(__DIR__);
|
||||||
$baseDir = dirname($vendorDir);
|
$baseDir = dirname($vendorDir);
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
|
2
vendor/composer/autoload_psr4.php
vendored
2
vendor/composer/autoload_psr4.php
vendored
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
// autoload_psr4.php @generated by Composer
|
// autoload_psr4.php @generated by Composer
|
||||||
|
|
||||||
$vendorDir = dirname(dirname(__FILE__));
|
$vendorDir = dirname(__DIR__);
|
||||||
$baseDir = dirname($vendorDir);
|
$baseDir = dirname($vendorDir);
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
|
31
vendor/composer/autoload_real.php
vendored
31
vendor/composer/autoload_real.php
vendored
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
// autoload_real.php @generated by Composer
|
// autoload_real.php @generated by Composer
|
||||||
|
|
||||||
class ComposerAutoloaderInitfe47e554dced83cd1f1961109287683e
|
class ComposerAutoloaderInita652888dbfcef5cfe9fff35250423322
|
||||||
{
|
{
|
||||||
private static $loader;
|
private static $loader;
|
||||||
|
|
||||||
@@ -24,31 +24,12 @@ class ComposerAutoloaderInitfe47e554dced83cd1f1961109287683e
|
|||||||
|
|
||||||
require __DIR__ . '/platform_check.php';
|
require __DIR__ . '/platform_check.php';
|
||||||
|
|
||||||
spl_autoload_register(array('ComposerAutoloaderInitfe47e554dced83cd1f1961109287683e', 'loadClassLoader'), true, true);
|
spl_autoload_register(array('ComposerAutoloaderInita652888dbfcef5cfe9fff35250423322', 'loadClassLoader'), true, true);
|
||||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||||
spl_autoload_unregister(array('ComposerAutoloaderInitfe47e554dced83cd1f1961109287683e', 'loadClassLoader'));
|
spl_autoload_unregister(array('ComposerAutoloaderInita652888dbfcef5cfe9fff35250423322', 'loadClassLoader'));
|
||||||
|
|
||||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
require __DIR__ . '/autoload_static.php';
|
||||||
if ($useStaticLoader) {
|
call_user_func(\Composer\Autoload\ComposerStaticInita652888dbfcef5cfe9fff35250423322::getInitializer($loader));
|
||||||
require __DIR__ . '/autoload_static.php';
|
|
||||||
|
|
||||||
call_user_func(\Composer\Autoload\ComposerStaticInitfe47e554dced83cd1f1961109287683e::getInitializer($loader));
|
|
||||||
} else {
|
|
||||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
|
||||||
foreach ($map as $namespace => $path) {
|
|
||||||
$loader->set($namespace, $path);
|
|
||||||
}
|
|
||||||
|
|
||||||
$map = require __DIR__ . '/autoload_psr4.php';
|
|
||||||
foreach ($map as $namespace => $path) {
|
|
||||||
$loader->setPsr4($namespace, $path);
|
|
||||||
}
|
|
||||||
|
|
||||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
|
||||||
if ($classMap) {
|
|
||||||
$loader->addClassMap($classMap);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$loader->register(true);
|
$loader->register(true);
|
||||||
|
|
||||||
|
8
vendor/composer/autoload_static.php
vendored
8
vendor/composer/autoload_static.php
vendored
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
namespace Composer\Autoload;
|
namespace Composer\Autoload;
|
||||||
|
|
||||||
class ComposerStaticInitfe47e554dced83cd1f1961109287683e
|
class ComposerStaticInita652888dbfcef5cfe9fff35250423322
|
||||||
{
|
{
|
||||||
public static $prefixLengthsPsr4 = array (
|
public static $prefixLengthsPsr4 = array (
|
||||||
'C' =>
|
'C' =>
|
||||||
@@ -129,9 +129,9 @@ class ComposerStaticInitfe47e554dced83cd1f1961109287683e
|
|||||||
public static function getInitializer(ClassLoader $loader)
|
public static function getInitializer(ClassLoader $loader)
|
||||||
{
|
{
|
||||||
return \Closure::bind(function () use ($loader) {
|
return \Closure::bind(function () use ($loader) {
|
||||||
$loader->prefixLengthsPsr4 = ComposerStaticInitfe47e554dced83cd1f1961109287683e::$prefixLengthsPsr4;
|
$loader->prefixLengthsPsr4 = ComposerStaticInita652888dbfcef5cfe9fff35250423322::$prefixLengthsPsr4;
|
||||||
$loader->prefixDirsPsr4 = ComposerStaticInitfe47e554dced83cd1f1961109287683e::$prefixDirsPsr4;
|
$loader->prefixDirsPsr4 = ComposerStaticInita652888dbfcef5cfe9fff35250423322::$prefixDirsPsr4;
|
||||||
$loader->classMap = ComposerStaticInitfe47e554dced83cd1f1961109287683e::$classMap;
|
$loader->classMap = ComposerStaticInita652888dbfcef5cfe9fff35250423322::$classMap;
|
||||||
|
|
||||||
}, null, ClassLoader::class);
|
}, null, ClassLoader::class);
|
||||||
}
|
}
|
||||||
|
14
vendor/composer/installed.json
vendored
14
vendor/composer/installed.json
vendored
@@ -156,17 +156,17 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "woocommerce/subscriptions-core",
|
"name": "woocommerce/subscriptions-core",
|
||||||
"version": "6.5.0",
|
"version": "6.6.0",
|
||||||
"version_normalized": "6.5.0.0",
|
"version_normalized": "6.6.0.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Automattic/woocommerce-subscriptions-core.git",
|
"url": "https://github.com/Automattic/woocommerce-subscriptions-core.git",
|
||||||
"reference": "19ca9b7cf2b48cba4abd6ecf811475382b9d6673"
|
"reference": "5abcf9aac4e53ad9bdcf3752a34a04ae42261bac"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Automattic/woocommerce-subscriptions-core/zipball/19ca9b7cf2b48cba4abd6ecf811475382b9d6673",
|
"url": "https://api.github.com/repos/Automattic/woocommerce-subscriptions-core/zipball/5abcf9aac4e53ad9bdcf3752a34a04ae42261bac",
|
||||||
"reference": "19ca9b7cf2b48cba4abd6ecf811475382b9d6673",
|
"reference": "5abcf9aac4e53ad9bdcf3752a34a04ae42261bac",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -179,7 +179,7 @@
|
|||||||
"woocommerce/woocommerce-sniffs": "0.1.0",
|
"woocommerce/woocommerce-sniffs": "0.1.0",
|
||||||
"yoast/phpunit-polyfills": "1.1.0"
|
"yoast/phpunit-polyfills": "1.1.0"
|
||||||
},
|
},
|
||||||
"time": "2023-11-09T04:27:49+00:00",
|
"time": "2023-12-20T07:19:09+00:00",
|
||||||
"type": "wordpress-plugin",
|
"type": "wordpress-plugin",
|
||||||
"extra": {
|
"extra": {
|
||||||
"phpcodesniffer-search-depth": 2
|
"phpcodesniffer-search-depth": 2
|
||||||
@@ -209,7 +209,7 @@
|
|||||||
"description": "Sell products and services with recurring payments in your WooCommerce Store.",
|
"description": "Sell products and services with recurring payments in your WooCommerce Store.",
|
||||||
"homepage": "https://github.com/Automattic/woocommerce-subscriptions-core",
|
"homepage": "https://github.com/Automattic/woocommerce-subscriptions-core",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/Automattic/woocommerce-subscriptions-core/tree/6.5.0",
|
"source": "https://github.com/Automattic/woocommerce-subscriptions-core/tree/6.6.0",
|
||||||
"issues": "https://github.com/Automattic/woocommerce-subscriptions-core/issues"
|
"issues": "https://github.com/Automattic/woocommerce-subscriptions-core/issues"
|
||||||
},
|
},
|
||||||
"install-path": "../woocommerce/subscriptions-core"
|
"install-path": "../woocommerce/subscriptions-core"
|
||||||
|
22
vendor/composer/installed.php
vendored
22
vendor/composer/installed.php
vendored
@@ -1,22 +1,22 @@
|
|||||||
<?php return array(
|
<?php return array(
|
||||||
'root' => array(
|
'root' => array(
|
||||||
'pretty_version' => 'dev-release/5.7.0',
|
'name' => 'woocommerce/woocommerce-subscriptions',
|
||||||
'version' => 'dev-release/5.7.0',
|
'pretty_version' => 'dev-release/5.8.0',
|
||||||
|
'version' => 'dev-release/5.8.0',
|
||||||
|
'reference' => '49bca69e2b17a445dc250b21c753175bdd9ed2c6',
|
||||||
'type' => 'wordpress-plugin',
|
'type' => 'wordpress-plugin',
|
||||||
'install_path' => __DIR__ . '/../../',
|
'install_path' => __DIR__ . '/../../',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '05388f52bd8a4479997a2672e130fb44de3548f4',
|
|
||||||
'name' => 'woocommerce/woocommerce-subscriptions',
|
|
||||||
'dev' => false,
|
'dev' => false,
|
||||||
),
|
),
|
||||||
'versions' => array(
|
'versions' => array(
|
||||||
'composer/installers' => array(
|
'composer/installers' => array(
|
||||||
'pretty_version' => 'v1.12.0',
|
'pretty_version' => 'v1.12.0',
|
||||||
'version' => '1.12.0.0',
|
'version' => '1.12.0.0',
|
||||||
|
'reference' => 'd20a64ed3c94748397ff5973488761b22f6d3f19',
|
||||||
'type' => 'composer-plugin',
|
'type' => 'composer-plugin',
|
||||||
'install_path' => __DIR__ . '/./installers',
|
'install_path' => __DIR__ . '/./installers',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'd20a64ed3c94748397ff5973488761b22f6d3f19',
|
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'roundcube/plugin-installer' => array(
|
'roundcube/plugin-installer' => array(
|
||||||
@@ -32,21 +32,21 @@
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
'woocommerce/subscriptions-core' => array(
|
'woocommerce/subscriptions-core' => array(
|
||||||
'pretty_version' => '6.5.0',
|
'pretty_version' => '6.6.0',
|
||||||
'version' => '6.5.0.0',
|
'version' => '6.6.0.0',
|
||||||
|
'reference' => '5abcf9aac4e53ad9bdcf3752a34a04ae42261bac',
|
||||||
'type' => 'wordpress-plugin',
|
'type' => 'wordpress-plugin',
|
||||||
'install_path' => __DIR__ . '/../woocommerce/subscriptions-core',
|
'install_path' => __DIR__ . '/../woocommerce/subscriptions-core',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '19ca9b7cf2b48cba4abd6ecf811475382b9d6673',
|
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'woocommerce/woocommerce-subscriptions' => array(
|
'woocommerce/woocommerce-subscriptions' => array(
|
||||||
'pretty_version' => 'dev-release/5.7.0',
|
'pretty_version' => 'dev-release/5.8.0',
|
||||||
'version' => 'dev-release/5.7.0',
|
'version' => 'dev-release/5.8.0',
|
||||||
|
'reference' => '49bca69e2b17a445dc250b21c753175bdd9ed2c6',
|
||||||
'type' => 'wordpress-plugin',
|
'type' => 'wordpress-plugin',
|
||||||
'install_path' => __DIR__ . '/../../',
|
'install_path' => __DIR__ . '/../../',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '05388f52bd8a4479997a2672e130fb44de3548f4',
|
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@@ -1,5 +1,11 @@
|
|||||||
*** WooCommerce Subscriptions Core Changelog ***
|
*** WooCommerce Subscriptions Core Changelog ***
|
||||||
|
|
||||||
|
= 6.6.0 - 2023-12-20 =
|
||||||
|
* Fix - When using the checkout block to pay for renewal orders, ensure the order's cart hash is updated to make sure the existing order can be used.
|
||||||
|
* Fix - Prevents a PHP fatal error that occurs when the cart contains a renewal order item that no longer exists.
|
||||||
|
* Fix - When HPOS is enabled and data compatibility mode is turned on, make sure subscription date changes made to postmeta are synced to orders_meta table.
|
||||||
|
* Fix - Resolved an issue that would cause undefined $current_page, $max_num_pages, and $paginate variable errors when viewing a page with the subscriptions-shortcode.
|
||||||
|
|
||||||
= 6.5.0 - 2023-11-09 =
|
= 6.5.0 - 2023-11-09 =
|
||||||
* Add - When a customer toggles automatic renewals on or off via their My Account page, add a note to the subscription to record that event.
|
* Add - When a customer toggles automatic renewals on or off via their My Account page, add a note to the subscription to record that event.
|
||||||
* Fix - When a subscription is flagged as requiring manual payments, allow admin users to turn on automatic payments for a subscription via the Edit Subscription page by selecting a new payment method.
|
* Fix - When a subscription is flagged as requiring manual payments, allow admin users to turn on automatic payments for a subscription via the Edit Subscription page by selecting a new payment method.
|
||||||
|
@@ -1550,12 +1550,26 @@ class WC_Subscriptions_Admin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback for the [subscriptions] shortcode that displays subscription names for a particular user.
|
* Displays the content for the [subscriptions] shortcode.
|
||||||
*
|
*
|
||||||
* @param array $attributes Shortcode attributes.
|
* The subscriptions shortcode can be used to display customer subscriptions similar to the my account list page.
|
||||||
* @return string
|
* Shortcode args enable filtering by status and user ID.
|
||||||
|
*
|
||||||
|
* @param array $attributes shortcode attributes.
|
||||||
|
* @return string The shortcode content.
|
||||||
*/
|
*/
|
||||||
public static function do_subscriptions_shortcode( $attributes ) {
|
public static function do_subscriptions_shortcode( $attributes ) {
|
||||||
|
|
||||||
|
// Display a notice if the user isn't logged in.
|
||||||
|
if ( ! is_user_logged_in() ) {
|
||||||
|
// We cannot show notices on admin requests - eg page previews.
|
||||||
|
if ( is_admin() ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
return wc_print_notice( esc_html__( 'Please log in to your account to view your subscriptions.', 'woocommerce-subscriptions' ), 'error', [], true );
|
||||||
|
}
|
||||||
|
|
||||||
$attributes = shortcode_atts(
|
$attributes = shortcode_atts(
|
||||||
array(
|
array(
|
||||||
'user_id' => 0,
|
'user_id' => 0,
|
||||||
@@ -1565,15 +1579,34 @@ class WC_Subscriptions_Admin {
|
|||||||
'subscriptions'
|
'subscriptions'
|
||||||
);
|
);
|
||||||
|
|
||||||
$subscriptions = wcs_get_users_subscriptions( $attributes['user_id'] );
|
$subscriptions = wcs_get_users_subscriptions( $attributes['user_id'] );
|
||||||
|
$apply_status_filter = 'all' !== $attributes['status'] && 'any' !== $attributes['status'];
|
||||||
|
|
||||||
// Limit subscriptions to the appropriate status if it's not "any" or "all".
|
// Determine if the current user has permission to view the subscriptions.
|
||||||
if ( 'all' !== $attributes['status'] && 'any' !== $attributes['status'] ) {
|
// By default, only the user themselves can view their subscriptions.
|
||||||
/** @var WC_Subscription $subscription */
|
$display_permissions_notice = ! empty( $attributes['user_id'] ) && get_current_user_id() !== absint( $attributes['user_id'] );
|
||||||
foreach ( $subscriptions as $index => $subscription ) {
|
|
||||||
if ( ! $subscription->has_status( $attributes['status'] ) ) {
|
foreach ( $subscriptions as $index => $subscription ) {
|
||||||
unset( $subscriptions[ $index ] );
|
if ( $apply_status_filter && ! $subscription->has_status( $attributes['status'] ) ) {
|
||||||
}
|
unset( $subscriptions[ $index ] );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove any subscriptions the current user cannot view. WooCommerce admins can view all subscriptions.
|
||||||
|
if ( ! current_user_can( 'manage_woocommerce' ) && ! current_user_can( 'view_order', $subscription->get_id() ) ) {
|
||||||
|
unset( $subscriptions[ $index ] );
|
||||||
|
$display_permissions_notice = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If all the subscriptions were removed and the current user doesn't have permissions, display a notice. Note: We cannot show notices on admin requests - eg page previews.
|
||||||
|
if ( empty( $subscriptions ) && $display_permissions_notice ) {
|
||||||
|
// We cannot show notices on admin requests - eg page previews.
|
||||||
|
if ( is_admin() ) {
|
||||||
|
return;
|
||||||
|
} elseif ( current_user_can( 'manage_woocommerce' ) ) {
|
||||||
|
return wc_print_notice( esc_html__( 'No subscriptions found for that customer.', 'woocommerce-subscriptions' ), 'notice', [], true );
|
||||||
|
} else {
|
||||||
|
return wc_print_notice( esc_html__( 'You do not have permission to view those subscriptions.', 'woocommerce-subscriptions' ), 'error', [], true );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1584,6 +1617,9 @@ class WC_Subscriptions_Admin {
|
|||||||
array(
|
array(
|
||||||
'subscriptions' => $subscriptions,
|
'subscriptions' => $subscriptions,
|
||||||
'user_id' => $attributes['user_id'],
|
'user_id' => $attributes['user_id'],
|
||||||
|
'current_page' => 1,
|
||||||
|
'max_num_pages' => 1,
|
||||||
|
'paginate' => false,
|
||||||
),
|
),
|
||||||
'',
|
'',
|
||||||
WC_Subscriptions_Core_Plugin::instance()->get_subscriptions_core_directory( 'templates/' )
|
WC_Subscriptions_Core_Plugin::instance()->get_subscriptions_core_directory( 'templates/' )
|
||||||
|
@@ -947,6 +947,80 @@ class WC_Subscription extends WC_Order {
|
|||||||
$this->set_prop( 'schedule_start', $schedule_start );
|
$this->set_prop( 'schedule_start', $schedule_start );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set schedule trial end date.
|
||||||
|
*
|
||||||
|
* Note: This function is intended for internal use only and should not be accessed directly.
|
||||||
|
* It only exists to support setting the trial end date prop from the data store.
|
||||||
|
* Calling this function does not automatically schedule the trial end date as a Scheduled Action.
|
||||||
|
*
|
||||||
|
* Use WC_Subscription::update_dates() instead.
|
||||||
|
*
|
||||||
|
* @param string $schedule_trial_end
|
||||||
|
*/
|
||||||
|
public function set_trial_end_date( $schedule_trial_end ) {
|
||||||
|
$this->set_prop( 'schedule_trial_end', $schedule_trial_end );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set schedule next payment date.
|
||||||
|
*
|
||||||
|
* Note: This function is intended for internal use only and should not be accessed directly.
|
||||||
|
* It only exists to support setting the next payment date prop from the data store.
|
||||||
|
* Calling this function does not automatically schedule the next payment date as a Scheduled Action.
|
||||||
|
*
|
||||||
|
* Use WC_Subscription::update_dates() instead.
|
||||||
|
*
|
||||||
|
* @param string $schedule_next_payment
|
||||||
|
*/
|
||||||
|
public function set_next_payment_date( $schedule_next_payment ) {
|
||||||
|
$this->set_prop( 'schedule_next_payment', $schedule_next_payment );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set schedule cancelled date.
|
||||||
|
*
|
||||||
|
* Note: This function is intended for internal use only and should not be accessed directly.
|
||||||
|
* It only exists to support setting the cancelled date prop from the data store.
|
||||||
|
*
|
||||||
|
* Use WC_Subscription::update_dates() instead.
|
||||||
|
*
|
||||||
|
* @param string $schedule_cancelled
|
||||||
|
*/
|
||||||
|
public function set_cancelled_date( $schedule_cancelled ) {
|
||||||
|
$this->set_prop( 'schedule_cancelled', $schedule_cancelled );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set schedule end date.
|
||||||
|
*
|
||||||
|
* Note: This function is intended for internal use only and should not be accessed directly.
|
||||||
|
* It only exists to support setting the end date prop from the data store.
|
||||||
|
* Calling this function does not automatically schedule the end date as a Scheduled Action.
|
||||||
|
*
|
||||||
|
* Use WC_Subscription::update_dates() instead.
|
||||||
|
*
|
||||||
|
* @param string $schedule_end
|
||||||
|
*/
|
||||||
|
public function set_end_date( $schedule_end ) {
|
||||||
|
$this->set_prop( 'schedule_end', $schedule_end );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set schedule payment retry date.
|
||||||
|
*
|
||||||
|
* Note: This function is intended for internal use only and should not be accessed directly.
|
||||||
|
* It only exists to support setting the payment retry date prop from the data store.
|
||||||
|
* Calling this function does not automatically schedule the payment retry date as a Scheduled Action.
|
||||||
|
*
|
||||||
|
* Use WC_Subscription::update_dates() instead.
|
||||||
|
*
|
||||||
|
* @param string $schedule_payment_retry
|
||||||
|
*/
|
||||||
|
public function set_payment_retry_date( $schedule_payment_retry ) {
|
||||||
|
$this->set_prop( 'schedule_payment_retry', $schedule_payment_retry );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set parent order ID. We don't use WC_Abstract_Order::set_parent_id() because we want to allow false
|
* Set parent order ID. We don't use WC_Abstract_Order::set_parent_id() because we want to allow false
|
||||||
* parent IDs, like 0.
|
* parent IDs, like 0.
|
||||||
|
@@ -16,7 +16,7 @@ class WC_Subscriptions_Core_Plugin {
|
|||||||
* The version of subscriptions-core library.
|
* The version of subscriptions-core library.
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $library_version = '6.5.0'; // WRCS: DEFINED_VERSION.
|
protected $library_version = '6.6.0'; // WRCS: DEFINED_VERSION.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The subscription scheduler instance.
|
* The subscription scheduler instance.
|
||||||
|
@@ -427,6 +427,7 @@ class WCS_Cart_Renewal {
|
|||||||
|
|
||||||
if ( $subscription ) {
|
if ( $subscription ) {
|
||||||
$subscription_items = $subscription->get_items();
|
$subscription_items = $subscription->get_items();
|
||||||
|
$item_to_renew = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the subscription or order line item that represents this cart item.
|
* Find the subscription or order line item that represents this cart item.
|
||||||
@@ -445,6 +446,11 @@ class WCS_Cart_Renewal {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we can't find the item to renew, return the cart item session data as is.
|
||||||
|
if ( empty( $item_to_renew ) ) {
|
||||||
|
return $cart_item_session_data;
|
||||||
|
}
|
||||||
|
|
||||||
$price = $item_to_renew['line_subtotal'];
|
$price = $item_to_renew['line_subtotal'];
|
||||||
|
|
||||||
if ( $_product->is_taxable() && $subscription->get_prices_include_tax() ) {
|
if ( $_product->is_taxable() && $subscription->get_prices_include_tax() ) {
|
||||||
@@ -1613,16 +1619,8 @@ class WCS_Cart_Renewal {
|
|||||||
return $has_status;
|
return $has_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* This function is only concerned with updating the order cart hash during REST API requests - which is the request
|
|
||||||
* context where the Store API Checkout Block validates the order for payment resumption.
|
|
||||||
*/
|
|
||||||
if ( ! WC()->is_rest_api_request() ) {
|
|
||||||
return $has_status;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the order being validated is the order in the cart, then we need to update the cart hash so it can be resumed.
|
// If the order being validated is the order in the cart, then we need to update the cart hash so it can be resumed.
|
||||||
if ( $order && $order->get_id() === WC()->session->get( 'store_api_draft_order', 0 ) ) {
|
if ( $order && $order->get_id() === (int) WC()->session->get( 'store_api_draft_order', 0 ) ) {
|
||||||
$cart_order = $this->get_order();
|
$cart_order = $this->get_order();
|
||||||
|
|
||||||
if ( $cart_order && $cart_order->get_id() === $order->get_id() ) {
|
if ( $cart_order && $cart_order->get_id() === $order->get_id() ) {
|
||||||
|
@@ -232,8 +232,10 @@ class WCS_Query extends WC_Query {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$subscription = wcs_get_subscription( absint( $query->get( 'subscription-payment-method' ) ) );
|
$subscription_id = absint( $query->get( 'subscription-payment-method' ) );
|
||||||
if ( ! $subscription ) {
|
$subscription = wcs_get_subscription( $subscription_id );
|
||||||
|
|
||||||
|
if ( ! $subscription || ! current_user_can( 'edit_shop_subscription_payment_method', $subscription_id ) ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -990,4 +990,70 @@ class WCS_Orders_Table_Subscription_Data_Store extends \Automattic\WooCommerce\I
|
|||||||
public function get_switch_order_ids_cache( $subscription ) {
|
public function get_switch_order_ids_cache( $subscription ) {
|
||||||
return $subscription->get_meta( '_subscription_switch_order_ids_cache' );
|
return $subscription->get_meta( '_subscription_switch_order_ids_cache' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the subscription's start date prop.
|
||||||
|
* Called by @see OrdersTableDataStore::set_order_prop() when syncing/migrating internal meta key data.
|
||||||
|
*
|
||||||
|
* @param \WC_Subscription $subscription Subscription object.
|
||||||
|
* @param string $date The date to set.
|
||||||
|
*/
|
||||||
|
public function set_schedule_start( $subscription, $date ) {
|
||||||
|
$subscription->set_start_date( $date );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the subscription's trial end date prop.
|
||||||
|
* Called by @see OrdersTableDataStore::set_order_prop() when syncing/migrating internal meta key data.
|
||||||
|
*
|
||||||
|
* @param \WC_Subscription $subscription Subscription object.
|
||||||
|
* @param string $date The date to set.
|
||||||
|
*/
|
||||||
|
public function set_schedule_trial_end( $subscription, $date ) {
|
||||||
|
$subscription->set_trial_end_date( $date );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the subscription's next payment date prop.
|
||||||
|
* Called by @see OrdersTableDataStore::set_order_prop() when syncing/migrating internal meta key data.
|
||||||
|
*
|
||||||
|
* @param \WC_Subscription $subscription Subscription object.
|
||||||
|
* @param string $date The date to set.
|
||||||
|
*/
|
||||||
|
public function set_schedule_next_payment( $subscription, $date ) {
|
||||||
|
$subscription->set_next_payment_date( $date );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the subscription's cancelled date prop.
|
||||||
|
* Called by @see OrdersTableDataStore::set_order_prop() when syncing/migrating internal meta key data.
|
||||||
|
*
|
||||||
|
* @param \WC_Subscription $subscription Subscription object.
|
||||||
|
* @param string $date The date to set.
|
||||||
|
*/
|
||||||
|
public function set_schedule_cancelled( $subscription, $date ) {
|
||||||
|
$subscription->set_cancelled_date( $date );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the subscription's end date prop.
|
||||||
|
* Called by @see OrdersTableDataStore::set_order_prop() when syncing/migrating internal meta key data.
|
||||||
|
*
|
||||||
|
* @param \WC_Subscription $subscription Subscription object.
|
||||||
|
* @param string $date The date to set.
|
||||||
|
*/
|
||||||
|
public function set_schedule_end( $subscription, $date ) {
|
||||||
|
$subscription->set_end_date( $date );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the subscription's payment retry date prop.
|
||||||
|
* Called by @see OrdersTableDataStore::set_order_prop() when syncing/migrating internal meta key data.
|
||||||
|
*
|
||||||
|
* @param \WC_Subscription $subscription Subscription object.
|
||||||
|
* @param string $date The date to set.
|
||||||
|
*/
|
||||||
|
public function set_schedule_payment_retry( $subscription, $date ) {
|
||||||
|
$subscription->set_payment_retry_date( $date );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -6,5 +6,5 @@
|
|||||||
* Author: Automattic
|
* Author: Automattic
|
||||||
* Author URI: https://woocommerce.com/
|
* Author URI: https://woocommerce.com/
|
||||||
* Requires WP: 5.6
|
* Requires WP: 5.6
|
||||||
* Version: 6.5.0
|
* Version: 6.6.0
|
||||||
*/
|
*/
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
* Description: Sell products and services with recurring payments in your WooCommerce Store.
|
* Description: Sell products and services with recurring payments in your WooCommerce Store.
|
||||||
* Author: WooCommerce
|
* Author: WooCommerce
|
||||||
* Author URI: https://woocommerce.com/
|
* Author URI: https://woocommerce.com/
|
||||||
* Version: 5.7.0
|
* Version: 5.8.0
|
||||||
*
|
*
|
||||||
* WC requires at least: 7.7.0
|
* WC requires at least: 7.7.0
|
||||||
* WC tested up to: 8.2.0
|
* WC tested up to: 8.2.0
|
||||||
@@ -77,7 +77,7 @@ class WC_Subscriptions {
|
|||||||
public static $plugin_file = __FILE__;
|
public static $plugin_file = __FILE__;
|
||||||
|
|
||||||
/** @var string */
|
/** @var string */
|
||||||
public static $version = '5.7.0'; // WRCS: DEFINED_VERSION.
|
public static $version = '5.8.0'; // WRCS: DEFINED_VERSION.
|
||||||
|
|
||||||
/** @var string */
|
/** @var string */
|
||||||
public static $wc_minimum_supported_version = '7.7';
|
public static $wc_minimum_supported_version = '7.7';
|
||||||
|
Reference in New Issue
Block a user