WP User Avatar - Version 4.3.0

Version Description

  • Pro: Mollie Addon.
  • Added integration with Conditional Blocks plugin.
  • Added customer ID placeholder support to order email.
  • Added custom fields support to order emails.
  • Fixed: Index column size too large error when creating subscriptions DB table.
  • Fixed bug where download details was showing for order without downloads.
Download this release

Release Info

Developer Collizo4sky
Plugin Icon 128x128 WP User Avatar
Version 4.3.0
Comparing to
See all releases

Code changes from version 4.2.0 to 4.3.0

Files changed (34) hide show
  1. assets/images/mollie-icon.svg +1 -0
  2. assets/js/frontend.js +7 -7
  3. assets/js/frontend.min.js +1 -1
  4. changelog.txt +8 -0
  5. languages/wp-user-avatar.pot +700 -295
  6. readme.txt +17 -8
  7. src/Admin/SettingsPages/Membership/FileDownloads.php +0 -1
  8. src/Admin/SettingsPages/Membership/PaymentMethods.php +1 -1
  9. src/Admin/SettingsPages/Membership/views/orders/digital-products-metabox.php +14 -12
  10. src/Admin/SettingsPages/Membership/views/payment-method-list.php +46 -23
  11. src/Classes/ExtensionManager.php +8 -0
  12. src/ContentProtection/ConditionalBlocksIntegration.php +119 -0
  13. src/ContentProtection/Init.php +2 -0
  14. src/ContentProtection/views/include.shortcode-doc-sidebar.php +7 -0
  15. src/DBUpdates.php +8 -1
  16. src/Functions/PPressBFnote.php +32 -17
  17. src/Membership/CheckoutFields.php +1 -1
  18. src/Membership/Emails/AbstractMembershipEmail.php +28 -2
  19. src/Membership/Emails/EmailDataTrait.php +5 -0
  20. src/Membership/Models/Order/OrderEntity.php +15 -0
  21. src/Membership/Models/Plan/PlanEntity.php +4 -2
  22. src/Membership/Models/Subscription/SubscriptionEntity.php +5 -0
  23. src/Membership/PaymentMethods/AbstractPaymentMethod.php +7 -1
  24. src/Membership/PaymentMethods/Stripe/WebhookHandlers/PaymentIntentSucceeded.php +3 -1
  25. src/RegisterActivation/CreateDBTables.php +1 -1
  26. src/ShortcodeParser/MyAccount/view-subscription.tmpl.php +1 -1
  27. third-party/vendor/autoload.php +1 -1
  28. third-party/vendor/composer/autoload_real.php +7 -7
  29. third-party/vendor/composer/autoload_static.php +4 -4
  30. third-party/vendor/composer/installed.json +7 -7
  31. third-party/vendor/composer/installed.php +1 -1
  32. third-party/vendor/scoper-autoload.php +2 -2
  33. third-party/vendor/symfony/translation/Resources/bin/translation-status.php +3 -0
  34. wp-user-avatar.php +2 -2
assets/images/mollie-icon.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22"><g fill="none" class="nc-icon-wrapper"><path d="M22 11a11.05 11.05 0 0 1-.42 3.024C20.265 18.629 16.025 22 11 22 4.925 22 0 17.075 0 11S4.925 0 11 0c4.819 0 8.914 3.099 10.401 7.412C21.79 8.537 22 9.744 22 11z" fill="#000"/><path d="M17.787 6.609A5.129 5.129 0 0 1 19 9.937V16h-2.547V9.861c-.006-1.206-.953-2.191-2.105-2.191a2.5 2.5 0 0 0-.21.011c-1.03.11-1.895 1.137-1.895 2.244V16H9.696V9.879c-.005-1.213-.947-2.204-2.1-2.204-.066 0-.138.006-.21.012-1.025.111-1.894 1.136-1.894 2.25V16H3V9.861C3 7.18 5.077 5 7.624 5c1.274 0 2.487.56 3.362 1.533a4.521 4.521 0 0 1 3.788-1.516c1.163.105 2.232.67 3.013 1.592z" fill="#fff"/></g></svg>
assets/js/frontend.js CHANGED
@@ -23,6 +23,13 @@ function Frontend() {
23
  _this.defaultUserProfileResponsive();
24
  });
25
 
 
 
 
 
 
 
 
26
  // only enable if pp_disable_ajax_form filter is false.
27
  if (pp_ajax_form.disable_ajax_form === 'true') return;
28
 
@@ -30,13 +37,6 @@ function Frontend() {
30
  $(document).on('submit', 'form[data-pp-form-submit="signup"]', this.ajax_registration);
31
  $(document).on('submit', 'form[data-pp-form-submit="passwordreset"]', this.ajax_password_reset);
32
  $(document).on('submit', 'form[data-pp-form-submit="editprofile"]', this.ajax_edit_profile);
33
-
34
- $('.ppress-confirm-delete').on('click', function (e) {
35
- e.preventDefault();
36
- if (confirm(pp_ajax_form.confirm_delete)) {
37
- window.location.href = $(this).attr('href');
38
- }
39
- });
40
  };
41
 
42
  this.recaptcha_processing = function () {
23
  _this.defaultUserProfileResponsive();
24
  });
25
 
26
+ $(document).on('click', '.ppress-confirm-delete', function (e) {
27
+ e.preventDefault();
28
+ if (confirm(pp_ajax_form.confirm_delete)) {
29
+ window.location.href = $(this).attr('href');
30
+ }
31
+ });
32
+
33
  // only enable if pp_disable_ajax_form filter is false.
34
  if (pp_ajax_form.disable_ajax_form === 'true') return;
35
 
37
  $(document).on('submit', 'form[data-pp-form-submit="signup"]', this.ajax_registration);
38
  $(document).on('submit', 'form[data-pp-form-submit="passwordreset"]', this.ajax_password_reset);
39
  $(document).on('submit', 'form[data-pp-form-submit="editprofile"]', this.ajax_edit_profile);
 
 
 
 
 
 
 
40
  };
41
 
42
  this.recaptcha_processing = function () {
assets/js/frontend.min.js CHANGED
@@ -1 +1 @@
1
- !function($){"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=e(jQuery);(new function(){var e=this;this.init=function(){window.ppFormRecaptchaLoadCallback=this.recaptcha_processing,t.default(".pp-del-profile-avatar").on("click",this.delete_avatar),t.default(".pp-del-cover-image").on("click",this.delete_profile_image_cover),t.default(document).on("click",".has-password-visibility-icon .pp-form-material-icons",this.toggle_password_visibility),t.default(document.body).on("click","a.showlogin",(function(){t.default(".pp_wc_login").slideToggle()})),t.default(window).on("load resize",(function(){e.defaultUserProfileResponsive()})),"true"!==pp_ajax_form.disable_ajax_form&&(t.default(document).on("submit",'form[data-pp-form-submit="login"]',this.ajax_login),t.default(document).on("submit",'form[data-pp-form-submit="signup"]',this.ajax_registration),t.default(document).on("submit",'form[data-pp-form-submit="passwordreset"]',this.ajax_password_reset),t.default(document).on("submit",'form[data-pp-form-submit="editprofile"]',this.ajax_edit_profile),t.default(".ppress-confirm-delete").on("click",(function(e){e.preventDefault(),confirm(pp_ajax_form.confirm_delete)&&(window.location.href=t.default(this).attr("href"))})))},this.recaptcha_processing=function(){t.default(".pp-g-recaptcha").each((function(s,a){var r=t.default(a).attr("data-sitekey"),p=t.default(this).parents(".pp-form-container").find("form");if("v3"===t.default(a).attr("data-type"))p.find("input.pp-submit-form").on("click",(function(s){s.preventDefault(),e._add_processing_label(p),grecaptcha.ready((function(){grecaptcha.execute(r,{action:"form"}).then((function(e){p.find('[name="g-recaptcha-response"]').remove(),p.append(t.default("<input>",{type:"hidden",value:e,name:"g-recaptcha-response"})),p.submit()}))}))}));else{var o=grecaptcha.render(a,{sitekey:r,theme:t.default(a).attr("data-theme"),size:t.default(a).attr("data-size")});p.on("pp_form_submitted",(function(){grecaptcha.reset(o)}))}}))},this.toggle_password_visibility=function(e){e.preventDefault();var s=t.default(this).parents(".pp-form-field-input-textarea-wrap").find(".pp-form-field");"password"===s.attr("type")?(s.attr("type","text"),t.default(this).text("visibility_off")):(s.attr("type","password"),t.default(this).text("visibility"))},this.ajax_edit_profile=function(s){if(void 0!==window.FormData&&window.FormData){s.preventDefault();var a=t.default('form[data-pp-form-submit="editprofile"]'),r=e.get_melange_id(a),p=new FormData(this);p.append("action","pp_ajax_editprofile"),p.append("nonce",pp_ajax_form.nonce),p.append("melange_id",r),t.default(".profilepress-edit-profile-status").remove(),t.default(".profilepress-edit-profile-success").remove(),""!==window.edit_profile_msg_class&&t.default("."+window.edit_profile_msg_class).remove(),e._add_processing_label(a),t.default.post({url:pp_ajax_form.ajaxurl,data:p,cache:!1,contentType:!1,enctype:"multipart/form-data",processData:!1,dataType:"json",success:function(s){a.trigger("pp_form_submitted"),a.trigger("pp_form_edit_profile_success",[a]),"avatar_url"in s&&""!==s.avatar_url&&(t.default("img[data-del='avatar'], img.pp-user-avatar").attr("src",s.avatar_url),t.default("input[name=eup_avatar]",a).val("")),"cover_image_url"in s&&""!==s.cover_image_url&&(t.default("img[data-del='cover-image'], img.pp-user-cover-image").attr("src",s.cover_image_url),t.default("input[name=eup_cover_image]",a).val(""),t.default(".profilepress-myaccount-has-cover-image",a).show(),t.default(".profilepress-myaccount-cover-image-empty",a).hide()),"message"in s&&(window.edit_profile_msg_class=t.default(s.message).attr("class"),a.before(s.message)),"redirect"in s&&(a.trigger("pp_edit_profile_success_before_redirect"),window.location.assign(s.redirect)),e._remove_processing_label(a)}},"json")}},this.ajax_password_reset=function(s){s.preventDefault();var a=t.default(this),r=e.get_melange_id(a),p="true"===a.find('input[name="is-pp-tab-widget"]').val(),o={action:"pp_ajax_passwordreset",data:t.default(this).serialize()+"&melange_id="+r};e._remove_status_notice(),a.parents(".pp-tab-widget-form").prev(".pp-tab-status").remove(),e._add_processing_label(a),t.default.post(pp_ajax_form.ajaxurl,o,(function(s){if(a.trigger("pp_form_submitted"),"object"!=typeof s)return e._remove_processing_label(a);if("message"in s){if(a.trigger("pp_password_reset_status"),p){var r=s.message.replace("profilepress-reset-status","pp-tab-status");a.parents(".pp-tab-widget-form").before(r)}else a.parents(".lucidContainer").length>0?a.parents(".lucidContainer").before(s.message):a.before(s.message);"status"in s&&!0===s.status&&a.hide(),t.default('input[name="user_login"]',a).val("")}e._remove_processing_label(a)}),"json")},this.ajax_registration=function(s){if(void 0!==window.FormData&&window.FormData){s.preventDefault();var a=t.default(this),r=e.get_melange_id(a),p=new FormData(this),o="true"===a.find('input[name="is-pp-tab-widget"]').val();p.append("action","pp_ajax_signup"),p.append("melange_id",r),e._remove_status_notice(),a.parents(".pp-tab-widget-form").prev(".pp-tab-status").remove(),e._add_processing_label(a),t.default.post({url:pp_ajax_form.ajaxurl,data:p,cache:!1,contentType:!1,enctype:"multipart/form-data",processData:!1,dataType:"json",success:function(t){if(a.trigger("pp_form_submitted"),"object"!=typeof t)return e._remove_processing_label(a);if("message"in t)if(a.trigger("pp_registration_error",[t]),a.trigger("pp_registration_ajax_response",[t]),o){var s=t.message.replace("profilepress-reg-status","pp-tab-status");a.parents(".pp-tab-widget-form").before(s)}else a.parents(".lucidContainer").length>0?a.parents(".lucidContainer").before(t.message):a.before(t.message);else"redirect"in t&&(a.trigger("pp_registration_success",[t]),window.location.assign(t.redirect));e._remove_processing_label(a)}})}},this.ajax_login=function(s){s.preventDefault();var a=t.default(this),r={action:"pp_ajax_login",data:t.default(this).serialize()},p="true"===a.find('input[name="is-pp-tab-widget"]').val();e._remove_status_notice(),e._add_processing_label(a),t.default.post(pp_ajax_form.ajaxurl,r,(function(t){if(a.trigger("pp_form_submitted"),null===t||"object"!=typeof t)return e._remove_processing_label(a);if("success"in t&&!0===t.success&&"redirect"in t)a.trigger("pp_login_form_success"),window.location.assign(t.redirect);else if(a.trigger("pp_login_form_error"),"code"in t&&"pp2fa_auth_code_invalid"==t.code&&a.find(".pp-2fa").show(),p){var s=t.message.replace("profilepress-login-status","pp-tab-status");a.parents(".pp-tab-widget-form").before(s)}else a.parents(".lucidContainer").length>0?a.parents(".lucidContainer").before(t.message):a.before(t.message);e._remove_processing_label(a)}),"json")},this.delete_avatar=function(e){e.preventDefault();var s=t.default(this).text(),a=t.default(this);e.preventDefault(),confirm(pp_ajax_form.confirm_delete)&&(a.is("button")&&a.text(pp_ajax_form.deleting_text),t.default.post(pp_ajax_form.ajaxurl,{action:"pp_del_avatar",nonce:pp_ajax_form.nonce}).done((function(e){"error"in e&&"nonce_failed"===e.error?(a.text(s),alert(pp_ajax_form.deleting_error)):"success"in e&&(t.default("img[data-del='avatar']").attr("src",e.default),a.remove())})))},this.delete_profile_image_cover=function(e){e.preventDefault();var s=t.default(this).text(),a=t.default(this);e.preventDefault(),confirm(pp_ajax_form.confirm_delete)&&(a.is("button")&&a.text(pp_ajax_form.deleting_text),t.default.post(pp_ajax_form.ajaxurl,{action:"pp_del_cover_image",nonce:pp_ajax_form.nonce}).done((function(e){"error"in e&&"nonce_failed"===e.error&&(a.text(s),alert(pp_ajax_form.deleting_error)),"success"in e&&(""!==e.default?(t.default("img[data-del='cover-image']").attr("src",e.default),a.parent().find(".profilepress-myaccount-has-cover-image").show(),a.parent().find(".profilepress-myaccount-cover-image-empty").hide()):(a.parent().find(".profilepress-myaccount-has-cover-image").hide(),a.parent().find(".profilepress-myaccount-cover-image-empty").show()),a.remove())})))},this.get_melange_id=function(e){var s=t.default("input.pp_melange_id",e).val();return void 0===s?"":s},this._add_processing_label=function(e){var t=e.find("input[data-pp-submit-label]");t.attr({value:t.data("pp-processing-label"),disabled:"disabled"}).css("opacity",".4")},this._remove_processing_label=function(e){var t=e.find("input[data-pp-submit-label]");t.attr("value",t.data("pp-submit-label")),t.attr({value:t.data("pp-submit-label"),disabled:null}).css("opacity","")},this._remove_status_notice=function(){t.default(".profilepress-login-status,.pp-tab-status,.profilepress-edit-profile-success,.profilepress-edit-profile-status,.pp-reset-success,.profilepress-reset-status,.profilepress-reg-status").remove()},this.defaultUserProfileResponsive=function(){t.default(".ppress-default-profile, .pp-member-directory, .ppress-checkout__form").each((function(){var e=t.default(this),s=e.width();s<=340?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui800"),e.removeClass("ppressui768"),e.removeClass("ppressui960"),e.addClass("ppressui340")):s<=500?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui500")):s<=768?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui768")):s<=800?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui800")):s<=960?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui960")):s>960&&(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960")),e.css("opacity",1)})),t.default(".ppress-default-profile-cover, .ppress-default-profile-cover-e").each((function(){var e=t.default(this),s=Math.round(e.width()/e.data("ratio"))+"px";e.height(s),e.find(".ppress-dpf-cover-add").height(s)}))}}).init(),(new function(){let e=this;window.ppressCheckoutForm=this,this.init=function(){"0"!==pp_ajax_form.is_checkout&&0!==t.default("#ppress_checkout_main_form").length&&(t.default(document).on("click",".ppress-checkout-show-login-form",this.toggle_login_form),t.default(document).on("click",'.ppress-login-submit-btn input[type="submit"]',this.process_login),t.default(document).on("click",".ppress-coupon-code-link",this.toggle_discount_code_reveal),t.default(document).on("click",".ppress-apply-discount-btn",this.apply_discount_code),t.default(document).on("click","#ppress-remove-applied-coupon",this.remove_applied_discount_code),t.default(document).on("submit","#ppress_mb_checkout_form",this.process_checkout),t.default(document).on("click",".ppress-terms-and-conditions-link",(function(e){var s=t.default(".ppress-checkout-form__terms_condition__content");s.length>0&&(e.preventDefault(),s.slideToggle())})),t.default(document).on("ppress_update_checkout",this.update_checkout),"1"===pp_ajax_form.is_checkout_tax_enabled?t.default(document).on("change","#ppress_mb_checkout_form .ppress_billing_country, #ppress_mb_checkout_form .ppress_billing_state, #ppress_mb_checkout_form .ppress_vat_number",e.debounce((function(){t.default(document.body).trigger("ppress_update_checkout")}),200)):t.default(document).on("change","#ppress_mb_checkout_form .ppress_billing_country",e.contextual_state_field),t.default(document.body).on("change","#ppress_checkout_payment_methods [name=ppress_payment_method]",(function(){t.default(document.body).trigger("ppress_update_checkout")})),t.default(document.body).trigger("ppress_update_checkout"),t.default(document).ajaxError((function(){e.remove_spinner()})))},this.debounce=function(e,t){let s;return t=t||600,function(){clearTimeout(s),s=setTimeout((function(){e()}),t)}},this.contextual_state_field=function(){let e=t.default(".ppress_billing_state"),s={action:"ppress_contextual_state_field",country:t.default(this).val(),name:e.prop("name"),id:e.prop("id"),class:e.prop("class"),csrf:t.default("#ppress_checkout_nonce").val()};t.default.post(pp_ajax_form.ajaxurl,s,(function(t){e.replaceWith(t.data)}))},this.scroll_to_notices=function(e){(e=e||t.default(".ppress-checkout-alert")).length&&t.default("html, body").animate({scrollTop:e.offset().top-100},1e3)},this.update_checkout=function(){e.removeAllAlerts(),e.add_spinner();let s={action:"ppress_update_order_review",plan_id:t.default("#ppress-checkout-plan-id").val(),ppress_payment_method:t.default("#ppress_checkout_payment_methods [name=ppress_payment_method]:checked").val(),csrf:t.default("#ppress_checkout_nonce").val(),address:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_address").val(),city:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_city").val(),country:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_country").val(),state:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_state").val(),postcode:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_postcode").val(),phone:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_phone").val(),vat_number:t.default("#ppress_checkout_main_form .ppress_vat_number").val(),post_data:t.default("#ppress_mb_checkout_form").serialize()};t.default.post(pp_ajax_form.ajaxurl,s,(function(a){let r={};if(t.default(".ppress-checkout-form__payment_method :input").each((function(){let e=t.default(this).attr("id");e&&(-1!==t.default.inArray(t.default(this).attr("type"),["checkbox","radio"])?r[e]=t.default(this).prop("checked"):r[e]=t.default(this).val())})),"data"in a&&void 0!==a.data.fragments&&(t.default.each(a.data.fragments,(function(s,a){e.fragments&&e.fragments[s]===a||t.default(s).replaceWith(a)})),e.fragments=s.fragments),t.default.isEmptyObject(r)||t.default(".ppress-checkout-form__payment_method :input").each((function(){let e=t.default(this).attr("id");e&&(-1!==t.default.inArray(t.default(this).attr("type"),["checkbox","radio"])?t.default(this).prop("checked",r[e]):(t.default.inArray(t.default(this).attr("type"),["select"]),t.default(this).val(r[e])))})),"success"in a&&!1===a.success){let e=t.default("#ppress_checkout_main_form");a.data&&e.prepend(a.data),e.find(".input-text, select, input:checkbox").trigger("blur")}t.default(document.body).trigger("ppress_updated_checkout",[a]);let p,o=t.default(".ppress-checkout_order_summary__bottom_details");(p=t.default(".ppress-checkout-alert")).length>0&&(o=p),e.scroll_to_notices(o),e.remove_spinner()}))},this.toggle_login_form=function(e){e.preventDefault(),t.default("#ppress_checkout_account_info .ppress-main-checkout-form__login_form_wrap").slideToggle()},this.toggle_discount_code_reveal=function(e){e.preventDefault(),t.default("#ppress-checkout-coupon-code-wrap").slideToggle()},this.apply_discount_code=function(s){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();let a={action:"ppress_checkout_apply_discount",plan_id:t.default("#ppress-checkout-plan-id").val(),coupon_code:t.default("#apply-discount").val(),ppress_checkout_nonce:t.default("#ppress_checkout_nonce").val()};t.default.post(pp_ajax_form.ajaxurl,a,(function(s){"success"in s&&!0===s.success?t.default(document.body).trigger("ppress_update_checkout"):(t.default(".ppress-checkout_order_summary-wrap").before(s.data),e.remove_spinner())}))},this.remove_applied_discount_code=function(s){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();let a={action:"ppress_checkout_remove_discount",plan_id:t.default("#ppress-checkout-plan-id").val(),ppress_checkout_nonce:t.default("#ppress_checkout_nonce").val()};t.default.post(pp_ajax_form.ajaxurl,a,(function(s){"success"in s&&!0===s.success?t.default(document.body).trigger("ppress_update_checkout"):(t.default(".ppress-checkout_order_summary-wrap").before(s.data),e.remove_spinner())}))},this.process_login=function(s){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();let a={action:"ppress_process_checkout_login",ppmb_user_login:t.default("#ppress_mb_checkout_form #ppmb_user_login").val(),ppmb_user_pass:t.default("#ppress_mb_checkout_form #ppmb_user_pass").val(),ppress_checkout_nonce:t.default("#ppress_checkout_nonce").val()};t.default.post(pp_ajax_form.ajaxurl,a,(function(s){"success"in s&&(!0===s.success?window.location.reload():"data"in s&&t.default("#ppress_mb_checkout_form .ppress-login-submit-btn").prepend(s.data)),e.remove_spinner()}))},this.process_checkout=function(s){if("function"!=typeof this.checkValidity||!1!==this.checkValidity()){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();var a=t.default(this),r=e.get_payment_method();if(!1!==a.triggerHandler("ppress_checkout_place_order_"+r)){let s=new FormData(this);s.append("action","ppress_process_checkout"),s.append("ppress_checkout_nonce",t.default("#ppress_checkout_nonce").val()),t.default.post({url:pp_ajax_form.ajaxurl,data:s,cache:!1,contentType:!1,enctype:"multipart/form-data",processData:!1,dataType:"json",success:function(s){if("success"in s)return!0===s.success?void(!1!==a.triggerHandler("ppress_process_checkout_"+r,[s,r])&&("redirect_url"in s&&void 0!==s.redirect_url&&s.redirect_url.length>0?window.location.assign(s.redirect_url):(t.default(document.body).trigger("ppress_checkout_success",[s,r]),window.location.assign(s.order_success_url)))):"error_message"in s?e.createAlertMessage(s.error_message):"data"in s&&"string"==typeof s.data?e.createAlertMessage(s.data):void 0;e.remove_spinner()},error:function(t,s,a){e.createAlertMessage(a)}},"json")}}},this.get_payment_method=function(){return t.default("#ppress_mb_checkout_form").find('input[name="ppress_payment_method"]:checked').val()},this.createAlertMessage=function(e,s){s=s||"error";var a=void 0!==e.indexOf&&-1!==e.indexOf("ppress-checkout-alert"),r="";a||(r='<div class="ppress-checkout-alert ppress-'+s+'"><p>'),r+=e,a||(r+="</p></div>"),t.default("#ppress_checkout_main_form").prepend(r),ppressCheckoutForm.scroll_to_notices(),ppressCheckoutForm.remove_spinner(),t.default(document.body).trigger("ppress_checkout_error",[e])},this.removeAllAlerts=function(){t.default(".ppress-checkout-alert").remove()},this.add_spinner=function(){t.default(".ppress-checkout__form").prepend('<div class="ppress-checkout__form__preloader"><div class="ppress-checkout__form__spinner"></div></div>')},this.remove_spinner=function(){t.default(".ppress-checkout__form .ppress-checkout__form__preloader").remove()},this.is_var_defined=function(e){return null!=e}}).init()}();
1
+ !function($){"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=e(jQuery);(new function(){var e=this;this.init=function(){window.ppFormRecaptchaLoadCallback=this.recaptcha_processing,t.default(".pp-del-profile-avatar").on("click",this.delete_avatar),t.default(".pp-del-cover-image").on("click",this.delete_profile_image_cover),t.default(document).on("click",".has-password-visibility-icon .pp-form-material-icons",this.toggle_password_visibility),t.default(document.body).on("click","a.showlogin",(function(){t.default(".pp_wc_login").slideToggle()})),t.default(window).on("load resize",(function(){e.defaultUserProfileResponsive()})),t.default(document).on("click",".ppress-confirm-delete",(function(e){e.preventDefault(),confirm(pp_ajax_form.confirm_delete)&&(window.location.href=t.default(this).attr("href"))})),"true"!==pp_ajax_form.disable_ajax_form&&(t.default(document).on("submit",'form[data-pp-form-submit="login"]',this.ajax_login),t.default(document).on("submit",'form[data-pp-form-submit="signup"]',this.ajax_registration),t.default(document).on("submit",'form[data-pp-form-submit="passwordreset"]',this.ajax_password_reset),t.default(document).on("submit",'form[data-pp-form-submit="editprofile"]',this.ajax_edit_profile))},this.recaptcha_processing=function(){t.default(".pp-g-recaptcha").each((function(s,a){var r=t.default(a).attr("data-sitekey"),p=t.default(this).parents(".pp-form-container").find("form");if("v3"===t.default(a).attr("data-type"))p.find("input.pp-submit-form").on("click",(function(s){s.preventDefault(),e._add_processing_label(p),grecaptcha.ready((function(){grecaptcha.execute(r,{action:"form"}).then((function(e){p.find('[name="g-recaptcha-response"]').remove(),p.append(t.default("<input>",{type:"hidden",value:e,name:"g-recaptcha-response"})),p.submit()}))}))}));else{var o=grecaptcha.render(a,{sitekey:r,theme:t.default(a).attr("data-theme"),size:t.default(a).attr("data-size")});p.on("pp_form_submitted",(function(){grecaptcha.reset(o)}))}}))},this.toggle_password_visibility=function(e){e.preventDefault();var s=t.default(this).parents(".pp-form-field-input-textarea-wrap").find(".pp-form-field");"password"===s.attr("type")?(s.attr("type","text"),t.default(this).text("visibility_off")):(s.attr("type","password"),t.default(this).text("visibility"))},this.ajax_edit_profile=function(s){if(void 0!==window.FormData&&window.FormData){s.preventDefault();var a=t.default('form[data-pp-form-submit="editprofile"]'),r=e.get_melange_id(a),p=new FormData(this);p.append("action","pp_ajax_editprofile"),p.append("nonce",pp_ajax_form.nonce),p.append("melange_id",r),t.default(".profilepress-edit-profile-status").remove(),t.default(".profilepress-edit-profile-success").remove(),""!==window.edit_profile_msg_class&&t.default("."+window.edit_profile_msg_class).remove(),e._add_processing_label(a),t.default.post({url:pp_ajax_form.ajaxurl,data:p,cache:!1,contentType:!1,enctype:"multipart/form-data",processData:!1,dataType:"json",success:function(s){a.trigger("pp_form_submitted"),a.trigger("pp_form_edit_profile_success",[a]),"avatar_url"in s&&""!==s.avatar_url&&(t.default("img[data-del='avatar'], img.pp-user-avatar").attr("src",s.avatar_url),t.default("input[name=eup_avatar]",a).val("")),"cover_image_url"in s&&""!==s.cover_image_url&&(t.default("img[data-del='cover-image'], img.pp-user-cover-image").attr("src",s.cover_image_url),t.default("input[name=eup_cover_image]",a).val(""),t.default(".profilepress-myaccount-has-cover-image",a).show(),t.default(".profilepress-myaccount-cover-image-empty",a).hide()),"message"in s&&(window.edit_profile_msg_class=t.default(s.message).attr("class"),a.before(s.message)),"redirect"in s&&(a.trigger("pp_edit_profile_success_before_redirect"),window.location.assign(s.redirect)),e._remove_processing_label(a)}},"json")}},this.ajax_password_reset=function(s){s.preventDefault();var a=t.default(this),r=e.get_melange_id(a),p="true"===a.find('input[name="is-pp-tab-widget"]').val(),o={action:"pp_ajax_passwordreset",data:t.default(this).serialize()+"&melange_id="+r};e._remove_status_notice(),a.parents(".pp-tab-widget-form").prev(".pp-tab-status").remove(),e._add_processing_label(a),t.default.post(pp_ajax_form.ajaxurl,o,(function(s){if(a.trigger("pp_form_submitted"),"object"!=typeof s)return e._remove_processing_label(a);if("message"in s){if(a.trigger("pp_password_reset_status"),p){var r=s.message.replace("profilepress-reset-status","pp-tab-status");a.parents(".pp-tab-widget-form").before(r)}else a.parents(".lucidContainer").length>0?a.parents(".lucidContainer").before(s.message):a.before(s.message);"status"in s&&!0===s.status&&a.hide(),t.default('input[name="user_login"]',a).val("")}e._remove_processing_label(a)}),"json")},this.ajax_registration=function(s){if(void 0!==window.FormData&&window.FormData){s.preventDefault();var a=t.default(this),r=e.get_melange_id(a),p=new FormData(this),o="true"===a.find('input[name="is-pp-tab-widget"]').val();p.append("action","pp_ajax_signup"),p.append("melange_id",r),e._remove_status_notice(),a.parents(".pp-tab-widget-form").prev(".pp-tab-status").remove(),e._add_processing_label(a),t.default.post({url:pp_ajax_form.ajaxurl,data:p,cache:!1,contentType:!1,enctype:"multipart/form-data",processData:!1,dataType:"json",success:function(t){if(a.trigger("pp_form_submitted"),"object"!=typeof t)return e._remove_processing_label(a);if("message"in t)if(a.trigger("pp_registration_error",[t]),a.trigger("pp_registration_ajax_response",[t]),o){var s=t.message.replace("profilepress-reg-status","pp-tab-status");a.parents(".pp-tab-widget-form").before(s)}else a.parents(".lucidContainer").length>0?a.parents(".lucidContainer").before(t.message):a.before(t.message);else"redirect"in t&&(a.trigger("pp_registration_success",[t]),window.location.assign(t.redirect));e._remove_processing_label(a)}})}},this.ajax_login=function(s){s.preventDefault();var a=t.default(this),r={action:"pp_ajax_login",data:t.default(this).serialize()},p="true"===a.find('input[name="is-pp-tab-widget"]').val();e._remove_status_notice(),e._add_processing_label(a),t.default.post(pp_ajax_form.ajaxurl,r,(function(t){if(a.trigger("pp_form_submitted"),null===t||"object"!=typeof t)return e._remove_processing_label(a);if("success"in t&&!0===t.success&&"redirect"in t)a.trigger("pp_login_form_success"),window.location.assign(t.redirect);else if(a.trigger("pp_login_form_error"),"code"in t&&"pp2fa_auth_code_invalid"==t.code&&a.find(".pp-2fa").show(),p){var s=t.message.replace("profilepress-login-status","pp-tab-status");a.parents(".pp-tab-widget-form").before(s)}else a.parents(".lucidContainer").length>0?a.parents(".lucidContainer").before(t.message):a.before(t.message);e._remove_processing_label(a)}),"json")},this.delete_avatar=function(e){e.preventDefault();var s=t.default(this).text(),a=t.default(this);e.preventDefault(),confirm(pp_ajax_form.confirm_delete)&&(a.is("button")&&a.text(pp_ajax_form.deleting_text),t.default.post(pp_ajax_form.ajaxurl,{action:"pp_del_avatar",nonce:pp_ajax_form.nonce}).done((function(e){"error"in e&&"nonce_failed"===e.error?(a.text(s),alert(pp_ajax_form.deleting_error)):"success"in e&&(t.default("img[data-del='avatar']").attr("src",e.default),a.remove())})))},this.delete_profile_image_cover=function(e){e.preventDefault();var s=t.default(this).text(),a=t.default(this);e.preventDefault(),confirm(pp_ajax_form.confirm_delete)&&(a.is("button")&&a.text(pp_ajax_form.deleting_text),t.default.post(pp_ajax_form.ajaxurl,{action:"pp_del_cover_image",nonce:pp_ajax_form.nonce}).done((function(e){"error"in e&&"nonce_failed"===e.error&&(a.text(s),alert(pp_ajax_form.deleting_error)),"success"in e&&(""!==e.default?(t.default("img[data-del='cover-image']").attr("src",e.default),a.parent().find(".profilepress-myaccount-has-cover-image").show(),a.parent().find(".profilepress-myaccount-cover-image-empty").hide()):(a.parent().find(".profilepress-myaccount-has-cover-image").hide(),a.parent().find(".profilepress-myaccount-cover-image-empty").show()),a.remove())})))},this.get_melange_id=function(e){var s=t.default("input.pp_melange_id",e).val();return void 0===s?"":s},this._add_processing_label=function(e){var t=e.find("input[data-pp-submit-label]");t.attr({value:t.data("pp-processing-label"),disabled:"disabled"}).css("opacity",".4")},this._remove_processing_label=function(e){var t=e.find("input[data-pp-submit-label]");t.attr("value",t.data("pp-submit-label")),t.attr({value:t.data("pp-submit-label"),disabled:null}).css("opacity","")},this._remove_status_notice=function(){t.default(".profilepress-login-status,.pp-tab-status,.profilepress-edit-profile-success,.profilepress-edit-profile-status,.pp-reset-success,.profilepress-reset-status,.profilepress-reg-status").remove()},this.defaultUserProfileResponsive=function(){t.default(".ppress-default-profile, .pp-member-directory, .ppress-checkout__form").each((function(){var e=t.default(this),s=e.width();s<=340?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui800"),e.removeClass("ppressui768"),e.removeClass("ppressui960"),e.addClass("ppressui340")):s<=500?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui500")):s<=768?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui768")):s<=800?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui800")):s<=960?(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960"),e.addClass("ppressui960")):s>960&&(e.removeClass("ppressui340"),e.removeClass("ppressui500"),e.removeClass("ppressui768"),e.removeClass("ppressui800"),e.removeClass("ppressui960")),e.css("opacity",1)})),t.default(".ppress-default-profile-cover, .ppress-default-profile-cover-e").each((function(){var e=t.default(this),s=Math.round(e.width()/e.data("ratio"))+"px";e.height(s),e.find(".ppress-dpf-cover-add").height(s)}))}}).init(),(new function(){let e=this;window.ppressCheckoutForm=this,this.init=function(){"0"!==pp_ajax_form.is_checkout&&0!==t.default("#ppress_checkout_main_form").length&&(t.default(document).on("click",".ppress-checkout-show-login-form",this.toggle_login_form),t.default(document).on("click",'.ppress-login-submit-btn input[type="submit"]',this.process_login),t.default(document).on("click",".ppress-coupon-code-link",this.toggle_discount_code_reveal),t.default(document).on("click",".ppress-apply-discount-btn",this.apply_discount_code),t.default(document).on("click","#ppress-remove-applied-coupon",this.remove_applied_discount_code),t.default(document).on("submit","#ppress_mb_checkout_form",this.process_checkout),t.default(document).on("click",".ppress-terms-and-conditions-link",(function(e){var s=t.default(".ppress-checkout-form__terms_condition__content");s.length>0&&(e.preventDefault(),s.slideToggle())})),t.default(document).on("ppress_update_checkout",this.update_checkout),"1"===pp_ajax_form.is_checkout_tax_enabled?t.default(document).on("change","#ppress_mb_checkout_form .ppress_billing_country, #ppress_mb_checkout_form .ppress_billing_state, #ppress_mb_checkout_form .ppress_vat_number",e.debounce((function(){t.default(document.body).trigger("ppress_update_checkout")}),200)):t.default(document).on("change","#ppress_mb_checkout_form .ppress_billing_country",e.contextual_state_field),t.default(document.body).on("change","#ppress_checkout_payment_methods [name=ppress_payment_method]",(function(){t.default(document.body).trigger("ppress_update_checkout")})),t.default(document.body).trigger("ppress_update_checkout"),t.default(document).ajaxError((function(){e.remove_spinner()})))},this.debounce=function(e,t){let s;return t=t||600,function(){clearTimeout(s),s=setTimeout((function(){e()}),t)}},this.contextual_state_field=function(){let e=t.default(".ppress_billing_state"),s={action:"ppress_contextual_state_field",country:t.default(this).val(),name:e.prop("name"),id:e.prop("id"),class:e.prop("class"),csrf:t.default("#ppress_checkout_nonce").val()};t.default.post(pp_ajax_form.ajaxurl,s,(function(t){e.replaceWith(t.data)}))},this.scroll_to_notices=function(e){(e=e||t.default(".ppress-checkout-alert")).length&&t.default("html, body").animate({scrollTop:e.offset().top-100},1e3)},this.update_checkout=function(){e.removeAllAlerts(),e.add_spinner();let s={action:"ppress_update_order_review",plan_id:t.default("#ppress-checkout-plan-id").val(),ppress_payment_method:t.default("#ppress_checkout_payment_methods [name=ppress_payment_method]:checked").val(),csrf:t.default("#ppress_checkout_nonce").val(),address:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_address").val(),city:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_city").val(),country:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_country").val(),state:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_state").val(),postcode:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_postcode").val(),phone:t.default(".ppress-checkout-form__payment_method.ppress-active .ppress_billing_phone").val(),vat_number:t.default("#ppress_checkout_main_form .ppress_vat_number").val(),post_data:t.default("#ppress_mb_checkout_form").serialize()};t.default.post(pp_ajax_form.ajaxurl,s,(function(a){let r={};if(t.default(".ppress-checkout-form__payment_method :input").each((function(){let e=t.default(this).attr("id");e&&(-1!==t.default.inArray(t.default(this).attr("type"),["checkbox","radio"])?r[e]=t.default(this).prop("checked"):r[e]=t.default(this).val())})),"data"in a&&void 0!==a.data.fragments&&(t.default.each(a.data.fragments,(function(s,a){e.fragments&&e.fragments[s]===a||t.default(s).replaceWith(a)})),e.fragments=s.fragments),t.default.isEmptyObject(r)||t.default(".ppress-checkout-form__payment_method :input").each((function(){let e=t.default(this).attr("id");e&&(-1!==t.default.inArray(t.default(this).attr("type"),["checkbox","radio"])?t.default(this).prop("checked",r[e]):(t.default.inArray(t.default(this).attr("type"),["select"]),t.default(this).val(r[e])))})),"success"in a&&!1===a.success){let e=t.default("#ppress_checkout_main_form");a.data&&e.prepend(a.data),e.find(".input-text, select, input:checkbox").trigger("blur")}t.default(document.body).trigger("ppress_updated_checkout",[a]);let p,o=t.default(".ppress-checkout_order_summary__bottom_details");(p=t.default(".ppress-checkout-alert")).length>0&&(o=p),e.scroll_to_notices(o),e.remove_spinner()}))},this.toggle_login_form=function(e){e.preventDefault(),t.default("#ppress_checkout_account_info .ppress-main-checkout-form__login_form_wrap").slideToggle()},this.toggle_discount_code_reveal=function(e){e.preventDefault(),t.default("#ppress-checkout-coupon-code-wrap").slideToggle()},this.apply_discount_code=function(s){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();let a={action:"ppress_checkout_apply_discount",plan_id:t.default("#ppress-checkout-plan-id").val(),coupon_code:t.default("#apply-discount").val(),ppress_checkout_nonce:t.default("#ppress_checkout_nonce").val()};t.default.post(pp_ajax_form.ajaxurl,a,(function(s){"success"in s&&!0===s.success?t.default(document.body).trigger("ppress_update_checkout"):(t.default(".ppress-checkout_order_summary-wrap").before(s.data),e.remove_spinner())}))},this.remove_applied_discount_code=function(s){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();let a={action:"ppress_checkout_remove_discount",plan_id:t.default("#ppress-checkout-plan-id").val(),ppress_checkout_nonce:t.default("#ppress_checkout_nonce").val()};t.default.post(pp_ajax_form.ajaxurl,a,(function(s){"success"in s&&!0===s.success?t.default(document.body).trigger("ppress_update_checkout"):(t.default(".ppress-checkout_order_summary-wrap").before(s.data),e.remove_spinner())}))},this.process_login=function(s){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();let a={action:"ppress_process_checkout_login",ppmb_user_login:t.default("#ppress_mb_checkout_form #ppmb_user_login").val(),ppmb_user_pass:t.default("#ppress_mb_checkout_form #ppmb_user_pass").val(),ppress_checkout_nonce:t.default("#ppress_checkout_nonce").val()};t.default.post(pp_ajax_form.ajaxurl,a,(function(s){"success"in s&&(!0===s.success?window.location.reload():"data"in s&&t.default("#ppress_mb_checkout_form .ppress-login-submit-btn").prepend(s.data)),e.remove_spinner()}))},this.process_checkout=function(s){if("function"!=typeof this.checkValidity||!1!==this.checkValidity()){s.preventDefault(),e.removeAllAlerts(),e.add_spinner();var a=t.default(this),r=e.get_payment_method();if(!1!==a.triggerHandler("ppress_checkout_place_order_"+r)){let s=new FormData(this);s.append("action","ppress_process_checkout"),s.append("ppress_checkout_nonce",t.default("#ppress_checkout_nonce").val()),t.default.post({url:pp_ajax_form.ajaxurl,data:s,cache:!1,contentType:!1,enctype:"multipart/form-data",processData:!1,dataType:"json",success:function(s){if("success"in s)return!0===s.success?void(!1!==a.triggerHandler("ppress_process_checkout_"+r,[s,r])&&("redirect_url"in s&&void 0!==s.redirect_url&&s.redirect_url.length>0?window.location.assign(s.redirect_url):(t.default(document.body).trigger("ppress_checkout_success",[s,r]),window.location.assign(s.order_success_url)))):"error_message"in s?e.createAlertMessage(s.error_message):"data"in s&&"string"==typeof s.data?e.createAlertMessage(s.data):void 0;e.remove_spinner()},error:function(t,s,a){e.createAlertMessage(a)}},"json")}}},this.get_payment_method=function(){return t.default("#ppress_mb_checkout_form").find('input[name="ppress_payment_method"]:checked').val()},this.createAlertMessage=function(e,s){s=s||"error";var a=void 0!==e.indexOf&&-1!==e.indexOf("ppress-checkout-alert"),r="";a||(r='<div class="ppress-checkout-alert ppress-'+s+'"><p>'),r+=e,a||(r+="</p></div>"),t.default("#ppress_checkout_main_form").prepend(r),ppressCheckoutForm.scroll_to_notices(),ppressCheckoutForm.remove_spinner(),t.default(document.body).trigger("ppress_checkout_error",[e])},this.removeAllAlerts=function(){t.default(".ppress-checkout-alert").remove()},this.add_spinner=function(){t.default(".ppress-checkout__form").prepend('<div class="ppress-checkout__form__preloader"><div class="ppress-checkout__form__spinner"></div></div>')},this.remove_spinner=function(){t.default(".ppress-checkout__form .ppress-checkout__form__preloader").remove()},this.is_var_defined=function(e){return null!=e}}).init()}();
changelog.txt CHANGED
@@ -1,5 +1,13 @@
1
  == Changelog ==
2
 
 
 
 
 
 
 
 
 
3
  = 4.2.0 =
4
  * New: [Support for selling digital products](https://profilepress.com/article/sell-downloads-wordpress-membership/?ref=changelog)
5
  * Added support for [associating role to membership plans](https://profilepress.com/article/create-wordpress-membership-plans/#role-sync).
1
  == Changelog ==
2
 
3
+ = 4.3.0 =
4
+ * Pro: [Mollie Addon](https://profilepress.com/addons/mollie/?ref=changelog).
5
+ * Added integration with Conditional Blocks plugin.
6
+ * Added customer ID placeholder support to order email.
7
+ * Added custom fields support to order emails.
8
+ * Fixed: Index column size too large error when creating subscriptions DB table.
9
+ * Fixed bug where download details was showing for order without downloads.
10
+
11
  = 4.2.0 =
12
  * New: [Support for selling digital products](https://profilepress.com/article/sell-downloads-wordpress-membership/?ref=changelog)
13
  * Added support for [associating role to membership plans](https://profilepress.com/article/create-wordpress-membership-plans/#role-sync).
languages/wp-user-avatar.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the ProfilePress package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: ProfilePress 4.2.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-user-avatar\n"
7
- "POT-Creation-Date: 2022-09-30 20:17:53+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -32,7 +32,9 @@ msgid "%s[avatar]%s displays a user's profile pictures."
32
  msgstr ""
33
 
34
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:100
35
- msgid "%s[avatar_upload]%s adds a standalone avatar uploader visible only to logged-in users."
 
 
36
  msgstr ""
37
 
38
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:106
@@ -193,7 +195,9 @@ msgid "Memory exceeded. Please try another smaller file."
193
  msgstr ""
194
 
195
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:261
196
- msgid "Unable to create directory %s. Is its parent directory writable by the server?"
 
 
197
  msgstr ""
198
 
199
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:18
@@ -356,7 +360,9 @@ msgid "Image"
356
  msgstr ""
357
 
358
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:13
359
- msgid "Avatar is currently disabled. Kindly %senable it on \"Avatar Display\" section%s."
 
 
360
  msgstr ""
361
 
362
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:29
@@ -373,7 +379,9 @@ msgid "Default Cover Photo"
373
  msgstr ""
374
 
375
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:53
376
- msgid "Please make sure that the default cover is large enough (min. 1000px in width) and respects the ratio you are using for cover photos."
 
 
377
  msgstr ""
378
 
379
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:61
@@ -408,7 +416,9 @@ msgid "Disable Gravatar and use only local avatars"
408
  msgstr ""
409
 
410
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:124
411
- msgid "For users without a custom avatar of their own, you can either display a generic logo or a generated one based on their e-mail address."
 
 
412
  msgstr ""
413
 
414
  #: src/Admin/ProfileCustomFields.php:58
@@ -440,15 +450,21 @@ msgid "Need Support?"
440
  msgstr ""
441
 
442
  #: src/Admin/SettingsPages/AbstractSettingsPage.php:237
443
- msgid "Whether you need help or have a new feature request, let us know. %sRequest Support%s"
 
 
444
  msgstr ""
445
 
446
  #: src/Admin/SettingsPages/AbstractSettingsPage.php:245
447
- msgid "Detailed documentation is also available on the plugin website. %sView Knowledge Base%s"
 
 
448
  msgstr ""
449
 
450
  #: src/Admin/SettingsPages/AbstractSettingsPage.php:253
451
- msgid "If you are enjoying ProfilePress and find it useful, please consider leaving a ★★★★★ review on WordPress.org. %sLeave a Review%s"
 
 
452
  msgstr ""
453
 
454
  #: src/Admin/SettingsPages/AbstractSettingsPage.php:265
@@ -482,7 +498,8 @@ msgid "Drag & Drop Builder"
482
  msgstr ""
483
 
484
  #: src/Admin/SettingsPages/AddNewForm.php:48
485
- msgid "Create beautiful, responsive forms with easy to use drag & drop form builder."
 
486
  msgstr ""
487
 
488
  #: src/Admin/SettingsPages/AddNewForm.php:51
@@ -495,7 +512,9 @@ msgid "Shortcode Builder"
495
  msgstr ""
496
 
497
  #: src/Admin/SettingsPages/AddNewForm.php:62
498
- msgid "Code your own from scratch with complete control and flexibility using shortcodes."
 
 
499
  msgstr ""
500
 
501
  #: src/Admin/SettingsPages/AddNewForm.php:65 src/Classes/AjaxHandler.php:117
@@ -503,7 +522,9 @@ msgid "Build Now"
503
  msgstr ""
504
 
505
  #: src/Admin/SettingsPages/AddNewForm.php:79
506
- msgid "Code your own from scratch with complete control and flexibility. %sLearn more%s."
 
 
507
  msgstr ""
508
 
509
  #: src/Admin/SettingsPages/AddNewForm.php:85
@@ -516,7 +537,10 @@ msgid "Back to Overview"
516
  msgstr ""
517
 
518
  #: src/Admin/SettingsPages/AdminFooter.php:27
519
- msgid "Thank you for using <a href=\"%1$s\" target=\"_blank\">ProfilePress</a>! Please <a href=\"%2$s\" target=\"_blank\">rate us ★★★★★</a> on <a href=\"%2$s\" target=\"_blank\">WordPress.org</a> to help us spread the word."
 
 
 
520
  msgstr ""
521
 
522
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:192
@@ -544,7 +568,7 @@ msgstr ""
544
 
545
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1229
546
  #: src/Admin/SettingsPages/Membership/CheckoutFieldsManager.php:101
547
- #: src/Classes/ExtensionManager.php:64 src/Functions/GlobalFunctions.php:1353
548
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:216
549
  msgid "Custom Fields"
550
  msgstr ""
@@ -577,7 +601,9 @@ msgid "Save Changes"
577
  msgstr ""
578
 
579
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1289
580
- msgid "Copy this shortcode and paste it into your post, page, or text widget content:"
 
 
581
  msgstr ""
582
 
583
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1314
@@ -607,7 +633,9 @@ msgid "Check to disable username requirement"
607
  msgstr ""
608
 
609
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1388
610
- msgid "Disable requirement for users to enter a username during registration. Usernames will automatically be generated from their email addresses."
 
 
611
  msgstr ""
612
 
613
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1395
@@ -620,7 +648,7 @@ msgid "Edit Profile Settings"
620
  msgstr ""
621
 
622
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1436
623
- #: src/Classes/ExtensionManager.php:94
624
  msgid "Passwordless Login"
625
  msgstr ""
626
 
@@ -961,7 +989,9 @@ msgstr ""
961
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:47
962
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:47
963
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:52
964
- msgid "Enter one choice per line. This will be the options available for user to select."
 
 
965
  msgstr ""
966
 
967
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmEmail.php:22
@@ -1001,7 +1031,8 @@ msgid "Only Time"
1001
  msgstr ""
1002
 
1003
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:61
1004
- msgid "Select a date and time format that users will be able to choose a date in."
 
1005
  msgstr ""
1006
 
1007
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:50
@@ -1225,7 +1256,9 @@ msgid "Custom Field"
1225
  msgstr ""
1226
 
1227
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:34
1228
- msgid "Select a custom field. Only use the %1$sTitle%2$s and %1$sUser Meta / Field Key%2$s below if you don't have it %3$sdefined in ProfilePress%4$s."
 
 
1229
  msgstr ""
1230
 
1231
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:44
@@ -1364,7 +1397,9 @@ msgid "ProfilePress Email Template"
1364
  msgstr ""
1365
 
1366
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:125
1367
- msgid "The customizer allows you to design and preview ProfilePress default email template."
 
 
1368
  msgstr ""
1369
 
1370
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:148
@@ -1515,12 +1550,12 @@ msgstr ""
1515
 
1516
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:133
1517
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:149
1518
- #: src/Membership/Emails/EmailDataTrait.php:39
1519
  msgid "URL to reset password."
1520
  msgstr ""
1521
 
1522
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:134
1523
- #: src/Membership/Emails/EmailDataTrait.php:40
1524
  msgid "URL to login."
1525
  msgstr ""
1526
 
@@ -1662,7 +1697,8 @@ msgid "Your subscription is now complete."
1662
  msgstr ""
1663
 
1664
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:228
1665
- msgid "Email sent to customer whenever they complete their subscription payments."
 
1666
  msgstr ""
1667
 
1668
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:235
@@ -1675,7 +1711,9 @@ msgid "Your subscription is renewing soon."
1675
  msgstr ""
1676
 
1677
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:238
1678
- msgid "Email sent to customer to remind them that their subscription is approaching its renewal."
 
 
1679
  msgstr ""
1680
 
1681
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:246
@@ -1688,7 +1726,9 @@ msgid "Your subscription is expiring soon."
1688
  msgstr ""
1689
 
1690
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:249
1691
- msgid "Email sent to customer to remind them that their subscription is approaching its expiration."
 
 
1692
  msgstr ""
1693
 
1694
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:257
@@ -1735,15 +1775,20 @@ msgid "Reminder Days"
1735
  msgstr ""
1736
 
1737
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:357
1738
- msgid "The number of days before the upcoming payment due date to notify the customer."
 
 
1739
  msgstr ""
1740
 
1741
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:366
1742
- msgid "The number of days before the subscription expiration due date to notify the customer."
 
 
1743
  msgstr ""
1744
 
1745
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:375
1746
- msgid "The number of days after the subscription expired to notify the customer."
 
1747
  msgstr ""
1748
 
1749
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:424
@@ -1751,7 +1796,9 @@ msgid "Admin Email Address(es)"
1751
  msgstr ""
1752
 
1753
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:425
1754
- msgid "The Email address to receive admin notifications. Use comma to separate multiple email addresses."
 
 
1755
  msgstr ""
1756
 
1757
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:430
@@ -1759,7 +1806,9 @@ msgid "Sender Name"
1759
  msgstr ""
1760
 
1761
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:431
1762
- msgid "The name to use as the sender of all ProfilePress emails. Preferably your website name."
 
 
1763
  msgstr ""
1764
 
1765
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:437
@@ -1783,7 +1832,9 @@ msgid "Content Type"
1783
  msgstr ""
1784
 
1785
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:449
1786
- msgid "Choose whether to send ProfilePress emails in HTML or plain text. HTML is recommended."
 
 
1787
  msgstr ""
1788
 
1789
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:454
@@ -1799,7 +1850,9 @@ msgid "Email Template"
1799
  msgstr ""
1800
 
1801
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:459
1802
- msgid "Choose \"Custom Email Template\" if you want to code your own email template from scratch."
 
 
1803
  msgstr ""
1804
 
1805
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:466
@@ -1838,7 +1891,10 @@ msgid "Deactivate All"
1838
  msgstr ""
1839
 
1840
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:100
1841
- msgid "Upgrade to Premium to unlock extensions and other great features. As a valued ProfilePress Lite user, you will %1$sreceive 10%3$s off%2$s your purchase, automatically applied at checkout!"
 
 
 
1842
  msgstr ""
1843
 
1844
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:106
@@ -1940,7 +1996,8 @@ msgid "Edit Frontend Profile"
1940
  msgstr ""
1941
 
1942
  #: src/Admin/SettingsPages/Forms.php:93
1943
- msgid "Melange combines login, registration & password reset forms in a single form."
 
1944
  msgstr ""
1945
 
1946
  #: src/Admin/SettingsPages/Forms.php:110
@@ -2053,7 +2110,9 @@ msgid "Disable"
2053
  msgstr ""
2054
 
2055
  #: src/Admin/SettingsPages/GeneralSettings.php:141
2056
- msgid "Check this box to disable ajax behaviour(whereby forms do not require page reload when submitted) in forms."
 
 
2057
  msgstr ""
2058
 
2059
  #: src/Admin/SettingsPages/GeneralSettings.php:145
@@ -2069,7 +2128,9 @@ msgid "Remove Data on Uninstall"
2069
  msgstr ""
2070
 
2071
  #: src/Admin/SettingsPages/GeneralSettings.php:153
2072
- msgid "Check this box if you would like ProfilePress to completely remove all of its data when the plugin is deleted."
 
 
2073
  msgstr ""
2074
 
2075
  #: src/Admin/SettingsPages/GeneralSettings.php:158
@@ -2085,7 +2146,8 @@ msgid "Business Name"
2085
  msgstr ""
2086
 
2087
  #: src/Admin/SettingsPages/GeneralSettings.php:165
2088
- msgid "The official (legal) name of your store. Defaults to Site Title if empty."
 
2089
  msgstr ""
2090
 
2091
  #: src/Admin/SettingsPages/GeneralSettings.php:169
@@ -2146,7 +2208,9 @@ msgid "Login Page"
2146
  msgstr ""
2147
 
2148
  #: src/Admin/SettingsPages/GeneralSettings.php:210
2149
- msgid "Select the page you wish to make WordPress default Login page. %3$s This should be the page that contains a %1$slogin form shortcode%2$s."
 
 
2150
  msgstr ""
2151
 
2152
  #: src/Admin/SettingsPages/GeneralSettings.php:215
@@ -2155,7 +2219,9 @@ msgid "Registration Page"
2155
  msgstr ""
2156
 
2157
  #: src/Admin/SettingsPages/GeneralSettings.php:218
2158
- msgid "Select the page you wish to make WordPress default Registration page. %3$s This should be the page that contains a %1$sregistration form shortcode%2$s."
 
 
2159
  msgstr ""
2160
 
2161
  #: src/Admin/SettingsPages/GeneralSettings.php:223
@@ -2163,7 +2229,10 @@ msgid "Password Reset Page"
2163
  msgstr ""
2164
 
2165
  #: src/Admin/SettingsPages/GeneralSettings.php:226
2166
- msgid "Select the page you wish to make WordPress default \"Lost Password page\". %3$s This should be the page that contains a %1$spassword reset form shortcode%2$s."
 
 
 
2167
  msgstr ""
2168
 
2169
  #: src/Admin/SettingsPages/GeneralSettings.php:231
@@ -2171,7 +2240,10 @@ msgid "My Account Page"
2171
  msgstr ""
2172
 
2173
  #: src/Admin/SettingsPages/GeneralSettings.php:234
2174
- msgid "Select a page that contains %3$s shortcode. You can also use an %1$sedit profile shortcode%2$s on the My Account page in case you want something custom."
 
 
 
2175
  msgstr ""
2176
 
2177
  #: src/Admin/SettingsPages/GeneralSettings.php:239
@@ -2183,7 +2255,9 @@ msgid "Checkout Page"
2183
  msgstr ""
2184
 
2185
  #: src/Admin/SettingsPages/GeneralSettings.php:245
2186
- msgid "The checkout page where members will complete their payments. %2$sThe shortcode %1$s must be on this page."
 
 
2187
  msgstr ""
2188
 
2189
  #: src/Admin/SettingsPages/GeneralSettings.php:251
@@ -2191,7 +2265,9 @@ msgid "Order Success Page"
2191
  msgstr ""
2192
 
2193
  #: src/Admin/SettingsPages/GeneralSettings.php:254
2194
- msgid "The page customers are sent to after completing their orders.%2$sThe shortcode %1$s must be on this page."
 
 
2195
  msgstr ""
2196
 
2197
  #: src/Admin/SettingsPages/GeneralSettings.php:260
@@ -2207,7 +2283,9 @@ msgid "Terms & Conditions Page"
2207
  msgstr ""
2208
 
2209
  #: src/Admin/SettingsPages/GeneralSettings.php:266
2210
- msgid "If you select a \"Terms\" page, customers will be asked if they accept them when checking out."
 
 
2211
  msgstr ""
2212
 
2213
  #: src/Admin/SettingsPages/GeneralSettings.php:279
@@ -2219,7 +2297,8 @@ msgid "Enable auto-login"
2219
  msgstr ""
2220
 
2221
  #: src/Admin/SettingsPages/GeneralSettings.php:282
2222
- msgid "Check this option to automatically login users after successful registration."
 
2223
  msgstr ""
2224
 
2225
  #: src/Admin/SettingsPages/GeneralSettings.php:294
@@ -2239,7 +2318,10 @@ msgid "Login with Email or Username"
2239
  msgstr ""
2240
 
2241
  #: src/Admin/SettingsPages/GeneralSettings.php:300
2242
- msgid "By default, WordPress allows users to log in using either an email address or username. This setting allows you to restrict logins to only accept email addresses or usernames."
 
 
 
2243
  msgstr ""
2244
 
2245
  #: src/Admin/SettingsPages/GeneralSettings.php:305
@@ -2266,7 +2348,9 @@ msgid "Activate"
2266
  msgstr ""
2267
 
2268
  #: src/Admin/SettingsPages/GeneralSettings.php:314
2269
- msgid "Redirect <a target=\"_blank\" href=\"%s\">default WordPress profile</a> to My Account page."
 
 
2270
  msgstr ""
2271
 
2272
  #: src/Admin/SettingsPages/GeneralSettings.php:321
@@ -2290,7 +2374,9 @@ msgid "Account Details Form"
2290
  msgstr ""
2291
 
2292
  #: src/Admin/SettingsPages/GeneralSettings.php:334
2293
- msgid "Do you want to replace the default form in \"My Account → Account Details\" page? select an Edit Profile form that will replace it."
 
 
2294
  msgstr ""
2295
 
2296
  #: src/Admin/SettingsPages/GeneralSettings.php:338
@@ -2306,7 +2392,9 @@ msgid "Page with Profile Shortcode"
2306
  msgstr ""
2307
 
2308
  #: src/Admin/SettingsPages/GeneralSettings.php:345
2309
- msgid "Select the page that contains your <a href=\"%s\">Frontend user profile shortcode</a>."
 
 
2310
  msgstr ""
2311
 
2312
  #: src/Admin/SettingsPages/GeneralSettings.php:350
@@ -2314,7 +2402,9 @@ msgid "Profile Slug"
2314
  msgstr ""
2315
 
2316
  #: src/Admin/SettingsPages/GeneralSettings.php:351
2317
- msgid "Enter your preferred profile URL slug. Default to \"profile\" if empty. If slug is \"profile\", URL becomes %s where \"john\" is a user's username."
 
 
2318
  msgstr ""
2319
 
2320
  #: src/Admin/SettingsPages/GeneralSettings.php:355
@@ -2322,7 +2412,9 @@ msgid "Disable Guests from Viewing Profiles"
2322
  msgstr ""
2323
 
2324
  #: src/Admin/SettingsPages/GeneralSettings.php:356
2325
- msgid "Enable this option to stop disable guests or non-registered users from viewing users profiles."
 
 
2326
  msgstr ""
2327
 
2328
  #: src/Admin/SettingsPages/GeneralSettings.php:361
@@ -2330,7 +2422,9 @@ msgid "Disable Members from Viewing Profiles"
2330
  msgstr ""
2331
 
2332
  #: src/Admin/SettingsPages/GeneralSettings.php:362
2333
- msgid "Enable this option to stop members from viewing other users profiles. If enabled, users can only see their own profile."
 
 
2334
  msgstr ""
2335
 
2336
  #: src/Admin/SettingsPages/GeneralSettings.php:367
@@ -2368,7 +2462,10 @@ msgid "Log out"
2368
  msgstr ""
2369
 
2370
  #: src/Admin/SettingsPages/GeneralSettings.php:396
2371
- msgid "Select the page users will be redirected to after logout. To redirect to a custom URL instead of a selected page, enter the URL in input field directly above this description."
 
 
 
2372
  msgstr ""
2373
 
2374
  #: src/Admin/SettingsPages/GeneralSettings.php:397
@@ -2378,7 +2475,10 @@ msgid "Leave the \"custom URL\" field empty to fallback to the selected page."
2378
  msgstr ""
2379
 
2380
  #: src/Admin/SettingsPages/GeneralSettings.php:406
2381
- msgid "Select the page or custom URL users will be redirected to after login. To redirect to a custom URL instead of a selected page, enter the URL in input field directly above this description"
 
 
 
2382
  msgstr ""
2383
 
2384
  #: src/Admin/SettingsPages/GeneralSettings.php:418
@@ -2386,7 +2486,11 @@ msgid "Default.."
2386
  msgstr ""
2387
 
2388
  #: src/Admin/SettingsPages/GeneralSettings.php:423
2389
- msgid "Select the page or custom URL users will be redirected to after they successfully reset or change their password. To redirect to a custom URL instead of a selected page, enter the URL in input field directly above this description."
 
 
 
 
2390
  msgstr ""
2391
 
2392
  #: src/Admin/SettingsPages/GeneralSettings.php:430
@@ -2399,7 +2503,8 @@ msgid "Access Settings"
2399
  msgstr ""
2400
 
2401
  #: src/Admin/SettingsPages/GeneralSettings.php:437
2402
- msgid "%sNote:%s Access setting takes precedence over %sContent Protection rules%s."
 
2403
  msgstr ""
2404
 
2405
  #: src/Admin/SettingsPages/GeneralSettings.php:443
@@ -2419,7 +2524,8 @@ msgid "Redirect Page"
2419
  msgstr ""
2420
 
2421
  #: src/Admin/SettingsPages/GeneralSettings.php:453
2422
- msgid "Select the page or custom URL to redirect users that are not logged in to."
 
2423
  msgstr ""
2424
 
2425
  #: src/Admin/SettingsPages/GeneralSettings.php:457
@@ -2427,7 +2533,9 @@ msgid "Pages to Exclude"
2427
  msgstr ""
2428
 
2429
  #: src/Admin/SettingsPages/GeneralSettings.php:463
2430
- msgid "Select the pages to exclude beside the redirect page that will be accessible by everyone."
 
 
2431
  msgstr ""
2432
 
2433
  #: src/Admin/SettingsPages/GeneralSettings.php:469
@@ -2450,7 +2558,9 @@ msgid "Global Restricted Access Message"
2450
  msgstr ""
2451
 
2452
  #: src/Admin/SettingsPages/GeneralSettings.php:476
2453
- msgid "This is the message shown to users that do not have permission to view the content."
 
 
2454
  msgstr ""
2455
 
2456
  #: src/Admin/SettingsPages/GeneralSettings.php:490
@@ -2477,7 +2587,9 @@ msgid "Override Avatar"
2477
  msgstr ""
2478
 
2479
  #: src/Admin/SettingsPages/GeneralSettings.php:505
2480
- msgid "Check to override BuddyPress users uploaded avatars with that of ProfilePress."
 
 
2481
  msgstr ""
2482
 
2483
  #: src/Admin/SettingsPages/GeneralSettings.php:510
@@ -2486,7 +2598,9 @@ msgid "Override Profile URL"
2486
  msgstr ""
2487
 
2488
  #: src/Admin/SettingsPages/GeneralSettings.php:512
2489
- msgid "Check to change the profile URL of BuddyPress users to ProfilePress front-end profile."
 
 
2490
  msgstr ""
2491
 
2492
  #: src/Admin/SettingsPages/GeneralSettings.php:520
@@ -2514,7 +2628,9 @@ msgid "Could not install plugin. Please download and install manually."
2514
  msgstr ""
2515
 
2516
  #: src/Admin/SettingsPages/MailOptin.php:63
2517
- msgid "Could not install addon. Please download from wpforms.com and install manually."
 
 
2518
  msgstr ""
2519
 
2520
  #: src/Admin/SettingsPages/MailOptin.php:131
@@ -2550,15 +2666,17 @@ msgid "Popups & Optins"
2550
  msgstr ""
2551
 
2552
  #. translators: %s - Lite plugin download URL.
2553
-
2554
  #: src/Admin/SettingsPages/MailOptin.php:209
2555
- msgid "Could not install plugin. Please <a href=\"%s\">download</a> and install manually."
 
 
2556
  msgstr ""
2557
 
2558
  #. translators: %s - Lite plugin download URL.
2559
-
2560
  #: src/Admin/SettingsPages/MailOptin.php:221
2561
- msgid "Could not activate plugin. Please activate from the <a href=\"%s\">Plugins page</a>."
 
 
2562
  msgstr ""
2563
 
2564
  #: src/Admin/SettingsPages/MailOptin.php:232
@@ -2603,7 +2721,9 @@ msgid "#1 Popup, Optin Forms & Marketing Automation Plugin"
2603
  msgstr ""
2604
 
2605
  #: src/Admin/SettingsPages/MailOptin.php:474
2606
- msgid "MailOptin lets you create popups and newsletter opt-in forms that integrates with Mailchimp, Aweber, Constant Contact, Active Campaign & more."
 
 
2607
  msgstr ""
2608
 
2609
  #: src/Admin/SettingsPages/MailOptin.php:497
@@ -2611,23 +2731,31 @@ msgid "MailOptin screenshot"
2611
  msgstr ""
2612
 
2613
  #: src/Admin/SettingsPages/MailOptin.php:498
2614
- msgid "Automatically notify your subscribers every time you publish a new post."
 
2615
  msgstr ""
2616
 
2617
  #: src/Admin/SettingsPages/MailOptin.php:499
2618
- msgid "Keep your subscribers engaged with daily, weekly and monthly email digest of published posts."
 
 
2619
  msgstr ""
2620
 
2621
  #: src/Admin/SettingsPages/MailOptin.php:500
2622
- msgid "Different types of opt-in form including Popup, notification bar, inline, scroll box, slide ins, sidebar forms."
 
 
2623
  msgstr ""
2624
 
2625
  #: src/Admin/SettingsPages/MailOptin.php:501
2626
- msgid "Page-level targeting and optin triggers to build hyper segmented email list."
 
2627
  msgstr ""
2628
 
2629
  #: src/Admin/SettingsPages/MailOptin.php:502
2630
- msgid "Analytics with actionable reporting & insights to improve your lead-generation strategy."
 
 
2631
  msgstr ""
2632
 
2633
  #: src/Admin/SettingsPages/MailOptin.php:530
@@ -2697,7 +2825,9 @@ msgid "Get started with Paid Memberships"
2697
  msgstr ""
2698
 
2699
  #: src/Admin/SettingsPages/Membership/CheckListHeader.php:90
2700
- msgid "Follow the steps below to get your website ready for selling membership plans."
 
 
2701
  msgstr ""
2702
 
2703
  #: src/Admin/SettingsPages/Membership/CheckListHeader.php:107
@@ -3182,66 +3312,76 @@ msgstr ""
3182
  msgid "File Downloads"
3183
  msgstr ""
3184
 
3185
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:43
3186
  msgid "Download Method"
3187
  msgstr ""
3188
 
3189
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:46
3190
  msgid "Force Downloads"
3191
  msgstr ""
3192
 
3193
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:47
3194
  msgid "X-Accel-Redirect/X-Sendfile"
3195
  msgstr ""
3196
 
3197
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:48
3198
  msgid "Redirect (Insecure)"
3199
  msgstr ""
3200
 
3201
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:51
3202
- msgid "Select the file download method. If you are using X-Accel-Redirect/X-Sendfile download method (recommended, especially for delivery large files), make sure that you have applied settings as described in <a href='%s'>Downloadable Product Handling</a> guide."
 
 
 
 
3203
  msgstr ""
3204
 
3205
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:56
3206
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:119
3207
  msgid "Download Limit"
3208
  msgstr ""
3209
 
3210
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:57
3211
- msgid "The maximum number of times files can be downloaded (Leaving blank or using a value of 0 is unlimited). Can be overwritten for each membership plan."
 
 
3212
  msgstr ""
3213
 
3214
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:62
3215
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:129
3216
  msgid "Download Expiry"
3217
  msgstr ""
3218
 
3219
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:63
3220
- msgid "How long in days should download links be valid for? Default is 1 day from the time they are generated. Can be overwritten for each membership plan."
 
 
3221
  msgstr ""
3222
 
3223
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:68
3224
  msgid "Access restriction"
3225
  msgstr ""
3226
 
3227
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:69
3228
  msgid "Downloads require login"
3229
  msgstr ""
3230
 
3231
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:70
3232
  msgid "Enable to require users to be logged in to download files."
3233
  msgstr ""
3234
 
3235
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:74
3236
  msgid "Filename"
3237
  msgstr ""
3238
 
3239
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:75
3240
  msgid "Append a unique string to filename for security"
3241
  msgstr ""
3242
 
3243
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:77
3244
- msgid "Not required if your download directory is protected. <a href='%s'>See this guide</a> for more details. Files already uploaded will not be affected."
 
 
3245
  msgstr ""
3246
 
3247
  #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:46
@@ -3333,7 +3473,9 @@ msgid "Amount"
3333
  msgstr ""
3334
 
3335
  #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:528
3336
- msgid "Enter the total order amount, or leave blank to use the price of the selected plan."
 
 
3337
  msgstr ""
3338
 
3339
  #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:531
@@ -3380,11 +3522,15 @@ msgid "Test Mode"
3380
  msgstr ""
3381
 
3382
  #: src/Admin/SettingsPages/Membership/PaymentMethods.php:96
3383
- msgid "When test mode is enabled, no live transactions are processed. Use test mode in conjunction with the sandbox/test account for the payment method to test."
 
 
3384
  msgstr ""
3385
 
3386
  #: src/Admin/SettingsPages/Membership/PaymentMethods.php:101
3387
- msgid "Switching test/live modes might require payment methods reconnection or setup."
 
 
3388
  msgstr ""
3389
 
3390
  #: src/Admin/SettingsPages/Membership/PaymentMethods.php:105
@@ -3392,11 +3538,15 @@ msgid "Default Payment Method"
3392
  msgstr ""
3393
 
3394
  #: src/Admin/SettingsPages/Membership/PaymentMethods.php:106
3395
- msgid "Select payment method to automatically load on the checkout page. If empty, the first active method is selected instead."
 
 
3396
  msgstr ""
3397
 
3398
  #: src/Admin/SettingsPages/Membership/PaymentMethods.php:114
3399
- msgid "Installed payment methods are listed below. Drag and drop to control their display order on the frontend."
 
 
3400
  msgstr ""
3401
 
3402
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:22
@@ -3416,7 +3566,9 @@ msgid "Currency"
3416
  msgstr ""
3417
 
3418
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:49
3419
- msgid "Choose your currency. Note that some payment gateways have currency restrictions."
 
 
3420
  msgstr ""
3421
 
3422
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:54
@@ -3464,7 +3616,9 @@ msgid "One Time Trials"
3464
  msgstr ""
3465
 
3466
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:102
3467
- msgid "Check this if you will like customers to be prevented from using the free trial of a plan multiple times."
 
 
3468
  msgstr ""
3469
 
3470
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:106
@@ -3472,7 +3626,9 @@ msgid "Terms & Conditions Label"
3472
  msgstr ""
3473
 
3474
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:108
3475
- msgid "Label for the \"Agree to Terms\" checkbox where \"[terms]\" is a link to the %sterms and condition page%s"
 
 
3476
  msgstr ""
3477
 
3478
  #: src/Admin/SettingsPages/Membership/PlanIntegrationsMetabox.php:64
@@ -3637,7 +3793,11 @@ msgid "Edit Subscription"
3637
  msgstr ""
3638
 
3639
  #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:191
3640
- msgid "%1$sNote%2$s - Be careful modifying details here. For example, changing the gateway subscription ID can result in renewals not being processed. While changing the expiration date will not affect when renewal payments are processed because your payment processor determines when."
 
 
 
 
3641
  msgstr ""
3642
 
3643
  #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:212
@@ -3674,7 +3834,11 @@ msgid "Taxes &lsaquo; Payments"
3674
  msgstr ""
3675
 
3676
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:54
3677
- msgid "%1$sDisclaimer %2$s- By using this feature, you've agreed that the use of this feature cannot be considered as tax advice. We recommend consulting a local tax professional for tax compliance or if you have any tax specific questions."
 
 
 
 
3678
  msgstr ""
3679
 
3680
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:62
@@ -3686,7 +3850,10 @@ msgid "Enable Taxes"
3686
  msgstr ""
3687
 
3688
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:64
3689
- msgid "With taxes enabled, customers will be taxed based on the rates you define, and are required to input their address on checkout so rates can be calculated accordingly."
 
 
 
3690
  msgstr ""
3691
 
3692
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:68
@@ -3714,7 +3881,9 @@ msgid "Shop Base Address"
3714
  msgstr ""
3715
 
3716
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:83
3717
- msgid "If \"Shop Base Address\" is selected, Tax will be calculated based on the location of your %sbusiness in Settings%s."
 
 
3718
  msgstr ""
3719
 
3720
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:89
@@ -3726,7 +3895,11 @@ msgid "Enable EU VAT"
3726
  msgstr ""
3727
 
3728
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:93
3729
- msgid "When this is checked, VAT taxes will be calculated for any customers who are located in the European Union. The plugin comes with the current standard VAT rate for each EU country. You can change these as required in the Tax Rates section below."
 
 
 
 
3730
  msgstr ""
3731
 
3732
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:97
@@ -3738,7 +3911,9 @@ msgid "Disable VAT Number Validation"
3738
  msgstr ""
3739
 
3740
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:99
3741
- msgid "When this option is checked, the VAT number will not be validated by VIES online service."
 
 
3742
  msgstr ""
3743
 
3744
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:103
@@ -3746,7 +3921,9 @@ msgid "Same Country Rule"
3746
  msgstr ""
3747
 
3748
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:104
3749
- msgid "What should happen if a customer is from the same EU country as your business?."
 
 
3750
  msgstr ""
3751
 
3752
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:106
@@ -3785,7 +3962,9 @@ msgid "Set up Tax Rates"
3785
  msgstr ""
3786
 
3787
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:122
3788
- msgid "Add rates for each region you wish to collect tax in. Enter a percentage, such as 6.5 for 6.5%."
 
 
3789
  msgstr ""
3790
 
3791
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:127
@@ -3793,7 +3972,9 @@ msgid "Fallback Tax Rate"
3793
  msgstr ""
3794
 
3795
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:128
3796
- msgid "Customers not in a specific rate will be charged this tax rate. Enter a percentage, such as 6.5 for 6.5%. "
 
 
3797
  msgstr ""
3798
 
3799
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:147
@@ -3814,11 +3995,13 @@ msgid "Coupon Code"
3814
  msgstr ""
3815
 
3816
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:24
3817
- msgid "Enter a unique coupon code. Leave empty to generate a code for you on form submission."
 
 
3818
  msgstr ""
3819
 
3820
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:29
3821
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:11
3822
  #: src/Membership/PaymentMethods/AbstractPaymentMethod.php:221
3823
  #: src/Themes/DragDrop/AbstractBuildScratch.php:69
3824
  #: src/Themes/DragDrop/AbstractBuildScratch.php:409
@@ -3830,7 +4013,9 @@ msgid "A description of this coupon."
3830
  msgstr ""
3831
 
3832
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:45
3833
- msgid "Selecting \"One-time\" applies the coupon discount only to the first payment while \"Recurring\" applies the discount to all payments."
 
 
3834
  msgstr ""
3835
 
3836
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:52
@@ -3850,15 +4035,21 @@ msgid "Select where members can apply this coupon."
3850
  msgstr ""
3851
 
3852
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:72
3853
- msgid "Select membership plans this coupon can only be applied to. Leave blank for all plans."
 
 
3854
  msgstr ""
3855
 
3856
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:80
3857
- msgid "Enter the date that this coupon will be valid from. Leave blank for no start date. (UTC %s)"
 
 
3858
  msgstr ""
3859
 
3860
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:90
3861
- msgid "Enter the date that this coupon will expire on. Leave blank for no end date. (UTC %s)"
 
 
3862
  msgstr ""
3863
 
3864
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:98
@@ -3866,7 +4057,9 @@ msgid "Maximum Redemptions "
3866
  msgstr ""
3867
 
3868
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:99
3869
- msgid "Limit the total amount of redemptions for this coupon. Leave blank for unlimited."
 
 
3870
  msgstr ""
3871
 
3872
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:115
@@ -3895,7 +4088,8 @@ msgid "Plan Description"
3895
  msgstr ""
3896
 
3897
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:44
3898
- msgid "A description of this plan. This will be displayed on the checkout page."
 
3899
  msgstr ""
3900
 
3901
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:49
@@ -3904,7 +4098,9 @@ msgid "Purchase Note"
3904
  msgstr ""
3905
 
3906
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:50
3907
- msgid "Enter an optional note or special instructions to send the customer after purchase. These will be added to the order receipt."
 
 
3908
  msgstr ""
3909
 
3910
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:56
@@ -3912,7 +4108,9 @@ msgid "User Role"
3912
  msgstr ""
3913
 
3914
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:57
3915
- msgid "Select the user role to associate with this membership plan. Users that subscribe to this plan will be assigned this user role."
 
 
3916
  msgstr ""
3917
 
3918
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:63
@@ -3932,7 +4130,11 @@ msgid "Total Payments"
3932
  msgstr ""
3933
 
3934
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:87
3935
- msgid "The total number of recurring billing cycles including the trial period (if applicable). Keep in mind that once a member has completed the last payment, the subscription will not expire — essentially giving them lifetime access."
 
 
 
 
3936
  msgstr ""
3937
 
3938
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:92
@@ -3949,7 +4151,9 @@ msgid "Free Trial"
3949
  msgstr ""
3950
 
3951
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:100
3952
- msgid "Allow members free access for a specified duration of time before charging them."
 
 
3953
  msgstr ""
3954
 
3955
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:108
@@ -3966,11 +4170,14 @@ msgid "Upload eBooks, music, videos, software or anything else digital."
3966
  msgstr ""
3967
 
3968
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:121
3969
- msgid "Set to 0 for unlimited re-downloads. Leave blank to use %sglobal setting%s"
 
3970
  msgstr ""
3971
 
3972
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:131
3973
- msgid "Enter the number of days before a download link expires. Set to 0 for no expiration. Leave blank to use %sglobal setting%s."
 
 
3974
  msgstr ""
3975
 
3976
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:142
@@ -4044,7 +4251,9 @@ msgid "Account Information"
4044
  msgstr ""
4045
 
4046
  #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:11
4047
- msgid "Add, remove and re-order account information fields displayed on the checkout page."
 
 
4048
  msgstr ""
4049
 
4050
  #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:18
@@ -4063,7 +4272,9 @@ msgid "Billing Address"
4063
  msgstr ""
4064
 
4065
  #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:35
4066
- msgid "Add, remove and re-order billing address fields displayed on the checkout page."
 
 
4067
  msgstr ""
4068
 
4069
  #: src/Admin/SettingsPages/Membership/views/coupons-page-sidebar.php:18
@@ -4190,7 +4401,7 @@ msgstr ""
4190
  msgid "Action"
4191
  msgstr ""
4192
 
4193
- #: src/Admin/SettingsPages/Membership/views/orders/digital-products-metabox.php:30
4194
  #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:65
4195
  #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:218
4196
  msgid "Download"
@@ -4228,13 +4439,11 @@ msgid "Payment via %s"
4228
  msgstr ""
4229
 
4230
  #. translators: 1: date 2: time
4231
-
4232
  #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:46
4233
  msgid "Paid on %1$s @ %2$s"
4234
  msgstr ""
4235
 
4236
  #. translators: %s: IP address
4237
-
4238
  #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:55
4239
  msgid "Customer IP: %s"
4240
  msgstr ""
@@ -4317,25 +4526,33 @@ msgstr ""
4317
  msgid "Subscription ID"
4318
  msgstr ""
4319
 
4320
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:9
4321
  msgid "Method"
4322
  msgstr ""
4323
 
4324
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:10
4325
  msgid "Enabled"
4326
  msgstr ""
4327
 
4328
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:12
4329
  msgid "Subscription Support"
4330
  msgstr ""
4331
 
4332
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:43
4333
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:68
4334
  msgid "Configure"
4335
  msgstr ""
4336
 
4337
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:60
4338
- msgid "Wish to accept payments and sell memberships via PayPal? %supgrade to premium%s."
 
 
 
 
 
 
 
 
4339
  msgstr ""
4340
 
4341
  #: src/Admin/SettingsPages/Membership/views/plans-page-sidebar.php:18
@@ -4401,7 +4618,7 @@ msgid "Renewal Date:"
4401
  msgstr ""
4402
 
4403
  #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:133
4404
- #: src/Membership/Models/Subscription/SubscriptionEntity.php:365
4405
  msgid "Lifetime"
4406
  msgstr ""
4407
 
@@ -4463,7 +4680,9 @@ msgid "Admin Bar Control"
4463
  msgstr ""
4464
 
4465
  #: src/AdminBarDashboardAccess/include.settings-page.php:47
4466
- msgid "Select the user roles that the admin bar will be disabled for. It will be disabled for everyone except admins if none is checked."
 
 
4467
  msgstr ""
4468
 
4469
  #: src/AdminBarDashboardAccess/include.settings-page.php:63
@@ -4480,7 +4699,9 @@ msgid "Check to disable dashboard access for everyone."
4480
  msgstr ""
4481
 
4482
  #: src/AdminBarDashboardAccess/include.settings-page.php:91
4483
- msgid "Select the user roles that dashboard access will be disabled for. It will be disabled for everyone except admins if none is checked."
 
 
4484
  msgstr ""
4485
 
4486
  #: src/AdminBarDashboardAccess/include.settings-page.php:97
@@ -4488,15 +4709,24 @@ msgid "Dashboard Redirect URL"
4488
  msgstr ""
4489
 
4490
  #: src/AdminBarDashboardAccess/include.settings-page.php:102
4491
- msgid "Enter URL to redirect users to without dashboard access. If empty, users will be redirected to website homepage."
 
 
4492
  msgstr ""
4493
 
4494
  #: src/Classes/AdminNotices.php:89
4495
- msgid "<strong>Important:</strong> No real payment is being processed because ProfilePress is in test mode. Go to <a href=\"%s\">Payment method settings</a> to disable test mode."
 
 
 
4496
  msgstr ""
4497
 
4498
  #: src/Classes/AdminNotices.php:120
4499
- msgid "Hey, I noticed you have been using ProfilePress for at least 7 days now - that's awesome! Could you please do us a BIG favor and give it a %1$s5-star rating on WordPress?%2$s This will help us spread the word and boost our motivation - thanks!"
 
 
 
 
4500
  msgstr ""
4501
 
4502
  #: src/Classes/AdminNotices.php:124
@@ -4512,15 +4742,26 @@ msgid "Change Permalink Structure"
4512
  msgstr ""
4513
 
4514
  #: src/Classes/AdminNotices.php:149
4515
- msgid "Your site permalink structure is currently set to <code>Plain</code>. This setting is not compatible with ProfilePress. Change your permalink structure to any other setting to avoid issues. We recommend <code>Post name</code>.</p><p>%s"
 
 
 
 
4516
  msgstr ""
4517
 
4518
  #: src/Classes/AdminNotices.php:171
4519
- msgid "Important news! %1$sWP User Avatar%2$s is now %1$sProfilePress%2$s. We added new features such as member directories, frontend user registration & login forms, user profile, content protection and more. %3$sCheck Them Out%5$s | %4$sDismiss Notice%5$s"
 
 
 
 
4520
  msgstr ""
4521
 
4522
  #: src/Classes/AdminNotices.php:190
4523
- msgid "ProfilePress needs to create several pages (Checkout, Order Confirmation, User Profile, My Account, Registration, Login, Member Directory) to function correctly."
 
 
 
4524
  msgstr ""
4525
 
4526
  #: src/Classes/AdminNotices.php:193
@@ -4532,11 +4773,16 @@ msgid "No Thanks"
4532
  msgstr ""
4533
 
4534
  #: src/Classes/AdminNotices.php:221
4535
- msgid "User registration currently disabled. To enable, Go to <a href=\"%1$s\">Settings -> General</a>, and under Membership, check \"Anyone can register\""
 
 
 
4536
  msgstr ""
4537
 
4538
  #: src/Classes/AjaxHandler.php:46
4539
- msgid "Melange is a way to combine login, registration & password reset forms in a single form."
 
 
4540
  msgstr ""
4541
 
4542
  #: src/Classes/AjaxHandler.php:50
@@ -4614,139 +4860,174 @@ msgstr ""
4614
  msgid "Something unexpected happened. Please try again"
4615
  msgstr ""
4616
 
4617
- #: src/Classes/ExtensionManager.php:58
4618
  msgid "PayPal"
4619
  msgstr ""
4620
 
4621
- #: src/Classes/ExtensionManager.php:60
4622
  msgid "Accept payments and sell subscriptions via PayPal."
4623
  msgstr ""
4624
 
4625
  #: src/Classes/ExtensionManager.php:66
4626
- msgid "Collect unlimited additional information from users besides the standard profile data."
 
 
 
 
4627
  msgstr ""
4628
 
4629
- #: src/Classes/ExtensionManager.php:70
 
 
 
 
 
 
4630
  msgid "Email Confirmation"
4631
  msgstr ""
4632
 
4633
- #: src/Classes/ExtensionManager.php:72
4634
- msgid "Ensure newly registered users confirm their email addresses before they can log in."
 
 
4635
  msgstr ""
4636
 
4637
- #: src/Classes/ExtensionManager.php:76
4638
  msgid "Two-Factor Authentication (2FA)"
4639
  msgstr ""
4640
 
4641
- #: src/Classes/ExtensionManager.php:78
4642
- msgid "Adds an additional layer of security to users accounts by requiring more than just a password to log in."
 
 
4643
  msgstr ""
4644
 
4645
- #: src/Classes/ExtensionManager.php:82
4646
  msgid "User Moderation"
4647
  msgstr ""
4648
 
4649
- #: src/Classes/ExtensionManager.php:84
4650
- msgid "Decide whether to approve newly registered users or not. You can also block and unblock users at any time."
 
 
4651
  msgstr ""
4652
 
4653
- #: src/Classes/ExtensionManager.php:88
4654
  msgid "Social Login"
4655
  msgstr ""
4656
 
4657
- #: src/Classes/ExtensionManager.php:90
4658
- msgid "Let users easily register/login to your site using their social network accounts (Facebook, Twitter, Google, LinkedIn, GitHub, VK)."
 
 
4659
  msgstr ""
4660
 
4661
- #: src/Classes/ExtensionManager.php:96
4662
- msgid "Let users log in to your website via a one-time URL sent to their email addresses."
 
 
4663
  msgstr ""
4664
 
4665
- #: src/Classes/ExtensionManager.php:100
4666
  msgid "Google reCAPTCHA"
4667
  msgstr ""
4668
 
4669
- #: src/Classes/ExtensionManager.php:102
4670
  msgid "Protect your forms against spam and bot attacks."
4671
  msgstr ""
4672
 
4673
- #: src/Classes/ExtensionManager.php:106
4674
  msgid "Join BuddyPress Groups"
4675
  msgstr ""
4676
 
4677
- #: src/Classes/ExtensionManager.php:108
4678
  msgid "Let users select the BuddyPress groups to join during registration."
4679
  msgstr ""
4680
 
4681
- #: src/Classes/ExtensionManager.php:111 src/Classes/ExtensionManager.php:120
4682
  msgid "BuddyPress plugin is not active"
4683
  msgstr ""
4684
 
4685
- #: src/Classes/ExtensionManager.php:115
4686
  msgid "BuddyPress Profile Sync"
4687
  msgstr ""
4688
 
4689
- #: src/Classes/ExtensionManager.php:117
4690
- msgid "It provides a 2-way synchronization between WordPress profile fields and BuddyPress extended profile."
 
 
4691
  msgstr ""
4692
 
4693
- #: src/Classes/ExtensionManager.php:124
4694
  msgid "Site Creation"
4695
  msgstr ""
4696
 
4697
- #: src/Classes/ExtensionManager.php:126
4698
- msgid "Allow users to create new sites on a multisite network via a registration form powered by ProfilePress."
 
 
4699
  msgstr ""
4700
 
4701
- #: src/Classes/ExtensionManager.php:129
4702
  msgid "This is not a multisite installation"
4703
  msgstr ""
4704
 
4705
- #: src/Classes/ExtensionManager.php:133
4706
  msgid "WooCommerce"
4707
  msgstr ""
4708
 
4709
- #: src/Classes/ExtensionManager.php:135
4710
- msgid "It allows you to manage WooCommerce billing and shipping fields, replaces WooCommerce login and edit account forms in checkout and “My Account” pages with that of ProfilePress."
 
 
 
4711
  msgstr ""
4712
 
4713
- #: src/Classes/ExtensionManager.php:138
4714
  msgid "WooCommerce is not active"
4715
  msgstr ""
4716
 
4717
- #: src/Classes/ExtensionManager.php:142
4718
  msgid "Mailchimp"
4719
  msgstr ""
4720
 
4721
- #: src/Classes/ExtensionManager.php:144
4722
- msgid "Subscribe members to your Mailchimp audiences when they register and automatically sync profile changes with Mailchimp."
 
 
4723
  msgstr ""
4724
 
4725
- #: src/Classes/ExtensionManager.php:148
4726
  msgid "Campaign Monitor"
4727
  msgstr ""
4728
 
4729
- #: src/Classes/ExtensionManager.php:150
4730
- msgid "Subscribe members to your Campaign Monitor lists when they register and automatically sync profile changes with Campaign Monitor."
 
 
4731
  msgstr ""
4732
 
4733
- #: src/Classes/ExtensionManager.php:154
4734
  msgid "Akismet"
4735
  msgstr ""
4736
 
4737
- #: src/Classes/ExtensionManager.php:156
4738
- msgid "Block spam and bot user registrations with Akismet and keep your membership site safe and secured."
 
 
4739
  msgstr ""
4740
 
4741
- #: src/Classes/ExtensionManager.php:160
4742
  msgid "Polylang"
4743
  msgstr ""
4744
 
4745
- #: src/Classes/ExtensionManager.php:162
4746
- msgid "It allows you to build multilingual login, registration, password reset and edit profile forms."
 
 
4747
  msgstr ""
4748
 
4749
- #: src/Classes/ExtensionManager.php:165
4750
  msgid "Polylang plugin is not active"
4751
  msgstr ""
4752
 
@@ -4771,7 +5052,9 @@ msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
4771
  msgstr ""
4772
 
4773
  #: src/Classes/FileUploader.php:158
4774
- msgid "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form"
 
 
4775
  msgstr ""
4776
 
4777
  #: src/Classes/FileUploader.php:161
@@ -4828,11 +5111,16 @@ msgid "Unable to save file, please try again."
4828
  msgstr ""
4829
 
4830
  #: src/Classes/Miscellaneous.php:65
4831
- msgid "During user registration and checkout, we'll ask you to provide information, including your name, billing address, email address, phone number, and optional account information like username and password."
 
 
 
4832
  msgstr ""
4833
 
4834
  #: src/Classes/Miscellaneous.php:66
4835
- msgid "We may also collect your credit card number, expiration date, and security code and pass them to our payment gateway to process your purchase."
 
 
4836
  msgstr ""
4837
 
4838
  #: src/Classes/Miscellaneous.php:68
@@ -4872,11 +5160,17 @@ msgid "Send you marketing messages, if you choose to receive them"
4872
  msgstr ""
4873
 
4874
  #: src/Classes/Miscellaneous.php:81
4875
- msgid "We generally store information about you for as long as we need the information for the purposes we collect and use it, and we are not legally required to continue to keep it. For example, we will store your order information for tax and accounting purposes."
 
 
 
 
4876
  msgstr ""
4877
 
4878
  #: src/Classes/Miscellaneous.php:82
4879
- msgid "We'll also use cookies to keep track of cart contents while you're browsing our site."
 
 
4880
  msgstr ""
4881
 
4882
  #: src/Classes/Miscellaneous.php:101
@@ -4898,7 +5192,8 @@ msgid "<strong>ERROR</strong>: Enter a username or e-mail address."
4898
  msgstr ""
4899
 
4900
  #: src/Classes/PasswordReset.php:112
4901
- msgid "<strong>ERROR</strong>: There is no user registered with that email address."
 
4902
  msgstr ""
4903
 
4904
  #: src/Classes/PasswordReset.php:120
@@ -4944,7 +5239,9 @@ msgid "%s field is required"
4944
  msgstr ""
4945
 
4946
  #: src/Classes/RegistrationAuth.php:231
4947
- msgid "<strong>ERROR</strong>: This username is invalid because it uses illegal characters. Please enter a valid username."
 
 
4948
  msgstr ""
4949
 
4950
  #: src/Classes/RegistrationAuth.php:235
@@ -5029,6 +5326,12 @@ msgstr ""
5029
  msgid "[Your Password]"
5030
  msgstr ""
5031
 
 
 
 
 
 
 
5032
  #: src/ContentProtection/ContentConditions.php:111
5033
  msgid "or"
5034
  msgstr ""
@@ -5251,21 +5554,31 @@ msgid "%s plan"
5251
  msgstr ""
5252
 
5253
  #: src/ContentProtection/views/include.elementor-protection.php:5
5254
- msgid "Want to control the visibility of Elementor sections, containers and widgets based on user roles, logged-in status and membership plans? %sLearn how to%s"
 
 
5255
  msgstr ""
5256
 
5257
  #: src/ContentProtection/views/include.menu-protection.php:5
5258
- msgid "Want to control the visibility of WordPress navigation menus based on user roles, logged-in status and membership plans? %sLearn how to%s"
 
 
5259
  msgstr ""
5260
 
5261
  #: src/ContentProtection/views/include.shortcode-doc-sidebar.php:5
5262
- msgid "To restrict contents in a post or page, we provide the below shortcode. %sLearn more%s"
 
 
5263
  msgstr ""
5264
 
5265
  #: src/ContentProtection/views/include.shortcode-doc-sidebar.php:11
5266
  msgid "Content to restrict will go here"
5267
  msgstr ""
5268
 
 
 
 
 
5269
  #: src/ContentProtection/views/include.view-sidebar.php:18
5270
  msgid "Save Rule"
5271
  msgstr ""
@@ -5351,7 +5664,6 @@ msgid "Redirect URL"
5351
  msgstr ""
5352
 
5353
  #. translators: %s: User login.
5354
-
5355
  #: src/Functions/GlobalFunctions.php:796
5356
  msgid "Username: %s"
5357
  msgstr ""
@@ -5361,13 +5673,14 @@ msgid "To set your password, visit the following address:"
5361
  msgstr ""
5362
 
5363
  #. translators: Login details notification email subject. %s: Site title.
5364
-
5365
  #: src/Functions/GlobalFunctions.php:805
5366
  msgid "[%s] Login Details"
5367
  msgstr ""
5368
 
5369
  #: src/Functions/GlobalFunctions.php:1165
5370
- msgid "It must be unique for each field, not a reserve text, in lowercase letters only with an underscore ( _ ) separating words e.g job_title"
 
 
5371
  msgstr ""
5372
 
5373
  #: src/Functions/GlobalFunctions.php:1277
@@ -6059,15 +6372,17 @@ msgstr ""
6059
  msgid "Zambian kwacha"
6060
  msgstr ""
6061
 
6062
- #: src/Functions/PPressBFnote.php:69
6063
- msgid "%1$sHuge Black Friday Sale%2$s: Get 25%% off your ProfilePress plugin upgrade today with the coupon %3$sBFCM2022%4$s"
 
 
6064
  msgstr ""
6065
 
6066
- #: src/Functions/PPressBFnote.php:78
6067
  msgid "Save 25% Now!"
6068
  msgstr ""
6069
 
6070
- #: src/Functions/PPressBFnote.php:86
6071
  msgid "Dismiss this notice"
6072
  msgstr ""
6073
 
@@ -14618,7 +14933,8 @@ msgid "Error processing checkout. Nonce failed"
14618
  msgstr ""
14619
 
14620
  #: src/Membership/Controllers/CheckoutController.php:210
14621
- msgid "Please read and accept the terms and conditions to proceed with your order."
 
14622
  msgstr ""
14623
 
14624
  #: src/Membership/Controllers/CheckoutController.php:227
@@ -14642,7 +14958,8 @@ msgid "Unable to create customer. Please try again"
14642
  msgstr ""
14643
 
14644
  #: src/Membership/Controllers/CheckoutTrait.php:281
14645
- msgid "Email already used. Login or use a different email to complete your order"
 
14646
  msgstr ""
14647
 
14648
  #: src/Membership/Controllers/CheckoutTrait.php:301
@@ -14654,7 +14971,8 @@ msgid "Sorry but you have hit your download limit for this file."
14654
  msgstr ""
14655
 
14656
  #: src/Membership/DigitalProducts/DownloadHandler.php:62
14657
- msgid "You must have an active subscription to %s in order to download this file."
 
14658
  msgstr ""
14659
 
14660
  #: src/Membership/DigitalProducts/DownloadHandler.php:65
@@ -14698,116 +15016,128 @@ msgid "Sorry but your download link has expired."
14698
  msgstr ""
14699
 
14700
  #. translators: 1: uploads directory URL 2: documentation URL
14701
-
14702
  #: src/Membership/DigitalProducts/UploadHandler.php:285
14703
- msgid "Your store's uploads directory is <a href=\"%1$s\">browsable via the web</a>. We strongly recommend <a href=\"%2$s\">configuring your web server to prevent directory indexing</a>."
 
 
 
14704
  msgstr ""
14705
 
14706
  #: src/Membership/Emails/EmailDataTrait.php:10
14707
- #: src/Membership/Emails/EmailDataTrait.php:47
14708
  msgid "Email address of the customer."
14709
  msgstr ""
14710
 
14711
  #: src/Membership/Emails/EmailDataTrait.php:11
14712
- #: src/Membership/Emails/EmailDataTrait.php:48
14713
  msgid "First name of the customer."
14714
  msgstr ""
14715
 
14716
  #: src/Membership/Emails/EmailDataTrait.php:12
14717
- #: src/Membership/Emails/EmailDataTrait.php:49
14718
  msgid "Last name of the customer."
14719
  msgstr ""
14720
 
14721
- #: src/Membership/Emails/EmailDataTrait.php:13
 
 
 
 
 
 
 
 
 
 
14722
  msgid "Customer's billing address."
14723
  msgstr ""
14724
 
14725
- #: src/Membership/Emails/EmailDataTrait.php:14
14726
  msgid "Customer's phone number."
14727
  msgstr ""
14728
 
14729
- #: src/Membership/Emails/EmailDataTrait.php:15
14730
  msgid "Customer's Tax ID."
14731
  msgstr ""
14732
 
14733
- #: src/Membership/Emails/EmailDataTrait.php:16
14734
  msgid "Order ID."
14735
  msgstr ""
14736
 
14737
- #: src/Membership/Emails/EmailDataTrait.php:17
14738
  msgid "URL to view and download order's digital products."
14739
  msgstr ""
14740
 
14741
- #: src/Membership/Emails/EmailDataTrait.php:18
14742
  msgid "URL to view order."
14743
  msgstr ""
14744
 
14745
- #: src/Membership/Emails/EmailDataTrait.php:19
14746
  msgid "Name or title of plan ordered."
14747
  msgstr ""
14748
 
14749
- #: src/Membership/Emails/EmailDataTrait.php:20
14750
  msgid "Order price before taxes."
14751
  msgstr ""
14752
 
14753
- #: src/Membership/Emails/EmailDataTrait.php:21
14754
  msgid "The taxed amount of the order."
14755
  msgstr ""
14756
 
14757
- #: src/Membership/Emails/EmailDataTrait.php:22
14758
  msgid "Total order amount that was paid."
14759
  msgstr ""
14760
 
14761
- #: src/Membership/Emails/EmailDataTrait.php:23
14762
  msgid "Order date."
14763
  msgstr ""
14764
 
14765
- #: src/Membership/Emails/EmailDataTrait.php:24
14766
  msgid "Order payment method."
14767
  msgstr ""
14768
 
14769
- #: src/Membership/Emails/EmailDataTrait.php:25
14770
  msgid "The purchase note of ordered plan."
14771
  msgstr ""
14772
 
14773
- #: src/Membership/Emails/EmailDataTrait.php:26
14774
- #: src/Membership/Emails/EmailDataTrait.php:56
14775
  msgid "Name or title of this website."
14776
  msgstr ""
14777
 
14778
- #: src/Membership/Emails/EmailDataTrait.php:28
14779
  msgid "Your business name as defined in %sSettings%s."
14780
  msgstr ""
14781
 
14782
- #: src/Membership/Emails/EmailDataTrait.php:32
14783
  msgid "Your business address as defined in %sSettings%s."
14784
  msgstr ""
14785
 
14786
- #: src/Membership/Emails/EmailDataTrait.php:36
14787
  msgid "Your business Tax ID as defined in %sSettings%s."
14788
  msgstr ""
14789
 
14790
- #: src/Membership/Emails/EmailDataTrait.php:50
14791
  msgid "Subscription ID."
14792
  msgstr ""
14793
 
14794
- #: src/Membership/Emails/EmailDataTrait.php:51
14795
  msgid "URL to view subscription."
14796
  msgstr ""
14797
 
14798
- #: src/Membership/Emails/EmailDataTrait.php:52
14799
  msgid "URL to re-subscribe to the subscription plan."
14800
  msgstr ""
14801
 
14802
- #: src/Membership/Emails/EmailDataTrait.php:53
14803
  msgid "Name or title of subscription plan."
14804
  msgstr ""
14805
 
14806
- #: src/Membership/Emails/EmailDataTrait.php:54
14807
  msgid "The recurring amount of the subscription."
14808
  msgstr ""
14809
 
14810
- #: src/Membership/Emails/EmailDataTrait.php:55
14811
  msgid "The expiration or renewal date for the subscription."
14812
  msgstr ""
14813
 
@@ -14815,16 +15145,16 @@ msgstr ""
14815
  msgid "No Connected User"
14816
  msgstr ""
14817
 
14818
- #: src/Membership/Models/Order/OrderEntity.php:222
14819
  msgid "Payment %s has been fully refunded in %s."
14820
  msgstr ""
14821
 
14822
- #: src/Membership/Models/Order/OrderEntity.php:242
14823
- #: src/Membership/Models/Subscription/SubscriptionEntity.php:507
14824
  msgid "payment method"
14825
  msgstr ""
14826
 
14827
- #: src/Membership/Models/Order/OrderEntity.php:245
14828
  msgid "Order changed from %s to %s by %s"
14829
  msgstr ""
14830
 
@@ -14891,7 +15221,7 @@ msgstr ""
14891
  msgid "One-time purchase"
14892
  msgstr ""
14893
 
14894
- #: src/Membership/Models/Subscription/SubscriptionEntity.php:510
14895
  msgid "Subscription changed from %s to %s by %s"
14896
  msgstr ""
14897
 
@@ -14936,7 +15266,6 @@ msgid "Enable / Disable"
14936
  msgstr ""
14937
 
14938
  #. translators: %s - Payment Gateway Title
14939
-
14940
  #: src/Membership/PaymentMethods/AbstractPaymentMethod.php:213
14941
  msgid "Check to Enable"
14942
  msgstr ""
@@ -14946,7 +15275,9 @@ msgid "Store Payments"
14946
  msgstr ""
14947
 
14948
  #: src/Membership/PaymentMethods/StoreGateway.php:12
14949
- msgid "A payment method for manually creating orders and processing free orders. No money is actually collected."
 
 
14950
  msgstr ""
14951
 
14952
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:102
@@ -14967,9 +15298,10 @@ msgstr ""
14967
 
14968
  #. translators: %1$s Opening strong tag, do not translate. %2$s Closing anchor
14969
  #. tag, do not translate.
14970
-
14971
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:156
14972
- msgid "You are currently connected to a %1$stemporary%2$s Stripe account, which can only be used for testing purposes."
 
 
14973
  msgstr ""
14974
 
14975
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:174
@@ -14977,27 +15309,38 @@ msgid "Invalid Secret Key. Secret Key should begin with <code>sk_</code>."
14977
  msgstr ""
14978
 
14979
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:185
14980
- msgid "Invalid Publishable Key. Publishable Key should begin with <code>pk_</code>."
 
14981
  msgstr ""
14982
 
14983
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:197
14984
- msgid "Invalid Publishable Key for current mode. Publishable Key should begin with <code>pk_test_</code>."
 
 
14985
  msgstr ""
14986
 
14987
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:208
14988
- msgid "Invalid Secret Key for current mode. Secret Key should begin with <code>sk_test_</code>."
 
 
14989
  msgstr ""
14990
 
14991
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:219
14992
- msgid "Invalid Publishable Key for current mode. Publishable Key should begin with <code>pk_live_</code>."
 
 
14993
  msgstr ""
14994
 
14995
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:230
14996
- msgid "Invalid Secret Key for current mode. Secret Key should begin with <code>sk_live_</code>."
 
 
14997
  msgstr ""
14998
 
14999
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:242
15000
- msgid "If you have manually modified these values after connecting your account, please reconnect below or update your API keys manually."
 
 
15001
  msgstr ""
15002
 
15003
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:280
@@ -15005,7 +15348,9 @@ msgid "Administrator (Owner)"
15005
  msgstr ""
15006
 
15007
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:287
15008
- msgid "Pay as you go pricing: 2%% per-transaction fee + Stripe fees. Remove the 2%% fee by %supgrading to premium%s."
 
 
15009
  msgstr ""
15010
 
15011
  #: src/Membership/PaymentMethods/Stripe/PaymentHelpers.php:54
@@ -15021,7 +15366,9 @@ msgid "Credit card payment method that integrates with your Stripe account."
15021
  msgstr ""
15022
 
15023
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:37
15024
- msgid "NOTE: The free version of ProfilePress includes an additional 2%% fee for processing payments. Remove the fee by %supgrading to premium%s."
 
 
15025
  msgstr ""
15026
 
15027
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:75
@@ -15037,7 +15384,9 @@ msgid "live"
15037
  msgstr ""
15038
 
15039
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:183
15040
- msgid "Your Stripe account is connected in %1$s mode. %2$sDisconnect this account%3$s."
 
 
15041
  msgstr ""
15042
 
15043
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:198
@@ -15045,7 +15394,10 @@ msgid "Connection Status"
15045
  msgstr ""
15046
 
15047
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:205
15048
- msgid "Connect now to start accepting payments instantly. This includes an additional 2%% payment processing fee. Remove the fee by %supgrading to premium%s."
 
 
 
15049
  msgstr ""
15050
 
15051
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:223
@@ -15053,7 +15405,10 @@ msgid "Webhook Setup"
15053
  msgstr ""
15054
 
15055
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:226
15056
- msgid "In order for Stripe to function well, ensure the webhook endpoint %1$s is present in the %2$sStripe webhooks settings%3$s. Learn more from our %4$swebhook documentation%3$s"
 
 
 
15057
  msgstr ""
15058
 
15059
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:235
@@ -15069,7 +15424,9 @@ msgid "Webhook Secret"
15069
  msgstr ""
15070
 
15071
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:240
15072
- msgid "Retrieve your %3$s \"Signing secret\" from your %1$sStripe webhook settings%2$s. Select the endpoint then click \"Reveal\"."
 
 
15073
  msgstr ""
15074
 
15075
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:251
@@ -15077,7 +15434,11 @@ msgid "Statement Descriptor"
15077
  msgstr ""
15078
 
15079
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:254
15080
- msgid "The text that appears on your customer's bank or credit card statements. Choose something they will recognise to help prevent disputes, typically your business name. Must be limited to 22 characters, no special characters %1$s<%2$s, %1$s>%2$s, %1$s'%2$s, or %1$s\"%2$s."
 
 
 
 
15081
  msgstr ""
15082
 
15083
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:260
@@ -15093,7 +15454,9 @@ msgid "Stripe Payment Page (Off-site)"
15093
  msgstr ""
15094
 
15095
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:266
15096
- msgid "Select how payment information will be collected. Could be right on your site with Stripe card fields or off-site through Stripe hosted payment page."
 
 
15097
  msgstr ""
15098
 
15099
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:270
@@ -15105,7 +15468,9 @@ msgid "Check to remove billing address fields from the checkout page."
15105
  msgstr ""
15106
 
15107
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:273
15108
- msgid "If you do not want the billing address fields displayed on the checkout page, use this setting to remove it."
 
 
15109
  msgstr ""
15110
 
15111
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:277
@@ -15113,11 +15478,17 @@ msgid "Restrict Stripe Assets"
15113
  msgstr ""
15114
 
15115
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:279
15116
- msgid "Only load Stripe.com hosted assets on pages that specifically utilize Stripe functionality."
 
 
15117
  msgstr ""
15118
 
15119
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:281
15120
- msgid "Stripe advises that their Javascript library be loaded on every page to take advantage of their advanced fraud detection rules. If you are not concerned with this, enable this setting to only load the Javascript when necessary. %sLearn more%s"
 
 
 
 
15121
  msgstr ""
15122
 
15123
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:300
@@ -15194,7 +15565,9 @@ msgid "The country or VAT number is invalid."
15194
  msgstr ""
15195
 
15196
  #: src/Membership/Services/EUVATChecker/EuVatApiResponse.php:75
15197
- msgid "We're having trouble checking your VAT number. Please try again or contact our support team."
 
 
15198
  msgstr ""
15199
 
15200
  #: src/Membership/Services/TaxService.php:23
@@ -15444,7 +15817,8 @@ msgstr ""
15444
  #: src/ShortcodeParser/LoginFormTag.php:75
15445
  #: src/ShortcodeParser/PasswordResetTag.php:77
15446
  #: src/ShortcodeParser/RegistrationFormTag.php:79
15447
- msgid "Form class not found. Please check if this ProfilePress form actually exist."
 
15448
  msgstr ""
15449
 
15450
  #: src/ShortcodeParser/FormProcessor.php:95
@@ -15456,7 +15830,9 @@ msgid "Authentication failed. Please try again"
15456
  msgstr ""
15457
 
15458
  #: src/ShortcodeParser/FrontendProfileTag.php:88
15459
- msgid "This content is available to members only. Please <a href=\"%1$s\">login</a> or <a href=\"%2$s\">register</a> to view this area."
 
 
15460
  msgstr ""
15461
 
15462
  #: src/ShortcodeParser/FrontendProfileTag.php:95
@@ -15464,7 +15840,9 @@ msgid "You are not authorized to access this area."
15464
  msgstr ""
15465
 
15466
  #: src/ShortcodeParser/FrontendProfileTag.php:133
15467
- msgid "Form class not found. Please check if this user profile actually exist in ProfilePress."
 
 
15468
  msgstr ""
15469
 
15470
  #: src/ShortcodeParser/FrontendProfileTag.php:198
@@ -15481,15 +15859,20 @@ msgid "No member directory ID specified."
15481
  msgstr ""
15482
 
15483
  #: src/ShortcodeParser/MemberDirectoryTag.php:71
15484
- msgid "Member directory class not found. Please check it actually exist in ProfilePress."
 
 
15485
  msgstr ""
15486
 
15487
  #: src/ShortcodeParser/MembershipShortcodes.php:49
15488
- msgid "Your cart is currently empty. Click <a href=\"%s\">here</a> to get started."
 
15489
  msgstr ""
15490
 
15491
  #: src/ShortcodeParser/MembershipShortcodes.php:64
15492
- msgid "It looks like you’re already subscribed to this plan. Please go to %syour account%s to manage your subscription."
 
 
15493
  msgstr ""
15494
 
15495
  #: src/ShortcodeParser/MembershipShortcodes.php:92
@@ -15535,7 +15918,8 @@ msgid "Cover Photo (min. width: 1000px)"
15535
  msgstr ""
15536
 
15537
  #: src/ShortcodeParser/MyAccount/billing-details.tmpl.php:43
15538
- msgid "The following billing address will be used on the checkout page by default."
 
15539
  msgstr ""
15540
 
15541
  #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:11
@@ -15560,13 +15944,14 @@ msgid "Change password"
15560
  msgstr ""
15561
 
15562
  #. translators: 1: user display name 2: logout url
15563
-
15564
  #: src/ShortcodeParser/MyAccount/dashboard.tmpl.php:16
15565
  msgid "Hello %1$s (not %1$s? <a href=\"%2$s\">Log out</a>)"
15566
  msgstr ""
15567
 
15568
  #: src/ShortcodeParser/MyAccount/dashboard.tmpl.php:26
15569
- msgid "From your account dashboard you can <a href=\"%1$s\">change your password</a> and <a href=\"%2$s\">edit your account details</a>."
 
 
15570
  msgstr ""
15571
 
15572
  #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:36
@@ -15687,7 +16072,9 @@ msgid "Enable Password Visibility Icon"
15687
  msgstr ""
15688
 
15689
  #: src/Themes/DragDrop/AbstractBuildScratch.php:105
15690
- msgid "Check to enable visibility icon which when clicked, hides or shows a password."
 
 
15691
  msgstr ""
15692
 
15693
  #: src/Themes/DragDrop/AbstractBuildScratch.php:113
@@ -15958,7 +16345,9 @@ msgid "User Roles to Display"
15958
  msgstr ""
15959
 
15960
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:143
15961
- msgid "If you do not want to show all members, select the user roles to appear in this directory."
 
 
15962
  msgstr ""
15963
 
15964
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:151
@@ -16044,11 +16433,15 @@ msgid "Filter Fields"
16044
  msgstr ""
16045
 
16046
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:278
16047
- msgid "Select custom fields that members can be filtered by. Only Select, Checkbox, Radio, Country and Date/Time fields are supported."
 
 
16048
  msgstr ""
16049
 
16050
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:289
16051
- msgid "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon so you can enable search and filtering by custom fields."
 
 
16052
  msgstr ""
16053
 
16054
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:296
@@ -16134,7 +16527,9 @@ msgid "Enable Social Connect Icons"
16134
  msgstr ""
16135
 
16136
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:72
16137
- msgid "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon to display social profile icons of users."
 
 
16138
  msgstr ""
16139
 
16140
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:100
@@ -16182,7 +16577,9 @@ msgid "First Name Only"
16182
  msgstr ""
16183
 
16184
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:112
16185
- msgid "What to use as display name in profile header. Select \"Hide\" to hide it from showing."
 
 
16186
  msgstr ""
16187
 
16188
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:121
@@ -16190,7 +16587,9 @@ msgid "Show Social Links in Header"
16190
  msgstr ""
16191
 
16192
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:132
16193
- msgid "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon to display users social profiles."
 
 
16194
  msgstr ""
16195
 
16196
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:141
@@ -16238,7 +16637,9 @@ msgid "Comments"
16238
  msgstr ""
16239
 
16240
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:309
16241
- msgid "Your profile is looking a little empty. Why not <a href=\"%s\">add some information</a>?"
 
 
16242
  msgstr ""
16243
 
16244
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:349
@@ -16407,7 +16808,9 @@ msgid "ProfilePress User Panel"
16407
  msgstr ""
16408
 
16409
  #: src/Widgets/UserPanel.php:13
16410
- msgid "Display currently logged in user's avatar and links to logout and edit the profile."
 
 
16411
  msgstr ""
16412
 
16413
  #: src/Widgets/UserPanel.php:29 src/Widgets/UserPanel.php:70
@@ -16491,7 +16894,6 @@ msgid "Or continue with your order below."
16491
  msgstr ""
16492
 
16493
  #. Translators: %s display name.
16494
-
16495
  #: src/templates/checkout/form-login.php:32
16496
  msgid "Logged in as %s. Not you?"
16497
  msgstr ""
@@ -16501,7 +16903,8 @@ msgid "log out"
16501
  msgstr ""
16502
 
16503
  #: src/templates/checkout/form-payment-methods.php:24
16504
- msgid "Payment processing is currently disabled because no payment method is active."
 
16505
  msgstr ""
16506
 
16507
  #: src/templates/checkout/form-payment-methods.php:34
@@ -16517,13 +16920,19 @@ msgid "terms and conditions"
16517
  msgstr ""
16518
 
16519
  #: src/templates/order-processing.php:3
16520
- msgid "Your order is processing. This page will reload automatically in 8 seconds. If it does not, click <a href=\"%s\">here</a>."
 
 
16521
  msgstr ""
 
16522
  #. Plugin Name of the plugin/theme
16523
  msgid "ProfilePress"
16524
  msgstr ""
16525
 
 
16526
  #. Plugin URI of the plugin/theme
 
 
16527
  msgid "https://profilepress.com"
16528
  msgstr ""
16529
 
@@ -16534,7 +16943,3 @@ msgstr ""
16534
  #. Author of the plugin/theme
16535
  msgid "ProfilePress Membership Team"
16536
  msgstr ""
16537
-
16538
- #. Author URI of the plugin/theme
16539
- msgid "https://profilepress.com"
16540
- msgstr ""
2
  # This file is distributed under the same license as the ProfilePress package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: ProfilePress 4.3.0\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-user-avatar\n"
7
+ "POT-Creation-Date: 2022-10-21 10:26:39+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
32
  msgstr ""
33
 
34
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:100
35
+ msgid ""
36
+ "%s[avatar_upload]%s adds a standalone avatar uploader visible only to logged-"
37
+ "in users."
38
  msgstr ""
39
 
40
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:106
195
  msgstr ""
196
 
197
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:261
198
+ msgid ""
199
+ "Unable to create directory %s. Is its parent directory writable by the "
200
+ "server?"
201
  msgstr ""
202
 
203
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:18
360
  msgstr ""
361
 
362
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:13
363
+ msgid ""
364
+ "Avatar is currently disabled. Kindly %senable it on \"Avatar Display\" "
365
+ "section%s."
366
  msgstr ""
367
 
368
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:29
379
  msgstr ""
380
 
381
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:53
382
+ msgid ""
383
+ "Please make sure that the default cover is large enough (min. 1000px in "
384
+ "width) and respects the ratio you are using for cover photos."
385
  msgstr ""
386
 
387
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:61
416
  msgstr ""
417
 
418
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:124
419
+ msgid ""
420
+ "For users without a custom avatar of their own, you can either display a "
421
+ "generic logo or a generated one based on their e-mail address."
422
  msgstr ""
423
 
424
  #: src/Admin/ProfileCustomFields.php:58
450
  msgstr ""
451
 
452
  #: src/Admin/SettingsPages/AbstractSettingsPage.php:237
453
+ msgid ""
454
+ "Whether you need help or have a new feature request, let us know. %sRequest "
455
+ "Support%s"
456
  msgstr ""
457
 
458
  #: src/Admin/SettingsPages/AbstractSettingsPage.php:245
459
+ msgid ""
460
+ "Detailed documentation is also available on the plugin website. %sView "
461
+ "Knowledge Base%s"
462
  msgstr ""
463
 
464
  #: src/Admin/SettingsPages/AbstractSettingsPage.php:253
465
+ msgid ""
466
+ "If you are enjoying ProfilePress and find it useful, please consider leaving "
467
+ "a ★★★★★ review on WordPress.org. %sLeave a Review%s"
468
  msgstr ""
469
 
470
  #: src/Admin/SettingsPages/AbstractSettingsPage.php:265
498
  msgstr ""
499
 
500
  #: src/Admin/SettingsPages/AddNewForm.php:48
501
+ msgid ""
502
+ "Create beautiful, responsive forms with easy to use drag & drop form builder."
503
  msgstr ""
504
 
505
  #: src/Admin/SettingsPages/AddNewForm.php:51
512
  msgstr ""
513
 
514
  #: src/Admin/SettingsPages/AddNewForm.php:62
515
+ msgid ""
516
+ "Code your own from scratch with complete control and flexibility using "
517
+ "shortcodes."
518
  msgstr ""
519
 
520
  #: src/Admin/SettingsPages/AddNewForm.php:65 src/Classes/AjaxHandler.php:117
522
  msgstr ""
523
 
524
  #: src/Admin/SettingsPages/AddNewForm.php:79
525
+ msgid ""
526
+ "Code your own from scratch with complete control and flexibility. %sLearn "
527
+ "more%s."
528
  msgstr ""
529
 
530
  #: src/Admin/SettingsPages/AddNewForm.php:85
537
  msgstr ""
538
 
539
  #: src/Admin/SettingsPages/AdminFooter.php:27
540
+ msgid ""
541
+ "Thank you for using <a href=\"%1$s\" target=\"_blank\">ProfilePress</a>! "
542
+ "Please <a href=\"%2$s\" target=\"_blank\">rate us ★★★★★</a> on <a href=\"%2$s"
543
+ "\" target=\"_blank\">WordPress.org</a> to help us spread the word."
544
  msgstr ""
545
 
546
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:192
568
 
569
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1229
570
  #: src/Admin/SettingsPages/Membership/CheckoutFieldsManager.php:101
571
+ #: src/Classes/ExtensionManager.php:72 src/Functions/GlobalFunctions.php:1353
572
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:216
573
  msgid "Custom Fields"
574
  msgstr ""
601
  msgstr ""
602
 
603
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1289
604
+ msgid ""
605
+ "Copy this shortcode and paste it into your post, page, or text widget "
606
+ "content:"
607
  msgstr ""
608
 
609
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1314
633
  msgstr ""
634
 
635
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1388
636
+ msgid ""
637
+ "Disable requirement for users to enter a username during registration. "
638
+ "Usernames will automatically be generated from their email addresses."
639
  msgstr ""
640
 
641
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1395
648
  msgstr ""
649
 
650
  #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1436
651
+ #: src/Classes/ExtensionManager.php:102
652
  msgid "Passwordless Login"
653
  msgstr ""
654
 
989
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:47
990
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:47
991
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:52
992
+ msgid ""
993
+ "Enter one choice per line. This will be the options available for user to "
994
+ "select."
995
  msgstr ""
996
 
997
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmEmail.php:22
1031
  msgstr ""
1032
 
1033
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:61
1034
+ msgid ""
1035
+ "Select a date and time format that users will be able to choose a date in."
1036
  msgstr ""
1037
 
1038
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:50
1256
  msgstr ""
1257
 
1258
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:34
1259
+ msgid ""
1260
+ "Select a custom field. Only use the %1$sTitle%2$s and %1$sUser Meta / Field "
1261
+ "Key%2$s below if you don't have it %3$sdefined in ProfilePress%4$s."
1262
  msgstr ""
1263
 
1264
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:44
1397
  msgstr ""
1398
 
1399
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:125
1400
+ msgid ""
1401
+ "The customizer allows you to design and preview ProfilePress default email "
1402
+ "template."
1403
  msgstr ""
1404
 
1405
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:148
1550
 
1551
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:133
1552
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:149
1553
+ #: src/Membership/Emails/EmailDataTrait.php:44
1554
  msgid "URL to reset password."
1555
  msgstr ""
1556
 
1557
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:134
1558
+ #: src/Membership/Emails/EmailDataTrait.php:45
1559
  msgid "URL to login."
1560
  msgstr ""
1561
 
1697
  msgstr ""
1698
 
1699
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:228
1700
+ msgid ""
1701
+ "Email sent to customer whenever they complete their subscription payments."
1702
  msgstr ""
1703
 
1704
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:235
1711
  msgstr ""
1712
 
1713
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:238
1714
+ msgid ""
1715
+ "Email sent to customer to remind them that their subscription is approaching "
1716
+ "its renewal."
1717
  msgstr ""
1718
 
1719
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:246
1726
  msgstr ""
1727
 
1728
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:249
1729
+ msgid ""
1730
+ "Email sent to customer to remind them that their subscription is approaching "
1731
+ "its expiration."
1732
  msgstr ""
1733
 
1734
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:257
1775
  msgstr ""
1776
 
1777
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:357
1778
+ msgid ""
1779
+ "The number of days before the upcoming payment due date to notify the "
1780
+ "customer."
1781
  msgstr ""
1782
 
1783
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:366
1784
+ msgid ""
1785
+ "The number of days before the subscription expiration due date to notify the "
1786
+ "customer."
1787
  msgstr ""
1788
 
1789
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:375
1790
+ msgid ""
1791
+ "The number of days after the subscription expired to notify the customer."
1792
  msgstr ""
1793
 
1794
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:424
1796
  msgstr ""
1797
 
1798
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:425
1799
+ msgid ""
1800
+ "The Email address to receive admin notifications. Use comma to separate "
1801
+ "multiple email addresses."
1802
  msgstr ""
1803
 
1804
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:430
1806
  msgstr ""
1807
 
1808
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:431
1809
+ msgid ""
1810
+ "The name to use as the sender of all ProfilePress emails. Preferably your "
1811
+ "website name."
1812
  msgstr ""
1813
 
1814
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:437
1832
  msgstr ""
1833
 
1834
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:449
1835
+ msgid ""
1836
+ "Choose whether to send ProfilePress emails in HTML or plain text. HTML is "
1837
+ "recommended."
1838
  msgstr ""
1839
 
1840
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:454
1850
  msgstr ""
1851
 
1852
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:459
1853
+ msgid ""
1854
+ "Choose \"Custom Email Template\" if you want to code your own email template "
1855
+ "from scratch."
1856
  msgstr ""
1857
 
1858
  #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:466
1891
  msgstr ""
1892
 
1893
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:100
1894
+ msgid ""
1895
+ "Upgrade to Premium to unlock extensions and other great features. As a "
1896
+ "valued ProfilePress Lite user, you will %1$sreceive 10%3$s off%2$s your "
1897
+ "purchase, automatically applied at checkout!"
1898
  msgstr ""
1899
 
1900
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:106
1996
  msgstr ""
1997
 
1998
  #: src/Admin/SettingsPages/Forms.php:93
1999
+ msgid ""
2000
+ "Melange combines login, registration & password reset forms in a single form."
2001
  msgstr ""
2002
 
2003
  #: src/Admin/SettingsPages/Forms.php:110
2110
  msgstr ""
2111
 
2112
  #: src/Admin/SettingsPages/GeneralSettings.php:141
2113
+ msgid ""
2114
+ "Check this box to disable ajax behaviour(whereby forms do not require page "
2115
+ "reload when submitted) in forms."
2116
  msgstr ""
2117
 
2118
  #: src/Admin/SettingsPages/GeneralSettings.php:145
2128
  msgstr ""
2129
 
2130
  #: src/Admin/SettingsPages/GeneralSettings.php:153
2131
+ msgid ""
2132
+ "Check this box if you would like ProfilePress to completely remove all of "
2133
+ "its data when the plugin is deleted."
2134
  msgstr ""
2135
 
2136
  #: src/Admin/SettingsPages/GeneralSettings.php:158
2146
  msgstr ""
2147
 
2148
  #: src/Admin/SettingsPages/GeneralSettings.php:165
2149
+ msgid ""
2150
+ "The official (legal) name of your store. Defaults to Site Title if empty."
2151
  msgstr ""
2152
 
2153
  #: src/Admin/SettingsPages/GeneralSettings.php:169
2208
  msgstr ""
2209
 
2210
  #: src/Admin/SettingsPages/GeneralSettings.php:210
2211
+ msgid ""
2212
+ "Select the page you wish to make WordPress default Login page. %3$s This "
2213
+ "should be the page that contains a %1$slogin form shortcode%2$s."
2214
  msgstr ""
2215
 
2216
  #: src/Admin/SettingsPages/GeneralSettings.php:215
2219
  msgstr ""
2220
 
2221
  #: src/Admin/SettingsPages/GeneralSettings.php:218
2222
+ msgid ""
2223
+ "Select the page you wish to make WordPress default Registration page. %3$s "
2224
+ "This should be the page that contains a %1$sregistration form shortcode%2$s."
2225
  msgstr ""
2226
 
2227
  #: src/Admin/SettingsPages/GeneralSettings.php:223
2229
  msgstr ""
2230
 
2231
  #: src/Admin/SettingsPages/GeneralSettings.php:226
2232
+ msgid ""
2233
+ "Select the page you wish to make WordPress default \"Lost Password page\". "
2234
+ "%3$s This should be the page that contains a %1$spassword reset form "
2235
+ "shortcode%2$s."
2236
  msgstr ""
2237
 
2238
  #: src/Admin/SettingsPages/GeneralSettings.php:231
2240
  msgstr ""
2241
 
2242
  #: src/Admin/SettingsPages/GeneralSettings.php:234
2243
+ msgid ""
2244
+ "Select a page that contains %3$s shortcode. You can also use an %1$sedit "
2245
+ "profile shortcode%2$s on the My Account page in case you want something "
2246
+ "custom."
2247
  msgstr ""
2248
 
2249
  #: src/Admin/SettingsPages/GeneralSettings.php:239
2255
  msgstr ""
2256
 
2257
  #: src/Admin/SettingsPages/GeneralSettings.php:245
2258
+ msgid ""
2259
+ "The checkout page where members will complete their payments. %2$sThe "
2260
+ "shortcode %1$s must be on this page."
2261
  msgstr ""
2262
 
2263
  #: src/Admin/SettingsPages/GeneralSettings.php:251
2265
  msgstr ""
2266
 
2267
  #: src/Admin/SettingsPages/GeneralSettings.php:254
2268
+ msgid ""
2269
+ "The page customers are sent to after completing their orders.%2$sThe "
2270
+ "shortcode %1$s must be on this page."
2271
  msgstr ""
2272
 
2273
  #: src/Admin/SettingsPages/GeneralSettings.php:260
2283
  msgstr ""
2284
 
2285
  #: src/Admin/SettingsPages/GeneralSettings.php:266
2286
+ msgid ""
2287
+ "If you select a \"Terms\" page, customers will be asked if they accept them "
2288
+ "when checking out."
2289
  msgstr ""
2290
 
2291
  #: src/Admin/SettingsPages/GeneralSettings.php:279
2297
  msgstr ""
2298
 
2299
  #: src/Admin/SettingsPages/GeneralSettings.php:282
2300
+ msgid ""
2301
+ "Check this option to automatically login users after successful registration."
2302
  msgstr ""
2303
 
2304
  #: src/Admin/SettingsPages/GeneralSettings.php:294
2318
  msgstr ""
2319
 
2320
  #: src/Admin/SettingsPages/GeneralSettings.php:300
2321
+ msgid ""
2322
+ "By default, WordPress allows users to log in using either an email address "
2323
+ "or username. This setting allows you to restrict logins to only accept email "
2324
+ "addresses or usernames."
2325
  msgstr ""
2326
 
2327
  #: src/Admin/SettingsPages/GeneralSettings.php:305
2348
  msgstr ""
2349
 
2350
  #: src/Admin/SettingsPages/GeneralSettings.php:314
2351
+ msgid ""
2352
+ "Redirect <a target=\"_blank\" href=\"%s\">default WordPress profile</a> to "
2353
+ "My Account page."
2354
  msgstr ""
2355
 
2356
  #: src/Admin/SettingsPages/GeneralSettings.php:321
2374
  msgstr ""
2375
 
2376
  #: src/Admin/SettingsPages/GeneralSettings.php:334
2377
+ msgid ""
2378
+ "Do you want to replace the default form in \"My Account → Account Details\" "
2379
+ "page? select an Edit Profile form that will replace it."
2380
  msgstr ""
2381
 
2382
  #: src/Admin/SettingsPages/GeneralSettings.php:338
2392
  msgstr ""
2393
 
2394
  #: src/Admin/SettingsPages/GeneralSettings.php:345
2395
+ msgid ""
2396
+ "Select the page that contains your <a href=\"%s\">Frontend user profile "
2397
+ "shortcode</a>."
2398
  msgstr ""
2399
 
2400
  #: src/Admin/SettingsPages/GeneralSettings.php:350
2402
  msgstr ""
2403
 
2404
  #: src/Admin/SettingsPages/GeneralSettings.php:351
2405
+ msgid ""
2406
+ "Enter your preferred profile URL slug. Default to \"profile\" if empty. If "
2407
+ "slug is \"profile\", URL becomes %s where \"john\" is a user's username."
2408
  msgstr ""
2409
 
2410
  #: src/Admin/SettingsPages/GeneralSettings.php:355
2412
  msgstr ""
2413
 
2414
  #: src/Admin/SettingsPages/GeneralSettings.php:356
2415
+ msgid ""
2416
+ "Enable this option to stop disable guests or non-registered users from "
2417
+ "viewing users profiles."
2418
  msgstr ""
2419
 
2420
  #: src/Admin/SettingsPages/GeneralSettings.php:361
2422
  msgstr ""
2423
 
2424
  #: src/Admin/SettingsPages/GeneralSettings.php:362
2425
+ msgid ""
2426
+ "Enable this option to stop members from viewing other users profiles. If "
2427
+ "enabled, users can only see their own profile."
2428
  msgstr ""
2429
 
2430
  #: src/Admin/SettingsPages/GeneralSettings.php:367
2462
  msgstr ""
2463
 
2464
  #: src/Admin/SettingsPages/GeneralSettings.php:396
2465
+ msgid ""
2466
+ "Select the page users will be redirected to after logout. To redirect to a "
2467
+ "custom URL instead of a selected page, enter the URL in input field directly "
2468
+ "above this description."
2469
  msgstr ""
2470
 
2471
  #: src/Admin/SettingsPages/GeneralSettings.php:397
2475
  msgstr ""
2476
 
2477
  #: src/Admin/SettingsPages/GeneralSettings.php:406
2478
+ msgid ""
2479
+ "Select the page or custom URL users will be redirected to after login. To "
2480
+ "redirect to a custom URL instead of a selected page, enter the URL in input "
2481
+ "field directly above this description"
2482
  msgstr ""
2483
 
2484
  #: src/Admin/SettingsPages/GeneralSettings.php:418
2486
  msgstr ""
2487
 
2488
  #: src/Admin/SettingsPages/GeneralSettings.php:423
2489
+ msgid ""
2490
+ "Select the page or custom URL users will be redirected to after they "
2491
+ "successfully reset or change their password. To redirect to a custom URL "
2492
+ "instead of a selected page, enter the URL in input field directly above this "
2493
+ "description."
2494
  msgstr ""
2495
 
2496
  #: src/Admin/SettingsPages/GeneralSettings.php:430
2503
  msgstr ""
2504
 
2505
  #: src/Admin/SettingsPages/GeneralSettings.php:437
2506
+ msgid ""
2507
+ "%sNote:%s Access setting takes precedence over %sContent Protection rules%s."
2508
  msgstr ""
2509
 
2510
  #: src/Admin/SettingsPages/GeneralSettings.php:443
2524
  msgstr ""
2525
 
2526
  #: src/Admin/SettingsPages/GeneralSettings.php:453
2527
+ msgid ""
2528
+ "Select the page or custom URL to redirect users that are not logged in to."
2529
  msgstr ""
2530
 
2531
  #: src/Admin/SettingsPages/GeneralSettings.php:457
2533
  msgstr ""
2534
 
2535
  #: src/Admin/SettingsPages/GeneralSettings.php:463
2536
+ msgid ""
2537
+ "Select the pages to exclude beside the redirect page that will be accessible "
2538
+ "by everyone."
2539
  msgstr ""
2540
 
2541
  #: src/Admin/SettingsPages/GeneralSettings.php:469
2558
  msgstr ""
2559
 
2560
  #: src/Admin/SettingsPages/GeneralSettings.php:476
2561
+ msgid ""
2562
+ "This is the message shown to users that do not have permission to view the "
2563
+ "content."
2564
  msgstr ""
2565
 
2566
  #: src/Admin/SettingsPages/GeneralSettings.php:490
2587
  msgstr ""
2588
 
2589
  #: src/Admin/SettingsPages/GeneralSettings.php:505
2590
+ msgid ""
2591
+ "Check to override BuddyPress users uploaded avatars with that of "
2592
+ "ProfilePress."
2593
  msgstr ""
2594
 
2595
  #: src/Admin/SettingsPages/GeneralSettings.php:510
2598
  msgstr ""
2599
 
2600
  #: src/Admin/SettingsPages/GeneralSettings.php:512
2601
+ msgid ""
2602
+ "Check to change the profile URL of BuddyPress users to ProfilePress front-"
2603
+ "end profile."
2604
  msgstr ""
2605
 
2606
  #: src/Admin/SettingsPages/GeneralSettings.php:520
2628
  msgstr ""
2629
 
2630
  #: src/Admin/SettingsPages/MailOptin.php:63
2631
+ msgid ""
2632
+ "Could not install addon. Please download from wpforms.com and install "
2633
+ "manually."
2634
  msgstr ""
2635
 
2636
  #: src/Admin/SettingsPages/MailOptin.php:131
2666
  msgstr ""
2667
 
2668
  #. translators: %s - Lite plugin download URL.
 
2669
  #: src/Admin/SettingsPages/MailOptin.php:209
2670
+ msgid ""
2671
+ "Could not install plugin. Please <a href=\"%s\">download</a> and install "
2672
+ "manually."
2673
  msgstr ""
2674
 
2675
  #. translators: %s - Lite plugin download URL.
 
2676
  #: src/Admin/SettingsPages/MailOptin.php:221
2677
+ msgid ""
2678
+ "Could not activate plugin. Please activate from the <a href=\"%s\">Plugins "
2679
+ "page</a>."
2680
  msgstr ""
2681
 
2682
  #: src/Admin/SettingsPages/MailOptin.php:232
2721
  msgstr ""
2722
 
2723
  #: src/Admin/SettingsPages/MailOptin.php:474
2724
+ msgid ""
2725
+ "MailOptin lets you create popups and newsletter opt-in forms that integrates "
2726
+ "with Mailchimp, Aweber, Constant Contact, Active Campaign & more."
2727
  msgstr ""
2728
 
2729
  #: src/Admin/SettingsPages/MailOptin.php:497
2731
  msgstr ""
2732
 
2733
  #: src/Admin/SettingsPages/MailOptin.php:498
2734
+ msgid ""
2735
+ "Automatically notify your subscribers every time you publish a new post."
2736
  msgstr ""
2737
 
2738
  #: src/Admin/SettingsPages/MailOptin.php:499
2739
+ msgid ""
2740
+ "Keep your subscribers engaged with daily, weekly and monthly email digest of "
2741
+ "published posts."
2742
  msgstr ""
2743
 
2744
  #: src/Admin/SettingsPages/MailOptin.php:500
2745
+ msgid ""
2746
+ "Different types of opt-in form including Popup, notification bar, inline, "
2747
+ "scroll box, slide ins, sidebar forms."
2748
  msgstr ""
2749
 
2750
  #: src/Admin/SettingsPages/MailOptin.php:501
2751
+ msgid ""
2752
+ "Page-level targeting and optin triggers to build hyper segmented email list."
2753
  msgstr ""
2754
 
2755
  #: src/Admin/SettingsPages/MailOptin.php:502
2756
+ msgid ""
2757
+ "Analytics with actionable reporting & insights to improve your lead-"
2758
+ "generation strategy."
2759
  msgstr ""
2760
 
2761
  #: src/Admin/SettingsPages/MailOptin.php:530
2825
  msgstr ""
2826
 
2827
  #: src/Admin/SettingsPages/Membership/CheckListHeader.php:90
2828
+ msgid ""
2829
+ "Follow the steps below to get your website ready for selling membership "
2830
+ "plans."
2831
  msgstr ""
2832
 
2833
  #: src/Admin/SettingsPages/Membership/CheckListHeader.php:107
3312
  msgid "File Downloads"
3313
  msgstr ""
3314
 
3315
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:42
3316
  msgid "Download Method"
3317
  msgstr ""
3318
 
3319
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:45
3320
  msgid "Force Downloads"
3321
  msgstr ""
3322
 
3323
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:46
3324
  msgid "X-Accel-Redirect/X-Sendfile"
3325
  msgstr ""
3326
 
3327
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:47
3328
  msgid "Redirect (Insecure)"
3329
  msgstr ""
3330
 
3331
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:50
3332
+ msgid ""
3333
+ "Select the file download method. If you are using X-Accel-Redirect/X-"
3334
+ "Sendfile download method (recommended, especially for delivery large files), "
3335
+ "make sure that you have applied settings as described in <a "
3336
+ "href='%s'>Downloadable Product Handling</a> guide."
3337
  msgstr ""
3338
 
3339
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:55
3340
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:119
3341
  msgid "Download Limit"
3342
  msgstr ""
3343
 
3344
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:56
3345
+ msgid ""
3346
+ "The maximum number of times files can be downloaded (Leaving blank or using "
3347
+ "a value of 0 is unlimited). Can be overwritten for each membership plan."
3348
  msgstr ""
3349
 
3350
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:61
3351
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:129
3352
  msgid "Download Expiry"
3353
  msgstr ""
3354
 
3355
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:62
3356
+ msgid ""
3357
+ "How long in days should download links be valid for? Default is 1 day from "
3358
+ "the time they are generated. Can be overwritten for each membership plan."
3359
  msgstr ""
3360
 
3361
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:67
3362
  msgid "Access restriction"
3363
  msgstr ""
3364
 
3365
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:68
3366
  msgid "Downloads require login"
3367
  msgstr ""
3368
 
3369
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:69
3370
  msgid "Enable to require users to be logged in to download files."
3371
  msgstr ""
3372
 
3373
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:73
3374
  msgid "Filename"
3375
  msgstr ""
3376
 
3377
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:74
3378
  msgid "Append a unique string to filename for security"
3379
  msgstr ""
3380
 
3381
+ #: src/Admin/SettingsPages/Membership/FileDownloads.php:76
3382
+ msgid ""
3383
+ "Not required if your download directory is protected. <a href='%s'>See this "
3384
+ "guide</a> for more details. Files already uploaded will not be affected."
3385
  msgstr ""
3386
 
3387
  #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:46
3473
  msgstr ""
3474
 
3475
  #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:528
3476
+ msgid ""
3477
+ "Enter the total order amount, or leave blank to use the price of the "
3478
+ "selected plan."
3479
  msgstr ""
3480
 
3481
  #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:531
3522
  msgstr ""
3523
 
3524
  #: src/Admin/SettingsPages/Membership/PaymentMethods.php:96
3525
+ msgid ""
3526
+ "When test mode is enabled, no live transactions are processed. Use test mode "
3527
+ "in conjunction with the sandbox/test account for the payment method to test."
3528
  msgstr ""
3529
 
3530
  #: src/Admin/SettingsPages/Membership/PaymentMethods.php:101
3531
+ msgid ""
3532
+ "Switching test/live modes would require payment methods reconnection or "
3533
+ "setup."
3534
  msgstr ""
3535
 
3536
  #: src/Admin/SettingsPages/Membership/PaymentMethods.php:105
3538
  msgstr ""
3539
 
3540
  #: src/Admin/SettingsPages/Membership/PaymentMethods.php:106
3541
+ msgid ""
3542
+ "Select payment method to automatically load on the checkout page. If empty, "
3543
+ "the first active method is selected instead."
3544
  msgstr ""
3545
 
3546
  #: src/Admin/SettingsPages/Membership/PaymentMethods.php:114
3547
+ msgid ""
3548
+ "Installed payment methods are listed below. Drag and drop to control their "
3549
+ "display order on the frontend."
3550
  msgstr ""
3551
 
3552
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:22
3566
  msgstr ""
3567
 
3568
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:49
3569
+ msgid ""
3570
+ "Choose your currency. Note that some payment gateways have currency "
3571
+ "restrictions."
3572
  msgstr ""
3573
 
3574
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:54
3616
  msgstr ""
3617
 
3618
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:102
3619
+ msgid ""
3620
+ "Check this if you will like customers to be prevented from using the free "
3621
+ "trial of a plan multiple times."
3622
  msgstr ""
3623
 
3624
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:106
3626
  msgstr ""
3627
 
3628
  #: src/Admin/SettingsPages/Membership/PaymentSettings.php:108
3629
+ msgid ""
3630
+ "Label for the \"Agree to Terms\" checkbox where \"[terms]\" is a link to the "
3631
+ "%sterms and condition page%s"
3632
  msgstr ""
3633
 
3634
  #: src/Admin/SettingsPages/Membership/PlanIntegrationsMetabox.php:64
3793
  msgstr ""
3794
 
3795
  #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:191
3796
+ msgid ""
3797
+ "%1$sNote%2$s - Be careful modifying details here. For example, changing the "
3798
+ "gateway subscription ID can result in renewals not being processed. While "
3799
+ "changing the expiration date will not affect when renewal payments are "
3800
+ "processed because your payment processor determines when."
3801
  msgstr ""
3802
 
3803
  #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:212
3834
  msgstr ""
3835
 
3836
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:54
3837
+ msgid ""
3838
+ "%1$sDisclaimer %2$s- By using this feature, you've agreed that the use of "
3839
+ "this feature cannot be considered as tax advice. We recommend consulting a "
3840
+ "local tax professional for tax compliance or if you have any tax specific "
3841
+ "questions."
3842
  msgstr ""
3843
 
3844
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:62
3850
  msgstr ""
3851
 
3852
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:64
3853
+ msgid ""
3854
+ "With taxes enabled, customers will be taxed based on the rates you define, "
3855
+ "and are required to input their address on checkout so rates can be "
3856
+ "calculated accordingly."
3857
  msgstr ""
3858
 
3859
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:68
3881
  msgstr ""
3882
 
3883
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:83
3884
+ msgid ""
3885
+ "If \"Shop Base Address\" is selected, Tax will be calculated based on the "
3886
+ "location of your %sbusiness in Settings%s."
3887
  msgstr ""
3888
 
3889
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:89
3895
  msgstr ""
3896
 
3897
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:93
3898
+ msgid ""
3899
+ "When this is checked, VAT taxes will be calculated for any customers who are "
3900
+ "located in the European Union. The plugin comes with the current standard "
3901
+ "VAT rate for each EU country. You can change these as required in the Tax "
3902
+ "Rates section below."
3903
  msgstr ""
3904
 
3905
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:97
3911
  msgstr ""
3912
 
3913
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:99
3914
+ msgid ""
3915
+ "When this option is checked, the VAT number will not be validated by VIES "
3916
+ "online service."
3917
  msgstr ""
3918
 
3919
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:103
3921
  msgstr ""
3922
 
3923
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:104
3924
+ msgid ""
3925
+ "What should happen if a customer is from the same EU country as your "
3926
+ "business?."
3927
  msgstr ""
3928
 
3929
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:106
3962
  msgstr ""
3963
 
3964
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:122
3965
+ msgid ""
3966
+ "Add rates for each region you wish to collect tax in. Enter a percentage, "
3967
+ "such as 6.5 for 6.5%."
3968
  msgstr ""
3969
 
3970
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:127
3972
  msgstr ""
3973
 
3974
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:128
3975
+ msgid ""
3976
+ "Customers not in a specific rate will be charged this tax rate. Enter a "
3977
+ "percentage, such as 6.5 for 6.5%. "
3978
  msgstr ""
3979
 
3980
  #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:147
3995
  msgstr ""
3996
 
3997
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:24
3998
+ msgid ""
3999
+ "Enter a unique coupon code. Leave empty to generate a code for you on form "
4000
+ "submission."
4001
  msgstr ""
4002
 
4003
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:29
4004
+ #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:12
4005
  #: src/Membership/PaymentMethods/AbstractPaymentMethod.php:221
4006
  #: src/Themes/DragDrop/AbstractBuildScratch.php:69
4007
  #: src/Themes/DragDrop/AbstractBuildScratch.php:409
4013
  msgstr ""
4014
 
4015
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:45
4016
+ msgid ""
4017
+ "Selecting \"One-time\" applies the coupon discount only to the first payment "
4018
+ "while \"Recurring\" applies the discount to all payments."
4019
  msgstr ""
4020
 
4021
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:52
4035
  msgstr ""
4036
 
4037
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:72
4038
+ msgid ""
4039
+ "Select membership plans this coupon can only be applied to. Leave blank for "
4040
+ "all plans."
4041
  msgstr ""
4042
 
4043
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:80
4044
+ msgid ""
4045
+ "Enter the date that this coupon will be valid from. Leave blank for no start "
4046
+ "date. (UTC %s)"
4047
  msgstr ""
4048
 
4049
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:90
4050
+ msgid ""
4051
+ "Enter the date that this coupon will expire on. Leave blank for no end date. "
4052
+ "(UTC %s)"
4053
  msgstr ""
4054
 
4055
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:98
4057
  msgstr ""
4058
 
4059
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:99
4060
+ msgid ""
4061
+ "Limit the total amount of redemptions for this coupon. Leave blank for "
4062
+ "unlimited."
4063
  msgstr ""
4064
 
4065
  #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:115
4088
  msgstr ""
4089
 
4090
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:44
4091
+ msgid ""
4092
+ "A description of this plan. This will be displayed on the checkout page."
4093
  msgstr ""
4094
 
4095
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:49
4098
  msgstr ""
4099
 
4100
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:50
4101
+ msgid ""
4102
+ "Enter an optional note or special instructions to send the customer after "
4103
+ "purchase. These will be added to the order receipt."
4104
  msgstr ""
4105
 
4106
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:56
4108
  msgstr ""
4109
 
4110
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:57
4111
+ msgid ""
4112
+ "Select the user role to associate with this membership plan. Users that "
4113
+ "subscribe to this plan will be assigned this user role."
4114
  msgstr ""
4115
 
4116
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:63
4130
  msgstr ""
4131
 
4132
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:87
4133
+ msgid ""
4134
+ "The total number of recurring billing cycles including the trial period (if "
4135
+ "applicable). Keep in mind that once a member has completed the last "
4136
+ "payment, the subscription will not expire — essentially giving them lifetime "
4137
+ "access."
4138
  msgstr ""
4139
 
4140
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:92
4151
  msgstr ""
4152
 
4153
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:100
4154
+ msgid ""
4155
+ "Allow members free access for a specified duration of time before charging "
4156
+ "them."
4157
  msgstr ""
4158
 
4159
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:108
4170
  msgstr ""
4171
 
4172
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:121
4173
+ msgid ""
4174
+ "Set to 0 for unlimited re-downloads. Leave blank to use %sglobal setting%s"
4175
  msgstr ""
4176
 
4177
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:131
4178
+ msgid ""
4179
+ "Enter the number of days before a download link expires. Set to 0 for no "
4180
+ "expiration. Leave blank to use %sglobal setting%s."
4181
  msgstr ""
4182
 
4183
  #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:142
4251
  msgstr ""
4252
 
4253
  #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:11
4254
+ msgid ""
4255
+ "Add, remove and re-order account information fields displayed on the "
4256
+ "checkout page."
4257
  msgstr ""
4258
 
4259
  #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:18
4272
  msgstr ""
4273
 
4274
  #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:35
4275
+ msgid ""
4276
+ "Add, remove and re-order billing address fields displayed on the checkout "
4277
+ "page."
4278
  msgstr ""
4279
 
4280
  #: src/Admin/SettingsPages/Membership/views/coupons-page-sidebar.php:18
4401
  msgid "Action"
4402
  msgstr ""
4403
 
4404
+ #: src/Admin/SettingsPages/Membership/views/orders/digital-products-metabox.php:31
4405
  #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:65
4406
  #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:218
4407
  msgid "Download"
4439
  msgstr ""
4440
 
4441
  #. translators: 1: date 2: time
 
4442
  #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:46
4443
  msgid "Paid on %1$s @ %2$s"
4444
  msgstr ""
4445
 
4446
  #. translators: %s: IP address
 
4447
  #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:55
4448
  msgid "Customer IP: %s"
4449
  msgstr ""
4526
  msgid "Subscription ID"
4527
  msgstr ""
4528
 
4529
+ #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:10
4530
  msgid "Method"
4531
  msgstr ""
4532
 
4533
+ #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:11
4534
  msgid "Enabled"
4535
  msgstr ""
4536
 
4537
+ #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:13
4538
  msgid "Subscription Support"
4539
  msgstr ""
4540
 
4541
+ #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:44
4542
+ #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:88
4543
  msgid "Configure"
4544
  msgstr ""
4545
 
4546
+ #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:53
4547
+ msgid ""
4548
+ "Wish to accept payments and sell memberships via PayPal? %supgrade to premium"
4549
+ "%s."
4550
+ msgstr ""
4551
+
4552
+ #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:57
4553
+ msgid ""
4554
+ "%sUpgrade to premium%s to accept one-time and recurring payments via iDEAL, "
4555
+ "Credit Card, Apple Pay, Klarna, Bancontact, in3 etc with Mollie."
4556
  msgstr ""
4557
 
4558
  #: src/Admin/SettingsPages/Membership/views/plans-page-sidebar.php:18
4618
  msgstr ""
4619
 
4620
  #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:133
4621
+ #: src/Membership/Models/Subscription/SubscriptionEntity.php:370
4622
  msgid "Lifetime"
4623
  msgstr ""
4624
 
4680
  msgstr ""
4681
 
4682
  #: src/AdminBarDashboardAccess/include.settings-page.php:47
4683
+ msgid ""
4684
+ "Select the user roles that the admin bar will be disabled for. It will be "
4685
+ "disabled for everyone except admins if none is checked."
4686
  msgstr ""
4687
 
4688
  #: src/AdminBarDashboardAccess/include.settings-page.php:63
4699
  msgstr ""
4700
 
4701
  #: src/AdminBarDashboardAccess/include.settings-page.php:91
4702
+ msgid ""
4703
+ "Select the user roles that dashboard access will be disabled for. It will be "
4704
+ "disabled for everyone except admins if none is checked."
4705
  msgstr ""
4706
 
4707
  #: src/AdminBarDashboardAccess/include.settings-page.php:97
4709
  msgstr ""
4710
 
4711
  #: src/AdminBarDashboardAccess/include.settings-page.php:102
4712
+ msgid ""
4713
+ "Enter URL to redirect users to without dashboard access. If empty, users "
4714
+ "will be redirected to website homepage."
4715
  msgstr ""
4716
 
4717
  #: src/Classes/AdminNotices.php:89
4718
+ msgid ""
4719
+ "<strong>Important:</strong> No real payment is being processed because "
4720
+ "ProfilePress is in test mode. Go to <a href=\"%s\">Payment method settings</"
4721
+ "a> to disable test mode."
4722
  msgstr ""
4723
 
4724
  #: src/Classes/AdminNotices.php:120
4725
+ msgid ""
4726
+ "Hey, I noticed you have been using ProfilePress for at least 7 days now - "
4727
+ "that's awesome! Could you please do us a BIG favor and give it a %1$s5-star "
4728
+ "rating on WordPress?%2$s This will help us spread the word and boost our "
4729
+ "motivation - thanks!"
4730
  msgstr ""
4731
 
4732
  #: src/Classes/AdminNotices.php:124
4742
  msgstr ""
4743
 
4744
  #: src/Classes/AdminNotices.php:149
4745
+ msgid ""
4746
+ "Your site permalink structure is currently set to <code>Plain</code>. This "
4747
+ "setting is not compatible with ProfilePress. Change your permalink structure "
4748
+ "to any other setting to avoid issues. We recommend <code>Post name</code>.</"
4749
+ "p><p>%s"
4750
  msgstr ""
4751
 
4752
  #: src/Classes/AdminNotices.php:171
4753
+ msgid ""
4754
+ "Important news! %1$sWP User Avatar%2$s is now %1$sProfilePress%2$s. We added "
4755
+ "new features such as member directories, frontend user registration & login "
4756
+ "forms, user profile, content protection and more. %3$sCheck Them Out%5$s | "
4757
+ "%4$sDismiss Notice%5$s"
4758
  msgstr ""
4759
 
4760
  #: src/Classes/AdminNotices.php:190
4761
+ msgid ""
4762
+ "ProfilePress needs to create several pages (Checkout, Order Confirmation, "
4763
+ "User Profile, My Account, Registration, Login, Member Directory) to function "
4764
+ "correctly."
4765
  msgstr ""
4766
 
4767
  #: src/Classes/AdminNotices.php:193
4773
  msgstr ""
4774
 
4775
  #: src/Classes/AdminNotices.php:221
4776
+ msgid ""
4777
+ "User registration currently disabled. To enable, Go to <a href=\"%1$s"
4778
+ "\">Settings -> General</a>, and under Membership, check \"Anyone can register"
4779
+ "\""
4780
  msgstr ""
4781
 
4782
  #: src/Classes/AjaxHandler.php:46
4783
+ msgid ""
4784
+ "Melange is a way to combine login, registration & password reset forms in a "
4785
+ "single form."
4786
  msgstr ""
4787
 
4788
  #: src/Classes/AjaxHandler.php:50
4860
  msgid "Something unexpected happened. Please try again"
4861
  msgstr ""
4862
 
4863
+ #: src/Classes/ExtensionManager.php:60
4864
  msgid "PayPal"
4865
  msgstr ""
4866
 
4867
+ #: src/Classes/ExtensionManager.php:62
4868
  msgid "Accept payments and sell subscriptions via PayPal."
4869
  msgstr ""
4870
 
4871
  #: src/Classes/ExtensionManager.php:66
4872
+ msgid "Mollie"
4873
+ msgstr ""
4874
+
4875
+ #: src/Classes/ExtensionManager.php:68
4876
+ msgid "Accept payments and sell subscriptions via Mollie."
4877
  msgstr ""
4878
 
4879
+ #: src/Classes/ExtensionManager.php:74
4880
+ msgid ""
4881
+ "Collect unlimited additional information from users besides the standard "
4882
+ "profile data."
4883
+ msgstr ""
4884
+
4885
+ #: src/Classes/ExtensionManager.php:78
4886
  msgid "Email Confirmation"
4887
  msgstr ""
4888
 
4889
+ #: src/Classes/ExtensionManager.php:80
4890
+ msgid ""
4891
+ "Ensure newly registered users confirm their email addresses before they can "
4892
+ "log in."
4893
  msgstr ""
4894
 
4895
+ #: src/Classes/ExtensionManager.php:84
4896
  msgid "Two-Factor Authentication (2FA)"
4897
  msgstr ""
4898
 
4899
+ #: src/Classes/ExtensionManager.php:86
4900
+ msgid ""
4901
+ "Adds an additional layer of security to users accounts by requiring more "
4902
+ "than just a password to log in."
4903
  msgstr ""
4904
 
4905
+ #: src/Classes/ExtensionManager.php:90
4906
  msgid "User Moderation"
4907
  msgstr ""
4908
 
4909
+ #: src/Classes/ExtensionManager.php:92
4910
+ msgid ""
4911
+ "Decide whether to approve newly registered users or not. You can also block "
4912
+ "and unblock users at any time."
4913
  msgstr ""
4914
 
4915
+ #: src/Classes/ExtensionManager.php:96
4916
  msgid "Social Login"
4917
  msgstr ""
4918
 
4919
+ #: src/Classes/ExtensionManager.php:98
4920
+ msgid ""
4921
+ "Let users easily register/login to your site using their social network "
4922
+ "accounts (Facebook, Twitter, Google, LinkedIn, GitHub, VK)."
4923
  msgstr ""
4924
 
4925
+ #: src/Classes/ExtensionManager.php:104
4926
+ msgid ""
4927
+ "Let users log in to your website via a one-time URL sent to their email "
4928
+ "addresses."
4929
  msgstr ""
4930
 
4931
+ #: src/Classes/ExtensionManager.php:108
4932
  msgid "Google reCAPTCHA"
4933
  msgstr ""
4934
 
4935
+ #: src/Classes/ExtensionManager.php:110
4936
  msgid "Protect your forms against spam and bot attacks."
4937
  msgstr ""
4938
 
4939
+ #: src/Classes/ExtensionManager.php:114
4940
  msgid "Join BuddyPress Groups"
4941
  msgstr ""
4942
 
4943
+ #: src/Classes/ExtensionManager.php:116
4944
  msgid "Let users select the BuddyPress groups to join during registration."
4945
  msgstr ""
4946
 
4947
+ #: src/Classes/ExtensionManager.php:119 src/Classes/ExtensionManager.php:128
4948
  msgid "BuddyPress plugin is not active"
4949
  msgstr ""
4950
 
4951
+ #: src/Classes/ExtensionManager.php:123
4952
  msgid "BuddyPress Profile Sync"
4953
  msgstr ""
4954
 
4955
+ #: src/Classes/ExtensionManager.php:125
4956
+ msgid ""
4957
+ "It provides a 2-way synchronization between WordPress profile fields and "
4958
+ "BuddyPress extended profile."
4959
  msgstr ""
4960
 
4961
+ #: src/Classes/ExtensionManager.php:132
4962
  msgid "Site Creation"
4963
  msgstr ""
4964
 
4965
+ #: src/Classes/ExtensionManager.php:134
4966
+ msgid ""
4967
+ "Allow users to create new sites on a multisite network via a registration "
4968
+ "form powered by ProfilePress."
4969
  msgstr ""
4970
 
4971
+ #: src/Classes/ExtensionManager.php:137
4972
  msgid "This is not a multisite installation"
4973
  msgstr ""
4974
 
4975
+ #: src/Classes/ExtensionManager.php:141
4976
  msgid "WooCommerce"
4977
  msgstr ""
4978
 
4979
+ #: src/Classes/ExtensionManager.php:143
4980
+ msgid ""
4981
+ "It allows you to manage WooCommerce billing and shipping fields, replaces "
4982
+ "WooCommerce login and edit account forms in checkout and “My Account” pages "
4983
+ "with that of ProfilePress."
4984
  msgstr ""
4985
 
4986
+ #: src/Classes/ExtensionManager.php:146
4987
  msgid "WooCommerce is not active"
4988
  msgstr ""
4989
 
4990
+ #: src/Classes/ExtensionManager.php:150
4991
  msgid "Mailchimp"
4992
  msgstr ""
4993
 
4994
+ #: src/Classes/ExtensionManager.php:152
4995
+ msgid ""
4996
+ "Subscribe members to your Mailchimp audiences when they register and "
4997
+ "automatically sync profile changes with Mailchimp."
4998
  msgstr ""
4999
 
5000
+ #: src/Classes/ExtensionManager.php:156
5001
  msgid "Campaign Monitor"
5002
  msgstr ""
5003
 
5004
+ #: src/Classes/ExtensionManager.php:158
5005
+ msgid ""
5006
+ "Subscribe members to your Campaign Monitor lists when they register and "
5007
+ "automatically sync profile changes with Campaign Monitor."
5008
  msgstr ""
5009
 
5010
+ #: src/Classes/ExtensionManager.php:162
5011
  msgid "Akismet"
5012
  msgstr ""
5013
 
5014
+ #: src/Classes/ExtensionManager.php:164
5015
+ msgid ""
5016
+ "Block spam and bot user registrations with Akismet and keep your membership "
5017
+ "site safe and secured."
5018
  msgstr ""
5019
 
5020
+ #: src/Classes/ExtensionManager.php:168
5021
  msgid "Polylang"
5022
  msgstr ""
5023
 
5024
+ #: src/Classes/ExtensionManager.php:170
5025
+ msgid ""
5026
+ "It allows you to build multilingual login, registration, password reset and "
5027
+ "edit profile forms."
5028
  msgstr ""
5029
 
5030
+ #: src/Classes/ExtensionManager.php:173
5031
  msgid "Polylang plugin is not active"
5032
  msgstr ""
5033
 
5052
  msgstr ""
5053
 
5054
  #: src/Classes/FileUploader.php:158
5055
+ msgid ""
5056
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
5057
+ "the HTML form"
5058
  msgstr ""
5059
 
5060
  #: src/Classes/FileUploader.php:161
5111
  msgstr ""
5112
 
5113
  #: src/Classes/Miscellaneous.php:65
5114
+ msgid ""
5115
+ "During user registration and checkout, we'll ask you to provide information, "
5116
+ "including your name, billing address, email address, phone number, and "
5117
+ "optional account information like username and password."
5118
  msgstr ""
5119
 
5120
  #: src/Classes/Miscellaneous.php:66
5121
+ msgid ""
5122
+ "We may also collect your credit card number, expiration date, and security "
5123
+ "code and pass them to our payment gateway to process your purchase."
5124
  msgstr ""
5125
 
5126
  #: src/Classes/Miscellaneous.php:68
5160
  msgstr ""
5161
 
5162
  #: src/Classes/Miscellaneous.php:81
5163
+ msgid ""
5164
+ "We generally store information about you for as long as we need the "
5165
+ "information for the purposes we collect and use it, and we are not legally "
5166
+ "required to continue to keep it. For example, we will store your order "
5167
+ "information for tax and accounting purposes."
5168
  msgstr ""
5169
 
5170
  #: src/Classes/Miscellaneous.php:82
5171
+ msgid ""
5172
+ "We'll also use cookies to keep track of cart contents while you're browsing "
5173
+ "our site."
5174
  msgstr ""
5175
 
5176
  #: src/Classes/Miscellaneous.php:101
5192
  msgstr ""
5193
 
5194
  #: src/Classes/PasswordReset.php:112
5195
+ msgid ""
5196
+ "<strong>ERROR</strong>: There is no user registered with that email address."
5197
  msgstr ""
5198
 
5199
  #: src/Classes/PasswordReset.php:120
5239
  msgstr ""
5240
 
5241
  #: src/Classes/RegistrationAuth.php:231
5242
+ msgid ""
5243
+ "<strong>ERROR</strong>: This username is invalid because it uses illegal "
5244
+ "characters. Please enter a valid username."
5245
  msgstr ""
5246
 
5247
  #: src/Classes/RegistrationAuth.php:235
5326
  msgid "[Your Password]"
5327
  msgstr ""
5328
 
5329
+ #: src/ContentProtection/ConditionalBlocksIntegration.php:42
5330
+ msgid ""
5331
+ "The selected block will only be visible to users with an active subscription "
5332
+ "to the chosen membership plans below."
5333
+ msgstr ""
5334
+
5335
  #: src/ContentProtection/ContentConditions.php:111
5336
  msgid "or"
5337
  msgstr ""
5554
  msgstr ""
5555
 
5556
  #: src/ContentProtection/views/include.elementor-protection.php:5
5557
+ msgid ""
5558
+ "Want to control the visibility of Elementor sections, containers and widgets "
5559
+ "based on user roles, logged-in status and membership plans? %sLearn how to%s"
5560
  msgstr ""
5561
 
5562
  #: src/ContentProtection/views/include.menu-protection.php:5
5563
+ msgid ""
5564
+ "Want to control the visibility of WordPress navigation menus based on user "
5565
+ "roles, logged-in status and membership plans? %sLearn how to%s"
5566
  msgstr ""
5567
 
5568
  #: src/ContentProtection/views/include.shortcode-doc-sidebar.php:5
5569
+ msgid ""
5570
+ "To restrict contents in a post or page, we provide the below shortcode. "
5571
+ "%sLearn more%s"
5572
  msgstr ""
5573
 
5574
  #: src/ContentProtection/views/include.shortcode-doc-sidebar.php:11
5575
  msgid "Content to restrict will go here"
5576
  msgstr ""
5577
 
5578
+ #: src/ContentProtection/views/include.shortcode-doc-sidebar.php:17
5579
+ msgid "Want to restrict contents in the block editor? %sLearn how to%s"
5580
+ msgstr ""
5581
+
5582
  #: src/ContentProtection/views/include.view-sidebar.php:18
5583
  msgid "Save Rule"
5584
  msgstr ""
5664
  msgstr ""
5665
 
5666
  #. translators: %s: User login.
 
5667
  #: src/Functions/GlobalFunctions.php:796
5668
  msgid "Username: %s"
5669
  msgstr ""
5673
  msgstr ""
5674
 
5675
  #. translators: Login details notification email subject. %s: Site title.
 
5676
  #: src/Functions/GlobalFunctions.php:805
5677
  msgid "[%s] Login Details"
5678
  msgstr ""
5679
 
5680
  #: src/Functions/GlobalFunctions.php:1165
5681
+ msgid ""
5682
+ "It must be unique for each field, not a reserve text, in lowercase letters "
5683
+ "only with an underscore ( _ ) separating words e.g job_title"
5684
  msgstr ""
5685
 
5686
  #: src/Functions/GlobalFunctions.php:1277
6372
  msgid "Zambian kwacha"
6373
  msgstr ""
6374
 
6375
+ #: src/Functions/PPressBFnote.php:83
6376
+ msgid ""
6377
+ "%1$sHuge Black Friday Sale%2$s: Get 25%% off your ProfilePress plugin "
6378
+ "upgrade today with the coupon %3$sBFCM%4$s"
6379
  msgstr ""
6380
 
6381
+ #: src/Functions/PPressBFnote.php:92
6382
  msgid "Save 25% Now!"
6383
  msgstr ""
6384
 
6385
+ #: src/Functions/PPressBFnote.php:100
6386
  msgid "Dismiss this notice"
6387
  msgstr ""
6388
 
14933
  msgstr ""
14934
 
14935
  #: src/Membership/Controllers/CheckoutController.php:210
14936
+ msgid ""
14937
+ "Please read and accept the terms and conditions to proceed with your order."
14938
  msgstr ""
14939
 
14940
  #: src/Membership/Controllers/CheckoutController.php:227
14958
  msgstr ""
14959
 
14960
  #: src/Membership/Controllers/CheckoutTrait.php:281
14961
+ msgid ""
14962
+ "Email already used. Login or use a different email to complete your order"
14963
  msgstr ""
14964
 
14965
  #: src/Membership/Controllers/CheckoutTrait.php:301
14971
  msgstr ""
14972
 
14973
  #: src/Membership/DigitalProducts/DownloadHandler.php:62
14974
+ msgid ""
14975
+ "You must have an active subscription to %s in order to download this file."
14976
  msgstr ""
14977
 
14978
  #: src/Membership/DigitalProducts/DownloadHandler.php:65
15016
  msgstr ""
15017
 
15018
  #. translators: 1: uploads directory URL 2: documentation URL
 
15019
  #: src/Membership/DigitalProducts/UploadHandler.php:285
15020
+ msgid ""
15021
+ "Your store's uploads directory is <a href=\"%1$s\">browsable via the web</"
15022
+ "a>. We strongly recommend <a href=\"%2$s\">configuring your web server to "
15023
+ "prevent directory indexing</a>."
15024
  msgstr ""
15025
 
15026
  #: src/Membership/Emails/EmailDataTrait.php:10
15027
+ #: src/Membership/Emails/EmailDataTrait.php:52
15028
  msgid "Email address of the customer."
15029
  msgstr ""
15030
 
15031
  #: src/Membership/Emails/EmailDataTrait.php:11
15032
+ #: src/Membership/Emails/EmailDataTrait.php:53
15033
  msgid "First name of the customer."
15034
  msgstr ""
15035
 
15036
  #: src/Membership/Emails/EmailDataTrait.php:12
15037
+ #: src/Membership/Emails/EmailDataTrait.php:54
15038
  msgid "Last name of the customer."
15039
  msgstr ""
15040
 
15041
+ #: src/Membership/Emails/EmailDataTrait.php:14
15042
+ msgid ""
15043
+ "User custom profile field information. Replace \"field_key\" with the "
15044
+ "%scustom field key%s or usermeta key."
15045
+ msgstr ""
15046
+
15047
+ #: src/Membership/Emails/EmailDataTrait.php:17
15048
+ msgid "ID of the customer."
15049
+ msgstr ""
15050
+
15051
+ #: src/Membership/Emails/EmailDataTrait.php:18
15052
  msgid "Customer's billing address."
15053
  msgstr ""
15054
 
15055
+ #: src/Membership/Emails/EmailDataTrait.php:19
15056
  msgid "Customer's phone number."
15057
  msgstr ""
15058
 
15059
+ #: src/Membership/Emails/EmailDataTrait.php:20
15060
  msgid "Customer's Tax ID."
15061
  msgstr ""
15062
 
15063
+ #: src/Membership/Emails/EmailDataTrait.php:21
15064
  msgid "Order ID."
15065
  msgstr ""
15066
 
15067
+ #: src/Membership/Emails/EmailDataTrait.php:22
15068
  msgid "URL to view and download order's digital products."
15069
  msgstr ""
15070
 
15071
+ #: src/Membership/Emails/EmailDataTrait.php:23
15072
  msgid "URL to view order."
15073
  msgstr ""
15074
 
15075
+ #: src/Membership/Emails/EmailDataTrait.php:24
15076
  msgid "Name or title of plan ordered."
15077
  msgstr ""
15078
 
15079
+ #: src/Membership/Emails/EmailDataTrait.php:25
15080
  msgid "Order price before taxes."
15081
  msgstr ""
15082
 
15083
+ #: src/Membership/Emails/EmailDataTrait.php:26
15084
  msgid "The taxed amount of the order."
15085
  msgstr ""
15086
 
15087
+ #: src/Membership/Emails/EmailDataTrait.php:27
15088
  msgid "Total order amount that was paid."
15089
  msgstr ""
15090
 
15091
+ #: src/Membership/Emails/EmailDataTrait.php:28
15092
  msgid "Order date."
15093
  msgstr ""
15094
 
15095
+ #: src/Membership/Emails/EmailDataTrait.php:29
15096
  msgid "Order payment method."
15097
  msgstr ""
15098
 
15099
+ #: src/Membership/Emails/EmailDataTrait.php:30
15100
  msgid "The purchase note of ordered plan."
15101
  msgstr ""
15102
 
15103
+ #: src/Membership/Emails/EmailDataTrait.php:31
15104
+ #: src/Membership/Emails/EmailDataTrait.php:61
15105
  msgid "Name or title of this website."
15106
  msgstr ""
15107
 
15108
+ #: src/Membership/Emails/EmailDataTrait.php:33
15109
  msgid "Your business name as defined in %sSettings%s."
15110
  msgstr ""
15111
 
15112
+ #: src/Membership/Emails/EmailDataTrait.php:37
15113
  msgid "Your business address as defined in %sSettings%s."
15114
  msgstr ""
15115
 
15116
+ #: src/Membership/Emails/EmailDataTrait.php:41
15117
  msgid "Your business Tax ID as defined in %sSettings%s."
15118
  msgstr ""
15119
 
15120
+ #: src/Membership/Emails/EmailDataTrait.php:55
15121
  msgid "Subscription ID."
15122
  msgstr ""
15123
 
15124
+ #: src/Membership/Emails/EmailDataTrait.php:56
15125
  msgid "URL to view subscription."
15126
  msgstr ""
15127
 
15128
+ #: src/Membership/Emails/EmailDataTrait.php:57
15129
  msgid "URL to re-subscribe to the subscription plan."
15130
  msgstr ""
15131
 
15132
+ #: src/Membership/Emails/EmailDataTrait.php:58
15133
  msgid "Name or title of subscription plan."
15134
  msgstr ""
15135
 
15136
+ #: src/Membership/Emails/EmailDataTrait.php:59
15137
  msgid "The recurring amount of the subscription."
15138
  msgstr ""
15139
 
15140
+ #: src/Membership/Emails/EmailDataTrait.php:60
15141
  msgid "The expiration or renewal date for the subscription."
15142
  msgstr ""
15143
 
15145
  msgid "No Connected User"
15146
  msgstr ""
15147
 
15148
+ #: src/Membership/Models/Order/OrderEntity.php:225
15149
  msgid "Payment %s has been fully refunded in %s."
15150
  msgstr ""
15151
 
15152
+ #: src/Membership/Models/Order/OrderEntity.php:245
15153
+ #: src/Membership/Models/Subscription/SubscriptionEntity.php:512
15154
  msgid "payment method"
15155
  msgstr ""
15156
 
15157
+ #: src/Membership/Models/Order/OrderEntity.php:248
15158
  msgid "Order changed from %s to %s by %s"
15159
  msgstr ""
15160
 
15221
  msgid "One-time purchase"
15222
  msgstr ""
15223
 
15224
+ #: src/Membership/Models/Subscription/SubscriptionEntity.php:515
15225
  msgid "Subscription changed from %s to %s by %s"
15226
  msgstr ""
15227
 
15266
  msgstr ""
15267
 
15268
  #. translators: %s - Payment Gateway Title
 
15269
  #: src/Membership/PaymentMethods/AbstractPaymentMethod.php:213
15270
  msgid "Check to Enable"
15271
  msgstr ""
15275
  msgstr ""
15276
 
15277
  #: src/Membership/PaymentMethods/StoreGateway.php:12
15278
+ msgid ""
15279
+ "A payment method for manually creating orders and processing free orders. No "
15280
+ "money is actually collected."
15281
  msgstr ""
15282
 
15283
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:102
15298
 
15299
  #. translators: %1$s Opening strong tag, do not translate. %2$s Closing anchor
15300
  #. tag, do not translate.
 
15301
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:156
15302
+ msgid ""
15303
+ "You are currently connected to a %1$stemporary%2$s Stripe account, which can "
15304
+ "only be used for testing purposes."
15305
  msgstr ""
15306
 
15307
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:174
15309
  msgstr ""
15310
 
15311
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:185
15312
+ msgid ""
15313
+ "Invalid Publishable Key. Publishable Key should begin with <code>pk_</code>."
15314
  msgstr ""
15315
 
15316
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:197
15317
+ msgid ""
15318
+ "Invalid Publishable Key for current mode. Publishable Key should begin with "
15319
+ "<code>pk_test_</code>."
15320
  msgstr ""
15321
 
15322
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:208
15323
+ msgid ""
15324
+ "Invalid Secret Key for current mode. Secret Key should begin with "
15325
+ "<code>sk_test_</code>."
15326
  msgstr ""
15327
 
15328
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:219
15329
+ msgid ""
15330
+ "Invalid Publishable Key for current mode. Publishable Key should begin with "
15331
+ "<code>pk_live_</code>."
15332
  msgstr ""
15333
 
15334
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:230
15335
+ msgid ""
15336
+ "Invalid Secret Key for current mode. Secret Key should begin with "
15337
+ "<code>sk_live_</code>."
15338
  msgstr ""
15339
 
15340
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:242
15341
+ msgid ""
15342
+ "If you have manually modified these values after connecting your account, "
15343
+ "please reconnect below or update your API keys manually."
15344
  msgstr ""
15345
 
15346
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:280
15348
  msgstr ""
15349
 
15350
  #: src/Membership/PaymentMethods/Stripe/Helpers.php:287
15351
+ msgid ""
15352
+ "Pay as you go pricing: 2%% per-transaction fee + Stripe fees. Remove the 2%% "
15353
+ "fee by %supgrading to premium%s."
15354
  msgstr ""
15355
 
15356
  #: src/Membership/PaymentMethods/Stripe/PaymentHelpers.php:54
15366
  msgstr ""
15367
 
15368
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:37
15369
+ msgid ""
15370
+ "NOTE: The free version of ProfilePress includes an additional 2%% fee for "
15371
+ "processing payments. Remove the fee by %supgrading to premium%s."
15372
  msgstr ""
15373
 
15374
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:75
15384
  msgstr ""
15385
 
15386
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:183
15387
+ msgid ""
15388
+ "Your Stripe account is connected in %1$s mode. %2$sDisconnect this account"
15389
+ "%3$s."
15390
  msgstr ""
15391
 
15392
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:198
15394
  msgstr ""
15395
 
15396
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:205
15397
+ msgid ""
15398
+ "Connect now to start accepting payments instantly. This includes an "
15399
+ "additional 2%% payment processing fee. Remove the fee by %supgrading to "
15400
+ "premium%s."
15401
  msgstr ""
15402
 
15403
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:223
15405
  msgstr ""
15406
 
15407
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:226
15408
+ msgid ""
15409
+ "In order for Stripe to function well, ensure the webhook endpoint %1$s is "
15410
+ "present in the %2$sStripe webhooks settings%3$s. Learn more from our "
15411
+ "%4$swebhook documentation%3$s"
15412
  msgstr ""
15413
 
15414
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:235
15424
  msgstr ""
15425
 
15426
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:240
15427
+ msgid ""
15428
+ "Retrieve your %3$s \"Signing secret\" from your %1$sStripe webhook settings"
15429
+ "%2$s. Select the endpoint then click \"Reveal\"."
15430
  msgstr ""
15431
 
15432
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:251
15434
  msgstr ""
15435
 
15436
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:254
15437
+ msgid ""
15438
+ "The text that appears on your customer's bank or credit card statements. "
15439
+ "Choose something they will recognise to help prevent disputes, typically "
15440
+ "your business name. Must be limited to 22 characters, no special characters "
15441
+ "%1$s<%2$s, %1$s>%2$s, %1$s'%2$s, or %1$s\"%2$s."
15442
  msgstr ""
15443
 
15444
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:260
15454
  msgstr ""
15455
 
15456
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:266
15457
+ msgid ""
15458
+ "Select how payment information will be collected. Could be right on your "
15459
+ "site with Stripe card fields or off-site through Stripe hosted payment page."
15460
  msgstr ""
15461
 
15462
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:270
15468
  msgstr ""
15469
 
15470
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:273
15471
+ msgid ""
15472
+ "If you do not want the billing address fields displayed on the checkout "
15473
+ "page, use this setting to remove it."
15474
  msgstr ""
15475
 
15476
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:277
15478
  msgstr ""
15479
 
15480
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:279
15481
+ msgid ""
15482
+ "Only load Stripe.com hosted assets on pages that specifically utilize Stripe "
15483
+ "functionality."
15484
  msgstr ""
15485
 
15486
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:281
15487
+ msgid ""
15488
+ "Stripe advises that their Javascript library be loaded on every page to take "
15489
+ "advantage of their advanced fraud detection rules. If you are not concerned "
15490
+ "with this, enable this setting to only load the Javascript when necessary. "
15491
+ "%sLearn more%s"
15492
  msgstr ""
15493
 
15494
  #: src/Membership/PaymentMethods/Stripe/Stripe.php:300
15565
  msgstr ""
15566
 
15567
  #: src/Membership/Services/EUVATChecker/EuVatApiResponse.php:75
15568
+ msgid ""
15569
+ "We're having trouble checking your VAT number. Please try again or contact "
15570
+ "our support team."
15571
  msgstr ""
15572
 
15573
  #: src/Membership/Services/TaxService.php:23
15817
  #: src/ShortcodeParser/LoginFormTag.php:75
15818
  #: src/ShortcodeParser/PasswordResetTag.php:77
15819
  #: src/ShortcodeParser/RegistrationFormTag.php:79
15820
+ msgid ""
15821
+ "Form class not found. Please check if this ProfilePress form actually exist."
15822
  msgstr ""
15823
 
15824
  #: src/ShortcodeParser/FormProcessor.php:95
15830
  msgstr ""
15831
 
15832
  #: src/ShortcodeParser/FrontendProfileTag.php:88
15833
+ msgid ""
15834
+ "This content is available to members only. Please <a href=\"%1$s\">login</a> "
15835
+ "or <a href=\"%2$s\">register</a> to view this area."
15836
  msgstr ""
15837
 
15838
  #: src/ShortcodeParser/FrontendProfileTag.php:95
15840
  msgstr ""
15841
 
15842
  #: src/ShortcodeParser/FrontendProfileTag.php:133
15843
+ msgid ""
15844
+ "Form class not found. Please check if this user profile actually exist in "
15845
+ "ProfilePress."
15846
  msgstr ""
15847
 
15848
  #: src/ShortcodeParser/FrontendProfileTag.php:198
15859
  msgstr ""
15860
 
15861
  #: src/ShortcodeParser/MemberDirectoryTag.php:71
15862
+ msgid ""
15863
+ "Member directory class not found. Please check it actually exist in "
15864
+ "ProfilePress."
15865
  msgstr ""
15866
 
15867
  #: src/ShortcodeParser/MembershipShortcodes.php:49
15868
+ msgid ""
15869
+ "Your cart is currently empty. Click <a href=\"%s\">here</a> to get started."
15870
  msgstr ""
15871
 
15872
  #: src/ShortcodeParser/MembershipShortcodes.php:64
15873
+ msgid ""
15874
+ "It looks like you’re already subscribed to this plan. Please go to %syour "
15875
+ "account%s to manage your subscription."
15876
  msgstr ""
15877
 
15878
  #: src/ShortcodeParser/MembershipShortcodes.php:92
15918
  msgstr ""
15919
 
15920
  #: src/ShortcodeParser/MyAccount/billing-details.tmpl.php:43
15921
+ msgid ""
15922
+ "The following billing address will be used on the checkout page by default."
15923
  msgstr ""
15924
 
15925
  #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:11
15944
  msgstr ""
15945
 
15946
  #. translators: 1: user display name 2: logout url
 
15947
  #: src/ShortcodeParser/MyAccount/dashboard.tmpl.php:16
15948
  msgid "Hello %1$s (not %1$s? <a href=\"%2$s\">Log out</a>)"
15949
  msgstr ""
15950
 
15951
  #: src/ShortcodeParser/MyAccount/dashboard.tmpl.php:26
15952
+ msgid ""
15953
+ "From your account dashboard you can <a href=\"%1$s\">change your password</"
15954
+ "a> and <a href=\"%2$s\">edit your account details</a>."
15955
  msgstr ""
15956
 
15957
  #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:36
16072
  msgstr ""
16073
 
16074
  #: src/Themes/DragDrop/AbstractBuildScratch.php:105
16075
+ msgid ""
16076
+ "Check to enable visibility icon which when clicked, hides or shows a "
16077
+ "password."
16078
  msgstr ""
16079
 
16080
  #: src/Themes/DragDrop/AbstractBuildScratch.php:113
16345
  msgstr ""
16346
 
16347
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:143
16348
+ msgid ""
16349
+ "If you do not want to show all members, select the user roles to appear in "
16350
+ "this directory."
16351
  msgstr ""
16352
 
16353
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:151
16433
  msgstr ""
16434
 
16435
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:278
16436
+ msgid ""
16437
+ "Select custom fields that members can be filtered by. Only Select, Checkbox, "
16438
+ "Radio, Country and Date/Time fields are supported."
16439
  msgstr ""
16440
 
16441
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:289
16442
+ msgid ""
16443
+ "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon "
16444
+ "so you can enable search and filtering by custom fields."
16445
  msgstr ""
16446
 
16447
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:296
16527
  msgstr ""
16528
 
16529
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:72
16530
+ msgid ""
16531
+ "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon "
16532
+ "to display social profile icons of users."
16533
  msgstr ""
16534
 
16535
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:100
16577
  msgstr ""
16578
 
16579
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:112
16580
+ msgid ""
16581
+ "What to use as display name in profile header. Select \"Hide\" to hide it "
16582
+ "from showing."
16583
  msgstr ""
16584
 
16585
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:121
16587
  msgstr ""
16588
 
16589
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:132
16590
+ msgid ""
16591
+ "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon "
16592
+ "to display users social profiles."
16593
  msgstr ""
16594
 
16595
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:141
16637
  msgstr ""
16638
 
16639
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:309
16640
+ msgid ""
16641
+ "Your profile is looking a little empty. Why not <a href=\"%s\">add some "
16642
+ "information</a>?"
16643
  msgstr ""
16644
 
16645
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:349
16808
  msgstr ""
16809
 
16810
  #: src/Widgets/UserPanel.php:13
16811
+ msgid ""
16812
+ "Display currently logged in user's avatar and links to logout and edit the "
16813
+ "profile."
16814
  msgstr ""
16815
 
16816
  #: src/Widgets/UserPanel.php:29 src/Widgets/UserPanel.php:70
16894
  msgstr ""
16895
 
16896
  #. Translators: %s display name.
 
16897
  #: src/templates/checkout/form-login.php:32
16898
  msgid "Logged in as %s. Not you?"
16899
  msgstr ""
16903
  msgstr ""
16904
 
16905
  #: src/templates/checkout/form-payment-methods.php:24
16906
+ msgid ""
16907
+ "Payment processing is currently disabled because no payment method is active."
16908
  msgstr ""
16909
 
16910
  #: src/templates/checkout/form-payment-methods.php:34
16920
  msgstr ""
16921
 
16922
  #: src/templates/order-processing.php:3
16923
+ msgid ""
16924
+ "Your order is processing. This page will reload automatically in 8 seconds. "
16925
+ "If it does not, click <a href=\"%s\">here</a>."
16926
  msgstr ""
16927
+
16928
  #. Plugin Name of the plugin/theme
16929
  msgid "ProfilePress"
16930
  msgstr ""
16931
 
16932
+ #. #-#-#-#-# wp-user-avatar.pot (ProfilePress 4.3.0) #-#-#-#-#
16933
  #. Plugin URI of the plugin/theme
16934
+ #. #-#-#-#-# wp-user-avatar.pot (ProfilePress 4.3.0) #-#-#-#-#
16935
+ #. Author URI of the plugin/theme
16936
  msgid "https://profilepress.com"
16937
  msgstr ""
16938
 
16943
  #. Author of the plugin/theme
16944
  msgid "ProfilePress Membership Team"
16945
  msgstr ""
 
 
 
 
readme.txt CHANGED
@@ -1,20 +1,20 @@
1
  === Paid Membership, Ecommerce, User Registration, User Profile & Restrict Content Plugin – ProfilePress ===
2
  Contributors: properfraction, collizo4sky
3
  Donate link: https://profilepress.com/pricing/
4
- Tags: membership, ecommerce, user registration, user profile, stripe, paypal, login form, 2fa, two-factor authenticator, login, registration, password reset, members, users, profile, front-end profile, edit profile, avatar, profile picture
5
  Requires at least: 5.3
6
  Requires PHP: 7.1.8
7
  Tested up to: 6.0.2
8
- Stable tag: 4.2.0
9
  License: GPLv2 or later
10
 
11
- Paid membership plugin: accept payments, sell subscriptions & files, restrict content, user registration, login form, user profile & member directory.
12
 
13
  == Description ==
14
 
15
  = Modern Membership, Ecommerce, Digital Downloads, User Profile, Registration & Login Form Plugin =
16
 
17
- [ProfilePress](https://profilepress.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) is a simple yet powerful ecommerce and paid membership plugin for accepting one-time and recurring payments, selling subscriptions and digital products (downloadable files) via Stripe & PayPal, restrict content and control user access.
18
 
19
  ProfilePress lets you create beautiful user profiles, member directories, frontend login, and user registration forms, password reset and edit profile forms.
20
 
@@ -24,11 +24,11 @@ Our Drag-and-Drop form builder makes building forms easy. It is the perfect solu
24
 
25
  ### Excellent Features of ProfilePress
26
 
27
- ProfilePress ecommerce plugin is suited for selling non-physical goods, including online courses, paid memberships, subscriptions, selling services, selling event tickets, accepting donations, selling digital downloads, etc.
28
 
29
  = Multiple Payment Processors =
30
 
31
- Easily connect to Stripe & PayPal to collect payments. We are working on adding additional gateways (Mollie, Square, PayStack, RazorPay, Mercado Pago) in the future.
32
 
33
  = Powerful Payment Options =
34
 
@@ -69,7 +69,7 @@ Never start from scratch again. ProfilePress comes with several beautiful, custo
69
 
70
  ProfilePress gives you fine-grained control over what content your users can see based on your [protection rules](https://profilepress.com/article/adding-content-protection-rules/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) and [shortcodes](https://profilepress.com/article/wordpress-content-restriction-shortcodes/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion). You can restrict content including pages, child pages, posts, custom post types, categories, tags and custom taxonomies based on their membership plans, user roles, usernames, and logged-in status.
71
 
72
- You can also control the visibility of [navigation menus](https://profilepress.com/article/wordpress-navigation-menu-restriction/) and widgets, modules & contents in [Elementor](https://profilepress.com/article/restrict-elementor-sections-widgets/) & [Beaver Builder](https://profilepress.com/article/restrict-content-beaver-builder-visibility/).
73
 
74
  = Detailed Ecommerce Reports =
75
 
@@ -90,7 +90,8 @@ Customize the email templates for each email that can be sent to users and admin
90
 
91
  Extend the capabilities of ProfilePress with our powerful addons and remove the additional 2% Stripe processing fee.
92
 
93
- * [PayPal Checkout](https://profilepress.com/addons/paypal/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) – Accept payments including Visa, Mastercard, Venmo, Discover, iDEAL, American Express, Bancontact, BLIK, giropay, MyBank, Przelewy24 via PayPal.
 
94
  * [Custom Fields](https://profilepress.com/addons/custom-fields/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) – Collect additional information from users besides the standard profile data.
95
  * [Email Confirmation](https://profilepress.com/addons/email-confirmation/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) – Ensure registered users confirm their email addresses before they can log in.
96
  * [User Moderation](https://profilepress.com/addons/user-moderation/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) – Decide whether to approve newly registered users or not. You can also block and unblock users at any time.
@@ -148,6 +149,14 @@ No. You can create and manage your forms, user profiles, and member directories
148
 
149
  == Changelog ==
150
 
 
 
 
 
 
 
 
 
151
  = 4.2.0 =
152
  * New: [Support for selling digital products](https://profilepress.com/article/sell-downloads-wordpress-membership/?ref=changelog).
153
  * Added support for [associating role to membership plans](https://profilepress.com/article/create-wordpress-membership-plans/#role-sync).
1
  === Paid Membership, Ecommerce, User Registration, User Profile & Restrict Content Plugin – ProfilePress ===
2
  Contributors: properfraction, collizo4sky
3
  Donate link: https://profilepress.com/pricing/
4
+ Tags: membership, ecommerce, user registration, user profile, stripe, paypal, mollie, login form, 2fa, two-factor authenticator, login, registration, password reset, members, users, profile, front-end profile, avatar
5
  Requires at least: 5.3
6
  Requires PHP: 7.1.8
7
  Tested up to: 6.0.2
8
+ Stable tag: 4.3.0
9
  License: GPLv2 or later
10
 
11
+ Paid membership plugin: accept payments, sell subscriptions & digital downloads, restrict content, user registration, login form, user profile & member directory.
12
 
13
  == Description ==
14
 
15
  = Modern Membership, Ecommerce, Digital Downloads, User Profile, Registration & Login Form Plugin =
16
 
17
+ [ProfilePress](https://profilepress.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) is a simple yet powerful ecommerce and paid membership plugin for accepting one-time and recurring payments, selling subscriptions and digital products or digital downloads (downloadable files) via Stripe, Mollie & PayPal, restrict content and control user access.
18
 
19
  ProfilePress lets you create beautiful user profiles, member directories, frontend login, and user registration forms, password reset and edit profile forms.
20
 
24
 
25
  ### Excellent Features of ProfilePress
26
 
27
+ ProfilePress ecommerce plugin is suited for selling non-physical goods, including online courses, digital downloads, downloadable files, paid memberships, subscriptions, selling services, selling event tickets, accepting donations, selling digital downloads, etc.
28
 
29
  = Multiple Payment Processors =
30
 
31
+ Easily connect to Stripe, PayPal & Mollie to collect payments. We are working on adding additional gateways (Square, PayStack, RazorPay, Mercado Pago) in the future.
32
 
33
  = Powerful Payment Options =
34
 
69
 
70
  ProfilePress gives you fine-grained control over what content your users can see based on your [protection rules](https://profilepress.com/article/adding-content-protection-rules/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) and [shortcodes](https://profilepress.com/article/wordpress-content-restriction-shortcodes/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion). You can restrict content including pages, child pages, posts, custom post types, categories, tags and custom taxonomies based on their membership plans, user roles, usernames, and logged-in status.
71
 
72
+ You can also control the visibility of [navigation menus](https://profilepress.com/article/wordpress-navigation-menu-restriction/) and widgets, modules & contents in the [block editor](https://profilepress.com/article/restrict-visibility-contents-wordpress-block-editor/), [Elementor](https://profilepress.com/article/restrict-elementor-sections-widgets/) & [Beaver Builder](https://profilepress.com/article/restrict-content-beaver-builder-visibility/).
73
 
74
  = Detailed Ecommerce Reports =
75
 
90
 
91
  Extend the capabilities of ProfilePress with our powerful addons and remove the additional 2% Stripe processing fee.
92
 
93
+ * [PayPal Checkout](https://profilepress.com/addons/paypal/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) – Accept Visa, Mastercard, Venmo, Discover, iDEAL, American Express, Bancontact, BLIK, giropay, MyBank and Przelewy24 payments via PayPal.
94
+ * [Mollie Checkout](https://profilepress.com/addons/mollie/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) – Accept payments via Credit Card, iDEAL, SEPA Direct Debit, Apple Pay, PayPal, Klarna, Bancontact, Bank transfer & Gift Card with Mollie.
95
  * [Custom Fields](https://profilepress.com/addons/custom-fields/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) – Collect additional information from users besides the standard profile data.
96
  * [Email Confirmation](https://profilepress.com/addons/email-confirmation/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) – Ensure registered users confirm their email addresses before they can log in.
97
  * [User Moderation](https://profilepress.com/addons/user-moderation/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion) – Decide whether to approve newly registered users or not. You can also block and unblock users at any time.
149
 
150
  == Changelog ==
151
 
152
+ = 4.3.0 =
153
+ * Pro: [Mollie Addon](https://profilepress.com/addons/mollie/?ref=changelog).
154
+ * Added integration with Conditional Blocks plugin.
155
+ * Added customer ID placeholder support to order email.
156
+ * Added custom fields support to order emails.
157
+ * Fixed: Index column size too large error when creating subscriptions DB table.
158
+ * Fixed bug where download details was showing for order without downloads.
159
+
160
  = 4.2.0 =
161
  * New: [Support for selling digital products](https://profilepress.com/article/sell-downloads-wordpress-membership/?ref=changelog).
162
  * Added support for [associating role to membership plans](https://profilepress.com/article/create-wordpress-membership-plans/#role-sync).
src/Admin/SettingsPages/Membership/FileDownloads.php CHANGED
@@ -36,7 +36,6 @@ class FileDownloads
36
 
37
  $instance->add_view_classes('ppress-file-downloads');
38
 
39
- /** @todo ensure all settings are implemented */
40
  $settings = [
41
  [
42
  'download_method' => [
36
 
37
  $instance->add_view_classes('ppress-file-downloads');
38
 
 
39
  $settings = [
40
  [
41
  'download_method' => [
src/Admin/SettingsPages/Membership/PaymentMethods.php CHANGED
@@ -98,7 +98,7 @@ class PaymentMethods
98
  ],
99
  'test_mode_reconnection_notice' => [
100
  'label' => '',
101
- 'data' => '<style>#test_mode_reconnection_notice_row {display:none}</style><div class="pp-alert-notice pp-alert-notice-info"><p>' . __('Switching test/live modes might require payment methods reconnection or setup.', 'wp-user-avatar') . '</p></div>',
102
  'type' => 'custom_field_block'
103
  ],
104
  'default_payment_method' => [
98
  ],
99
  'test_mode_reconnection_notice' => [
100
  'label' => '',
101
+ 'data' => '<style>#test_mode_reconnection_notice_row {display:none}</style><div class="pp-alert-notice pp-alert-notice-info"><p>' . __('Switching test/live modes would require payment methods reconnection or setup.', 'wp-user-avatar') . '</p></div>',
102
  'type' => 'custom_field_block'
103
  ],
104
  'default_payment_method' => [
src/Admin/SettingsPages/Membership/views/orders/digital-products-metabox.php CHANGED
@@ -20,18 +20,20 @@ $downloads = $order_data->get_plan()->get_downloads();
20
  </tr>
21
  </thead>
22
  <tbody>
23
- <?php $index = 0;
24
- foreach ($downloads['files'] as $file_url => $file_name) :
25
- $download_url = DownloadService::init()->get_download_file_url($order_data->get_order_key(), $index, $downloads['download_expiry']); ?>
26
- <tr class="ppress-submetabox-item-row">
27
- <td class="ppress-submetabox-item-column-product"><?= $file_name ?></td>
28
- <td class="ppress-submetabox-item-column-downloads-remaining"><?= DownloadService::init()->get_downloads_remaining($order_data->get_id(), $order_data->get_plan_id(), $file_url); ?></td>
29
- <td class="ppress-submetabox-item-column-action">
30
- <a class="button" target="_blank" href="<?= esc_url($download_url) ?>"><?php esc_html_e('Download', 'wp-user-avatar'); ?></a>
31
- </td>
32
- </tr>
33
- <?php $index++; ?>
34
- <?php endforeach; ?>
 
 
35
  </tbody>
36
 
37
  </table>
20
  </tr>
21
  </thead>
22
  <tbody>
23
+ <?php if (isset($downloads['files']) && ! empty($downloads['files'])):
24
+ $index = 0;
25
+ foreach ($downloads['files'] as $file_url => $file_name) :
26
+ $download_url = DownloadService::init()->get_download_file_url($order_data->get_order_key(), $index, $downloads['download_expiry']); ?>
27
+ <tr class="ppress-submetabox-item-row">
28
+ <td class="ppress-submetabox-item-column-product"><?= $file_name ?></td>
29
+ <td class="ppress-submetabox-item-column-downloads-remaining"><?= DownloadService::init()->get_downloads_remaining($order_data->get_id(), $order_data->get_plan_id(), $file_url); ?></td>
30
+ <td class="ppress-submetabox-item-column-action">
31
+ <a class="button" target="_blank" href="<?= esc_url($download_url) ?>"><?php esc_html_e('Download', 'wp-user-avatar'); ?></a>
32
+ </td>
33
+ </tr>
34
+ <?php $index++; ?>
35
+ <?php endforeach; ?>
36
+ <?php endif; ?>
37
  </tbody>
38
 
39
  </table>
src/Admin/SettingsPages/Membership/views/payment-method-list.php CHANGED
@@ -1,6 +1,7 @@
1
  <?php
2
 
3
  $payment_methods = ProfilePress\Core\Membership\PaymentMethods\PaymentMethods::get_instance()->get_all(); ?>
 
4
  <div class="ppress-payment-methods-wrap">
5
  <table cellspacing="0" class="widefat">
6
  <thead>
@@ -44,30 +45,52 @@ $payment_methods = ProfilePress\Core\Membership\PaymentMethods\PaymentMethods::g
44
  </td>
45
  </tr>
46
  <?php endforeach; ?>
47
- <?php if ( ! ProfilePress\Core\Classes\ExtensionManager::is_premium()) : $paypal_upsell_url = 'https://profilepress.com/pricing/?utm_source=wp_dashboard&utm_medium=upgrade&utm_campaign=paypal-gateway-method'; ?>
48
- <tr>
49
- <td class="ppress-payment-method-table-sort">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  <span class="gateway-sort"><span class="dashicons dashicons-menu"></span>
51
- </td>
52
- <td class="ppress-payment-method-table-title">
53
- <a target="_blank" href="https://profilepress.com/addons/paypal/?utm_source=wp_dashboard&utm_medium=upgrade&utm_campaign=paypal-gateway-method">PayPal</a>
54
- </td>
55
- <td class="ppress-payment-method-table-enabled">
56
- <span class="ppress-payment-method-icon"><span class="dashicons dashicons-no-alt"></span></span>
57
- </td>
58
- <td class="ppress-payment-method-table-description">
59
- <?php echo sprintf(
60
- esc_html__('Wish to accept payments and sell memberships via PayPal? %supgrade to premium%s.', 'wp-user-avatar'),
61
- '<a target="_blank" href="' . $paypal_upsell_url . '">', '</a>'
62
- ) ?>
63
- </td>
64
- <td class="ppress-payment-method-table-subscription-support">
65
- <span class="ppress-payment-method-icon ico-yes"><span class="dashicons dashicons-yes"></span></span>
66
- </td>
67
- <td class="ppress-payment-method-table-actions">
68
- <a target="_blank" href="<?= $paypal_upsell_url ?>" class="button"><?php esc_html_e('Configure', 'wp-user-avatar'); ?></a>
69
- </td>
70
- </tr>
 
 
 
71
  <?php endif ?>
72
  </tbody>
73
  </table>
1
  <?php
2
 
3
  $payment_methods = ProfilePress\Core\Membership\PaymentMethods\PaymentMethods::get_instance()->get_all(); ?>
4
+
5
  <div class="ppress-payment-methods-wrap">
6
  <table cellspacing="0" class="widefat">
7
  <thead>
45
  </td>
46
  </tr>
47
  <?php endforeach; ?>
48
+ <?php if ( ! ProfilePress\Core\Classes\ExtensionManager::is_premium()) :
49
+
50
+ $pro_payment_methods = [
51
+ 'paypal' => [
52
+ 'name' => 'PayPal',
53
+ 'description' => esc_html__('Wish to accept payments and sell memberships via PayPal? %supgrade to premium%s.', 'wp-user-avatar')
54
+ ],
55
+ 'mollie' => [
56
+ 'name' => 'Mollie',
57
+ 'description' => esc_html__('%sUpgrade to premium%s to accept one-time and recurring payments via iDEAL, Credit Card, Apple Pay, Klarna, Bancontact, in3 etc with Mollie.', 'wp-user-avatar')
58
+ ]
59
+ ];
60
+
61
+ foreach ($pro_payment_methods as $payment_method_id => $pm_args) {
62
+
63
+ $payment_method_upsell_url = sprintf('https://profilepress.com/pricing/?utm_source=wp_dashboard&utm_medium=upgrade&utm_campaign=%s-gateway-method', $payment_method_id);
64
+
65
+ $payment_method_addon_url = sprintf('https://profilepress.com/addons/%1$s/?utm_source=wp_dashboard&utm_medium=upgrade&utm_campaign=%1$s-gateway-method', $payment_method_id);
66
+
67
+ ?>
68
+ <tr>
69
+ <td class="ppress-payment-method-table-sort">
70
  <span class="gateway-sort"><span class="dashicons dashicons-menu"></span>
71
+ </td>
72
+ <td class="ppress-payment-method-table-title">
73
+ <a target="_blank" href="<?= $payment_method_addon_url ?>"><?= $pm_args['name'] ?></a>
74
+ </td>
75
+ <td class="ppress-payment-method-table-enabled">
76
+ <span class="ppress-payment-method-icon"><span class="dashicons dashicons-no-alt"></span></span>
77
+ </td>
78
+ <td class="ppress-payment-method-table-description">
79
+ <?php echo sprintf(
80
+ $pm_args['description'],
81
+ '<a target="_blank" href="' . $payment_method_upsell_url . '">', '</a>'
82
+ ) ?>
83
+ </td>
84
+ <td class="ppress-payment-method-table-subscription-support">
85
+ <span class="ppress-payment-method-icon ico-yes"><span class="dashicons dashicons-yes"></span></span>
86
+ </td>
87
+ <td class="ppress-payment-method-table-actions">
88
+ <a target="_blank" href="<?= $payment_method_addon_url ?>" class="button"><?php esc_html_e('Configure', 'wp-user-avatar'); ?></a>
89
+ </td>
90
+ </tr>
91
+ <?php
92
+ }
93
+ ?>
94
  <?php endif ?>
95
  </tbody>
96
  </table>
src/Classes/ExtensionManager.php CHANGED
@@ -8,6 +8,7 @@ class ExtensionManager
8
 
9
  const EMAIL_CONFIRMATION = 'email_confirmation';
10
  const PAYPAL = 'paypal';
 
11
  const JOIN_BUDDYPRESS_GROUPS = 'join_buddypress_groups';
12
  const BUDDYPRESS_SYNC = 'buddypress_sync';
13
  const MULTISITE = 'multisite';
@@ -34,6 +35,7 @@ class ExtensionManager
34
  return [
35
  self::EMAIL_CONFIRMATION => 'ProfilePress\Libsodium\EmailConfirmation',
36
  self::PAYPAL => 'ProfilePress\Libsodium\PayPal\Init',
 
37
  self::JOIN_BUDDYPRESS_GROUPS => 'ProfilePress\Libsodium\BuddyPressJoinGroupSelect\Init',
38
  self::BUDDYPRESS_SYNC => 'ProfilePress\Libsodium\BuddyPressProfileSync',
39
  self::MULTISITE => 'ProfilePress\Libsodium\MultisiteIntegration\Init',
@@ -60,6 +62,12 @@ class ExtensionManager
60
  'description' => esc_html__('Accept payments and sell subscriptions via PayPal.', 'wp-user-avatar'),
61
  'icon' => '<svg viewBox="0 0 576 512" xmlns="http://www.w3.org/2000/svg"><path d="m186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zm-105.8-48.5h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0h-4.5c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zm211.5-129.7v352c0 26.5-21.5 48-48 48h-480c-26.5 0-48-21.5-48-48v-352c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-447.7 135.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7l-16.4 102.1c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4h17.2c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9 63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4h17.3c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7l16.2-101.2zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z"/></svg>',
62
  ],
 
 
 
 
 
 
63
  self::CUSTOM_FIELDS => [
64
  'title' => esc_html__('Custom Fields', 'wp-user-avatar'),
65
  'url' => 'https://profilepress.com/addons/custom-fields/?utm_source=liteplugin&utm_medium=extension-page&utm_campaign=learn-more',
8
 
9
  const EMAIL_CONFIRMATION = 'email_confirmation';
10
  const PAYPAL = 'paypal';
11
+ const MOLLIE = 'mollie';
12
  const JOIN_BUDDYPRESS_GROUPS = 'join_buddypress_groups';
13
  const BUDDYPRESS_SYNC = 'buddypress_sync';
14
  const MULTISITE = 'multisite';
35
  return [
36
  self::EMAIL_CONFIRMATION => 'ProfilePress\Libsodium\EmailConfirmation',
37
  self::PAYPAL => 'ProfilePress\Libsodium\PayPal\Init',
38
+ self::MOLLIE => 'ProfilePress\Libsodium\Mollie\Init',
39
  self::JOIN_BUDDYPRESS_GROUPS => 'ProfilePress\Libsodium\BuddyPressJoinGroupSelect\Init',
40
  self::BUDDYPRESS_SYNC => 'ProfilePress\Libsodium\BuddyPressProfileSync',
41
  self::MULTISITE => 'ProfilePress\Libsodium\MultisiteIntegration\Init',
62
  'description' => esc_html__('Accept payments and sell subscriptions via PayPal.', 'wp-user-avatar'),
63
  'icon' => '<svg viewBox="0 0 576 512" xmlns="http://www.w3.org/2000/svg"><path d="m186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zm-105.8-48.5h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0h-4.5c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zm211.5-129.7v352c0 26.5-21.5 48-48 48h-480c-26.5 0-48-21.5-48-48v-352c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-447.7 135.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7l-16.4 102.1c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4h17.2c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9 63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4h17.3c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7l16.2-101.2zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z"/></svg>',
64
  ],
65
+ self::MOLLIE => [
66
+ 'title' => esc_html__('Mollie', 'wp-user-avatar'),
67
+ 'url' => 'https://profilepress.com/addons/mollie/?utm_source=liteplugin&utm_medium=extension-page&utm_campaign=learn-more',
68
+ 'description' => esc_html__('Accept payments and sell subscriptions via Mollie.', 'wp-user-avatar'),
69
+ 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22"><g fill="none" class="nc-icon-wrapper"><path d="M22 11a11.05 11.05 0 0 1-.42 3.024C20.265 18.629 16.025 22 11 22 4.925 22 0 17.075 0 11S4.925 0 11 0c4.819 0 8.914 3.099 10.401 7.412C21.79 8.537 22 9.744 22 11z" fill="#000"/><path d="M17.787 6.609A5.129 5.129 0 0 1 19 9.937V16h-2.547V9.861c-.006-1.206-.953-2.191-2.105-2.191a2.5 2.5 0 0 0-.21.011c-1.03.11-1.895 1.137-1.895 2.244V16H9.696V9.879c-.005-1.213-.947-2.204-2.1-2.204-.066 0-.138.006-.21.012-1.025.111-1.894 1.136-1.894 2.25V16H3V9.861C3 7.18 5.077 5 7.624 5c1.274 0 2.487.56 3.362 1.533a4.521 4.521 0 0 1 3.788-1.516c1.163.105 2.232.67 3.013 1.592z" fill="#fff"/></g></svg>'
70
+ ],
71
  self::CUSTOM_FIELDS => [
72
  'title' => esc_html__('Custom Fields', 'wp-user-avatar'),
73
  'url' => 'https://profilepress.com/addons/custom-fields/?utm_source=liteplugin&utm_medium=extension-page&utm_campaign=learn-more',
src/ContentProtection/ConditionalBlocksIntegration.php ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePress\Core\ContentProtection;
4
+
5
+ use ProfilePress\Core\Membership\Models\Customer\CustomerFactory;
6
+ use ProfilePress\Core\Membership\Repositories\PlanRepository;
7
+
8
+ class ConditionalBlocksIntegration
9
+ {
10
+ public function __construct()
11
+ {
12
+ add_action('plugins_loaded', [$this, 'init'], 20);
13
+ }
14
+
15
+ public function init()
16
+ {
17
+ if (defined('CONDITIONAL_BLOCKS_PATH')) {
18
+ add_filter('conditional_blocks_register_condition_categories', [$this, 'condition_category'], 1);
19
+ add_filter('conditional_blocks_register_condition_types', [$this, 'conditions'], 1);
20
+ add_filter('conditional_blocks_register_check_ppress_subscribed_membership_plan', [$this, 'visibility_check'], 10, 2);
21
+ }
22
+ }
23
+
24
+ public function condition_category($categories)
25
+ {
26
+ $categories[] = array(
27
+ 'value' => 'profilepress',
28
+ 'label' => 'ProfilePress',
29
+ );
30
+
31
+ return $categories;
32
+
33
+ }
34
+
35
+ public function conditions($conditions)
36
+ {
37
+
38
+ // Add a new condition to your group.
39
+ $conditions[] = array(
40
+ 'type' => 'ppress_subscribed_membership_plan', // Important: The type identities the condition and should NOT be changed.
41
+ 'label' => 'Active Membership Plans',
42
+ 'description' => esc_html__('The selected block will only be visible to users with an active subscription to the chosen membership plans below.', 'wp-user-avatar'),
43
+ 'category' => 'profilepress',
44
+ 'fields' => [
45
+ [
46
+ 'key' => 'profilepress_membership_plans',
47
+ 'type' => 'select',
48
+ 'attributes' => [
49
+ 'multiple' => true
50
+ ],
51
+ 'options' => (function () {
52
+ $plans = PlanRepository::init()->retrieveAll();
53
+ $options = [];
54
+ if (is_array($plans) && ! empty($plans)) {
55
+ foreach ($plans as $plan) {
56
+ $options[] = [
57
+ 'value' => $plan->get_id(),
58
+ 'label' => $plan->get_name(),
59
+ ];
60
+ }
61
+ }
62
+
63
+ return $options;
64
+ })()
65
+ ],
66
+ [
67
+ 'key' => 'blockAction', // Default key.
68
+ 'type' => 'blockAction', // Reuse the common field for choosing the Block Action.
69
+ ],
70
+ ],
71
+ );
72
+
73
+ return $conditions;
74
+ }
75
+
76
+ /**
77
+ * @param bool $should_block_render if condition passed validation.
78
+ * @param array $condition contains the configured conditions with keys/values.
79
+ *
80
+ * @return bool $should_block_render - defaults to false.
81
+ */
82
+ function visibility_check($should_block_render, $condition)
83
+ {
84
+ $has_match = false;
85
+
86
+ if (is_user_logged_in()) {
87
+ if ( ! empty($condition['profilepress_membership_plans']) && is_array($condition['profilepress_membership_plans'])) {
88
+ foreach ($condition['profilepress_membership_plans'] as $plan) {
89
+ if (CustomerFactory::fromUserId(get_current_user_id())->has_active_subscription(intval($plan['value']))) {
90
+ $has_match = true;
91
+ }
92
+ }
93
+ }
94
+ }
95
+
96
+ // Reuse the Block Action from other conditions.
97
+ $block_action = ! empty($condition['blockAction']) ? $condition['blockAction'] : 'showBlock';
98
+
99
+ if ($has_match && $block_action === 'showBlock') {
100
+ $should_block_render = true;
101
+ } elseif ( ! $has_match && $block_action === 'hideBlock') {
102
+ $should_block_render = true;
103
+ }
104
+
105
+ return $should_block_render;
106
+ }
107
+
108
+
109
+ public static function get_instance()
110
+ {
111
+ static $instance = null;
112
+
113
+ if (is_null($instance)) {
114
+ $instance = new self();
115
+ }
116
+
117
+ return $instance;
118
+ }
119
+ }
src/ContentProtection/Init.php CHANGED
@@ -19,6 +19,8 @@ class Init
19
  NavMenuProtection::get_instance();
20
  ElementorRestriction::get_instance();
21
  CapabilityCheck::get_instance();
 
 
22
  }
23
 
24
  public function get_content_condition_field()
19
  NavMenuProtection::get_instance();
20
  ElementorRestriction::get_instance();
21
  CapabilityCheck::get_instance();
22
+
23
+ ConditionalBlocksIntegration::get_instance();
24
  }
25
 
26
  public function get_content_condition_field()
src/ContentProtection/views/include.shortcode-doc-sidebar.php CHANGED
@@ -11,4 +11,11 @@
11
  <br><?php esc_html_e('Content to restrict will go here', 'wp-user-avatar') ?><br>
12
  [/pp-restrict-content]
13
  </div>
 
 
 
 
 
 
 
14
  </div>
11
  <br><?php esc_html_e('Content to restrict will go here', 'wp-user-avatar') ?><br>
12
  [/pp-restrict-content]
13
  </div>
14
+ <p>
15
+ <?php
16
+ printf(
17
+ esc_html__('Want to restrict contents in the block editor? %sLearn how to%s', 'wp-user-avatar'),
18
+ '<a target="_blank" href="https://profilepress.com/article/restrict-visibility-contents-wordpress-block-editor/">', '</a>'
19
+ ); ?>
20
+ </p>
21
  </div>
src/DBUpdates.php CHANGED
@@ -10,7 +10,7 @@ class DBUpdates
10
  {
11
  public static $instance;
12
 
13
- const DB_VER = 5;
14
 
15
  public function init_options()
16
  {
@@ -125,6 +125,13 @@ class DBUpdates
125
  }
126
  }
127
 
 
 
 
 
 
 
 
128
  public static function get_instance()
129
  {
130
  if ( ! isset(self::$instance)) {
10
  {
11
  public static $instance;
12
 
13
+ const DB_VER = 6;
14
 
15
  public function init_options()
16
  {
125
  }
126
  }
127
 
128
+ public function update_routine_6()
129
+ {
130
+ $a = get_option(ExtensionManager::DB_OPTION_NAME);
131
+ $a[ExtensionManager::MOLLIE] = 'true';
132
+ update_option(ExtensionManager::DB_OPTION_NAME, $a);
133
+ }
134
+
135
  public static function get_instance()
136
  {
137
  if ( ! isset(self::$instance)) {
src/Functions/PPressBFnote.php CHANGED
@@ -6,24 +6,34 @@ if ( ! class_exists('\PPressBFnote')) {
6
 
7
  class PPressBFnote
8
  {
 
 
 
 
 
9
  public function __construct()
10
  {
11
  add_action('ppress_admin_notices', array($this, 'admin_notice'));
12
  add_action('network_admin_notices', array($this, 'admin_notice'));
13
 
14
  add_action('admin_init', array($this, 'dismiss_admin_notice'));
 
 
 
 
 
15
  }
16
 
17
  public function dismiss_admin_notice()
18
  {
19
- if ( ! isset($_GET['ppress-adaction']) || $_GET['ppress-adaction'] != 'ppressbfnote2022_dismiss_adnotice') {
20
  return;
21
  }
22
 
23
  $url = admin_url();
24
- update_option('ppressbfnote2022_dismiss_adnotice', 'true');
25
 
26
- wp_redirect($url);
27
  exit;
28
  }
29
 
@@ -31,34 +41,38 @@ if ( ! class_exists('\PPressBFnote')) {
31
  {
32
  global $pagenow;
33
 
34
- if ($pagenow != 'index.php' && strpos(ppress_var($_GET, 'page'), 'pp-') === false) return;
35
 
36
  if (ExtensionManager::is_premium()) return;
37
 
38
  if ( ! current_user_can('administrator')) return;
39
 
40
- $start = strtotime('november 24th, 2022');
41
- $end = strtotime('december 1st, 2022');
42
- $now = time();
43
 
44
- if ($now < $start || $now > $end) return;
 
 
 
 
45
 
46
- if (get_option('ppressbfnote2022_dismiss_adnotice', 'false') == 'true') {
 
 
 
 
47
  return;
48
  }
49
 
50
  $dismiss_url = esc_url_raw(
51
- add_query_arg(
52
- array(
53
- 'ppress-adaction' => 'ppressbfnote2022_dismiss_adnotice'
54
- ),
55
  admin_url()
56
  )
57
  );
58
-
59
  $this->notice_css();
60
 
61
- $bf_url = 'https://profilepress.com/pricing/?utm_source=wp-admin&utm_medium=admin-notice&utm_id=bf2022'
62
 
63
  ?>
64
  <div class="ppressbfnote-admin-notice notice notice-success">
@@ -66,8 +80,8 @@ if ( ! class_exists('\PPressBFnote')) {
66
  <p>
67
  <?php
68
  printf(
69
- __('%1$sHuge Black Friday Sale%2$s: Get 25%% off your ProfilePress plugin upgrade today with the coupon %3$sBFCM2022%4$s'),
70
- '<span class="ppressbfnote-stylize"><strong>', '</strong></span>', '<code>', '</code>');
71
  ?>
72
  </p>
73
  <p style="text-decoration: underline;font-size: 12px;">Hurry as the deal is expiring soon.</p>
@@ -107,6 +121,7 @@ if ( ! class_exists('\PPressBFnote')) {
107
 
108
  .ppressbfnote-admin-notice .ppressbfnote-stylize {
109
  line-height: 2;
 
110
  }
111
 
112
  .ppressbfnote-admin-notice .button-primary {
6
 
7
  class PPressBFnote
8
  {
9
+ private $this_year;
10
+ private $last_year;
11
+ private $start;
12
+ private $end;
13
+
14
  public function __construct()
15
  {
16
  add_action('ppress_admin_notices', array($this, 'admin_notice'));
17
  add_action('network_admin_notices', array($this, 'admin_notice'));
18
 
19
  add_action('admin_init', array($this, 'dismiss_admin_notice'));
20
+
21
+ $this->this_year = '2022';
22
+ $this->last_year = $this->this_year - 1;
23
+ $this->start = strtotime('november 25th, ' . $this->this_year);
24
+ $this->end = strtotime('december 1st, ' . $this->this_year);
25
  }
26
 
27
  public function dismiss_admin_notice()
28
  {
29
+ if ( ! isset($_GET['ppressbfnote-adaction']) || $_GET['ppressbfnote-adaction'] != 'ppressbfnote_dismiss_adnotice') {
30
  return;
31
  }
32
 
33
  $url = admin_url();
34
+ update_option('ppressbfnote_dismiss_adnotice_' . $this->this_year, 'true');
35
 
36
+ wp_safe_redirect($url);
37
  exit;
38
  }
39
 
41
  {
42
  global $pagenow;
43
 
44
+ if ($pagenow != 'index.php' && strpos(ppress_var($_GET, 'page'), 'ppress-') === false) return;
45
 
46
  if (ExtensionManager::is_premium()) return;
47
 
48
  if ( ! current_user_can('administrator')) return;
49
 
50
+ $now = time();
 
 
51
 
52
+ if ($now < $this->start || $now > $this->end) return;
53
+
54
+ if ( ! empty(get_option('ppressbfnote2022_dismiss_adnotice', 0))) {
55
+ delete_option('ppressbfnote2022_dismiss_adnotice');
56
+ }
57
 
58
+ if ( ! empty(get_option('ppressbfnote_dismiss_adnotice_' . $this->last_year, 0))) {
59
+ delete_option('ppressbfnote_dismiss_adnotice_' . $this->last_year);
60
+ }
61
+
62
+ if (get_option('ppressbfnote_dismiss_adnotice_' . $this->this_year, 'false') == 'true') {
63
  return;
64
  }
65
 
66
  $dismiss_url = esc_url_raw(
67
+ add_query_arg([
68
+ 'ppressbfnote-adaction' => 'ppressbfnote_dismiss_adnotice'
69
+ ],
 
70
  admin_url()
71
  )
72
  );
 
73
  $this->notice_css();
74
 
75
+ $bf_url = 'https://profilepress.com/pricing/?utm_source=wp-admin&utm_medium=admin-notice&utm_campaign=bf' . $this->this_year
76
 
77
  ?>
78
  <div class="ppressbfnote-admin-notice notice notice-success">
80
  <p>
81
  <?php
82
  printf(
83
+ __('%1$sHuge Black Friday Sale%2$s: Get 25%% off your ProfilePress plugin upgrade today with the coupon %3$sBFCM%4$s'),
84
+ '<span class="ppressbfnote-stylize"><strong>', '</strong></span>', '<code>', $this->this_year . '</code>');
85
  ?>
86
  </p>
87
  <p style="text-decoration: underline;font-size: 12px;">Hurry as the deal is expiring soon.</p>
121
 
122
  .ppressbfnote-admin-notice .ppressbfnote-stylize {
123
  line-height: 2;
124
+ font-size: 16px;
125
  }
126
 
127
  .ppressbfnote-admin-notice .button-primary {
src/Membership/CheckoutFields.php CHANGED
@@ -385,7 +385,7 @@ class CheckoutFields
385
 
386
  if ( ! empty($states)) {
387
  $args['type'] = 'select';
388
- $args['key_value_options'] = ['' => '&mdash;&mdash;&mdash;'] + $states;
389
  }
390
 
391
  if ( ! empty($session_state)) {
385
 
386
  if ( ! empty($states)) {
387
  $args['type'] = 'select';
388
+ $args['key_value_options'] = $states;
389
  }
390
 
391
  if ( ! empty($session_state)) {
src/Membership/Emails/AbstractMembershipEmail.php CHANGED
@@ -28,6 +28,7 @@ abstract class AbstractMembershipEmail
28
  '{{email}}' => $customer->get_email(),
29
  '{{first_name}}' => $customer->get_first_name(),
30
  '{{last_name}}' => $customer->get_last_name(),
 
31
  '{{billing_address}}' => $order->get_customer_full_address(),
32
  '{{billing_phone}}' => $order->billing_phone,
33
  '{{customer_tax_id}}' => $order->get_customer_tax_id(),
@@ -49,7 +50,7 @@ abstract class AbstractMembershipEmail
49
  '{{site_title}}' => ppress_site_title(),
50
  '{{business_name}}' => ppress_business_name(),
51
  '{{business_address}}' => ppress_business_full_address(),
52
- '{{business_tax_id}}' => ppress_business_tax_id(),
53
  ]);
54
 
55
  return array_map(function ($val) {
@@ -85,6 +86,31 @@ abstract class AbstractMembershipEmail
85
  ]);
86
  }
87
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  /**
89
  * @param string $content
90
  * @param array $placeholders
@@ -93,7 +119,7 @@ abstract class AbstractMembershipEmail
93
  */
94
  public function parse_placeholders($content, $placeholders)
95
  {
96
- return str_replace(array_keys($placeholders), array_values($placeholders), $content);
97
  }
98
 
99
  /**
28
  '{{email}}' => $customer->get_email(),
29
  '{{first_name}}' => $customer->get_first_name(),
30
  '{{last_name}}' => $customer->get_last_name(),
31
+ '{{customer_id}}' => $customer->get_id(),
32
  '{{billing_address}}' => $order->get_customer_full_address(),
33
  '{{billing_phone}}' => $order->billing_phone,
34
  '{{customer_tax_id}}' => $order->get_customer_tax_id(),
50
  '{{site_title}}' => ppress_site_title(),
51
  '{{business_name}}' => ppress_business_name(),
52
  '{{business_address}}' => ppress_business_full_address(),
53
+ '{{business_tax_id}}' => ppress_business_tax_id()
54
  ]);
55
 
56
  return array_map(function ($val) {
86
  ]);
87
  }
88
 
89
+ public function custom_profile_field_search_replace($message)
90
+ {
91
+ // handle support for custom fields placeholder.
92
+ preg_match_all('#({{[a-z_-]+}})#', $message, $matches);
93
+
94
+ if (isset($matches[1]) && ! empty($matches[1])) {
95
+
96
+ foreach ($matches[1] as $match) {
97
+ $key = str_replace(['{', '}'], '', $match);
98
+
99
+ if (isset($user->{$key})) {
100
+ $value = $user->{$key};
101
+
102
+ if (is_array($value)) {
103
+ $value = implode(', ', $value);
104
+ }
105
+
106
+ $message = str_replace($match, $value, $message);
107
+ }
108
+ }
109
+ }
110
+
111
+ return $message;
112
+ }
113
+
114
  /**
115
  * @param string $content
116
  * @param array $placeholders
119
  */
120
  public function parse_placeholders($content, $placeholders)
121
  {
122
+ return $this->custom_profile_field_search_replace(str_replace(array_keys($placeholders), array_values($placeholders), $content));
123
  }
124
 
125
  /**
src/Membership/Emails/EmailDataTrait.php CHANGED
@@ -10,6 +10,11 @@ trait EmailDataTrait
10
  '{{email}}' => esc_html__('Email address of the customer.', 'wp-user-avatar'),
11
  '{{first_name}}' => esc_html__('First name of the customer.', 'wp-user-avatar'),
12
  '{{last_name}}' => esc_html__('Last name of the customer.', 'wp-user-avatar'),
 
 
 
 
 
13
  '{{billing_address}}' => esc_html__("Customer's billing address.", 'wp-user-avatar'),
14
  '{{billing_phone}}' => esc_html__("Customer's phone number.", 'wp-user-avatar'),
15
  '{{customer_tax_id}}' => esc_html__("Customer's Tax ID.", 'wp-user-avatar'),
10
  '{{email}}' => esc_html__('Email address of the customer.', 'wp-user-avatar'),
11
  '{{first_name}}' => esc_html__('First name of the customer.', 'wp-user-avatar'),
12
  '{{last_name}}' => esc_html__('Last name of the customer.', 'wp-user-avatar'),
13
+ '{{field_key}}' => sprintf(
14
+ esc_html__('User custom profile field information. Replace "field_key" with the %scustom field key%s or usermeta key.', 'wp-user-avatar'),
15
+ '<a href="' . PPRESS_CUSTOM_FIELDS_SETTINGS_PAGE . '" target="_blank">', '</a>'
16
+ ),
17
+ '{{customer_id}}' => esc_html__('ID of the customer.', 'wp-user-avatar'),
18
  '{{billing_address}}' => esc_html__("Customer's billing address.", 'wp-user-avatar'),
19
  '{{billing_phone}}' => esc_html__("Customer's phone number.", 'wp-user-avatar'),
20
  '{{customer_tax_id}}' => esc_html__("Customer's Tax ID.", 'wp-user-avatar'),
src/Membership/Models/Order/OrderEntity.php CHANGED
@@ -7,9 +7,12 @@ use ProfilePress\Core\Membership\Models\Customer\CustomerEntity as CustomerEntit
7
  use ProfilePress\Core\Membership\Models\Customer\CustomerFactory;
8
  use ProfilePress\Core\Membership\Models\ModelInterface;
9
  use ProfilePress\Core\Membership\Models\Plan\PlanEntity;
 
 
10
  use ProfilePress\Core\Membership\PaymentMethods\AbstractPaymentMethod;
11
  use ProfilePress\Core\Membership\PaymentMethods\PaymentMethods;
12
  use ProfilePress\Core\Membership\Repositories\OrderRepository;
 
13
  use ProfilePress\Core\Membership\Services\OrderService;
14
 
15
  /**
@@ -380,6 +383,14 @@ class OrderEntity extends AbstractModel implements ModelInterface
380
  return absint($this->subscription_id);
381
  }
382
 
 
 
 
 
 
 
 
 
383
  public function get_customer_id()
384
  {
385
  return absint($this->customer_id);
@@ -469,6 +480,10 @@ class OrderEntity extends AbstractModel implements ModelInterface
469
  {
470
  $payment_method = PaymentMethods::get_instance()->get_by_id($this->payment_method);
471
 
 
 
 
 
472
  if ( ! $payment_method instanceof AbstractPaymentMethod) {
473
  return false;
474
  }
7
  use ProfilePress\Core\Membership\Models\Customer\CustomerFactory;
8
  use ProfilePress\Core\Membership\Models\ModelInterface;
9
  use ProfilePress\Core\Membership\Models\Plan\PlanEntity;
10
+ use ProfilePress\Core\Membership\Models\Subscription\SubscriptionEntity as SubscriptionEntity;
11
+ use ProfilePress\Core\Membership\Models\Subscription\SubscriptionFactory;
12
  use ProfilePress\Core\Membership\PaymentMethods\AbstractPaymentMethod;
13
  use ProfilePress\Core\Membership\PaymentMethods\PaymentMethods;
14
  use ProfilePress\Core\Membership\Repositories\OrderRepository;
15
+ use ProfilePress\Core\Membership\Services\Calculator;
16
  use ProfilePress\Core\Membership\Services\OrderService;
17
 
18
  /**
383
  return absint($this->subscription_id);
384
  }
385
 
386
+ /**
387
+ * @return SubscriptionEntity
388
+ */
389
+ public function get_subscription()
390
+ {
391
+ return SubscriptionFactory::fromId($this->get_subscription_id());
392
+ }
393
+
394
  public function get_customer_id()
395
  {
396
  return absint($this->customer_id);
480
  {
481
  $payment_method = PaymentMethods::get_instance()->get_by_id($this->payment_method);
482
 
483
+ if (Calculator::init($this->get_total())->isNegativeOrZero()) {
484
+ return false;
485
+ }
486
+
487
  if ( ! $payment_method instanceof AbstractPaymentMethod) {
488
  return false;
489
  }
src/Membership/Models/Plan/PlanEntity.php CHANGED
@@ -190,7 +190,7 @@ class PlanEntity extends AbstractModel implements ModelInterface
190
  {
191
  $val = $this->get_downloads();
192
 
193
- return is_array($val['files']) && ! empty($val['files']);
194
  }
195
 
196
  public function get_downloads()
@@ -211,7 +211,9 @@ class PlanEntity extends AbstractModel implements ModelInterface
211
  if ( ! is_array($file_urls) || empty($file_urls)) return false;
212
 
213
  foreach ($file_urls as $index => $file_url) {
214
- $ret['files'][$file_url] = ppress_var($file_names, $index, pathinfo($file_url)['filename']);
 
 
215
  }
216
 
217
  $ret['download_limit'] = ppress_is_boolean($extras['df_download_limit']) || ! empty($extras['df_download_limit']) ?
190
  {
191
  $val = $this->get_downloads();
192
 
193
+ return isset($val['files']) && is_array($val['files']) && ! empty($val['files']);
194
  }
195
 
196
  public function get_downloads()
211
  if ( ! is_array($file_urls) || empty($file_urls)) return false;
212
 
213
  foreach ($file_urls as $index => $file_url) {
214
+ if ( ! empty($file_url)) {
215
+ $ret['files'][$file_url] = ppress_var($file_names, $index, pathinfo($file_url)['filename']);
216
+ }
217
  }
218
 
219
  $ret['download_limit'] = ppress_is_boolean($extras['df_download_limit']) || ! empty($extras['df_download_limit']) ?
src/Membership/Models/Subscription/SubscriptionEntity.php CHANGED
@@ -269,6 +269,11 @@ class SubscriptionEntity extends AbstractModel implements ModelInterface
269
  return absint($this->customer_id);
270
  }
271
 
 
 
 
 
 
272
  /**
273
  * Total sub initial amount including tax.
274
  *
269
  return absint($this->customer_id);
270
  }
271
 
272
+ public function get_customer()
273
+ {
274
+ return CustomerFactory::fromId($this->get_customer_id());
275
+ }
276
+
277
  /**
278
  * Total sub initial amount including tax.
279
  *
src/Membership/PaymentMethods/AbstractPaymentMethod.php CHANGED
@@ -258,7 +258,13 @@ abstract class AbstractPaymentMethod implements PaymentMethodInterface
258
 
259
  public function get_webhook_url()
260
  {
261
- return add_query_arg(['ppress-listener' => $this->id], home_url('/'));
 
 
 
 
 
 
262
  }
263
 
264
  /**
258
 
259
  public function get_webhook_url()
260
  {
261
+ $domain = home_url('/');
262
+
263
+ if (defined('PPRESS_WEBHOOK_DOMAIN') && PPRESS_WEBHOOK_DOMAIN) {
264
+ $domain = PPRESS_WEBHOOK_DOMAIN;
265
+ }
266
+
267
+ return add_query_arg(['ppress-listener' => $this->id], $domain);
268
  }
269
 
270
  /**
src/Membership/PaymentMethods/Stripe/WebhookHandlers/PaymentIntentSucceeded.php CHANGED
@@ -11,7 +11,9 @@ class PaymentIntentSucceeded implements WebhookHandlerInterface
11
  {
12
  public function handle($event_data)
13
  {
14
- $order = OrderFactory::fromId($event_data['metadata']['order_id']);
 
 
15
 
16
  $payment_intent_id = $event_data['id'];
17
 
11
  {
12
  public function handle($event_data)
13
  {
14
+ $order = OrderFactory::fromId(
15
+ $event_data['metadata']['order_id'] ?? 0
16
+ );
17
 
18
  $payment_intent_id = $event_data['id'];
19
 
src/RegisterActivation/CreateDBTables.php CHANGED
@@ -110,7 +110,7 @@ class CreateDBTables
110
  KEY status (status),
111
  KEY parent_order_id (parent_order_id),
112
  KEY customer_and_status (customer_id,status),
113
- KEY profile_id (profile_id)
114
  ) $collate;
115
  ";
116
 
110
  KEY status (status),
111
  KEY parent_order_id (parent_order_id),
112
  KEY customer_and_status (customer_id,status),
113
+ KEY profile_id (profile_id(191))
114
  ) $collate;
115
  ";
116
 
src/ShortcodeParser/MyAccount/view-subscription.tmpl.php CHANGED
@@ -89,7 +89,7 @@ $payment_method = PaymentMethods::get_instance()->get_by_id($sub->get_payment_me
89
  <td>
90
  <?php foreach ($actions as $action => $label) :
91
  $url = wp_nonce_url(
92
- add_query_arg(['ppress_myac_sub_action' => $action, 'sub_id' => $sub->id]),
93
  $sub->id . $action
94
  ); ?>
95
  <a href="<?php echo esc_url($url); ?>" class="ppress-myac-action ppress-<?php echo sanitize_html_class($action) ?> ppress-confirm-delete"><?php echo esc_html($label); ?></a>
89
  <td>
90
  <?php foreach ($actions as $action => $label) :
91
  $url = wp_nonce_url(
92
+ remove_query_arg('ppress-myac-sub-message', add_query_arg(['ppress_myac_sub_action' => $action, 'sub_id' => $sub->id])),
93
  $sub->id . $action
94
  ); ?>
95
  <a href="<?php echo esc_url($url); ?>" class="ppress-myac-action ppress-<?php echo sanitize_html_class($action) ?> ppress-confirm-delete"><?php echo esc_html($label); ?></a>
third-party/vendor/autoload.php CHANGED
@@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
- return ComposerAutoloaderInit4d656183616d6980c89b62d78f355683::getLoader();
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
+ return ComposerAutoloaderInit3e29a392ff71e45d7c9ae87ff9dab7f8::getLoader();
third-party/vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit4d656183616d6980c89b62d78f355683
6
  {
7
  private static $loader;
8
 
@@ -24,19 +24,19 @@ class ComposerAutoloaderInit4d656183616d6980c89b62d78f355683
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit4d656183616d6980c89b62d78f355683', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit4d656183616d6980c89b62d78f355683', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
- call_user_func(\Composer\Autoload\ComposerStaticInit4d656183616d6980c89b62d78f355683::getInitializer($loader));
33
 
34
  $loader->setClassMapAuthoritative(true);
35
  $loader->register(true);
36
 
37
- $includeFiles = \Composer\Autoload\ComposerStaticInit4d656183616d6980c89b62d78f355683::$files;
38
  foreach ($includeFiles as $fileIdentifier => $file) {
39
- composerRequire4d656183616d6980c89b62d78f355683($fileIdentifier, $file);
40
  }
41
 
42
  return $loader;
@@ -48,7 +48,7 @@ class ComposerAutoloaderInit4d656183616d6980c89b62d78f355683
48
  * @param string $file
49
  * @return void
50
  */
51
- function composerRequire4d656183616d6980c89b62d78f355683($fileIdentifier, $file)
52
  {
53
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
54
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit3e29a392ff71e45d7c9ae87ff9dab7f8
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInit3e29a392ff71e45d7c9ae87ff9dab7f8', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInit3e29a392ff71e45d7c9ae87ff9dab7f8', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
+ call_user_func(\Composer\Autoload\ComposerStaticInit3e29a392ff71e45d7c9ae87ff9dab7f8::getInitializer($loader));
33
 
34
  $loader->setClassMapAuthoritative(true);
35
  $loader->register(true);
36
 
37
+ $includeFiles = \Composer\Autoload\ComposerStaticInit3e29a392ff71e45d7c9ae87ff9dab7f8::$files;
38
  foreach ($includeFiles as $fileIdentifier => $file) {
39
+ composerRequire3e29a392ff71e45d7c9ae87ff9dab7f8($fileIdentifier, $file);
40
  }
41
 
42
  return $loader;
48
  * @param string $file
49
  * @return void
50
  */
51
+ function composerRequire3e29a392ff71e45d7c9ae87ff9dab7f8($fileIdentifier, $file)
52
  {
53
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
54
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
third-party/vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit4d656183616d6980c89b62d78f355683
8
  {
9
  public static $files = array (
10
  'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@@ -563,9 +563,9 @@ class ComposerStaticInit4d656183616d6980c89b62d78f355683
563
  public static function getInitializer(ClassLoader $loader)
564
  {
565
  return \Closure::bind(function () use ($loader) {
566
- $loader->prefixLengthsPsr4 = ComposerStaticInit4d656183616d6980c89b62d78f355683::$prefixLengthsPsr4;
567
- $loader->prefixDirsPsr4 = ComposerStaticInit4d656183616d6980c89b62d78f355683::$prefixDirsPsr4;
568
- $loader->classMap = ComposerStaticInit4d656183616d6980c89b62d78f355683::$classMap;
569
 
570
  }, null, ClassLoader::class);
571
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit3e29a392ff71e45d7c9ae87ff9dab7f8
8
  {
9
  public static $files = array (
10
  'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
563
  public static function getInitializer(ClassLoader $loader)
564
  {
565
  return \Closure::bind(function () use ($loader) {
566
+ $loader->prefixLengthsPsr4 = ComposerStaticInit3e29a392ff71e45d7c9ae87ff9dab7f8::$prefixLengthsPsr4;
567
+ $loader->prefixDirsPsr4 = ComposerStaticInit3e29a392ff71e45d7c9ae87ff9dab7f8::$prefixDirsPsr4;
568
+ $loader->classMap = ComposerStaticInit3e29a392ff71e45d7c9ae87ff9dab7f8::$classMap;
569
 
570
  }, null, ClassLoader::class);
571
  }
third-party/vendor/composer/installed.json CHANGED
@@ -697,17 +697,17 @@
697
  },
698
  {
699
  "name": "symfony\/translation",
700
- "version": "v4.4.45",
701
- "version_normalized": "4.4.45.0",
702
  "source": {
703
  "type": "git",
704
  "url": "https:\/\/github.com\/symfony\/translation.git",
705
- "reference": "4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def"
706
  },
707
  "dist": {
708
  "type": "zip",
709
- "url": "https:\/\/api.github.com\/repos\/symfony\/translation\/zipball\/4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def",
710
- "reference": "4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def",
711
  "shasum": ""
712
  },
713
  "require": {
@@ -741,7 +741,7 @@
741
  "symfony\/config": "",
742
  "symfony\/yaml": ""
743
  },
744
- "time": "2022-08-02T12:44:49+00:00",
745
  "type": "library",
746
  "installation-source": "dist",
747
  "autoload": {
@@ -769,7 +769,7 @@
769
  "description": "Provides tools to internationalize your application",
770
  "homepage": "https:\/\/symfony.com",
771
  "support": {
772
- "source": "https:\/\/github.com\/symfony\/translation\/tree\/v4.4.45"
773
  },
774
  "funding": [
775
  {
697
  },
698
  {
699
  "name": "symfony\/translation",
700
+ "version": "v4.4.47",
701
+ "version_normalized": "4.4.47.0",
702
  "source": {
703
  "type": "git",
704
  "url": "https:\/\/github.com\/symfony\/translation.git",
705
+ "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94"
706
  },
707
  "dist": {
708
  "type": "zip",
709
+ "url": "https:\/\/api.github.com\/repos\/symfony\/translation\/zipball\/45036b1d53accc48fe9bab71ccd86d57eba0dd94",
710
+ "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94",
711
  "shasum": ""
712
  },
713
  "require": {
741
  "symfony\/config": "",
742
  "symfony\/yaml": ""
743
  },
744
+ "time": "2022-10-03T15:15:11+00:00",
745
  "type": "library",
746
  "installation-source": "dist",
747
  "autoload": {
769
  "description": "Provides tools to internationalize your application",
770
  "homepage": "https:\/\/symfony.com",
771
  "support": {
772
+ "source": "https:\/\/github.com\/symfony\/translation\/tree\/v4.4.47"
773
  },
774
  "funding": [
775
  {
third-party/vendor/composer/installed.php CHANGED
@@ -2,4 +2,4 @@
2
 
3
  namespace ProfilePressVendor;
4
 
5
- return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'cc7fe006f1f5b88a53c7a0ba65024220531afb5a', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \true), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'cc7fe006f1f5b88a53c7a0ba65024220531afb5a', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'barryvdh/composer-cleanup-plugin' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '74d878666436c99f5b671b90312e85479afeedb0', '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), 'collizo4sky/persist-admin-notices-dismissal' => array('pretty_version' => '1.4.4', 'version' => '1.4.4.0', 'reference' => '900739eb6b0ec0210465f5983a6d4e0e420289e4', 'type' => 'library', 'install_path' => __DIR__ . '/../collizo4sky/persist-admin-notices-dismissal', 'aliases' => array(), 'dev_requirement' => \false), 'nesbot/carbon' => array('pretty_version' => '2.62.1', 'version' => '2.62.1.0', 'reference' => '01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a', 'type' => 'library', 'install_path' => __DIR__ . '/../nesbot/carbon', 'aliases' => array(), 'dev_requirement' => \false), 'pelago/emogrifier' => array('pretty_version' => 'v3.1.0', 'version' => '3.1.0.0', 'reference' => 'f6a5c7d44612d86c3901c93f1592f5440e6b2cd8', 'type' => 'library', 'install_path' => __DIR__ . '/../pelago/emogrifier', 'aliases' => array(), 'dev_requirement' => \false), 'sniccowp/php-scoper-wordpress-excludes' => array('pretty_version' => '6.0.1', 'version' => '6.0.1.0', 'reference' => '6fce87f9c5463223013745ec5489967198c11348', 'type' => 'library', 'install_path' => __DIR__ . '/../sniccowp/php-scoper-wordpress-excludes', 'aliases' => array(), 'dev_requirement' => \true), 'stripe/stripe-php' => array('pretty_version' => 'v7.128.0', 'version' => '7.128.0.0', 'reference' => 'c704949c49b72985c76cc61063aa26fefbd2724e', 'type' => 'library', 'install_path' => __DIR__ . '/../stripe/stripe-php', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/css-selector' => array('pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', 'reference' => 'bd0a6737e48de45b4b0b7b6fc98c78404ddceaed', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/css-selector', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => '9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-php80' => array('pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => 'cfa0ae98841b9e461207c13ab093d76b0fa7bace', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation' => array('pretty_version' => 'v4.4.45', 'version' => '4.4.45.0', 'reference' => '4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-contracts' => array('pretty_version' => 'v1.1.13', 'version' => '1.1.13.0', 'reference' => '7462e5c4cb8b9cd152f992e8f10963b5641921f6', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0|2.0'))));
2
 
3
  namespace ProfilePressVendor;
4
 
5
+ return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'dd3d1516e80a17bba850b83ab88f94d05ef2a70e', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \true), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'dd3d1516e80a17bba850b83ab88f94d05ef2a70e', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'barryvdh/composer-cleanup-plugin' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '74d878666436c99f5b671b90312e85479afeedb0', '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), 'collizo4sky/persist-admin-notices-dismissal' => array('pretty_version' => '1.4.4', 'version' => '1.4.4.0', 'reference' => '900739eb6b0ec0210465f5983a6d4e0e420289e4', 'type' => 'library', 'install_path' => __DIR__ . '/../collizo4sky/persist-admin-notices-dismissal', 'aliases' => array(), 'dev_requirement' => \false), 'nesbot/carbon' => array('pretty_version' => '2.62.1', 'version' => '2.62.1.0', 'reference' => '01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a', 'type' => 'library', 'install_path' => __DIR__ . '/../nesbot/carbon', 'aliases' => array(), 'dev_requirement' => \false), 'pelago/emogrifier' => array('pretty_version' => 'v3.1.0', 'version' => '3.1.0.0', 'reference' => 'f6a5c7d44612d86c3901c93f1592f5440e6b2cd8', 'type' => 'library', 'install_path' => __DIR__ . '/../pelago/emogrifier', 'aliases' => array(), 'dev_requirement' => \false), 'sniccowp/php-scoper-wordpress-excludes' => array('pretty_version' => '6.0.1', 'version' => '6.0.1.0', 'reference' => '6fce87f9c5463223013745ec5489967198c11348', 'type' => 'library', 'install_path' => __DIR__ . '/../sniccowp/php-scoper-wordpress-excludes', 'aliases' => array(), 'dev_requirement' => \true), 'stripe/stripe-php' => array('pretty_version' => 'v7.128.0', 'version' => '7.128.0.0', 'reference' => 'c704949c49b72985c76cc61063aa26fefbd2724e', 'type' => 'library', 'install_path' => __DIR__ . '/../stripe/stripe-php', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/css-selector' => array('pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', 'reference' => 'bd0a6737e48de45b4b0b7b6fc98c78404ddceaed', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/css-selector', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => '9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-php80' => array('pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => 'cfa0ae98841b9e461207c13ab093d76b0fa7bace', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation' => array('pretty_version' => 'v4.4.47', 'version' => '4.4.47.0', 'reference' => '45036b1d53accc48fe9bab71ccd86d57eba0dd94', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-contracts' => array('pretty_version' => 'v1.1.13', 'version' => '1.1.13.0', 'reference' => '7462e5c4cb8b9cd152f992e8f10963b5641921f6', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0|2.0'))));
third-party/vendor/scoper-autoload.php CHANGED
@@ -6,8 +6,8 @@ $loader = require_once __DIR__.'/autoload.php';
6
 
7
  // Exposed classes. For more information see:
8
  // https://github.com/humbug/php-scoper/blob/master/docs/configuration.md#exposing-classes
9
- if (!class_exists('ComposerAutoloaderInit4d656183616d6980c89b62d78f355683', false) && !interface_exists('ComposerAutoloaderInit4d656183616d6980c89b62d78f355683', false) && !trait_exists('ComposerAutoloaderInit4d656183616d6980c89b62d78f355683', false)) {
10
- spl_autoload_call('ProfilePressVendor\ComposerAutoloaderInit4d656183616d6980c89b62d78f355683');
11
  }
12
  if (!class_exists('PAnD', false) && !interface_exists('PAnD', false) && !trait_exists('PAnD', false)) {
13
  spl_autoload_call('ProfilePressVendor\PAnD');
6
 
7
  // Exposed classes. For more information see:
8
  // https://github.com/humbug/php-scoper/blob/master/docs/configuration.md#exposing-classes
9
+ if (!class_exists('ComposerAutoloaderInit3e29a392ff71e45d7c9ae87ff9dab7f8', false) && !interface_exists('ComposerAutoloaderInit3e29a392ff71e45d7c9ae87ff9dab7f8', false) && !trait_exists('ComposerAutoloaderInit3e29a392ff71e45d7c9ae87ff9dab7f8', false)) {
10
+ spl_autoload_call('ProfilePressVendor\ComposerAutoloaderInit3e29a392ff71e45d7c9ae87ff9dab7f8');
11
  }
12
  if (!class_exists('PAnD', false) && !interface_exists('PAnD', false) && !trait_exists('PAnD', false)) {
13
  spl_autoload_call('ProfilePressVendor\PAnD');
third-party/vendor/symfony/translation/Resources/bin/translation-status.php CHANGED
@@ -10,6 +10,9 @@ namespace ProfilePressVendor;
10
  * For the full copyright and license information, please view the LICENSE
11
  * file that was distributed with this source code.
12
  */
 
 
 
13
  $usageInstructions = <<<END
14
 
15
  Usage instructions
10
  * For the full copyright and license information, please view the LICENSE
11
  * file that was distributed with this source code.
12
  */
13
+ if ('cli' !== \PHP_SAPI) {
14
+ throw new \Exception('This script must be run from the command line.');
15
+ }
16
  $usageInstructions = <<<END
17
 
18
  Usage instructions
wp-user-avatar.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: ProfilePress
4
  * Plugin URI: https://profilepress.com
5
  * Description: The modern WordPress membership and user profile plugin.
6
- * Version: 4.2.0
7
  * Author: ProfilePress Membership Team
8
  * Author URI: https://profilepress.com
9
  * Text Domain: wp-user-avatar
@@ -13,7 +13,7 @@
13
  defined('ABSPATH') or die("No script kiddies please!");
14
 
15
  define('PROFILEPRESS_SYSTEM_FILE_PATH', __FILE__);
16
- define('PPRESS_VERSION_NUMBER', '4.2.0');
17
 
18
  if ( ! defined('PPRESS_STRIPE_API_VERSION')) {
19
  define('PPRESS_STRIPE_API_VERSION', '2022-08-01');
3
  * Plugin Name: ProfilePress
4
  * Plugin URI: https://profilepress.com
5
  * Description: The modern WordPress membership and user profile plugin.
6
+ * Version: 4.3.0
7
  * Author: ProfilePress Membership Team
8
  * Author URI: https://profilepress.com
9
  * Text Domain: wp-user-avatar
13
  defined('ABSPATH') or die("No script kiddies please!");
14
 
15
  define('PROFILEPRESS_SYSTEM_FILE_PATH', __FILE__);
16
+ define('PPRESS_VERSION_NUMBER', '4.3.0');
17
 
18
  if ( ! defined('PPRESS_STRIPE_API_VERSION')) {
19
  define('PPRESS_STRIPE_API_VERSION', '2022-08-01');