Changeset 3469745
- Timestamp:
- 02/25/2026 09:55:03 PM (4 weeks ago)
- Location:
- restrict-content/tags/3.2.23
- Files:
-
- 11 edited
- 1 copied
-
. (copied) (copied from restrict-content/trunk)
-
composer.json (modified) (1 diff)
-
core/includes/class-restrict-content.php (modified) (1 diff)
-
core/includes/gateways/stripe/functions.php (modified) (9 diffs)
-
core/includes/gateways/stripe/js/register.js (modified) (1 diff)
-
core/includes/gateways/stripe/js/register.min.js (modified) (1 diff)
-
core/includes/scripts.php (modified) (1 diff)
-
lang/restrict-content.pot (modified) (4 diffs)
-
legacy/restrictcontent.php (modified) (1 diff)
-
package.json (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
-
restrictcontent.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
restrict-content/tags/3.2.23/composer.json
r3469631 r3469745 1 1 { 2 2 "name": "restrictcontent/restrict-content", 3 "version": "3.2.2 2",3 "version": "3.2.23", 4 4 "type": "wordpress-plugin", 5 5 "description": "A simple, yet powerful membership solution for WordPress.", -
restrict-content/tags/3.2.23/core/includes/class-restrict-content.php
r3469631 r3469745 27 27 */ 28 28 final class Restrict_Content_Pro { 29 const VERSION = '3.5.5 4';29 const VERSION = '3.5.56'; 30 30 31 31 /** -
restrict-content/tags/3.2.23/core/includes/gateways/stripe/functions.php
r3438168 r3469745 180 180 * Update the billing card for a given membership. 181 181 * 182 * @param RCP_Membership $membership 182 * @param RCP_Membership $membership Membership object. 183 183 * 184 184 * @since 3.0 … … 299 299 wp_die( $error, __( 'Error', 'rcp' ), array( 'response' => '401' ) ); 300 300 301 exit;301 return; 302 302 303 303 } catch (\Stripe\Error\InvalidRequest $e) { … … 376 376 } 377 377 378 wp_redirect( add_query_arg( 'card', 'updated' ) ); exit;379 378 wp_redirect( add_query_arg( 'card', 'updated' ) ); 379 return; 380 380 } 381 381 add_action( 'rcp_update_membership_billing_card', 'rcp_stripe_update_membership_billing_card' ); … … 792 792 function rcp_stripe_handle_initial_payment_failure() { 793 793 794 $payment_id = ! empty( $_POST['payment_id'] ) ? absint( $_POST['payment_id'] ) : 0; 794 // Verify nonce for CSRF protection. 795 $nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : ''; 796 if ( empty( $nonce ) || ! wp_verify_nonce( $nonce, 'rcp_process_stripe_payment' ) ) { 797 wp_send_json_error( __( 'Security verification failed.', 'rcp' ) ); 798 } 799 800 $payment_id = ! empty( $_POST['payment_id'] ) ? absint( wp_unslash( $_POST['payment_id'] ) ) : 0; 795 801 796 802 if ( empty( $payment_id ) ) { 797 803 wp_send_json_error( __( 'Missing payment ID.', 'rcp' ) ); 798 exit;799 804 } 800 805 … … 806 811 $payment = $rcp_payments_db->get_payment( $payment_id ); 807 812 808 if ( empty( $payment ) ) {813 if ( empty( $payment ) || ! is_object( $payment ) ) { 809 814 wp_send_json_error( __( 'Invalid payment.', 'rcp' ) ); 810 exit; 811 } 815 } 816 817 // Security check: Verify user ownership of the payment. 818 $current_user_id = get_current_user_id(); 819 if ( empty( $current_user_id ) || absint( $payment->user_id ) !== $current_user_id ) { 820 wp_send_json_error( __( 'You do not have permission to perform this action.', 'rcp' ) ); 821 } 822 823 // Only allow marking payments as failed if they are in pending status. 824 if ( 'pending' !== strtolower( $payment->status ) ) { 825 wp_send_json_error( __( 'This payment cannot be marked as failed.', 'rcp' ) ); 826 } 827 828 // Verify the membership belongs to the current user. 829 if ( ! empty( $payment->membership_id ) ) { 830 $membership = rcp_get_membership( absint( $payment->membership_id ) ); 831 if ( empty( $membership ) || absint( $membership->get_customer()->get_user_id() ) !== $current_user_id ) { 832 wp_send_json_error( __( 'You do not have permission to perform this action.', 'rcp' ) ); 833 } 834 } 835 836 /** 837 * Fires before processing a payment failure. 838 * 839 * Can be used to implement additional security checks like rate limiting. 840 * 841 * @since 3.5.55 842 * 843 * @param object $payment Payment object. 844 * @param int $user_id Current user ID. 845 */ 846 do_action( 'rcp_before_stripe_handle_payment_failure', $payment, $current_user_id ); 812 847 813 848 $gateway = new RCP_Payment_Gateway_Stripe(); … … 817 852 $gateway->user_id = $payment->user_id; 818 853 $gateway->membership = rcp_get_membership( absint( $payment->membership_id ) ); 819 $gateway->error_message = ! empty( $_POST['message'] ) ? sanitize_text_field( $_POST['message']) : __( 'Unknown error', 'rcp' );854 $gateway->error_message = ! empty( $_POST['message'] ) ? sanitize_text_field( wp_unslash( $_POST['message'] ) ) : __( 'Unknown error', 'rcp' ); 820 855 821 856 do_action( 'rcp_registration_failed', $gateway ); … … 831 866 832 867 wp_send_json_success(); 833 exit;834 868 835 869 } … … 987 1021 988 1022 wp_send_json_error( __( 'Error creating setup intent.', 'rcp' ) ); 989 exit;990 1023 991 1024 } … … 1095 1128 } 1096 1129 1097 exit; 1098 1130 return; 1099 1131 } 1100 1132 add_action( 'wp_ajax_rcp_stripe_delete_saved_payment_method', 'rcp_stripe_delete_saved_payment_method' ); -
restrict-content/tags/3.2.23/core/includes/gateways/stripe/js/register.js
r3420370 r3469745 23 23 action: 'rcp_stripe_handle_initial_payment_failure', 24 24 payment_id: payment_id, 25 message: message 25 message: message, 26 nonce: rcp_script_options.stripe_payment_nonce 26 27 }, 27 28 success: function ( response ) { } -
restrict-content/tags/3.2.23/core/includes/gateways/stripe/js/register.min.js
r3420370 r3469745 1 function rcpStripeHandlePaymentFailure(e,t){jQuery.ajax({type:"post",dataType:"json",url:rcp_script_options.ajaxurl,data:{action:"rcp_stripe_handle_initial_payment_failure",payment_id:e,message:t },success:function(e){}})}function rcpStripeCloseCheckoutModal(){if(rcp_processing)return;let e=jQuery,t=e(".rcp-modal-wrapper"),r=e(".rcp-modal");t.fadeOut(250),r.hide(),document.getElementById("rcp-card-element")&&rcpStripe.elements.card.unmount("#rcp-card-element")}function rcpStripeHandleIntent(e,t,r){return rcpStripe.Stripe[e](t,r)}jQuery((function(e){var t={hasPaymentMethod:!1,paymentMethodID:!1,init:function(){e("body").on("rcp_gateway_loaded",t.mountElements),e("#rcp_submit").on("click",t.maybeBlockSubmit),e("body").on("rcp_registration_form_processed",t.handlePayment),e("body").on("click",".rcp-stripe-register-submit-button",t.launchModal)},mountElements:function(e,r){document.getElementById("rcp-card-element")&&(rcpStripeUpdateElementStyles(rcpStripe.elements.card,".rcp_card_name"),rcpStripe.elements.card.mount("#rcp-card-element"),rcpStripe.elements.card.addEventListener("change",(function(e){e.complete&&(t.hasPaymentMethod=!0)})),t.setPaymentMethodID(),rcpStripe.elements.card.addEventListener("change",rcpStripeToggleElementErrors))},setPaymentMethodID:function(){let r=e('input[name="rcp_gateway_existing_payment_method"]');r.on("change",(function(r){rcpStripeToggleElementErrors(r);let a=e('input[name="rcp_gateway_existing_payment_method"]:checked').val();e(".rcp-gateway-saved-payment-method, .rcp-gateway-add-payment-method-wrap").removeClass("rcp-gateway-selected-payment-method"),"new"===a?(e(".rcp-gateway-new-card-fields").show(),e(".rcp-gateway-add-payment-method-wrap").addClass("rcp-gateway-selected-payment-method"),t.paymentMethodID=!1):(e(".rcp-gateway-new-card-fields").hide(),e(this).parents(".rcp-gateway-saved-payment-method").addClass("rcp-gateway-selected-payment-method"),t.paymentMethodID=a)})),r.trigger("change")},maybeBlockSubmit:function(e){if("stripe"===rcp_get_gateway().val()&&document.getElementById("rcp-card-element")&&!t.hasPaymentMethod&&!t.paymentMethodID)return e.stopPropagation(),rcpStripeHandleError(rcp_script_options.enter_card_details),!1},handlePayment:function(r,a,n){if("stripe"!==n.gateway.slug)return;if(!(n.total||n.recurring_total&&n.auto_renew))return;if(e(".rcp_gateway_fields").hasClass("rcp_discounted_100"))return;if(!n.gateway.data.stripe_client_secret)return rcpStripeHandleError(rcp_script_options.error_occurred),void rcpStripeHandlePaymentFailure(n.payment_id,rcp_script_options.error_occurred);let c=e(".card-name").val(),p="payment_intent"===n.gateway.data.stripe_intent_type?"confirmCardPayment":"confirmCardSetup",d={payment_method:{card:rcpStripe.elements.card,billing_details:{name:c}}};t.paymentMethodID&&(d={payment_method:t.paymentMethodID}),rcpStripeHandleIntent(p,n.gateway.data.stripe_client_secret,d).then((function(e){e.error?(rcpStripeHandleError(e.error.message,e.error.code),rcpStripeHandlePaymentFailure(n.payment_id,e.error.message)):rcp_submit_registration_form(a,n)}))},launchModal:function(r){r.preventDefault();let a=e(".rcp-modal-wrapper"),n=e(".rcp-modal"),c=e(this).parents(".rcp-stripe-register");if(!document.getElementById("rcp-card-element"))return;a.fadeIn(250),rcpStripe.elements.card.mount("#rcp-card-element");let p=n.find("input.rcp-modal-submit");rcpStripe.elements.card.addEventListener("change",(function(e){e.complete&&(t.hasPaymentMethod=!0)})),rcpStripe.elements.card.addEventListener("change",rcpStripeToggleElementErrors),t.setPaymentMethodID(),c.data("name")&&e(".rcp-modal-membership-name").text(c.data("name")).show(),c.data("description")&&e(".rcp-modal-membership-description").text(c.data("description")).show(),c.data("panel-label")&&p.val(c.data("panel-label")),c.data("level-id")&&n.find("#rcp-stripe-checkout-level-id").val(c.data("level-id")),n.fadeIn(250),a.find(".rcp-modal-close").on("click",(function(){rcpStripeCloseCheckoutModal()})),e(document).on("keydown",(function(e){27===e.keyCode&&rcpStripeCloseCheckoutModal()})),e(document).mouseup((function(e){n.is(e.target)||0!==n.has(e.target).length||rcpStripeCloseCheckoutModal()}))}};t.init()}));1 function rcpStripeHandlePaymentFailure(e,t){jQuery.ajax({type:"post",dataType:"json",url:rcp_script_options.ajaxurl,data:{action:"rcp_stripe_handle_initial_payment_failure",payment_id:e,message:t,nonce:rcp_script_options.stripe_payment_nonce},success:function(e){}})}function rcpStripeCloseCheckoutModal(){if(rcp_processing)return;let e=jQuery,t=e(".rcp-modal-wrapper"),r=e(".rcp-modal");t.fadeOut(250),r.hide(),document.getElementById("rcp-card-element")&&rcpStripe.elements.card.unmount("#rcp-card-element")}function rcpStripeHandleIntent(e,t,r){return rcpStripe.Stripe[e](t,r)}jQuery((function(e){var t={hasPaymentMethod:!1,paymentMethodID:!1,init:function(){e("body").on("rcp_gateway_loaded",t.mountElements),e("#rcp_submit").on("click",t.maybeBlockSubmit),e("body").on("rcp_registration_form_processed",t.handlePayment),e("body").on("click",".rcp-stripe-register-submit-button",t.launchModal)},mountElements:function(e,r){document.getElementById("rcp-card-element")&&(rcpStripeUpdateElementStyles(rcpStripe.elements.card,".rcp_card_name"),rcpStripe.elements.card.mount("#rcp-card-element"),rcpStripe.elements.card.addEventListener("change",(function(e){e.complete&&(t.hasPaymentMethod=!0)})),t.setPaymentMethodID(),rcpStripe.elements.card.addEventListener("change",rcpStripeToggleElementErrors))},setPaymentMethodID:function(){let r=e('input[name="rcp_gateway_existing_payment_method"]');r.on("change",(function(r){rcpStripeToggleElementErrors(r);let a=e('input[name="rcp_gateway_existing_payment_method"]:checked').val();e(".rcp-gateway-saved-payment-method, .rcp-gateway-add-payment-method-wrap").removeClass("rcp-gateway-selected-payment-method"),"new"===a?(e(".rcp-gateway-new-card-fields").show(),e(".rcp-gateway-add-payment-method-wrap").addClass("rcp-gateway-selected-payment-method"),t.paymentMethodID=!1):(e(".rcp-gateway-new-card-fields").hide(),e(this).parents(".rcp-gateway-saved-payment-method").addClass("rcp-gateway-selected-payment-method"),t.paymentMethodID=a)})),r.trigger("change")},maybeBlockSubmit:function(e){if("stripe"===rcp_get_gateway().val()&&document.getElementById("rcp-card-element")&&!t.hasPaymentMethod&&!t.paymentMethodID)return e.stopPropagation(),rcpStripeHandleError(rcp_script_options.enter_card_details),!1},handlePayment:function(r,a,n){if("stripe"!==n.gateway.slug)return;if(!(n.total||n.recurring_total&&n.auto_renew))return;if(e(".rcp_gateway_fields").hasClass("rcp_discounted_100"))return;if(!n.gateway.data.stripe_client_secret)return rcpStripeHandleError(rcp_script_options.error_occurred),void rcpStripeHandlePaymentFailure(n.payment_id,rcp_script_options.error_occurred);let c=e(".card-name").val(),p="payment_intent"===n.gateway.data.stripe_intent_type?"confirmCardPayment":"confirmCardSetup",d={payment_method:{card:rcpStripe.elements.card,billing_details:{name:c}}};t.paymentMethodID&&(d={payment_method:t.paymentMethodID}),rcpStripeHandleIntent(p,n.gateway.data.stripe_client_secret,d).then((function(e){e.error?(rcpStripeHandleError(e.error.message,e.error.code),rcpStripeHandlePaymentFailure(n.payment_id,e.error.message)):rcp_submit_registration_form(a,n)}))},launchModal:function(r){r.preventDefault();let a=e(".rcp-modal-wrapper"),n=e(".rcp-modal"),c=e(this).parents(".rcp-stripe-register");if(!document.getElementById("rcp-card-element"))return;a.fadeIn(250),rcpStripe.elements.card.mount("#rcp-card-element");let p=n.find("input.rcp-modal-submit");rcpStripe.elements.card.addEventListener("change",(function(e){e.complete&&(t.hasPaymentMethod=!0)})),rcpStripe.elements.card.addEventListener("change",rcpStripeToggleElementErrors),t.setPaymentMethodID(),c.data("name")&&e(".rcp-modal-membership-name").text(c.data("name")).show(),c.data("description")&&e(".rcp-modal-membership-description").text(c.data("description")).show(),c.data("panel-label")&&p.val(c.data("panel-label")),c.data("level-id")&&n.find("#rcp-stripe-checkout-level-id").val(c.data("level-id")),n.fadeIn(250),a.find(".rcp-modal-close").on("click",(function(){rcpStripeCloseCheckoutModal()})),e(document).on("keydown",(function(e){27===e.keyCode&&rcpStripeCloseCheckoutModal()})),e(document).mouseup((function(e){n.is(e.target)||0!==n.has(e.target).length||rcpStripeCloseCheckoutModal()}))}};t.init()})); -
restrict-content/tags/3.2.23/core/includes/scripts.php
r3420370 r3469745 300 300 'enter_card_details' => esc_html__( 'Please enter your card details.', 'rcp' ), 301 301 'invalid_cardholder' => esc_html__( 'The card holder name you have entered is invalid', 'rcp' ), 302 'stripe_payment_nonce' => wp_create_nonce( 'rcp_process_stripe_payment' ), 302 303 ) 303 304 ); -
restrict-content/tags/3.2.23/lang/restrict-content.pot
r3469631 r3469745 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Restrict Content 3.2.2 2\n"5 "Project-Id-Version: Restrict Content 3.2.23\n" 6 6 "Report-Msgid-Bugs-To: http://ithemes.com/support/\n" 7 "POT-Creation-Date: 2026-02-25 16:47:56+00:00\n"7 "POT-Creation-Date: 2026-02-25 21:52:49+00:00\n" 8 8 "PO-Revision-Date: 2026-MO-DA HO:MI+ZONE\n" 9 9 "MIME-Version: 1.0\n" … … 1204 1204 #: core/includes/admin/reminders/subscription-reminders.php:83 1205 1205 #: core/includes/admin/subscriptions/class-membership-levels-table.php:264 1206 #: core/includes/gateways/stripe/functions.php:10 271206 #: core/includes/gateways/stripe/functions.php:1060 1207 1207 msgid "Delete" 1208 1208 msgstr "" … … 1297 1297 #: core/includes/batch/csv-exports/class-batch-csv-export-base.php:98 1298 1298 #: core/includes/gateways/gateway-actions.php:161 1299 #: core/includes/gateways/stripe/functions.php:1077 1299 #: core/includes/gateways/stripe/functions.php:820 1300 #: core/includes/gateways/stripe/functions.php:832 1301 #: core/includes/gateways/stripe/functions.php:1110 1300 1302 #: core/includes/memberships/membership-actions.php:45 1301 1303 #: core/includes/memberships/membership-actions.php:99 … … 6017 6019 6018 6020 #: core/includes/gateways/stripe/functions.php:797 6021 msgid "Security verification failed." 6022 msgstr "" 6023 6024 #: core/includes/gateways/stripe/functions.php:803 6019 6025 #: core/includes/registration-functions.php:564 6020 6026 msgid "Missing payment ID." 6021 6027 msgstr "" 6022 6028 6023 #: core/includes/gateways/stripe/functions.php:8 096029 #: core/includes/gateways/stripe/functions.php:814 6024 6030 msgid "Invalid payment." 6025 6031 msgstr "" 6026 6032 6027 #: core/includes/gateways/stripe/functions.php:819 6033 #: core/includes/gateways/stripe/functions.php:825 6034 msgid "This payment cannot be marked as failed." 6035 msgstr "" 6036 6037 #: core/includes/gateways/stripe/functions.php:854 6028 6038 msgid "Unknown error" 6029 6039 msgstr "" 6030 6040 6031 #: core/includes/gateways/stripe/functions.php:8 546041 #: core/includes/gateways/stripe/functions.php:888 6032 6042 msgid "You are not authorized to perform this action." 6033 6043 msgstr "" 6034 6044 6035 #: core/includes/gateways/stripe/functions.php: 8746045 #: core/includes/gateways/stripe/functions.php:908 6036 6046 msgid "Missing membership ID." 6037 6047 msgstr "" 6038 6048 6039 #: core/includes/gateways/stripe/functions.php:9 496049 #: core/includes/gateways/stripe/functions.php:983 6040 6050 msgid "Invalid Stripe customer ID." 6041 6051 msgstr "" 6042 6052 6043 #: core/includes/gateways/stripe/functions.php: 9886053 #: core/includes/gateways/stripe/functions.php:1022 6044 6054 msgid "Error creating setup intent." 6045 6055 msgstr "" 6046 6056 6047 #: core/includes/gateways/stripe/functions.php:10 466057 #: core/includes/gateways/stripe/functions.php:1079 6048 6058 msgid "Missing payment method ID." 6049 6059 msgstr "" 6050 6060 6051 #: core/includes/gateways/stripe/functions.php:10 546061 #: core/includes/gateways/stripe/functions.php:1087 6052 6062 msgid "Invalid or unknown Stripe customer ID." 6053 6063 msgstr "" 6054 6064 6055 #: core/includes/gateways/stripe/functions.php:1 0946065 #: core/includes/gateways/stripe/functions.php:1127 6056 6066 msgid "An unknown error occurred." 6057 6067 msgstr "" 6058 6068 6059 #: core/includes/gateways/stripe/functions.php:11 476069 #: core/includes/gateways/stripe/functions.php:1179 6060 6070 msgid "Payment gateway connection error." 6061 6071 msgstr "" 6062 6072 6063 #: core/includes/gateways/stripe/functions.php:11 486073 #: core/includes/gateways/stripe/functions.php:1180 6064 6074 msgid "The card has been declined." 6065 6075 msgstr "" 6066 6076 6067 #: core/includes/gateways/stripe/functions.php:11 496077 #: core/includes/gateways/stripe/functions.php:1181 6068 6078 msgid "Invalid email address. Please enter a valid email address and try again." 6069 6079 msgstr "" 6070 6080 6071 #: core/includes/gateways/stripe/functions.php:11 506081 #: core/includes/gateways/stripe/functions.php:1182 6072 6082 msgid "This card has expired. Please try again with a different payment method." 6073 6083 msgstr "" 6074 6084 6075 #: core/includes/gateways/stripe/functions.php:11 516085 #: core/includes/gateways/stripe/functions.php:1183 6076 6086 msgid "The supplied billing address is incorrect. Please check the card's address or try again with a different card." 6077 6087 msgstr "" 6078 6088 6079 #: core/includes/gateways/stripe/functions.php:11 526089 #: core/includes/gateways/stripe/functions.php:1184 6080 6090 msgid "The card's security code is incorrect. Please check the security code or try again with a different card." 6081 6091 msgstr "" 6082 6092 6083 #: core/includes/gateways/stripe/functions.php:11 536084 #: core/includes/gateways/stripe/functions.php:11 546093 #: core/includes/gateways/stripe/functions.php:1185 6094 #: core/includes/gateways/stripe/functions.php:1186 6085 6095 msgid "The card number is incorrect. Please check the card number or try again with a different card." 6086 6096 msgstr "" 6087 6097 6088 #: core/includes/gateways/stripe/functions.php:11 556089 #: core/includes/gateways/stripe/functions.php:11 566098 #: core/includes/gateways/stripe/functions.php:1187 6099 #: core/includes/gateways/stripe/functions.php:1188 6090 6100 msgid "The card's postal code is incorrect. Please check the postal code or try again with a different card." 6091 6101 msgstr "" 6092 6102 6093 #: core/includes/gateways/stripe/functions.php:11 576103 #: core/includes/gateways/stripe/functions.php:1189 6094 6104 msgid "The card's security code is invalid. Please check the security code or try again with a different card." 6095 6105 msgstr "" 6096 6106 6097 #: core/includes/gateways/stripe/functions.php:11 586107 #: core/includes/gateways/stripe/functions.php:1190 6098 6108 msgid "The card's expiration month is incorrect." 6099 6109 msgstr "" 6100 6110 6101 #: core/includes/gateways/stripe/functions.php:11 596111 #: core/includes/gateways/stripe/functions.php:1191 6102 6112 msgid "The card's expiration year is incorrect." 6103 6113 msgstr "" 6104 6114 6105 #: core/includes/gateways/stripe/functions.php:11 606115 #: core/includes/gateways/stripe/functions.php:1192 6106 6116 msgid "Authentication failure." 6107 6117 msgstr "" 6108 6118 6109 #: core/includes/gateways/stripe/functions.php:11 616119 #: core/includes/gateways/stripe/functions.php:1193 6110 6120 msgid "This payment method is invalid." 6111 6121 msgstr "" 6112 6122 6113 #: core/includes/gateways/stripe/functions.php:11 626123 #: core/includes/gateways/stripe/functions.php:1194 6114 6124 msgid "Payment attempt failed." 6115 6125 msgstr "" 6116 6126 6117 #: core/includes/gateways/stripe/functions.php:11 636127 #: core/includes/gateways/stripe/functions.php:1195 6118 6128 msgid "Setup attempt failed." 6119 6129 msgstr "" -
restrict-content/tags/3.2.23/legacy/restrictcontent.php
r3469631 r3469745 22 22 23 23 if ( ! defined( 'RC_PLUGIN_VERSION' ) ) { 24 define( 'RC_PLUGIN_VERSION', '3.2.2 2' );24 define( 'RC_PLUGIN_VERSION', '3.2.23' ); 25 25 } 26 26 -
restrict-content/tags/3.2.23/package.json
r3469631 r3469745 1 1 { 2 2 "name": "restrict-content", 3 "version": "3.2.2 2",3 "version": "3.2.23", 4 4 "description": "Set up a complete membership system for your WordPress site and deliver premium content to your members. Unlimited membership packages, membership management, discount codes, registration / login forms, and more.", 5 5 "homepage": "https://restrictcontentpro.com/", -
restrict-content/tags/3.2.23/readme.txt
r3469631 r3469745 7 7 Requires PHP: 7.4 8 8 Tested up to: 6.9 9 Stable tag: 3.2.2 29 Stable tag: 3.2.23 10 10 11 11 Restrict Content is a powerful WordPress membership plugin that gives you full control over who can and cannot view content on your WordPress site. … … 258 258 == Changelog == 259 259 260 = 3.2.23 = 261 * Security: Strengthened security measures for processing payments with Stripe. 262 260 263 = 3.2.22 = 261 264 * Fix - Formatted telemetry list values for clearer display in Site Health. -
restrict-content/tags/3.2.23/restrictcontent.php
r3469631 r3469745 4 4 * Plugin URI: https://restrictcontentpro.com 5 5 * Description: Set up a complete membership system for your WordPress site and deliver premium content to your members. Unlimited membership packages, membership management, discount codes, registration / login forms, and more. 6 * Version: 3.2.2 26 * Version: 3.2.23 7 7 * Author: StellarWP 8 8 * Author URI: https://stellarwp.com/ … … 19 19 define('RCP_ROOT', plugin_dir_path(__FILE__)); 20 20 define('RCP_WEB_ROOT', plugin_dir_url(__FILE__)); 21 define('RCF_VERSION', '3.2.2 2');21 define('RCF_VERSION', '3.2.23'); 22 22 23 23 // Load Strauss autoload.
Note: See TracChangeset
for help on using the changeset viewer.