Plugin Directory

Changeset 3474509


Ignore:
Timestamp:
03/04/2026 12:06:57 PM (3 weeks ago)
Author:
Collizo4sky
Message:

Bumped to 4.16.12

Location:
wp-user-avatar/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • wp-user-avatar/trunk/changelog.txt

    r3473639 r3474509  
    11== Changelog ==
     2
     3= 4.16.12 =
     4* Fixed issue with plan upgrade by wrong user.
     5* Fixed bug where empty subscription records could be created.
    26
    37= 4.16.11 =
  • wp-user-avatar/trunk/languages/wp-user-avatar.pot

    r3473639 r3474509  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: ProfilePress 4.16.11\n"
     5"Project-Id-Version: ProfilePress 4.16.12\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-user-avatar\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-03-03T12:39:22+00:00\n"
     12"POT-Creation-Date: 2026-03-04T12:04:16+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
     
    1615916159#: src/Membership/Controllers/CheckoutController.php:150
    1616016160#: src/Membership/Controllers/CheckoutController.php:201
    16161 #: src/Membership/Controllers/CheckoutController.php:466
     16161#: src/Membership/Controllers/CheckoutController.php:475
    1616216162msgid "Please enter a plan ID."
    1616316163msgstr ""
     
    1618716187#: src/Membership/Controllers/CheckoutController.php:282
    1618816188msgid "No payment method selected. Please try again."
     16189msgstr ""
     16190
     16191#: src/Membership/Controllers/CheckoutController.php:310
     16192msgid "You are not allowed to switch from this plan."
    1618916193msgstr ""
    1619016194
  • wp-user-avatar/trunk/readme.txt

    r3473639 r3474509  
    66Requires PHP: 7.4
    77Tested up to: 6.9
    8 Stable tag: 4.16.11
     8Stable tag: 4.16.12
    99License: GPLv2 or later
    1010
     
    192192== Changelog ==
    193193
     194= Paid Membership, Ecommerce & User Registration 4.16.12 =
     195* Fixed issue with plan upgrade by wrong user.
     196* Fixed bug where empty subscription records could be created.
     197
    194198= Paid Membership, Ecommerce & User Registration 4.16.11 =
    195199* Added filter ppressmd_member_directory_filters_expanded.
  • wp-user-avatar/trunk/src/Membership/Controllers/CheckoutController.php

    r3473639 r3474509  
    301301            }
    302302
     303            $changePlanSub = SubscriptionFactory::fromId($change_plan_sub_id);
     304
     305            if (
     306                $changePlanSub->exists() &&
     307                ! empty($customer_id) &&
     308                $customer_id !== $changePlanSub->get_customer_id()) {
     309                throw new \Exception(
     310                    esc_html__('You are not allowed to switch from this plan.', 'wp-user-avatar')
     311                );
     312            }
     313
    303314            $order_id = $this->create_order($customer_id, $cart_vars);
    304315
     
    332343            } else {
    333344
    334                 $sub = SubscriptionFactory::fromId($change_plan_sub_id);
    335 
    336                 if ($sub->exists() && $sub->get_customer_id() == $customer_id) {
     345                if ($changePlanSub->exists() && $changePlanSub->get_customer_id() == $customer_id) {
    337346
    338347                    // do not send subscription cancelled email
     
    340349                    remove_action('ppress_subscription_expired', [SubscriptionExpiredNotification::init(), 'dispatch_email'], 10);
    341350
    342                     $sub->cancel(true);
    343                     $sub->expire();
    344 
    345                     SubscriptionFactory::fromId($subscription_id)->update_meta('_upgraded_from_sub_id', $sub->get_id());
    346                     $sub->update_meta('_upgraded_to_sub_id', $subscription_id);
     351                    $changePlanSub->cancel(true);
     352                    $changePlanSub->expire();
     353
     354                    SubscriptionFactory::fromId($subscription_id)->update_meta('_upgraded_from_sub_id', $changePlanSub->get_id());
     355                    $changePlanSub->update_meta('_upgraded_to_sub_id', $subscription_id);
    347356                }
    348357
  • wp-user-avatar/trunk/src/Membership/PaymentMethods/Stripe/WebhookHandlers/CheckoutSessionAsyncPaymentFailed.php

    r2899403 r3474509  
    1414        $order = OrderFactory::fromOrderKey($event_data['client_reference_id']);
    1515
    16         $order->fail_order();
     16        if ($order->exists()) {
     17            $order->fail_order();
     18        }
    1719    }
    1820}
  • wp-user-avatar/trunk/src/Membership/PaymentMethods/Stripe/WebhookHandlers/CheckoutSessionAsyncPaymentSucceeded.php

    r3132787 r3474509  
    5252        }
    5353
    54         if ( ! $subscription->is_active()) {
     54        if ( $subscription->exists() && ! $subscription->is_active()) {
    5555
    5656            if ($event_data['mode'] == 'subscription') {
  • wp-user-avatar/trunk/src/Membership/PaymentMethods/Stripe/WebhookHandlers/CheckoutSessionCompleted.php

    r3197296 r3474509  
    5757        }
    5858
    59         if ( ! $subscription->is_active()) {
     59        if ( $subscription->exists() && ! $subscription->is_active()) {
    6060
    6161            if ($event_data['mode'] == 'subscription') {
  • wp-user-avatar/trunk/src/Membership/Services/OrderService.php

    r3319431 r3474509  
    1414use ProfilePress\Core\Membership\Models\Order\OrderType;
    1515use ProfilePress\Core\Membership\Models\Plan\PlanFactory;
    16 use ProfilePress\Core\Membership\Models\Subscription\SubscriptionBillingFrequency;
    1716use ProfilePress\Core\Membership\Models\Subscription\SubscriptionEntity;
    1817use ProfilePress\Core\Membership\Models\Subscription\SubscriptionFactory;
  • wp-user-avatar/trunk/third-party/vendor/composer/installed.php

    r3473639 r3474509  
    33namespace ProfilePressVendor;
    44
    5 return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '6ba07349dfe1b45b60ed3a3b2c1e085e002fd71c', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \true), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '6ba07349dfe1b45b60ed3a3b2c1e085e002fd71c', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'barryvdh/composer-cleanup-plugin' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '80cceff45bfb85a0f49236537b1f1c928a1ee820', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../barryvdh/composer-cleanup-plugin', 'aliases' => array(0 => '0.1.x-dev'), 'dev_requirement' => \false), 'brick/math' => array('pretty_version' => '0.9.3', 'version' => '0.9.3.0', 'reference' => 'ca57d18f028f84f777b2168cd1911b0dee2343ae', 'type' => 'library', 'install_path' => __DIR__ . '/../brick/math', 'aliases' => array(), 'dev_requirement' => \false), 'carbonphp/carbon-doctrine-types' => array('pretty_version' => '2.1.0', 'version' => '2.1.0.0', 'reference' => '99f76ffa36cce3b70a4a6abce41dba15ca2e84cb', 'type' => 'library', 'install_path' => __DIR__ . '/../carbonphp/carbon-doctrine-types', 'aliases' => array(), 'dev_requirement' => \false), 'collizo4sky/persist-admin-notices-dismissal' => array('pretty_version' => '1.4.5', 'version' => '1.4.5.0', 'reference' => '163b868c98cf97ea15b4d7e1305e2d52c9242e7e', 'type' => 'library', 'install_path' => __DIR__ . '/../collizo4sky/persist-admin-notices-dismissal', 'aliases' => array(), 'dev_requirement' => \false), 'league/csv' => array('pretty_version' => '9.8.0', 'version' => '9.8.0.0', 'reference' => '9d2e0265c5d90f5dd601bc65ff717e05cec19b47', 'type' => 'library', 'install_path' => __DIR__ . '/../league/csv', 'aliases' => array(), 'dev_requirement' => \false), 'nesbot/carbon' => array('pretty_version' => '2.73.0', 'version' => '2.73.0.0', 'reference' => '9228ce90e1035ff2f0db84b40ec2e023ed802075', 'type' => 'library', 'install_path' => __DIR__ . '/../nesbot/carbon', 'aliases' => array(), 'dev_requirement' => \false), 'pelago/emogrifier' => array('pretty_version' => 'v6.0.0', 'version' => '6.0.0.0', 'reference' => 'aa72d5407efac118f3896bcb995a2cba793df0ae', 'type' => 'library', 'install_path' => __DIR__ . '/../pelago/emogrifier', 'aliases' => array(), 'dev_requirement' => \false), 'psr/clock' => array('pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'reference' => 'e41a24703d4560fd0acb709162f73b8adfc3aa0d', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/clock', 'aliases' => array(), 'dev_requirement' => \false), 'psr/clock-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0')), 'sabberworm/php-css-parser' => array('pretty_version' => 'v8.9.0', 'version' => '8.9.0.0', 'reference' => 'd8e916507b88e389e26d4ab03c904a082aa66bb9', 'type' => 'library', 'install_path' => __DIR__ . '/../sabberworm/php-css-parser', 'aliases' => array(), 'dev_requirement' => \false), 'sniccowp/php-scoper-wordpress-excludes' => array('pretty_version' => '6.9.1', 'version' => '6.9.1.0', 'reference' => '94867711087d0efc3d361dbe068044e0124f4c0b', 'type' => 'library', 'install_path' => __DIR__ . '/../sniccowp/php-scoper-wordpress-excludes', 'aliases' => array(), 'dev_requirement' => \true), 'stripe/stripe-php' => array('pretty_version' => 'v16.6.0', 'version' => '16.6.0.0', 'reference' => 'd6de0a536f00b5c5c74f36b8f4d0d93b035499ff', 'type' => 'library', 'install_path' => __DIR__ . '/../stripe/stripe-php', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/css-selector' => array('pretty_version' => 'v5.4.45', 'version' => '5.4.45.0', 'reference' => '4f7f3c35fba88146b56d0025d20ace3f3901f097', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/css-selector', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('pretty_version' => 'v2.5.4', 'version' => '2.5.4.0', 'reference' => '605389f2a7e5625f273b53960dc46aeaf9c62918', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.33.0', 'version' => '1.33.0.0', 'reference' => '6d857f4d76bd4b343eac26d6b539585d2bc56493', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-php80' => array('pretty_version' => 'v1.33.0', 'version' => '1.33.0.0', 'reference' => '0cc9dd0f17f61d8131e7df6b84bd344899fe2608', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation' => array('pretty_version' => 'v5.4.45', 'version' => '5.4.45.0', 'reference' => '98f26acc99341ca4bab345fb14d7b1d7cb825bed', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-contracts' => array('pretty_version' => 'v2.5.4', 'version' => '2.5.4.0', 'reference' => '450d4172653f38818657022252f9d81be89ee9a8', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '2.3'))));
     5return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'b7828d2e7a83f0aa7b45ec8cae9ae68799626ee7', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \true), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'b7828d2e7a83f0aa7b45ec8cae9ae68799626ee7', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'barryvdh/composer-cleanup-plugin' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '80cceff45bfb85a0f49236537b1f1c928a1ee820', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../barryvdh/composer-cleanup-plugin', 'aliases' => array(0 => '0.1.x-dev'), 'dev_requirement' => \false), 'brick/math' => array('pretty_version' => '0.9.3', 'version' => '0.9.3.0', 'reference' => 'ca57d18f028f84f777b2168cd1911b0dee2343ae', 'type' => 'library', 'install_path' => __DIR__ . '/../brick/math', 'aliases' => array(), 'dev_requirement' => \false), 'carbonphp/carbon-doctrine-types' => array('pretty_version' => '2.1.0', 'version' => '2.1.0.0', 'reference' => '99f76ffa36cce3b70a4a6abce41dba15ca2e84cb', 'type' => 'library', 'install_path' => __DIR__ . '/../carbonphp/carbon-doctrine-types', 'aliases' => array(), 'dev_requirement' => \false), 'collizo4sky/persist-admin-notices-dismissal' => array('pretty_version' => '1.4.5', 'version' => '1.4.5.0', 'reference' => '163b868c98cf97ea15b4d7e1305e2d52c9242e7e', 'type' => 'library', 'install_path' => __DIR__ . '/../collizo4sky/persist-admin-notices-dismissal', 'aliases' => array(), 'dev_requirement' => \false), 'league/csv' => array('pretty_version' => '9.8.0', 'version' => '9.8.0.0', 'reference' => '9d2e0265c5d90f5dd601bc65ff717e05cec19b47', 'type' => 'library', 'install_path' => __DIR__ . '/../league/csv', 'aliases' => array(), 'dev_requirement' => \false), 'nesbot/carbon' => array('pretty_version' => '2.73.0', 'version' => '2.73.0.0', 'reference' => '9228ce90e1035ff2f0db84b40ec2e023ed802075', 'type' => 'library', 'install_path' => __DIR__ . '/../nesbot/carbon', 'aliases' => array(), 'dev_requirement' => \false), 'pelago/emogrifier' => array('pretty_version' => 'v6.0.0', 'version' => '6.0.0.0', 'reference' => 'aa72d5407efac118f3896bcb995a2cba793df0ae', 'type' => 'library', 'install_path' => __DIR__ . '/../pelago/emogrifier', 'aliases' => array(), 'dev_requirement' => \false), 'psr/clock' => array('pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'reference' => 'e41a24703d4560fd0acb709162f73b8adfc3aa0d', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/clock', 'aliases' => array(), 'dev_requirement' => \false), 'psr/clock-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0')), 'sabberworm/php-css-parser' => array('pretty_version' => 'v8.9.0', 'version' => '8.9.0.0', 'reference' => 'd8e916507b88e389e26d4ab03c904a082aa66bb9', 'type' => 'library', 'install_path' => __DIR__ . '/../sabberworm/php-css-parser', 'aliases' => array(), 'dev_requirement' => \false), 'sniccowp/php-scoper-wordpress-excludes' => array('pretty_version' => '6.9.1', 'version' => '6.9.1.0', 'reference' => '94867711087d0efc3d361dbe068044e0124f4c0b', 'type' => 'library', 'install_path' => __DIR__ . '/../sniccowp/php-scoper-wordpress-excludes', 'aliases' => array(), 'dev_requirement' => \true), 'stripe/stripe-php' => array('pretty_version' => 'v16.6.0', 'version' => '16.6.0.0', 'reference' => 'd6de0a536f00b5c5c74f36b8f4d0d93b035499ff', 'type' => 'library', 'install_path' => __DIR__ . '/../stripe/stripe-php', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/css-selector' => array('pretty_version' => 'v5.4.45', 'version' => '5.4.45.0', 'reference' => '4f7f3c35fba88146b56d0025d20ace3f3901f097', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/css-selector', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('pretty_version' => 'v2.5.4', 'version' => '2.5.4.0', 'reference' => '605389f2a7e5625f273b53960dc46aeaf9c62918', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.33.0', 'version' => '1.33.0.0', 'reference' => '6d857f4d76bd4b343eac26d6b539585d2bc56493', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-php80' => array('pretty_version' => 'v1.33.0', 'version' => '1.33.0.0', 'reference' => '0cc9dd0f17f61d8131e7df6b84bd344899fe2608', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation' => array('pretty_version' => 'v5.4.45', 'version' => '5.4.45.0', 'reference' => '98f26acc99341ca4bab345fb14d7b1d7cb825bed', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-contracts' => array('pretty_version' => 'v2.5.4', 'version' => '2.5.4.0', 'reference' => '450d4172653f38818657022252f9d81be89ee9a8', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '2.3'))));
  • wp-user-avatar/trunk/wp-user-avatar.php

    r3473639 r3474509  
    44 * Plugin URI: https://profilepress.com
    55 * Description: The modern WordPress membership and user profile plugin.
    6  * Version: 4.16.11
     6 * Version: 4.16.12
    77 * Author: ProfilePress Membership Team
    88 * Author URI: https://profilepress.com
     
    1414
    1515define('PROFILEPRESS_SYSTEM_FILE_PATH', __FILE__);
    16 define('PPRESS_VERSION_NUMBER', '4.16.11');
     16define('PPRESS_VERSION_NUMBER', '4.16.12');
    1717
    1818if ( ! defined('PPRESS_STRIPE_API_VERSION')) {
Note: See TracChangeset for help on using the changeset viewer.