Version Description
- Added navigation menu protection.
- Added Elementor content restriction.
- Added Beaver Builder content restriction.
- Added support for discounting subscription first payment.
- Added support for purchase note.
- Added support for checking active subscription via PHP.
- Fixed bug where new order creation with missing payment method failed.
- Fixed couple of date/time related query bugs.
- Fixed bug where cancelled one-time subscription was still active.
- Fixed bug where non-completed order email receipt can be sent.
Download this release
Release Info
Developer | Collizo4sky |
Plugin | WP User Avatar |
Version | 4.1.3 |
Comparing to | |
See all releases |
Code changes from version 4.1.2 to 4.1.3
- assets/css/admin.min.css +1 -1
- assets/css/admin/admin.css +4 -0
- assets/images/cards-icon.svg +1 -1
- assets/images/paypal-icon.svg +1 -1
- changelog.txt +12 -0
- languages/wp-user-avatar.pot +404 -299
- readme.txt +15 -17
- src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php +5 -0
- src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php +2 -0
- src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php +4 -1
- src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php +1 -0
- src/Admin/SettingsPages/Membership/views/add-edit-coupon.php +12 -1
- src/Admin/SettingsPages/Membership/views/add-edit-plan.php +6 -0
- src/ContentProtection/CapabilityCheck.php +48 -0
- src/ContentProtection/ElementorRestriction.php +272 -0
- src/ContentProtection/Init.php +3 -0
- src/ContentProtection/NavMenuProtection.php +135 -0
- src/ContentProtection/SettingsPage.php +43 -2
- src/ContentProtection/views/include.elementor-protection.php +9 -0
- src/ContentProtection/views/include.menu-protection.php +9 -0
- src/ContentProtection/views/include.view.php +23 -0
- src/ContentProtection/views/view.access-condition.php +2 -2
- src/DBUpdates.php +12 -1
- src/Functions/GlobalFunctions.php +0 -1
- src/Functions/MSFunctions.php +19 -0
- src/Membership/Controllers/CheckoutController.php +2 -0
- src/Membership/Emails/AbstractMembershipEmail.php +6 -1
- src/Membership/Emails/EmailDataTrait.php +3 -1
- src/Membership/Models/Coupon/CouponEntity.php +13 -0
- src/Membership/Models/Coupon/CouponType.php +9 -0
- src/Membership/Models/Customer/CustomerEntity.php +0 -1
- src/Membership/Models/Order/OrderEntity.php +11 -0
- src/Membership/Models/Plan/PlanEntity.php +3 -0
- src/Membership/Models/Subscription/SubscriptionEntity.php +9 -2
- src/Membership/PaymentMethods/Stripe/PaymentHelpers.php +33 -1
- src/Membership/PaymentMethods/Stripe/Stripe.php +67 -12
- src/Membership/Repositories/CouponRepository.php +2 -2
- src/Membership/Repositories/PlanRepository.php +4 -0
- src/Membership/Services/OrderService.php +3 -3
- src/ShortcodeParser/MyAccount/view-order.tmpl.php +7 -1
- third-party/vendor/autoload.php +1 -1
- third-party/vendor/composer/autoload_real.php +7 -7
- third-party/vendor/composer/autoload_static.php +4 -4
- third-party/vendor/composer/installed.json +6 -6
- third-party/vendor/composer/installed.php +1 -1
- third-party/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php +35 -18
- third-party/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php +14 -0
- third-party/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php +5 -3
- third-party/vendor/scoper-autoload.php +2 -2
- wp-user-avatar.php +2 -2
assets/css/admin.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.ppress-admin #ppress-membership-customer-content .postbox-header,.ppress-admin #ppress-membership-order-content .postbox-header,.ppress-admin #ppress-membership-subscription-content .postbox-header,.ppress-admin .handle-actions{display:none}.ppress-admin .postbox .hndle{cursor:default!important}.ppress-admin #ppress-membership-customer-content .inside,.ppress-admin #ppress-membership-customer-subscriptions .inside,.ppress-admin #ppress-membership-item-content .inside,.ppress-admin #ppress-membership-order-content .inside,.ppress-admin #ppress-membership-subscription-content .inside,.ppress-admin #ppress-membership-subscription-payments .inside{margin:0;padding:0;display:block!important}.ppress-admin .ppress-membership-customer-details,.ppress-admin .ppress-membership-order-details,.ppress-admin .ppress-membership-subscription-details{padding:30px}.ppress-admin .ppress-membership-customer-details p,.ppress-admin .ppress-membership-order-details p,.ppress-admin .ppress-membership-subscription-details p{color:#777}.ppress-admin #ppress-membership-order-subscription a,.ppress-admin .ppress-membership-order-details p a,.ppress-membership-customer-details .ppress-customer-stats-wrapper a{text-decoration:none}.ppress-admin #poststuff h2.ppress-metabox-data-heading,.ppress-admin .ppress-metabox-meta-data{margin:0;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:400}.ppress-admin #poststuff h2.ppress-metabox-data-heading{font-size:21px;line-height:1.2;text-shadow:1px 1px 1px #fff;padding:0}.ppress-admin .ppress-metabox-meta-data{line-height:1.8em;font-size:16px}.ppress-admin .ppress-metabox-data-column-container{display:flex;flex-wrap:nowrap}.ppress-admin .ppress-metabox-data-column{width:50%;padding-left:0;padding-right:30px}.ppress-admin .ppress-metabox-data-column:last-of-type{padding-left:30px;padding-right:0}.ppview .postbox .ppress-metabox-data-column input:not([type=checkbox]):not([type=radio]),.ppview .postbox .ppress-metabox-data-column select{width:100%!important}.ppress-admin .ppress-metabox-data-column h3{font-size:14px;color:#333;margin:1.33em 0 0}.ppress-admin .ppress-metabox-data-column p{padding:0!important;margin:9px 0 0}.ppress-admin .ppress-metabox-data-column a.edit_address{width:14px;height:0;padding:14px 0 0;margin:0 0 0 6px;overflow:hidden;position:relative;color:#999;border:0;float:right}.ppress-admin .ppress-metabox-data-column a.edit_address::after{position:absolute;top:0;left:0;text-align:center;vertical-align:top;line-height:14px;font-size:14px;font-weight:400;font-family:Dashicons;content:""}.ppress-admin .ppress-metabox-data-column .ppress_edit_address_wrap{display:none}.ppress-admin #poststuff #ppress-membership-item-content h2{padding:15px 30px;margin:0;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,sans-serif;font-size:21px;font-weight:400;line-height:1.2;text-shadow:1px 1px 1px #fff}.ppress-admin #ppress-submetabox-items table th{text-align:left;padding:1em;font-weight:400;color:#999;background:#f8f8f8;border-top:0;user-select:none;font-size:14px;line-height:20px}.ppress-admin #ppress-submetabox-items table{background:#fff;width:100%;border-collapse:collapse}.ppress-admin #ppress-submetabox-items table th:first-child{padding-left:30px}.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-item-column-price,.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-item-column-total,.ppress-admin #ppress-submetabox-items table th.ppress-submetabox-item-column-price,.ppress-admin #ppress-submetabox-items table th.ppress-submetabox-item-column-total{width:100px;text-align:right}.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-action,.ppress-admin #ppress-submetabox-items table th.ppress-submetabox-item-column-action{width:5%;text-align:left}.ppress-admin #ppress-submetabox-items table td:first-child{padding-left:30px}.ppress-admin #ppress-submetabox-items table td{padding:1.5em 1em 1em;text-align:left;line-height:1.5em;vertical-align:top;border-bottom:1px solid #f8f8f8}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-discounts td,.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-sub-total td,.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-tax td,.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-total td{border-bottom:0}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-discounts td,.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-sub-total td,.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-tax td,.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-total,.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-total-label{text-align:right}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-border td{padding:0;border:0}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-discounts .coupon-wrap{float:left;text-align:left}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-discounts .coupon-wrap .coupons-label{display:inline-block;margin-bottom:5px;margin-right:2px;font-weight:600;font-size:12px}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-discounts .coupon-wrap .coupon-code{display:inline-block;position:relative;padding:3px 10px;background-color:#f7f7f7;border:1px solid #aaa;box-shadow:0 1px 0#dfdfdf;border-radius:4px;margin-right:5px;margin-top:5px;text-decoration:none;color:#888;font-size:12px;line-height:16px}.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-actions{border-top:1px solid #ddd;background:#f8f8f8;text-align:right}.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-actions .order-refund{float:left}.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-actions .message{font-style:italic;display:inline-block;line-height:28px}.ppress-admin #ppress-membership-item-content .ppress-submetabox-items-column-actions .ppress-hint-tooltip{text-align:left}.ppress-admin .ppress-notes li{padding:0 10px}.ppress-admin .ppress-notes li .ppress-note-content{background:#efefef;padding:10px;position:relative}.ppress-admin .ppress-notes li .ppress-note-content p{margin:0;padding:0}.ppress-admin .ppress-notes li .ppress-note-content:after{content:"";display:block;position:absolute;bottom:-10px;left:20px;width:0;height:0;border-color:#efefef transparent;border-style:solid;border-width:10px 10px 0 0}.ppress-admin .ppress-notes p.ppress-note-meta{padding:10px;color:#999;margin:0;font-size:11px}.ppress-admin .ppress-notes p.ppress-note-meta .ppress-note-date{border-bottom:1px dotted #fff}.ppress-admin .ppress-notes p.ppress-note-meta a{color:#a00}#ppress-membership-order-notes.postbox .inside{padding:0 0 10px}.ppress-admin .ppress-membership-order-details .ppress-order-badge{font-size:12px;font-weight:600;padding:6px 8px;margin-left:5px;border-radius:9999px;vertical-align:middle;background-color:rgb(220 252 231);color:rgb(22 101 52);line-height:2.30769231;text-shadow:none}.ppress-order-item-modal-wrap{width:100%;max-width:500px}.ppress-admin .ppress-order-item-modal-wrap label{display:block;font-weight:700}.ppress-admin .ppress-order-item-modal-wrap input,.ppress-admin .ppress-order-item-modal-wrap select{width:100%;max-width:100%}.ppress-admin .select2-container .select2-dropdown{z-index:900000!important}.ppress-membership-customer-details .ppress-customer-info .ppress-customer-info{min-height:185px}.ppress-membership-customer-details .ppress-customer-info{display:flex;flex-wrap:wrap}.ppress-membership-customer-details .ppress-customer-info .ppress-avatar-wrap{max-width:250px;width:35%}.ppress-membership-customer-details .ppress-customer-info .ppress-customer-main-wrapper{width:60%;padding:0 10px;box-sizing:border-box}.ppress-membership-customer-details .ppress-customer-info span.customer-name{margin-bottom:6px;font-size:24px;font-weight:600}.ppress-membership-customer-details .ppress-customer-info .ppress-customer-main-wrapper span:not(.customer-name):not([class*=select2]):not([class*=selection]){display:block;padding:3px;color:#777}.ppress-membership-customer-details .ppress-customer-info .customer-user-id span,.ppview .wp-list-table tr:hover .post-state{display:inline-block}.ppress-membership-customer-details .ppress-customer-info .ppres-customer-edit-link{text-align:center}.ppress-membership-customer-details .ppress-customer-info .ppress-avatar-wrap img{width:100%;height:auto;border-radius:5px}.ppress-membership-customer-details .ppress-customer-info .mb-form-field label{font-weight:500}.ppress-membership-customer-details .ppress-customer-info .mb-form-field label a{font-weight:400}.ppress-membership-customer-details .ppress-customer-stats-wrapper{margin:20px auto 10px;text-align:center;border-top:1px solid #eee;padding:30px 0 0}.ppress-membership-customer-details .ppress-customer-stats-wrapper ul{display:flex;margin:0;list-style:none}.ppress-membership-customer-details .ppress-customer-stats-wrapper li{font-size:14px;margin-bottom:0;width:50%}.ppress-membership-customer-details .ppress-customer-stats-wrapper .dashicons{color:#888;margin-top:-2px}#adminmenu ul>li:not(:last-child) a[href$="page=ppress-config"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-content-protection"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-customers"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-directories"]:after{border-bottom:1px solid rgba(255,255,255,.2);display:block;float:left;margin:13px -15px 8px;content:"";width:calc(100% + 30px)}@media screen and (max-width:782px){#adminmenu ul>li:not(:last-child) a[href$="page=ppress-config"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-content-protection"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-customers"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-directories"]:after{margin:20px -20px 8px;width:calc(100% + 40px)}}#adminmenu li[class*=ppress-] ul>li:nth-last-child(2):after{margin-left:0}#adminmenu li[class*=ppress-] ul.wp-submenu-wrap li,#ppress-available-shortcodes-jbox .ppclearfix:after{clear:both}.ppress-admin .ppress-checklist{background-color:#fbfbfd;margin-top:-10px;margin-bottom:20px;position:relative;box-sizing:border-box;padding:30px}.ppress-admin .ppress-checklist div{text-align:center!important}.ppress-admin .ppress-checklist h2{font-size:32px;line-height:40px;padding-bottom:10px;margin:0}.ppress-admin .ppress-checklist-teaser{font-size:18px;color:#97a3b4;margin:10px 0}.ppress-admin .ppress-checklist-dashboard-steps,.profile-press-design-gateway .pp-half-first-thumb.responsive-image{text-align:center}.ppress-admin .ppress-checklist-dashboard-steps ul{display:flex;flex-wrap:wrap;justify-content:center;margin-top:40px;margin-bottom:0}.ppress-admin .ppress-checklist-dashboard-steps ul li{width:185px;height:210px;margin:0 15px 30px;opacity:.85}.ppress-admin .ppress-checklist a{background-color:transparent;color:#326ee0;text-decoration:none}.ppress-admin .ppress-checklist-dashboard-steps ul li a{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;height:100%;text-align:center;border:1px solid #c6cbd0;border-radius:3px;text-decoration:none;position:relative}.ppress-admin .ppress-checklist-dashboard-steps ul li.ppress-checklist-done a{border-color:#0175ff}.ppress-admin .ppress-checklist-dashboard-steps ul li a svg{display:block;margin:auto;padding-top:10px;width:60px}.ppress-admin .ppress-checklist-dashboard-steps ul li a span{margin:0 10px 20px;font-size:14px;font-weight:600}.ppress-admin .ppress-checklist-dashboard-steps ul li.ppress-checklist-done a span{color:#001f4d}.ppress-admin .ppress-checklist-dashboard-steps ul li.ppress-checklist-done a:after{content:"";width:20px;height:20px;background-color:#06d478;background-image:url(../../assets/images/icon-checkmark.svg);background-repeat:no-repeat;background-size:15px;background-position:50%;position:absolute;right:3px;top:3px;border-radius:100%}.ppress-admin .ppress-checklist-dashboard-steps ul li.ppress-checklist-done a .svg-color{fill:#0175ff}.ppress-admin .ppress-checklist-dashboard-steps ul li a:hover{border-color:#001f4d}.ppress-admin .ppress-checklist-dashboard-steps ul li a:hover .svg-color{fill:#001f4d}.ppress-admin .ppress-checklist-dashboard-steps ul li.ppress-checklist-done{pointer-events:none}.pp-dnd-form-builder-wrap #titlediv span.shortcode input,.ppSCB-margin-r #titlediv span.shortcode input{font-size:12px;border:0;box-shadow:none;padding:4px 8px;margin:0;background:0 0;color:#fff}.pp-dnd-form-builder-wrap #titlediv span.shortcode,.ppSCB-margin-r #titlediv span.shortcode{display:block;margin:2px 0}.pp-form-listing .pp_forms th#shortcode{width:33%}.pp-form-listing .pp_forms th#title{width:35%}.pp-add-new-form-wrapper .profile-press-design-gateway{width:100%;max-width:700px}.pp-half-meta-inner .pp-half-meta h2{font-size:24px!important}.pp-add-new-form-wrapper .profile-press-design-gateway-inner .responsive-image img{width:100%;height:auto}.pp-add-new-form-wrapper .pp-hald-first{float:left;width:50%;text-align:center;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;color:#555}.pp-add-new-form-wrapper .pp-hald-first a{color:initial;text-decoration:none}.pp-add-new-form-wrapper .pp-builder-select-active{border:2px solid #3498db}.pp-add-new-form-wrapper .pp-half-meta-inner{background:#fff;padding:20px;position:relative;cursor:pointer}.profile-press-design-gateway .pp-half-first-thumb.responsive-image img{width:70px;height:70px;padding:20px}.pp-add-new-form-wrapper .pp-builder-create-btn{background:#3498db;padding:20px;width:100%;border:0;font-weight:400;text-transform:uppercase;color:#fff;font-family:"Work Sans",sans-serif;font-size:20px;border-bottom:3px solid #2980b9;cursor:pointer}.pp-add-new-form-wrapper .pp-half-meta p{font-size:17px;line-height:1.5;margin-top:20px}.pp-add-new-form-wrapper .pp-builder-create-btn:focus{border-bottom:2px solid #2980b9}.ppview .postbox .wp-editor-wrap,.ppview .postbox input[type=number],.ppview .postbox input[type=text],.ppview .postbox select,.ppview .postbox textarea,.ppview input[type=password]{width:550px!important;max-width:550px!important}#ppContentProtectionContent .col select,.ppress-admin .ppview .postbox .ppress-subscription-plan-payment-links input,.ppview .postbox [id*=email_content-wrap].wp-editor-wrap{width:100%!important;max-width:100%!important}.pp-form-listing .pp_forms input.shortcode-in-list-table{width:100%!important;max-width:260px;border:0}.ppSCB .pp-form-builder-shortcodes-btn{text-align:right;float:right}#ppress-available-shortcodes-jbox{width:100%;max-width:600px}#ppress-available-shortcodes-jbox *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased}#ppress-available-shortcodes-jbox input#ppress_shortcode_inserter_search{width:100%;height:28px;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-list-wrapper{padding:10px 20px}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-name{font-weight:700;font-size:15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:inline}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-item-btn{width:32%;display:inline;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-item-btn a{float:right;margin-top:10px}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-item{width:68%;float:left}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-item-wrap{display:block;padding-top:5px}#ppress-available-shortcodes-jbox .ppclearfix:after,#ppress-available-shortcodes-jbox .ppclearfix:before{content:" ";display:table}#ppress-available-shortcodes-jbox .jBox-title{font-size:16px;margin:0}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-item-wrap{border-bottom:1px solid #d3d3d3;padding-bottom:10px}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-desc{margin:5px 0 10px;font-size:14px}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attributes-wrap{margin:8px 0 21px;border:1px solid #e5e5e5;border-left:0;border-right:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);color:#515151;width:100%;box-sizing:border-box}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attribute-label{width:38%;display:inline-block;box-sizing:border-box;font-size:13px;font-weight:600;float:left;background:#f9f9f9;vertical-align:top;border:0;border-top:1px solid #f2f2f2;padding:25px 20px 18px}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attribute-field:first-child,.ppress-builder-shortcode-attribute-row:first-child .ppress-builder-shortcode-attribute-label{border-top:none}#ppress-available-shortcodes-jbox .jBox-content{background-color:#f5f5f5}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attribute-field{vertical-align:top;border:0;width:62%;box-sizing:border-box;border-top:1px solid #f2f2f2;padding:15px 20px;float:left;background:#fff}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attribute-row:after{content:"";display:table;clear:both}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attribute-row{border:1px solid #e5e5e5;border-top:0;border-bottom:0}#ppress-available-shortcodes-jbox .ppress-shortcode-inserter-builder-field:not([type=checkbox]){width:100%}#ppress-available-shortcodes-jbox .ppress-shortcode-inserter-builder-field[type=checkbox]{margin:10px 0}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-clipboard-form{padding:0 0 12px}#ppress-available-shortcodes-jbox #ppress-builder-shortcode-preview-field{-webkit-box-sizing:border-box;box-sizing:border-box;line-height:1.45;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);font-family:Consolas,Monaco,monospace;width:100%;padding:18px;font-size:12.5px;margin:0 5px 9px 0;text-align:center;background:#fff}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-btn.button{width:100%}#ppress-available-shortcodes-jbox .ppress-shortcode-inserter-back{cursor:pointer;margin:0 6px 0 0}.ppSCB .pp-form-builder-shortcodes-btn a:before{font-family:dashicons;content:"";padding-right:2px;vertical-align:middle;display:inline-block}.pp-form-listing .pp_formsinput[readonly]{background-color:#eee;margin:1px}.ppview .custom-field-anchor{width:30px;border-right:1px solid #e1e1e1;text-align:center!important}.ppview tbody tr td.custom-field-anchor{cursor:move}.ppview table#pp_contact_info tbody tr:hover,.ppview table.custom_profile_fields tbody tr:hover{background-color:#e3e3e3}.pp_circle_green,.pp_circle_red{border-radius:100%;height:2px;margin:5px 15px;padding:5px;width:2px}.pp_circle_green{background:green}.pp_circle_red{background:red}.wp_csa_view.pp-license .banner{position:absolute;left:10%;display:block;margin:10px 5px 20px;width:600px;height:60px;border:1px solid #8a1;font:400 30px/60px Rye;text-align:center;color:#451;background:#9b2;border-radius:4px;box-shadow:0 0 30px rgba(0,0,0,.15) inset,0 6px 10px rgba(0,0,0,.15)}.wp_csa_view.pp-license .banner::after,.wp_csa_view.pp-license .banner::before{content:"";position:absolute;top:24px;display:block;width:40px;height:0;border:30px solid #9b2;border-bottom-color:#94b81e}.wp_csa_view.pp-license .banner::before{left:-70px;border-right:20px solid #791;border-left-color:transparent;transform:rotate(-5deg)}.wp_csa_view.pp-license .banner::after{left:auto;right:-70px;border-left:20px solid #791;border-right:30px solid transparent;transform:rotate(5deg)}.ppview .pp-settings-wrap{display:flex;border:1px solid #c8d7e1;margin-top:5px}.ppview .pp-settings-wrap .dashicons{padding-top:2px;margin-right:5px}.ppview .pp-settings-wrap h2.nav-tab-wrapper{flex:1;border-bottom:none;padding:0;background:#f7f8fa;border-right:1px solid #c8d7e1}.ppview .pp-settings-wrap h2.nav-tab-wrapper a{float:none;display:block;margin:0;border:0;padding:15px;background:#f7f8fa;font-weight:500;border-bottom:1px solid #c8d7e1}.ppview .pp-settings-wrap h2.nav-tab-wrapper a.nav-tab-active{background:#fff!important;border-right:1px solid #c8d7e1;width:99%;color:#2e4453}.ppview .pp-settings-wrap .metabox-holder{flex:3;padding-left:3%;padding-right:10px;background:#fff}.ppview .pp-settings-wrap .pp-tab-settings .postbox{border:0;box-shadow:none}.ppview .pp-settings-wrap .metabox-holder h3.hndle{padding:12px;cursor:default;border-top:1px solid #eee;border-bottom:1px solid #eee}.ppview .pp-settings-wrap .postbox:first-child h3.hndle{border-top:none!important}#pp-sub-bar .pp-clear,.pp-add-new-form-wrapper .pp-optin-clear,.pp-add-new-form-wrapper .pp-template-clear{clear:both}#pp-sub-bar .pp-clear:after,.pp-add-new-form-wrapper .pp-optin-clear:after,.pp-add-new-form-wrapper .pp-template-clear:after{clear:both;content:".";display:block;height:0;line-height:0;overflow:auto;visibility:hidden;zoom:1}#pp-sub-bar .pp-new-toolbar{min-height:38px;padding:10px;background:#fff;margin-bottom:20px;border:1px solid #dedede;box-sizing:content-box;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#pp-sub-bar .pp-new-toolbar h4{color:#222;font-size:18px;font-weight:600;margin:8px 0 0;padding:0;float:left}#pp-sub-bar .pp-new-toolbar ul{float:right;list-style:none;padding:0;margin:10px 0 0}#pp-sub-bar .pp-new-toolbar ul li{list-style:none;padding:0;margin:0;float:left}#pp-sub-bar .pp-new-toolbar ul li a{color:#0085ba;text-decoration:none;text-transform:uppercase;font-size:13px;letter-spacing:1px;padding:21px 15px 22px;outline:0!important}#pp-sub-bar .pp-new-toolbar ul li a.pp-type-active,#pp-sub-bar .pp-new-toolbar ul li a:hover{color:#fff;background:#007cba}.pp-add-new-form-wrapper .pp-form-new-list .pp-dash-spinner{visibility:hidden;float:none;margin-right:0;margin-left:0}.pp-add-new-form-wrapper .pp-error{color:red;font-size:13px;font-weight:600;vertical-align:middle;display:inline-block;margin-top:-3px}.pp-add-new-form-wrapper .pp-input-error{border-color:red!important;-webkit-box-shadow:0 0 2px rgba(255,0,0,.8)!important;box-shadow:0 0 2px rgba(255,0,0,.8)!important}.pp-add-new-form-wrapper .pp-form-new-list{height:38px;padding:10px;background:#fff;margin-bottom:20px;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}.pp-add-new-form-wrapper .pp-form-new-list h4{color:#222;font-size:18px;font-weight:600;text-shadow:0 1px rgba(255,255,255,.25);margin:2px 0 0;padding:0}.pp-add-new-form-wrapper .pp-form-new-list strong{font-size:16px;vertical-align:middle}.pp-add-new-form-wrapper .pp-form-new-list input,.pp-add-new-form-wrapper .pp-form-new-list select{position:relative;top:1px;margin-left:5px;margin-right:10px;font-size:16px;font-weight:300;width:350px;height:32px}.pp-add-new-form-wrapper .ppress-premium-flag{position:absolute;top:-8px;right:-8px;width:90px;height:81px;background-image:url(../../images/themes/premium-theme.png);background-size:90px 81px;transform:rotate(70deg)}.pp-add-new-form-wrapper .pp-optin-theme{cursor:pointer;float:left;margin:0 4% 4%0;position:relative;width:30.66666666667%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#ppContentProtectionContent .actions a:hover,#ppContentProtectionContent .col a:hover,.pp-add-new-form-wrapper .pp-optin-theme a{text-decoration:none}.pp-add-new-form-wrapper .pp-optin-theme:nth-child(3n){margin-right:0}.pp-add-new-form-wrapper .pp-optin-theme.pp-last-theme{margin-right:0}.pp-add-new-form-wrapper .pp-optin-theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.pp-add-new-form-wrapper .pp-optin-theme-screenshot:after{content:"";display:block;padding-top:66.66666%}.pp-add-new-form-wrapper .pp-optin-theme .pp-optin-theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.pp-add-new-form-wrapper .pp-optin-theme .pp-optin-theme-actions{position:absolute;bottom:0;right:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-left:1px solid rgba(0,0,0,.05)}.pp-add-new-form-wrapper .pp-optin-theme-screenshot img{height:100%;position:absolute;left:0;top:0;width:100%;-webkit-transform:translateZ(0);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}#pp-sub-bar .pp-new-toolbar .pp-melange-jbox{margin:0 0 0-18px;font-size:18px;cursor:pointer}.pp-form-listing.pp-forms .wp-list-table .column-date{width:145px}.pp-form-listing.pp-user-profiles th#title{width:30%}.pp-form-listing.pp-user-profiles th#date{width:20%}.pp-form-buider-settings-popup-container *{box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.pp-form-buider-settings-popup-container{position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(51,51,51,.95);padding:20px}.pp-form-buider-settings-popup-content{background-color:#fefefe;margin:5%auto;border:1px solid #888;width:100%;max-width:600px}.pp-form-buider-settings-popup-header{-webkit-font-smoothing:antialiased;align-items:center;border-bottom:1px solid #e6e6e6;box-sizing:border-box;display:flex;font-variant-ligatures:none;outline:0;padding:15px;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-dnd-form-builder-wrap span.pp-form-buider-settings-field-type,.pp-form-buider-settings-popup-container span.pp-form-buider-settings-field-type,.pp-form-buider-settings-popup-header h3{-webkit-font-smoothing:antialiased;box-sizing:border-box;color:#333;font-family:Arial,sans-serif;font-stretch:normal;font-style:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;margin:0;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-form-buider-settings-popup-header h3{border-width:0;display:block;font-size:15px;font-weight:700;line-height:30px;overflow:hidden;padding:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.pp-form-buider-settings-popup-container .pp-actions-left{display:flex;align-items:center;margin-left:10px;margin-right:auto}.pp-dnd-form-builder-wrap span.pp-form-buider-settings-field-type,.pp-form-buider-settings-popup-container span.pp-form-buider-settings-field-type{background-color:#f2f2f2;border:2px solid transparent;border-radius:13px;cursor:default;display:inline-block;font-size:12px;font-weight:500;height:26px;letter-spacing:-.25px;line-height:22px;min-width:40px;padding:0 16px;text-align:center}.pp-dnd-form-builder-wrap span.pp-form-buider-settings-field-type.field-bar-title{margin-top:3px;margin-left:5px;padding:0 8px;font-size:11px}.pp-form-buider-settings-popup-container .pp-actions-right{display:flex;align-items:center;margin-left:auto;margin-right:0}.pp-form-buider-settings-popup-body .pp-form-buider-settings-popup-tab-content,.pp-form-buider-settings-popup-body .pp-form-buider-settings-popup-tabs,.pp-form-buider-settings-popup-body a.pp-form-buider-settings-popup-tab-menu{-webkit-font-smoothing:antialiased;box-sizing:border-box;font-variant-ligatures:none;outline:0;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-form-buider-settings-popup-body .pp-form-buider-settings-popup-tabs{border-top:0 solid #e6e6e6;display:flex;list-style:none;margin:0;padding:0 30px}.pp-form-buider-settings-popup-body a.pp-form-buider-settings-popup-tab-menu{border-bottom:2px solid transparent;box-shadow:none;color:#888;cursor:pointer;font-size:12px;font-weight:500;line-height:22px;margin:0 10px;outline:0 transparent;padding:14px 0 12px;text-decoration:none;text-transform:uppercase}.pp-form-buider-settings-popup-body a.pp-form-buider-settings-popup-tab-menu.active{color:#333;border-bottom-color:#333}.pp-form-buider-settings-popup-body .pp-form-buider-settings-popup-tab-content{border-top:1px solid #e6e6e6;display:block;margin-top:-1px;padding:30px}.pp-form-buider-settings-popup-tab-content .pp-form-row{flex-direction:row;flex-wrap:wrap;width:100%;display:flex;margin-bottom:30px}.pp-form-buider-settings-popup-tab-content .pp-form-row:last-child{margin-bottom:0}.pp-form-buider-settings-popup-tab-content .pp-form-column{display:flex;flex-direction:column;flex-basis:100%;flex:1;padding-left:15px;padding-right:15px}pp-form-buider-settings-popup-tab-content .pp-form-double-column{display:flex;flex-direction:column;flex-basis:100%;flex:2}.pp-form-control-icon-picker{cursor:pointer}.pp-form-buider-settings-popup-container .pp-form-buider-settings-popup-body .pp-form-control,.pp-form-buider-settings-popup-container label.pp-label{-webkit-font-smoothing:antialiased;box-sizing:border-box;color:#333;font-family:Arial,sans-serif;font-stretch:normal;font-style:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-weight:500;letter-spacing:-.25px;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-form-buider-settings-popup-container label.pp-label{border-width:0;display:block;font-size:14px;line-height:22px;margin:0 0 5px;padding:0;cursor:pointer;vertical-align:middle}.pp-form-buider-settings-popup-container .pp-form-control-description{-webkit-font-smoothing:antialiased;box-sizing:border-box;color:#888;display:block;font-size:13px;font-variant-ligatures:none;font-weight:400;line-height:22px;margin-top:5px;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-form-buider-settings-popup-container .pp-form-buider-settings-popup-body .pp-form-control{background-color:#fff;background-image:none;border:1px solid #ddd;border-radius:4px;box-shadow:none;display:inline-block;font-size:15px;height:40px;line-height:20px;margin:0;outline:0;padding:9px 14px;transition-delay:0s;transition-duration:.3s;transition-property:all;transition-timing-function:ease-in-out}.pp-form-buider-settings-popup-container .pp-form-buider-settings-popup-body .pp-form-control[type=checkbox],.pp-form-buider-settings-popup-container .pp-form-buider-settings-popup-body .pp-form-control[type=radio]{height:1rem}.pp-form-buider-settings-popup-container .pp-form-buider-settings-popup-body select.pp-form-control{background-image:url(../../images/frontend/arrow-down.png);background-position:right 20px center;background-repeat:no-repeat;background-size:10px auto;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pp-form-buider-settings-popup-content .pp-form-control:not([type=checkbox]){width:100%!important;max-width:100%!important}.pp-form-buider-settings-popup-content .pp-form-buider-settings-popup-footer{-webkit-font-smoothing:antialiased;align-items:center;border-top:1px solid #e6e6e6;box-sizing:border-box;display:flex;font-variant-ligatures:none;outline:0;padding:30px;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-form-buider-settings-popup-content textarea.pp-form-control{max-width:100%;min-height:100px;resize:vertical;line-height:20px}.pp-form-buider-settings-popup-container .pp-form-buider-settings-field-close-btn{color:#aaa;float:right;font-size:28px;font-weight:700}.pp-form-buider-settings-popup-container .pp-form-buider-settings-field-close-btn:focus,.pp-form-buider-settings-popup-container .pp-form-buider-settings-field-close-btn:hover{color:#000;text-decoration:none;cursor:pointer}.ppSCB-tab-box-div .CodeMirror{width:100%!important;border:0;height:617px}.ppSCB-tab-box-div .form-table th{padding:20px 0}.pp_edit_form #titlediv div#titlewrap #title{width:80%!important}#titlewrap input.ppSCB-save-btn{margin:0 10px 5px;vertical-align:top;height:35px}.ppSCB-margin-r input[type=text],.ppSCB-margin-r select,.ppSCB-margin-r textarea{max-width:500px!important;width:100%!important}#post-body-content .form-table textarea.wp-editor-area,.remove_white_styling #post-body-content .form-table textarea.wp-editor-area,textarea.wp-editor-area{max-width:100%!important;width:100%!important}.ppSCB-tab-content{max-width:840px}#ppSettings.ppSCB-tab-content{padding:0 15px 15px}#ppSettings .ppSCB-tab-content-header{font-size:14px;background:#f5f5f5;padding:8px 5px;color:#333;margin:1em 0}.ppSCB-margin-r{margin-top:10px;margin-right:460px}.ppSCB-clear-both{clear:both}.ppSCB-margin-r h2.nav-tab-wrapper{border-bottom:0!important;padding-bottom:0!important;padding-left:0!important}.ppSCB-margin-r h2 .nav-tab{font-size:13px;line-height:25px;font-weight:400;padding:4px 10px!important;border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0}.ppSCB-margin-r .nav-tab-active,.ppSCB-margin-r .nav-tab-active:hover{background:#fff;font-weight:700!important;border-bottom:0;border-top:2px solid #1a9ac9;color:#0073aa}.ppSCB-margin-r .ppSCB-tab-box{float:left;width:100%}.ppSCB-margin-r .ppSCB-tab-box-div{background:#fff;border:1px solid #ccc;min-height:617px;padding:0}.ppSCB-margin-r .ppSCB-sidebar{float:right;border:1px solid #ccc;background:#fff;margin-right:-460px;width:440px;min-height:700.6px}.ppSCB-margin-r.passwordReset .ppSCB-sidebar{min-height:684.4px}.ppSCB-margin-r .ppSCB-sidebar h2{font-size:16px;text-align:center;color:#888;line-height:24px}.ppSCB-margin-r .ppSCB-sidebar iframe{width:100%!important;height:100%!important;min-height:649px}.ppSCB-margin-r .ppSCB-sidebar h3{border-bottom:1px solid #eee;margin:0;padding:10px;line-height:1.4;text-align:center;font-size:18px}.ppSCB-margin-r input.shortcode-in-list-table{float:right;width:250px!important;background:#fff;border:3px solid #eee;font-weight:400;font-size:15px;padding:4px 10px;line-height:normal}.ppSCB-margin-r .ppSCB-preview-h-left,.ppSCB-margin-r .ppSCB-preview-h-right{text-align:center;display:inline-block;width:49%;padding:14px 1.1px;cursor:pointer}.ppSCB-margin-r .ppSCB-preview-h-left h3,.ppSCB-margin-r .ppSCB-preview-h-right h3{display:inline;border:0;font-size:14px}.ppSCB-margin-r .ppSCB-preview-header{border-bottom:1px solid #eee}.ppSCB-margin-r .ppSCB-preview-active{background:#eee;color:#fff!important;border:0}.ppSCB #titlediv div#titlewrap #title{max-width:80%!important}.ppress-email-editor-wrap{margin:0;padding:0}.ppress-email-editor-wrap .pp-email-editor-tab{border-bottom:1px solid #ddd;margin:0;padding:0}.ppress-email-editor-wrap .pp-email-editor-tablinks{padding:8px 15px;color:#666;background-color:#fff;border:0;margin:0;cursor:pointer}.ppress-email-editor-wrap .pp-email-editor-tabcontent{border:1px solid #ddd;border-top:0;display:none}.ppress-email-editor-wrap .pp-email-editor-tablinks.ecode{margin-left:31px}.ppress-email-editor-wrap .pp-email-editor-tablinks.eactive{border:1px solid #ddd;border-bottom:0;margin-bottom:-1px;padding-bottom:9px}.ppress-email-editor-wrap .pp-email-editor-tabcontent.epreview{padding:10px 10px 8px;margin:0;max-height:450px;overflow:scroll}.wrap.ppview .pp-settings-wrap .CodeMirror{height:300px;width:600px}.ppview #social_login_settings .CodeMirror{height:230px}.wrap.ppview .pp-settings-wrap .ppress-email-editor-wrap .pp-email-editor-tabcontent .CodeMirror{height:400px;width:600px;border-top:0;padding:0 5px}.ppview .pp-custom-field-notice{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 0 10px;padding:1px 12px;display:block;border-left-color:#00a0d2;position:relative;clear:left}.ppview .pp-custom-field-notice p{margin:.5em 0;padding:2px 5px}.ppress_settings_data .pp-email-notification-status{margin-right:18px;font-size:28px;line-height:22px;color:#a00;float:left;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.ppress_settings_data .pp-email-notification-status.pp-is-active{color:#46b450}.ppress_settings_data .pp-email-notifications th.column-title.column-primary{padding-left:48px}.ppress_settings_data .pp-email-notifications .pp-email-configure span{line-height:24px}.ppress_settings_data .pp-email-notifications .column-configure{width:60px;text-align:center}.remove_white_styling #post-body-content .form-table input[type=password],.remove_white_styling #post-body-content .form-table input[type=text],.remove_white_styling #post-body-content .form-table select,.remove_white_styling #post-body-content .form-table textarea{max-width:630px!important;width:100%!important}.pp-below-text-field-success{background:#46b450;color:#fff;padding:2px 5px;width:100%;box-sizing:border-box}.remove_white_styling #post-body-content textarea{min-height:200px}.pp-custom-fields.remove_white_styling #post-body-content textarea{min-height:50px}.ppress-below-text-field-error{background:#ca4a1f;color:#fff;padding:2px 5px;width:100%;box-sizing:border-box}.ppress-placeholder-tags{overflow:scroll;height:300px;width:100%;margin:10px 0}.ppress-placeholder-tags tbody tr:first-of-type{background-color:#efefef}.ppress-placeholder-tags tbody tr th{padding:15px}.ppress-settings-page-notice{background:#ddd9;padding:15px}.ppress-hint-tooltip{display:inline;font-weight:400}#logs textarea.ppress-error-log-textarea{width:100%!important;max-width:100%!important;min-height:300px!important;color:rgba(51,51,51,.78)!important}.pp-custom-fields #post-body-content textarea{width:100%;min-height:initial}#ppContentProtectionContent .badge{-webkit-font-smoothing:antialiased;background:#a5b2bd;border-radius:2px;color:#fff;display:inline-block;font-size:11px;font-style:normal;font-weight:700;line-height:10px;padding:4px 5px;text-transform:uppercase;vertical-align:text-top;-webkit-transition:background-color .25s ease-in-out;-o-transition:background-color .25s ease-in-out;transition:background-color .25s ease-in-out}#ppContentProtectionContent{margin:1em 0 2em}#ppContentProtectionContent.actions .facet{padding-right:35px}#ppContentProtectionContent .condAction{background:#f9fafa;border:1px solid #d6dde3;border-radius:3px}#ppContentProtectionContent .facet{zoom:1;position:relative;padding:15px 30px 10px 20px}#ppContentProtectionContent .facet:after,#ppContentProtectionContent .facet:before{display:table;content:"";line-height:0}#ppContentProtectionContent .facet:after{clear:both}#ppContentProtectionContent .col{width:48%;float:none;box-sizing:border-box;display:inline-block}#ppContentProtectionContent .col input{margin-right:5px;width:184px}#ppContentProtectionContent .col:last-child{margin-right:0}#ppContentProtectionContent .col a{line-height:28px}#ppContentProtectionContent .input-append>input{margin-right:0}#ppContentProtectionContent .regex input[type=text],.ppress-admin .ppress-checkout-fields .widget.open .widget-inside{display:block}#ppContentProtectionContent .timeframe input,#ppContentProtectionContent .timeframe select{display:inline-block;float:none}#ppContentProtectionContent .timeframe input{width:40px}#ppContentProtectionContent .timeframe select{width:80px}#ppContentProtectionContent .icon-circle-minus{color:#a5b2bd}#ppContentProtectionContent .actions{position:absolute;right:10px;top:17px;border:1px solid #a5b2bd;border-radius:50%}#ppContentProtectionContent .actions a{margin:0;text-decoration:none}#ppContentProtectionContent .and{border-bottom:1px dashed #d6dde3;margin:.5em 0 1.7em;text-align:center}#ppContentProtectionContent .and a,#ppContentProtectionContent .and em,#ppContentProtectionContent .and label{background:#fff;font-size:1.2em;font-style:normal;margin:0 10px;padding:0 10px;position:relative;top:9px}#ppContentProtectionContent .and label{cursor:pointer;display:inline-block;top:12px}#ppContentProtectionContent .and a{left:-6.5px}#ppContentProtectionContent .actions a:hover .icon-circle-minus,#ppContentProtectionContent .and em{color:#4f5d6b}#ppContentProtectionContent .and input{margin:0}#ppContentProtectionContent .or{color:#93a1af;font-weight:500;margin-left:-21px;left:50%;position:absolute;top:-6px;background:#f9fafa;font-size:1.2em;padding:0 10px}#ppContentProtectionContent .add-or>.add{background:#f9fafa;font-size:1.2em;padding:0 10px;left:-6.5px;position:relative;top:-9px}#ppContentProtectionContent .add-or{text-align:center}#ppContentProtectionContent .facetList>.facet:first-child>.badge{display:none!important}#ppContentProtectionContent #workflowConditions .facetList .facet select{min-height:32px}#ppContentProtectionContent #workflowConditions .col input.select2-search__field{margin:0;min-height:0}#ppContentProtectionContent #workflowConditions .select2 li{margin-bottom:0}#post-body-content .content_protection .column-title{width:32%}#post-body-content .content_protection .column-content{width:43%}#post-body-content .content_protection .access{width:25%}.ppress-extensions-items-wrap *{box-sizing:border-box}.ppress-extensions-items-wrap .ppress-extensions-header{padding:20px 0 10px;border-bottom:2px solid #e8e8eb;margin:0 0 30px;display:flex;align-items:center}.ppress-extensions-items-wrap .ppress-extensions-header-buttons{flex:1 0}.ppress-extensions-items-wrap .ppress-extensions-button{height:35px;font-size:14px;padding:0 18px;margin-right:10px}.ppress-extensions-items-wrap .ppress-extensions-items-row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap;margin-right:-.5rem;margin-left:-.5rem}.ppress-extensions-items-wrap .ppress-extension-item-wrap{box-sizing:border-box;flex:0 0 auto;padding:.5rem;flex-basis:100%;max-width:100%}@media only screen and (min-width:782px){.ppress-extensions-items-wrap .ppress-extension-item-wrap{flex-basis:50%;max-width:50%}}@media only screen and (min-width:1042px){.ppress-extensions-items-wrap .ppress-extension-item-wrap{flex-basis:33.33333333%;max-width:33.33333333%}}.ppress-extensions-items-wrap .ppress-extension-item-card{height:100%;border:1px solid #e8e8eb;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.05);color:#141b38;display:flex;flex-direction:column}.ppress-extensions-items-wrap .ppress-extension-card-body{padding:30px 30px 20px;flex:1}.ppress-extensions-items-wrap .ppress-extension-card-body.ppress-unavailable{opacity:.5}.ppress-extensions-items-wrap .ppress-extension-card-header{display:flex;align-items:center;font-size:18px;font-weight:600;margin-bottom:16px}.ppress-extensions-items-wrap .ppress-extension-card-header .dashicons,.ppress-extensions-items-wrap .ppress-extension-card-header svg{width:35px;height:35px;margin-right:10px;font-size:35px}.ppress-extensions-items-wrap .ppress-extension-card-description{color:#434960;font-size:15px;line-height:22px}.ppress-extensions-items-wrap .ppress-extension-card-learn-more{margin-top:10px}.ppress-extensions-items-wrap .ppress-extension-card-footer{border:2px solid #fff;background-color:#f9f9fa;padding:12px;min-height:43px}.ppress-extensions-items-wrap .ppress-extension-card-install-activate{display:flex;align-items:center;justify-content:flex-end;height:30px;position:relative}.ppress-extensions-items-wrap .ppress-extension-card-install-activate .ppress-extension-card-status{font-weight:600;font-size:14px}.ppress-extensions-items-wrap .ppress-extension-use-switch{position:relative;cursor:pointer;background-color:#5a5a5a;border-radius:15px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out;vertical-align:middle;display:inline-block;margin:-2px 0 0 5px;width:36px;height:20px}.ppress-extensions-items-wrap .ppress-extension-card-install-activate input[type=checkbox]:checked+.ppress-extension-use-switch{background-color:#007cba}.ppress-extensions-items-wrap .ppress-extension-card-install-activate input[type=checkbox]{position:absolute;top:auto;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;white-space:nowrap}.ppress-extensions-items-wrap .ppress-extension-card-install-activate input[type=checkbox]:checked+.ppress-extension-use-switch:before{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}.ppress-extensions-items-wrap .ppress-extension-use-switch:before{position:absolute;content:"";height:16px;width:16px;left:2px;top:2px;background-color:#fff;border-radius:50%;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.ppress-extensions-items-wrap .ppress-extension-card-learn-more .no-underline{text-decoration:none}.ppress-extensions-items-wrap .ppress-extensions-upgrade-cta{display:flex;align-items:center;justify-content:flex-end}.ppress-extensions-items-wrap .ppress-extension-status{font-weight:700;color:#393f4c}.ppress-extensions-items-wrap .ppress-extension-status span{color:#777;font-weight:600}.ppress-extensions-upsell-wrap{margin-top:10px;padding:20px;background:#fff;border-left:3px solid #007cba;line-height:1.5;font-size:14px}.ppress-extensions-upsell-wrap .notice-content{display:-webkit-box;display:-ms-flexbox;display:flex}.ppress-extensions-upsell-wrap .ppress-extensions-upsell-button{flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;margin-left:auto;border-width:1px 1px 2px;border-radius:3px;cursor:pointer;display:inline-block;font-size:14px;text-decoration:none;margin-top:0;line-height:1}.ppress-extensions-upsell-wrap .ppress-extensions-upsell-button a{padding:5px 15px}.ppress-extensions-upsell-wrap .ppress-extensions-upsell-highlight{font-weight:700;color:#007cba}.ppress-admin .ppress-admin-banner{background-color:#326ee0;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;top:0;width:100%;padding:15px}.ppress-admin .ppress-admin-wrap{margin-bottom:10px}.ppress-admin .ppress-admin-banner.ppress-pro{padding:15px 15px 0}.ppress-admin .ppress-admin-banner.ppress-pro.ppress-no-submenu{padding-bottom:15px}.ppress-admin .wrap{padding-left:20px;margin:0 20px 0 2px}.wp-admin.ppress-admin #wpcontent{padding:0}.ppress-admin .ppress-admin-banner__logo{padding:0 0 15px;display:block}.ppress-admin .ppress-admin-banner__logo img{width:140px;height:auto;float:left;margin-top:20px;padding-left:15px}.ppress-admin .ppress-admin-banner__helplinks{float:right;padding:10px 20px 20px}.ppress-admin .ppress-admin-banner__helplinks a{color:rgba(255,255,255,.92);text-decoration:none}.ppress-admin .ppress-admin-banner__helplinks a.ppress-active{background:#fff;padding:5px;color:#326ee0;border-radius:4px}.ppress-admin .ppress-admin-banner__helplinks>span{padding-right:15px}.ppress-admin div#screen-meta-links{position:absolute;right:0;z-index:9}.ppress-admin .ppress-nav-tab-wrapper{padding:0;margin:10px 16px 0;border-bottom:0}.ppress-admin .ppress-nav-tab-wrapper .ppress-nav-tab{display:block;font-weight:500;padding:5px 12px;text-decoration:none;border:1px solid transparent;background-color:transparent;color:rgba(255,255,255,.92);margin:0}.ppress-admin .ppress-nav-tab-wrapper .ppress-nav-tab.ppress-nav-active{background-color:#fff;color:#2d3559;border-color:#fff;border-radius:4px 4px 0 0}.ppress-admin-banner.ppress-not-pro{padding-bottom:0}.ppress-admin .ppress-no-submenu .ppress-nav-tab-wrapper,.ppress-admin .ppress_checkout_fields div#widgets-right .widgets-holder-wrap{margin-top:0}.ppress-admin-banner .ppress-header-menus{margin-top:10px}.ppress-admin .ppress-admin-wrap+.wrap h2{font-size:21px;font-weight:500}.ppress-admin .ppress-admin-wrap .subsubsub{background:#fff;font-size:14px;padding:0 32px;margin-top:0;float:none;text-align:left}.ppress-admin .ppress-admin-wrap .subsubsub a{color:#1d2327;display:block;font-weight:600;padding:8px 12px}.ppress-admin .ppress-admin-wrap .subsubsub a.ppress-current{color:#326ee0}.ppress-admin.wp-core-ui .wrap a.ppress-link{display:block;margin-top:10px;font-size:1em}.ppress-admin.wp-core-ui .wrap a.ppress-link svg{width:1.2em;margin:0 .2em;height:1.4em;vertical-align:middle;fill:currentcolor}.ppview .pp-alert-notice,.profile-php .pp-alert-success{background:#fff;border:1px solid #c3c4c7;border-left-width:4px;box-shadow:rgba(0,0,0,.04)0 1px 1px 0;margin:5px 2px;padding:1px 12px;border-left-color:#d63638}.profile-php .pp-alert-success{border-left-color:#72aee6;padding:8px 10px}.ppview .pp-alert-notice-info{border-left-color:#72aee6}.ppview .pp-alert-notice p,.profile-php .pp2fa-up-notice p{margin:.5em 0;padding:2px}.profile-php .ppmyac-2fa-recovery-codes-wrap pre{background:#fff;max-width:150px;border:1px solid #c3c4c7;width:100%;text-align:center;padding:10px 20px;margin-bottom:20px;line-height:1.8;overflow:auto}.ppress-admin .subscription_plan .manage-column.column-name{width:25%}.ppress-admin .subscription_plan .manage-column.column-status{width:10%}.ppress-admin .subscription_plan .manage-column.column-checkout_url{width:20%}.ppress-admin .ppress_checkout_fields .widget-liquid-left{width:50%;padding:0 10px 0 0;box-sizing:border-box}.ppress-admin .ppress_checkout_fields .widget-liquid-left:last-of-type{padding-right:0}.ppress-admin #poststuff.ppress_checkout_fields h2{font-size:1.3em}.ppress-admin .ppress-checkout-fields{min-height:50px;border:2px dashed #eee;padding:20px}.ppress-admin .ppress-checkout-add-field select{margin:0 10px;width:50%;vertical-align:baseline}.ppress-admin .ppress-checkout-fields .widget-inside input,.ppress-admin .ppress-checkout-fields .widget-inside select{width:100%;display:block}.ppress-admin .ppress_checkout_fields .ppress-submit-wrap{text-align:right;padding:0 0 1em}.ppress-admin .ppress_checkout_fields .ppress-submit-wrap .button{min-height:35px;padding:0 15px}.ppress-admin .ppress-checkout-fields .sortable-placeholder{padding:20px;border:1px dashed #c3c4c7;margin-bottom:20px}.ppress_payment_methods #post-body-content .form-table .ppress-payment-methods-wrap th,.ppress_taxes #post-body-content .form-table .ppress-tax-rates-wrap th{padding:10px}.ppress_payment_methods .ppress-payment-methods-wrap .ppress-payment-method-icon,.ppress_taxes .ppress-tax-rates-wrap .ppress-tax-rate-table-actions .ppress-tax-rate-icon{background:#aaa;border-radius:50%!important;padding:2px 2px 4px;color:#fff}.ppress_payment_methods .ppress-payment-methods-wrap .ppress-payment-method-icon.ico-yes{background:#2271b1}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap td.ppress-payment-method-table-title{font-weight:700}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap .ppress-payment-method-table-sort{text-align:center;width:.5em!important;cursor:move}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap .ppress-payment-method-table-title{width:15em!important}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap .ppress-payment-method-table-actions{width:1em!important}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap .ppress-payment-method-table-enabled{width:5em!important}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap .ppress-payment-method-table-subscription-support{width:8em!important;text-align:center}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap tr:nth-child(odd) td{background:#f9f9f9}.ppress_payment_methods.ppress-payment-methods-list .postbox .inside{padding:0!important;margin:0!important}.ppress_taxes .ppress-tax-rates-wrap .ppress-tax-rate-table-actions{width:1.5em!important}.ppress_taxes .ppress-tax-rates-wrap .ppress-tax-rate-table-rate{width:2.5em!important}.ppress_taxes .ppress-tax-rates-wrap .ppress-tax-rate-table-tax-name{width:12em!important}.ppress_taxes .ppress-tax-rates-wrap .ppress-tax-rate-icon{cursor:pointer}.ppress_taxes .ppress-tax-rates-wrap table tbody tr{background-color:#f9f9f9}.ppview .ppress-admin-status-badge{padding:2px 7px;border-radius:4px;background:#ececec;display:inline-flex;align-items:center}.ppview .ppress-admin-status-badge__icon{opacity:.8;margin:0-2px 0 2px}.ppview .ppress-admin-status-badge--failed,.ppview .ppress-admin-status-badge--failing{color:#ac3d3d;background:#ffd6d6}.ppview .ppress-admin-status-badge--failed .ppress-admin-status-badge__icon{margin-left:0;margin-top:-1px}.ppview .ppress-admin-status-badge--active,.ppview .ppress-admin-status-badge--completed{color:#017d5c;background:#e5f5f0}.ppview .ppress-admin-status-badge--complete .ppress-admin-status-badge__icon{margin-left:0}.ppview .ppress-admin-status-badge--pending{color:#7d6e01;background:#f5f2e5}.ppress-admin-status-badge--processing,.ppress-admin-status-badge--trialling{color:#015a7d;background:#e5f1f5}.ppview .order.ppview th.column-order_total{width:8%}.ppview .order.ppview th.column-status{width:12%}.ppview .order.ppview th.column-plan{width:15%}.ppview .order.ppview th.column-date_created{width:14%}.ppview .order.ppview th.column-payment_method{width:12%}#ppress-filters{padding:10px;margin:0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}#ppress-filters .filter-items{display:flex;align-items:center;flex-wrap:wrap;gap:6px;float:none;flex-grow:1}#ppress-filters .filter-items .ppress-date-range-options{display:inline-block;margin:10px 0}#ppress-filters>p{color:#757575}#ppress-filters input[type=number],#ppress-filters input[type=text].ppress_datepicker{max-width:105px}#ppress-filters .button-secondary,#ppress-filters input[type=number]{margin-bottom:0}#ppress-filters .search-form{margin:0}@media screen and (max-width:480px){#ppress-filters span{margin:2px 0}}#ppress-advanced-filters{position:relative}#ppress-advanced-filters .inside{z-index:99;position:absolute;top:29px;right:0;border:1px solid #e0e0e0;padding:0;background:#fff;box-shadow:0 3px 5px rgba(0,0,0,.2);min-width:285px;opacity:0;visibility:hidden}#ppress-advanced-filters fieldset{display:block;padding:10px 15px 15px;margin:10px 0}#ppress-advanced-filters fieldset:not(:last-of-type){border-bottom:1px solid #e0e0e0}#ppress-advanced-filters fieldset:last-of-type{padding-bottom:5px}#ppress-advanced-filters fieldset.ppress-add-on-filters div,#ppress-advanced-filters fieldset.ppress-add-on-filters label,#ppress-advanced-filters fieldset.ppress-add-on-filters p,#ppress-advanced-filters fieldset.ppress-add-on-filters span{display:block;margin-bottom:2px}#ppress-advanced-filters div.ppress-select-chosen:not(:last-child){margin-bottom:10px}#ppress-advanced-filters.open .ppress-advanced-filters-button{background:#e0e0e0;border-color:#949494;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}#ppress-advanced-filters.open .inside{visibility:visible;opacity:1;transition:opacity .2s ease-in}.ppress_datepicker{height:29px}.ppress-from-to-wrapper input{width:105px;margin:0;position:relative;z-index:1}.ppress-from-to-wrapper input[name*=start],.ppress-from-to-wrapper input[name=filter_from]{border-top-right-radius:0;border-bottom-right-radius:0}.ppress-from-to-wrapper input[name*=end],.ppress-from-to-wrapper input[name=filter_to]{margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.ppress-from-to-wrapper span#ppress-end-date-wrap{margin-left:-4px}.ppress-from-to-wrapper input:focus{z-index:2;position:relative}.ppview .wp-list-table .post-state{display:none}.ppview .subscription.ppview .ppress-line-header{display:block;font-weight:500}.ppview .subscription.ppview .ppress-line-note{display:block;font-size:12px}.ppview .subscription.ppview .ppress-line-header a{font-weight:400}.ppview .subscription.ppview th.column-initial_payment,.ppview .subscription.ppview th.column-renewal_date{width:14%}.ppview .subscription.ppview th.column-plan{width:20%}.ppview .subscription.ppview th.column-status{width:12%}.ppress-admin .ppview .ppress_customers th#customer_last_login{width:13%}.ppress-admin .ppview .ppress_customers th#customer_since{width:14%}.ppress-admin .ppview .ppress_customers th#customer_email{width:17%}.ppress-admin .ppview .ppress_customers th#customer_subscriptions{width:16%}.ppress-report-charts-container *{box-sizing:border-box}.ppress-report-charts-container{width:100%}.ppress-report-charts-container dl.ppress-report-chart-top-card-item-wrap{display:grid;overflow:hidden;margin-top:1.25rem;background-color:#fff;border-radius:.5rem;border-color:#e5e7eb;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);border-left-width:1px;border-top-width:0;grid-template-columns:repeat(4,1fr)}.ppress-report-charts-container .ppress-report-chart-top-card-item{padding:24px;border-right:1px solid #e5e7eb}.ppress-report-charts-container dt.ppress-report-chart-top-card-item-header{color:#6b7280;font-size:1rem;line-height:1.5rem;font-weight:400}.ppress-report-charts-container dd.ppress-report-chart-top-card-item-content-wrap{display:flex;margin:4px 0 12px;justify-content:space-between;align-items:baseline}.ppress-report-charts-container .ppress-report-chart-top-card-item-content{display:flex;color:#111827;font-size:1.5rem;line-height:2rem;font-weight:600;align-items:baseline}.ppress-report-charts-container .ppress-report-chart-top-card-item:last-child{border-right:0}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-content-wrap p.ppress-report-chart-bottom-card-item-trend.negative{color:#991b1b}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-wrap{display:grid;margin-top:1.25rem;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.ppress-report-charts-container .ppress-report-chart-bottom-card-item{overflow:hidden;position:relative;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);padding:1.5rem}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-chart{margin:0;margin-top:1.5rem}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-header p{color:#6b7280;font-size:.875rem;line-height:1.25rem;font-weight:500;overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-content-wrap{display:flex;padding-bottom:0;margin:0;align-items:baseline}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-content-wrap p{color:#111827;font-size:1.5rem;line-height:2rem;font-weight:600;margin:0}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-content-wrap p.ppress-report-chart-bottom-card-item-trend{display:flex;margin-left:.5rem;color:#059669;font-size:.875rem;line-height:1.25rem;font-weight:600;align-items:baseline}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-view-more-block{position:absolute;right:0;left:0;bottom:0;background-color:#f9fafb;padding:1rem 1.5rem;font-size:.875rem;line-height:1.25rem}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-view-more-block a{font-weight:500;text-decoration:none}
|
1 |
+
.ppress-admin #ppress-membership-customer-content .postbox-header,.ppress-admin #ppress-membership-order-content .postbox-header,.ppress-admin #ppress-membership-subscription-content .postbox-header,.ppress-admin .handle-actions{display:none}.ppress-admin .postbox .hndle{cursor:default!important}.ppress-admin #ppress-membership-customer-content .inside,.ppress-admin #ppress-membership-customer-subscriptions .inside,.ppress-admin #ppress-membership-item-content .inside,.ppress-admin #ppress-membership-order-content .inside,.ppress-admin #ppress-membership-subscription-content .inside,.ppress-admin #ppress-membership-subscription-payments .inside{margin:0;padding:0;display:block!important}.ppress-admin .ppress-membership-customer-details,.ppress-admin .ppress-membership-order-details,.ppress-admin .ppress-membership-subscription-details{padding:30px}.ppress-admin .ppress-membership-customer-details p,.ppress-admin .ppress-membership-order-details p,.ppress-admin .ppress-membership-subscription-details p{color:#777}.ppress-admin #ppress-membership-order-subscription a,.ppress-admin .ppress-membership-order-details p a,.ppress-membership-customer-details .ppress-customer-stats-wrapper a{text-decoration:none}.ppress-admin #poststuff h2.ppress-metabox-data-heading,.ppress-admin .ppress-metabox-meta-data{margin:0;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:400}.ppress-admin #poststuff h2.ppress-metabox-data-heading{font-size:21px;line-height:1.2;text-shadow:1px 1px 1px #fff;padding:0}.ppress-admin .ppress-metabox-meta-data{line-height:1.8em;font-size:16px}.ppress-admin .ppress-metabox-data-column-container{display:flex;flex-wrap:nowrap}.ppress-admin .ppress-metabox-data-column{width:50%;padding-left:0;padding-right:30px}.ppress-admin .ppress-metabox-data-column:last-of-type{padding-left:30px;padding-right:0}.ppview .postbox .ppress-metabox-data-column input:not([type=checkbox]):not([type=radio]),.ppview .postbox .ppress-metabox-data-column select{width:100%!important}.ppress-admin .ppress-metabox-data-column h3{font-size:14px;color:#333;margin:1.33em 0 0}.ppress-admin .ppress-metabox-data-column p{padding:0!important;margin:9px 0 0}.ppress-admin .ppress-metabox-data-column a.edit_address{width:14px;height:0;padding:14px 0 0;margin:0 0 0 6px;overflow:hidden;position:relative;color:#999;border:0;float:right}.ppress-admin .ppress-metabox-data-column a.edit_address::after{position:absolute;top:0;left:0;text-align:center;vertical-align:top;line-height:14px;font-size:14px;font-weight:400;font-family:Dashicons;content:""}.ppress-admin .ppress-metabox-data-column .ppress_edit_address_wrap{display:none}.ppress-admin #poststuff #ppress-membership-item-content h2{padding:15px 30px;margin:0;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,sans-serif;font-size:21px;font-weight:400;line-height:1.2;text-shadow:1px 1px 1px #fff}.ppress-admin #ppress-submetabox-items table th{text-align:left;padding:1em;font-weight:400;color:#999;background:#f8f8f8;border-top:0;user-select:none;font-size:14px;line-height:20px}.ppress-admin #ppress-submetabox-items table{background:#fff;width:100%;border-collapse:collapse}.ppress-admin #ppress-submetabox-items table th:first-child{padding-left:30px}.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-item-column-price,.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-item-column-total,.ppress-admin #ppress-submetabox-items table th.ppress-submetabox-item-column-price,.ppress-admin #ppress-submetabox-items table th.ppress-submetabox-item-column-total{width:100px;text-align:right}.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-action,.ppress-admin #ppress-submetabox-items table th.ppress-submetabox-item-column-action{width:5%;text-align:left}.ppress-admin #ppress-submetabox-items table td:first-child{padding-left:30px}.ppress-admin #ppress-submetabox-items table td{padding:1.5em 1em 1em;text-align:left;line-height:1.5em;vertical-align:top;border-bottom:1px solid #f8f8f8}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-discounts td,.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-sub-total td,.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-tax td,.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-total td{border-bottom:0}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-discounts td,.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-sub-total td,.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-tax td,.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-total,.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-total-label{text-align:right}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-border td{padding:0;border:0}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-discounts .coupon-wrap{float:left;text-align:left}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-discounts .coupon-wrap .coupons-label{display:inline-block;margin-bottom:5px;margin-right:2px;font-weight:600;font-size:12px}.ppress-admin #ppress-submetabox-items table .ppress-submetabox-items-row-discounts .coupon-wrap .coupon-code{display:inline-block;position:relative;padding:3px 10px;background-color:#f7f7f7;border:1px solid #aaa;box-shadow:0 1px 0#dfdfdf;border-radius:4px;margin-right:5px;margin-top:5px;text-decoration:none;color:#888;font-size:12px;line-height:16px}.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-actions{border-top:1px solid #ddd;background:#f8f8f8;text-align:right}.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-actions .order-refund{float:left}.ppress-admin #ppress-submetabox-items table td.ppress-submetabox-items-column-actions .message{font-style:italic;display:inline-block;line-height:28px}.ppress-admin #ppress-membership-item-content .ppress-submetabox-items-column-actions .ppress-hint-tooltip{text-align:left}.ppress-admin .ppress-notes li{padding:0 10px}.ppress-admin .ppress-notes li .ppress-note-content{background:#efefef;padding:10px;position:relative}.ppress-admin .ppress-notes li .ppress-note-content p{margin:0;padding:0}.ppress-admin .ppress-notes li .ppress-note-content:after{content:"";display:block;position:absolute;bottom:-10px;left:20px;width:0;height:0;border-color:#efefef transparent;border-style:solid;border-width:10px 10px 0 0}.ppress-admin .ppress-notes p.ppress-note-meta{padding:10px;color:#999;margin:0;font-size:11px}.ppress-admin .ppress-notes p.ppress-note-meta .ppress-note-date{border-bottom:1px dotted #fff}.ppress-admin .ppress-notes p.ppress-note-meta a{color:#a00}#ppress-membership-order-notes.postbox .inside{padding:0 0 10px}.ppress-admin .ppress-membership-order-details .ppress-order-badge{font-size:12px;font-weight:600;padding:6px 8px;margin-left:5px;border-radius:9999px;vertical-align:middle;background-color:rgb(220 252 231);color:rgb(22 101 52);line-height:2.30769231;text-shadow:none}.ppress-order-item-modal-wrap{width:100%;max-width:500px}.ppress-admin .ppress-order-item-modal-wrap label{display:block;font-weight:700}.ppress-admin .ppress-order-item-modal-wrap input,.ppress-admin .ppress-order-item-modal-wrap select{width:100%;max-width:100%}.ppress-admin .select2-container .select2-dropdown{z-index:900000!important}.ppress-membership-customer-details .ppress-customer-info .ppress-customer-info{min-height:185px}.ppress-membership-customer-details .ppress-customer-info{display:flex;flex-wrap:wrap}.ppress-membership-customer-details .ppress-customer-info .ppress-avatar-wrap{max-width:250px;width:35%}.ppress-membership-customer-details .ppress-customer-info .ppress-customer-main-wrapper{width:60%;padding:0 10px;box-sizing:border-box}.ppress-membership-customer-details .ppress-customer-info span.customer-name{margin-bottom:6px;font-size:24px;font-weight:600}.ppress-membership-customer-details .ppress-customer-info .ppress-customer-main-wrapper span:not(.customer-name):not([class*=select2]):not([class*=selection]){display:block;padding:3px;color:#777}.ppress-membership-customer-details .ppress-customer-info .customer-user-id span,.ppview .wp-list-table tr:hover .post-state{display:inline-block}.ppress-membership-customer-details .ppress-customer-info .ppres-customer-edit-link{text-align:center}.ppress-membership-customer-details .ppress-customer-info .ppress-avatar-wrap img{width:100%;height:auto;border-radius:5px}.ppress-membership-customer-details .ppress-customer-info .mb-form-field label{font-weight:500}.ppress-membership-customer-details .ppress-customer-info .mb-form-field label a{font-weight:400}.ppress-membership-customer-details .ppress-customer-stats-wrapper{margin:20px auto 10px;text-align:center;border-top:1px solid #eee;padding:30px 0 0}.ppress-membership-customer-details .ppress-customer-stats-wrapper ul{display:flex;margin:0;list-style:none}.ppress-membership-customer-details .ppress-customer-stats-wrapper li{font-size:14px;margin-bottom:0;width:50%}.ppress-membership-customer-details .ppress-customer-stats-wrapper .dashicons{color:#888;margin-top:-2px}#adminmenu ul>li:not(:last-child) a[href$="page=ppress-config"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-content-protection"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-customers"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-directories"]:after{border-bottom:1px solid rgba(255,255,255,.2);display:block;float:left;margin:13px -15px 8px;content:"";width:calc(100% + 30px)}@media screen and (max-width:782px){#adminmenu ul>li:not(:last-child) a[href$="page=ppress-config"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-content-protection"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-customers"]:after,#adminmenu ul>li:not(:last-child) a[href$="page=ppress-directories"]:after{margin:20px -20px 8px;width:calc(100% + 40px)}}#adminmenu li[class*=ppress-] ul>li:nth-last-child(2):after{margin-left:0}#adminmenu li[class*=ppress-] ul.wp-submenu-wrap li,#ppress-available-shortcodes-jbox .ppclearfix:after{clear:both}.ppress-admin .ppress-checklist{background-color:#fbfbfd;margin-top:-10px;margin-bottom:20px;position:relative;box-sizing:border-box;padding:30px}.ppress-admin .ppress-checklist div{text-align:center!important}.ppress-admin .ppress-checklist h2{font-size:32px;line-height:40px;padding-bottom:10px;margin:0}.ppress-admin .ppress-checklist-teaser{font-size:18px;color:#97a3b4;margin:10px 0}.ppress-admin .ppress-checklist-dashboard-steps,.profile-press-design-gateway .pp-half-first-thumb.responsive-image{text-align:center}.ppress-admin .ppress-checklist-dashboard-steps ul{display:flex;flex-wrap:wrap;justify-content:center;margin-top:40px;margin-bottom:0}.ppress-admin .ppress-checklist-dashboard-steps ul li{width:185px;height:210px;margin:0 15px 30px;opacity:.85}.ppress-admin .ppress-checklist a{background-color:transparent;color:#326ee0;text-decoration:none}.ppress-admin .ppress-checklist-dashboard-steps ul li a{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;height:100%;text-align:center;border:1px solid #c6cbd0;border-radius:3px;text-decoration:none;position:relative}.ppress-admin .ppress-checklist-dashboard-steps ul li.ppress-checklist-done a{border-color:#0175ff}.ppress-admin .ppress-checklist-dashboard-steps ul li a svg{display:block;margin:auto;padding-top:10px;width:60px}.ppress-admin .ppress-checklist-dashboard-steps ul li a span{margin:0 10px 20px;font-size:14px;font-weight:600}.ppress-admin .ppress-checklist-dashboard-steps ul li.ppress-checklist-done a span{color:#001f4d}.ppress-admin .ppress-checklist-dashboard-steps ul li.ppress-checklist-done a:after{content:"";width:20px;height:20px;background-color:#06d478;background-image:url(../../assets/images/icon-checkmark.svg);background-repeat:no-repeat;background-size:15px;background-position:50%;position:absolute;right:3px;top:3px;border-radius:100%}.ppress-admin .ppress-checklist-dashboard-steps ul li.ppress-checklist-done a .svg-color{fill:#0175ff}.ppress-admin .ppress-checklist-dashboard-steps ul li a:hover{border-color:#001f4d}.ppress-admin .ppress-checklist-dashboard-steps ul li a:hover .svg-color{fill:#001f4d}.ppress-admin .ppress-checklist-dashboard-steps ul li.ppress-checklist-done{pointer-events:none}.pp-dnd-form-builder-wrap #titlediv span.shortcode input,.ppSCB-margin-r #titlediv span.shortcode input{font-size:12px;border:0;box-shadow:none;padding:4px 8px;margin:0;background:0 0;color:#fff}.pp-dnd-form-builder-wrap #titlediv span.shortcode,.ppSCB-margin-r #titlediv span.shortcode{display:block;margin:2px 0}.pp-form-listing .pp_forms th#shortcode{width:33%}.pp-form-listing .pp_forms th#title{width:35%}.pp-add-new-form-wrapper .profile-press-design-gateway{width:100%;max-width:700px}.pp-half-meta-inner .pp-half-meta h2{font-size:24px!important}.pp-add-new-form-wrapper .profile-press-design-gateway-inner .responsive-image img{width:100%;height:auto}.pp-add-new-form-wrapper .pp-hald-first{float:left;width:50%;text-align:center;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;color:#555}.pp-add-new-form-wrapper .pp-hald-first a{color:initial;text-decoration:none}.pp-add-new-form-wrapper .pp-builder-select-active{border:2px solid #3498db}.pp-add-new-form-wrapper .pp-half-meta-inner{background:#fff;padding:20px;position:relative;cursor:pointer}.profile-press-design-gateway .pp-half-first-thumb.responsive-image img{width:70px;height:70px;padding:20px}.pp-add-new-form-wrapper .pp-builder-create-btn{background:#3498db;padding:20px;width:100%;border:0;font-weight:400;text-transform:uppercase;color:#fff;font-family:"Work Sans",sans-serif;font-size:20px;border-bottom:3px solid #2980b9;cursor:pointer}.pp-add-new-form-wrapper .pp-half-meta p{font-size:17px;line-height:1.5;margin-top:20px}.pp-add-new-form-wrapper .pp-builder-create-btn:focus{border-bottom:2px solid #2980b9}.ppview .postbox .wp-editor-wrap,.ppview .postbox input[type=number],.ppview .postbox input[type=text],.ppview .postbox select,.ppview .postbox textarea,.ppview input[type=password]{width:550px!important;max-width:550px!important}#ppContentProtectionContent .col select,.ppress-admin .ppview .postbox .ppress-subscription-plan-payment-links input,.ppview .postbox [id*=email_content-wrap].wp-editor-wrap{width:100%!important;max-width:100%!important}.pp-form-listing .pp_forms input.shortcode-in-list-table{width:100%!important;max-width:260px;border:0}.ppSCB .pp-form-builder-shortcodes-btn{text-align:right;float:right}#ppress-available-shortcodes-jbox{width:100%;max-width:600px}#ppress-available-shortcodes-jbox *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased}#ppress-available-shortcodes-jbox input#ppress_shortcode_inserter_search{width:100%;height:28px;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-list-wrapper{padding:10px 20px}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-name{font-weight:700;font-size:15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:inline}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-item-btn{width:32%;display:inline;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-item-btn a{float:right;margin-top:10px}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-item{width:68%;float:left}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-item-wrap{display:block;padding-top:5px}#ppress-available-shortcodes-jbox .ppclearfix:after,#ppress-available-shortcodes-jbox .ppclearfix:before{content:" ";display:table}#ppress-available-shortcodes-jbox .jBox-title{font-size:16px;margin:0}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-item-wrap{border-bottom:1px solid #d3d3d3;padding-bottom:10px}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-desc{margin:5px 0 10px;font-size:14px}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attributes-wrap{margin:8px 0 21px;border:1px solid #e5e5e5;border-left:0;border-right:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);color:#515151;width:100%;box-sizing:border-box}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attribute-label{width:38%;display:inline-block;box-sizing:border-box;font-size:13px;font-weight:600;float:left;background:#f9f9f9;vertical-align:top;border:0;border-top:1px solid #f2f2f2;padding:25px 20px 18px}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attribute-field:first-child,.ppress-builder-shortcode-attribute-row:first-child .ppress-builder-shortcode-attribute-label{border-top:none}#ppress-available-shortcodes-jbox .jBox-content{background-color:#f5f5f5}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attribute-field{vertical-align:top;border:0;width:62%;box-sizing:border-box;border-top:1px solid #f2f2f2;padding:15px 20px;float:left;background:#fff}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attribute-row:after{content:"";display:table;clear:both}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-attribute-row{border:1px solid #e5e5e5;border-top:0;border-bottom:0}#ppress-available-shortcodes-jbox .ppress-shortcode-inserter-builder-field:not([type=checkbox]){width:100%}#ppress-available-shortcodes-jbox .ppress-shortcode-inserter-builder-field[type=checkbox]{margin:10px 0}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-clipboard-form{padding:0 0 12px}#ppress-available-shortcodes-jbox #ppress-builder-shortcode-preview-field{-webkit-box-sizing:border-box;box-sizing:border-box;line-height:1.45;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);font-family:Consolas,Monaco,monospace;width:100%;padding:18px;font-size:12.5px;margin:0 5px 9px 0;text-align:center;background:#fff}#ppress-available-shortcodes-jbox .ppress-builder-shortcode-btn.button{width:100%}#ppress-available-shortcodes-jbox .ppress-shortcode-inserter-back{cursor:pointer;margin:0 6px 0 0}.ppSCB .pp-form-builder-shortcodes-btn a:before{font-family:dashicons;content:"";padding-right:2px;vertical-align:middle;display:inline-block}.pp-form-listing .pp_formsinput[readonly]{background-color:#eee;margin:1px}.ppview .custom-field-anchor{width:30px;border-right:1px solid #e1e1e1;text-align:center!important}.ppview tbody tr td.custom-field-anchor{cursor:move}.ppview table#pp_contact_info tbody tr:hover,.ppview table.custom_profile_fields tbody tr:hover{background-color:#e3e3e3}.pp_circle_green,.pp_circle_red{border-radius:100%;height:2px;margin:5px 15px;padding:5px;width:2px}.pp_circle_green{background:green}.pp_circle_red{background:red}.wp_csa_view.pp-license .banner{position:absolute;left:10%;display:block;margin:10px 5px 20px;width:600px;height:60px;border:1px solid #8a1;font:400 30px/60px Rye;text-align:center;color:#451;background:#9b2;border-radius:4px;box-shadow:0 0 30px rgba(0,0,0,.15) inset,0 6px 10px rgba(0,0,0,.15)}.wp_csa_view.pp-license .banner::after,.wp_csa_view.pp-license .banner::before{content:"";position:absolute;top:24px;display:block;width:40px;height:0;border:30px solid #9b2;border-bottom-color:#94b81e}.wp_csa_view.pp-license .banner::before{left:-70px;border-right:20px solid #791;border-left-color:transparent;transform:rotate(-5deg)}.wp_csa_view.pp-license .banner::after{left:auto;right:-70px;border-left:20px solid #791;border-right:30px solid transparent;transform:rotate(5deg)}.ppview .pp-settings-wrap{display:flex;border:1px solid #c8d7e1;margin-top:5px}.ppview .pp-settings-wrap .dashicons{padding-top:2px;margin-right:5px}.ppview .pp-settings-wrap h2.nav-tab-wrapper{flex:1;border-bottom:none;padding:0;background:#f7f8fa;border-right:1px solid #c8d7e1}.ppview .pp-settings-wrap h2.nav-tab-wrapper a{float:none;display:block;margin:0;border:0;padding:15px;background:#f7f8fa;font-weight:500;border-bottom:1px solid #c8d7e1}.ppview .pp-settings-wrap h2.nav-tab-wrapper a.nav-tab-active{background:#fff!important;border-right:1px solid #c8d7e1;width:99%;color:#2e4453}.ppview .pp-settings-wrap .metabox-holder{flex:3;padding-left:3%;padding-right:10px;background:#fff}.ppview .pp-settings-wrap .pp-tab-settings .postbox{border:0;box-shadow:none}.ppview .pp-settings-wrap .metabox-holder h3.hndle{padding:12px;cursor:default;border-top:1px solid #eee;border-bottom:1px solid #eee}.ppview .pp-settings-wrap .postbox:first-child h3.hndle{border-top:none!important}#pp-sub-bar .pp-clear,.pp-add-new-form-wrapper .pp-optin-clear,.pp-add-new-form-wrapper .pp-template-clear{clear:both}#pp-sub-bar .pp-clear:after,.pp-add-new-form-wrapper .pp-optin-clear:after,.pp-add-new-form-wrapper .pp-template-clear:after{clear:both;content:".";display:block;height:0;line-height:0;overflow:auto;visibility:hidden;zoom:1}#pp-sub-bar .pp-new-toolbar{min-height:38px;padding:10px;background:#fff;margin-bottom:20px;border:1px solid #dedede;box-sizing:content-box;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#pp-sub-bar .pp-new-toolbar h4{color:#222;font-size:18px;font-weight:600;margin:8px 0 0;padding:0;float:left}#pp-sub-bar .pp-new-toolbar ul{float:right;list-style:none;padding:0;margin:10px 0 0}#pp-sub-bar .pp-new-toolbar ul li{list-style:none;padding:0;margin:0;float:left}#pp-sub-bar .pp-new-toolbar ul li a{color:#0085ba;text-decoration:none;text-transform:uppercase;font-size:13px;letter-spacing:1px;padding:21px 15px 22px;outline:0!important}#pp-sub-bar .pp-new-toolbar ul li a.pp-type-active,#pp-sub-bar .pp-new-toolbar ul li a:hover{color:#fff;background:#007cba}.pp-add-new-form-wrapper .pp-form-new-list .pp-dash-spinner{visibility:hidden;float:none;margin-right:0;margin-left:0}.pp-add-new-form-wrapper .pp-error{color:red;font-size:13px;font-weight:600;vertical-align:middle;display:inline-block;margin-top:-3px}.pp-add-new-form-wrapper .pp-input-error{border-color:red!important;-webkit-box-shadow:0 0 2px rgba(255,0,0,.8)!important;box-shadow:0 0 2px rgba(255,0,0,.8)!important}.pp-add-new-form-wrapper .pp-form-new-list{height:38px;padding:10px;background:#fff;margin-bottom:20px;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}.pp-add-new-form-wrapper .pp-form-new-list h4{color:#222;font-size:18px;font-weight:600;text-shadow:0 1px rgba(255,255,255,.25);margin:2px 0 0;padding:0}.pp-add-new-form-wrapper .pp-form-new-list strong{font-size:16px;vertical-align:middle}.pp-add-new-form-wrapper .pp-form-new-list input,.pp-add-new-form-wrapper .pp-form-new-list select{position:relative;top:1px;margin-left:5px;margin-right:10px;font-size:16px;font-weight:300;width:350px;height:32px}.pp-add-new-form-wrapper .ppress-premium-flag{position:absolute;top:-8px;right:-8px;width:90px;height:81px;background-image:url(../../images/themes/premium-theme.png);background-size:90px 81px;transform:rotate(70deg)}.pp-add-new-form-wrapper .pp-optin-theme{cursor:pointer;float:left;margin:0 4% 4%0;position:relative;width:30.66666666667%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#ppContentProtectionContent .actions a:hover,#ppContentProtectionContent .col a:hover,.pp-add-new-form-wrapper .pp-optin-theme a{text-decoration:none}.pp-add-new-form-wrapper .pp-optin-theme:nth-child(3n){margin-right:0}.pp-add-new-form-wrapper .pp-optin-theme.pp-last-theme{margin-right:0}.pp-add-new-form-wrapper .pp-optin-theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.pp-add-new-form-wrapper .pp-optin-theme-screenshot:after{content:"";display:block;padding-top:66.66666%}.pp-add-new-form-wrapper .pp-optin-theme .pp-optin-theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.pp-add-new-form-wrapper .pp-optin-theme .pp-optin-theme-actions{position:absolute;bottom:0;right:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-left:1px solid rgba(0,0,0,.05)}.pp-add-new-form-wrapper .pp-optin-theme-screenshot img{height:100%;position:absolute;left:0;top:0;width:100%;-webkit-transform:translateZ(0);-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}#pp-sub-bar .pp-new-toolbar .pp-melange-jbox{margin:0 0 0-18px;font-size:18px;cursor:pointer}.pp-form-listing.pp-forms .wp-list-table .column-date{width:145px}.pp-form-listing.pp-user-profiles th#title{width:30%}.pp-form-listing.pp-user-profiles th#date{width:20%}.pp-form-buider-settings-popup-container *{box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.pp-form-buider-settings-popup-container{position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(51,51,51,.95);padding:20px}.pp-form-buider-settings-popup-content{background-color:#fefefe;margin:5%auto;border:1px solid #888;width:100%;max-width:600px}.pp-form-buider-settings-popup-header{-webkit-font-smoothing:antialiased;align-items:center;border-bottom:1px solid #e6e6e6;box-sizing:border-box;display:flex;font-variant-ligatures:none;outline:0;padding:15px;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-dnd-form-builder-wrap span.pp-form-buider-settings-field-type,.pp-form-buider-settings-popup-container span.pp-form-buider-settings-field-type,.pp-form-buider-settings-popup-header h3{-webkit-font-smoothing:antialiased;box-sizing:border-box;color:#333;font-family:Arial,sans-serif;font-stretch:normal;font-style:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;margin:0;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-form-buider-settings-popup-header h3{border-width:0;display:block;font-size:15px;font-weight:700;line-height:30px;overflow:hidden;padding:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.pp-form-buider-settings-popup-container .pp-actions-left{display:flex;align-items:center;margin-left:10px;margin-right:auto}.pp-dnd-form-builder-wrap span.pp-form-buider-settings-field-type,.pp-form-buider-settings-popup-container span.pp-form-buider-settings-field-type{background-color:#f2f2f2;border:2px solid transparent;border-radius:13px;cursor:default;display:inline-block;font-size:12px;font-weight:500;height:26px;letter-spacing:-.25px;line-height:22px;min-width:40px;padding:0 16px;text-align:center}.pp-dnd-form-builder-wrap span.pp-form-buider-settings-field-type.field-bar-title{margin-top:3px;margin-left:5px;padding:0 8px;font-size:11px}.pp-form-buider-settings-popup-container .pp-actions-right{display:flex;align-items:center;margin-left:auto;margin-right:0}.pp-form-buider-settings-popup-body .pp-form-buider-settings-popup-tab-content,.pp-form-buider-settings-popup-body .pp-form-buider-settings-popup-tabs,.pp-form-buider-settings-popup-body a.pp-form-buider-settings-popup-tab-menu{-webkit-font-smoothing:antialiased;box-sizing:border-box;font-variant-ligatures:none;outline:0;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-form-buider-settings-popup-body .pp-form-buider-settings-popup-tabs{border-top:0 solid #e6e6e6;display:flex;list-style:none;margin:0;padding:0 30px}.pp-form-buider-settings-popup-body a.pp-form-buider-settings-popup-tab-menu{border-bottom:2px solid transparent;box-shadow:none;color:#888;cursor:pointer;font-size:12px;font-weight:500;line-height:22px;margin:0 10px;outline:0 transparent;padding:14px 0 12px;text-decoration:none;text-transform:uppercase}.pp-form-buider-settings-popup-body a.pp-form-buider-settings-popup-tab-menu.active{color:#333;border-bottom-color:#333}.pp-form-buider-settings-popup-body .pp-form-buider-settings-popup-tab-content{border-top:1px solid #e6e6e6;display:block;margin-top:-1px;padding:30px}.pp-form-buider-settings-popup-tab-content .pp-form-row{flex-direction:row;flex-wrap:wrap;width:100%;display:flex;margin-bottom:30px}.pp-form-buider-settings-popup-tab-content .pp-form-row:last-child{margin-bottom:0}.pp-form-buider-settings-popup-tab-content .pp-form-column{display:flex;flex-direction:column;flex-basis:100%;flex:1;padding-left:15px;padding-right:15px}pp-form-buider-settings-popup-tab-content .pp-form-double-column{display:flex;flex-direction:column;flex-basis:100%;flex:2}.pp-form-control-icon-picker{cursor:pointer}.pp-form-buider-settings-popup-container .pp-form-buider-settings-popup-body .pp-form-control,.pp-form-buider-settings-popup-container label.pp-label{-webkit-font-smoothing:antialiased;box-sizing:border-box;color:#333;font-family:Arial,sans-serif;font-stretch:normal;font-style:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-weight:500;letter-spacing:-.25px;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-form-buider-settings-popup-container label.pp-label{border-width:0;display:block;font-size:14px;line-height:22px;margin:0 0 5px;padding:0;cursor:pointer;vertical-align:middle}.pp-form-buider-settings-popup-container .pp-form-control-description{-webkit-font-smoothing:antialiased;box-sizing:border-box;color:#888;display:block;font-size:13px;font-variant-ligatures:none;font-weight:400;line-height:22px;margin-top:5px;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-form-buider-settings-popup-container .pp-form-buider-settings-popup-body .pp-form-control{background-color:#fff;background-image:none;border:1px solid #ddd;border-radius:4px;box-shadow:none;display:inline-block;font-size:15px;height:40px;line-height:20px;margin:0;outline:0;padding:9px 14px;transition-delay:0s;transition-duration:.3s;transition-property:all;transition-timing-function:ease-in-out}.pp-form-buider-settings-popup-container .pp-form-buider-settings-popup-body .pp-form-control[type=checkbox],.pp-form-buider-settings-popup-container .pp-form-buider-settings-popup-body .pp-form-control[type=radio]{height:1rem}.pp-form-buider-settings-popup-container .pp-form-buider-settings-popup-body select.pp-form-control{background-image:url(../../images/frontend/arrow-down.png);background-position:right 20px center;background-repeat:no-repeat;background-size:10px auto;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pp-form-buider-settings-popup-content .pp-form-control:not([type=checkbox]){width:100%!important;max-width:100%!important}.pp-form-buider-settings-popup-content .pp-form-buider-settings-popup-footer{-webkit-font-smoothing:antialiased;align-items:center;border-top:1px solid #e6e6e6;box-sizing:border-box;display:flex;font-variant-ligatures:none;outline:0;padding:30px;text-rendering:optimizelegibility;text-shadow:rgba(0,0,0,.01)0 0 1px}.pp-form-buider-settings-popup-content textarea.pp-form-control{max-width:100%;min-height:100px;resize:vertical;line-height:20px}.pp-form-buider-settings-popup-container .pp-form-buider-settings-field-close-btn{color:#aaa;float:right;font-size:28px;font-weight:700}.pp-form-buider-settings-popup-container .pp-form-buider-settings-field-close-btn:focus,.pp-form-buider-settings-popup-container .pp-form-buider-settings-field-close-btn:hover{color:#000;text-decoration:none;cursor:pointer}.ppSCB-tab-box-div .CodeMirror{width:100%!important;border:0;height:617px}.ppSCB-tab-box-div .form-table th{padding:20px 0}.pp_edit_form #titlediv div#titlewrap #title{width:80%!important}#titlewrap input.ppSCB-save-btn{margin:0 10px 5px;vertical-align:top;height:35px}.ppSCB-margin-r input[type=text],.ppSCB-margin-r select,.ppSCB-margin-r textarea{max-width:500px!important;width:100%!important}#post-body-content .form-table textarea.wp-editor-area,.remove_white_styling #post-body-content .form-table textarea.wp-editor-area,textarea.wp-editor-area{max-width:100%!important;width:100%!important}.ppSCB-tab-content{max-width:840px}#ppSettings.ppSCB-tab-content{padding:0 15px 15px}#ppSettings .ppSCB-tab-content-header{font-size:14px;background:#f5f5f5;padding:8px 5px;color:#333;margin:1em 0}.ppSCB-margin-r{margin-top:10px;margin-right:460px}.ppSCB-clear-both{clear:both}.ppSCB-margin-r h2.nav-tab-wrapper{border-bottom:0!important;padding-bottom:0!important;padding-left:0!important}.ppSCB-margin-r h2 .nav-tab{font-size:13px;line-height:25px;font-weight:400;padding:4px 10px!important;border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0}.ppSCB-margin-r .nav-tab-active,.ppSCB-margin-r .nav-tab-active:hover{background:#fff;font-weight:700!important;border-bottom:0;border-top:2px solid #1a9ac9;color:#0073aa}.ppSCB-margin-r .ppSCB-tab-box{float:left;width:100%}.ppSCB-margin-r .ppSCB-tab-box-div{background:#fff;border:1px solid #ccc;min-height:617px;padding:0}.ppSCB-margin-r .ppSCB-sidebar{float:right;border:1px solid #ccc;background:#fff;margin-right:-460px;width:440px;min-height:700.6px}.ppSCB-margin-r.passwordReset .ppSCB-sidebar{min-height:684.4px}.ppSCB-margin-r .ppSCB-sidebar h2{font-size:16px;text-align:center;color:#888;line-height:24px}.ppSCB-margin-r .ppSCB-sidebar iframe{width:100%!important;height:100%!important;min-height:649px}.ppSCB-margin-r .ppSCB-sidebar h3{border-bottom:1px solid #eee;margin:0;padding:10px;line-height:1.4;text-align:center;font-size:18px}.ppSCB-margin-r input.shortcode-in-list-table{float:right;width:250px!important;background:#fff;border:3px solid #eee;font-weight:400;font-size:15px;padding:4px 10px;line-height:normal}.ppSCB-margin-r .ppSCB-preview-h-left,.ppSCB-margin-r .ppSCB-preview-h-right{text-align:center;display:inline-block;width:49%;padding:14px 1.1px;cursor:pointer}.ppSCB-margin-r .ppSCB-preview-h-left h3,.ppSCB-margin-r .ppSCB-preview-h-right h3{display:inline;border:0;font-size:14px}.ppSCB-margin-r .ppSCB-preview-header{border-bottom:1px solid #eee}.ppSCB-margin-r .ppSCB-preview-active{background:#eee;color:#fff!important;border:0}.ppSCB #titlediv div#titlewrap #title{max-width:80%!important}.ppress-email-editor-wrap{margin:0;padding:0}.ppress-email-editor-wrap .pp-email-editor-tab{border-bottom:1px solid #ddd;margin:0;padding:0}.ppress-email-editor-wrap .pp-email-editor-tablinks{padding:8px 15px;color:#666;background-color:#fff;border:0;margin:0;cursor:pointer}.ppress-email-editor-wrap .pp-email-editor-tabcontent{border:1px solid #ddd;border-top:0;display:none}.ppress-email-editor-wrap .pp-email-editor-tablinks.ecode{margin-left:31px}.ppress-email-editor-wrap .pp-email-editor-tablinks.eactive{border:1px solid #ddd;border-bottom:0;margin-bottom:-1px;padding-bottom:9px}.ppress-email-editor-wrap .pp-email-editor-tabcontent.epreview{padding:10px 10px 8px;margin:0;max-height:450px;overflow:scroll}.wrap.ppview .pp-settings-wrap .CodeMirror{height:300px;width:600px}.ppview #social_login_settings .CodeMirror{height:230px}.wrap.ppview .pp-settings-wrap .ppress-email-editor-wrap .pp-email-editor-tabcontent .CodeMirror{height:400px;width:600px;border-top:0;padding:0 5px}.ppview .pp-custom-field-notice{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 0 10px;padding:1px 12px;display:block;border-left-color:#00a0d2;position:relative;clear:left}.ppview .pp-custom-field-notice p{margin:.5em 0;padding:2px 5px}.ppress_settings_data .pp-email-notification-status{margin-right:18px;font-size:28px;line-height:22px;color:#a00;float:left;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.ppress_settings_data .pp-email-notification-status.pp-is-active{color:#46b450}.ppress_settings_data .pp-email-notifications th.column-title.column-primary{padding-left:48px}.ppress_settings_data .pp-email-notifications .pp-email-configure span{line-height:24px}.ppress_settings_data .pp-email-notifications .column-configure{width:60px;text-align:center}.remove_white_styling #post-body-content .form-table input[type=password],.remove_white_styling #post-body-content .form-table input[type=text],.remove_white_styling #post-body-content .form-table select,.remove_white_styling #post-body-content .form-table textarea{max-width:630px!important;width:100%!important}.pp-below-text-field-success{background:#46b450;color:#fff;padding:2px 5px;width:100%;box-sizing:border-box}.remove_white_styling #post-body-content textarea{min-height:200px}.pp-custom-fields.remove_white_styling #post-body-content textarea{min-height:50px}.ppress-below-text-field-error{background:#ca4a1f;color:#fff;padding:2px 5px;width:100%;box-sizing:border-box}.ppress-placeholder-tags{overflow:scroll;height:300px;width:100%;margin:10px 0}.ppress-placeholder-tags tbody tr:first-of-type{background-color:#efefef}.ppress-placeholder-tags tbody tr th{padding:15px}.ppress-settings-page-notice{background:#ddd9;padding:15px}.ppress-hint-tooltip{display:inline;font-weight:400}#logs textarea.ppress-error-log-textarea{width:100%!important;max-width:100%!important;min-height:300px!important;color:rgba(51,51,51,.78)!important}.pp-custom-fields #post-body-content textarea{width:100%;min-height:initial}#ppContentProtectionContent .badge{-webkit-font-smoothing:antialiased;background:#a5b2bd;border-radius:2px;color:#fff;display:inline-block;font-size:11px;font-style:normal;font-weight:700;line-height:10px;padding:4px 5px;text-transform:uppercase;vertical-align:text-top;-webkit-transition:background-color .25s ease-in-out;-o-transition:background-color .25s ease-in-out;transition:background-color .25s ease-in-out}#ppContentProtectionContent{margin:1em 0 2em}#ppContentProtectionContent.actions .facet{padding-right:35px}#ppContentProtectionContent .condAction{background:#f9fafa;border:1px solid #d6dde3;border-radius:3px}#ppContentProtectionContent .facet{zoom:1;position:relative;padding:15px 30px 10px 20px}#ppContentProtectionContent .facet:after,#ppContentProtectionContent .facet:before{display:table;content:"";line-height:0}#ppContentProtectionContent .facet:after{clear:both}#ppContentProtectionContent .col{width:48%;float:none;box-sizing:border-box;display:inline-block}#ppContentProtectionContent .col input{margin-right:5px;width:184px}#ppContentProtectionContent .col:last-child{margin-right:0}#ppContentProtectionContent .col a{line-height:28px}#ppContentProtectionContent .input-append>input{margin-right:0}#ppContentProtectionContent .regex input[type=text],.ppress-admin .ppress-checkout-fields .widget.open .widget-inside{display:block}#ppContentProtectionContent .timeframe input,#ppContentProtectionContent .timeframe select{display:inline-block;float:none}#ppContentProtectionContent .timeframe input{width:40px}#ppContentProtectionContent .timeframe select{width:80px}#ppContentProtectionContent .icon-circle-minus{color:#a5b2bd}#ppContentProtectionContent .actions{position:absolute;right:10px;top:17px;border:1px solid #a5b2bd;border-radius:50%}#ppContentProtectionContent .actions a{margin:0;text-decoration:none}#ppContentProtectionContent .and{border-bottom:1px dashed #d6dde3;margin:.5em 0 1.7em;text-align:center}#ppContentProtectionContent .and a,#ppContentProtectionContent .and em,#ppContentProtectionContent .and label{background:#fff;font-size:1.2em;font-style:normal;margin:0 10px;padding:0 10px;position:relative;top:9px}#ppContentProtectionContent .and label{cursor:pointer;display:inline-block;top:12px}#ppContentProtectionContent .and a{left:-6.5px}#ppContentProtectionContent .actions a:hover .icon-circle-minus,#ppContentProtectionContent .and em{color:#4f5d6b}#ppContentProtectionContent .and input{margin:0}#ppContentProtectionContent .or{color:#93a1af;font-weight:500;margin-left:-21px;left:50%;position:absolute;top:-6px;background:#f9fafa;font-size:1.2em;padding:0 10px}#ppContentProtectionContent .add-or>.add{background:#f9fafa;font-size:1.2em;padding:0 10px;left:-6.5px;position:relative;top:-9px}#ppContentProtectionContent .add-or{text-align:center}#ppContentProtectionContent .facetList>.facet:first-child>.badge{display:none!important}#ppContentProtectionContent #workflowConditions .facetList .facet select{min-height:32px}#ppContentProtectionContent #workflowConditions .col input.select2-search__field{margin:0;min-height:0}#ppContentProtectionContent #workflowConditions .select2 li{margin-bottom:0}#post-body-content .content_protection .column-title{width:32%}#post-body-content .content_protection .column-content{width:43%}#post-body-content .content_protection .access{width:25%}.ppress-extensions-items-wrap *{box-sizing:border-box}.ppress-extensions-items-wrap .ppress-extensions-header{padding:20px 0 10px;border-bottom:2px solid #e8e8eb;margin:0 0 30px;display:flex;align-items:center}.ppress-extensions-items-wrap .ppress-extensions-header-buttons{flex:1 0}.ppress-extensions-items-wrap .ppress-extensions-button{height:35px;font-size:14px;padding:0 18px;margin-right:10px}.ppress-extensions-items-wrap .ppress-extensions-items-row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap;margin-right:-.5rem;margin-left:-.5rem}.ppress-extensions-items-wrap .ppress-extension-item-wrap{box-sizing:border-box;flex:0 0 auto;padding:.5rem;flex-basis:100%;max-width:100%}@media only screen and (min-width:782px){.ppress-extensions-items-wrap .ppress-extension-item-wrap{flex-basis:50%;max-width:50%}}@media only screen and (min-width:1042px){.ppress-extensions-items-wrap .ppress-extension-item-wrap{flex-basis:33.33333333%;max-width:33.33333333%}}.ppress-extensions-items-wrap .ppress-extension-item-card{height:100%;border:1px solid #e8e8eb;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.05);color:#141b38;display:flex;flex-direction:column}.ppress-extensions-items-wrap .ppress-extension-card-body{padding:30px 30px 20px;flex:1}.ppress-extensions-items-wrap .ppress-extension-card-body.ppress-unavailable{opacity:.5}.ppress-extensions-items-wrap .ppress-extension-card-header{display:flex;align-items:center;font-size:18px;font-weight:600;margin-bottom:16px}.ppress-extensions-items-wrap .ppress-extension-card-header .dashicons,.ppress-extensions-items-wrap .ppress-extension-card-header svg{width:35px;height:35px;margin-right:10px;font-size:35px}.ppress-extensions-items-wrap .ppress-extension-card-description{color:#434960;font-size:15px;line-height:22px}.ppress-extensions-items-wrap .ppress-extension-card-learn-more{margin-top:10px}.ppress-extensions-items-wrap .ppress-extension-card-footer{border:2px solid #fff;background-color:#f9f9fa;padding:12px;min-height:43px}.ppress-extensions-items-wrap .ppress-extension-card-install-activate{display:flex;align-items:center;justify-content:flex-end;height:30px;position:relative}.ppress-extensions-items-wrap .ppress-extension-card-install-activate .ppress-extension-card-status{font-weight:600;font-size:14px}.ppress-extensions-items-wrap .ppress-extension-use-switch{position:relative;cursor:pointer;background-color:#5a5a5a;border-radius:15px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out;vertical-align:middle;display:inline-block;margin:-2px 0 0 5px;width:36px;height:20px}.ppress-extensions-items-wrap .ppress-extension-card-install-activate input[type=checkbox]:checked+.ppress-extension-use-switch{background-color:#007cba}.ppress-extensions-items-wrap .ppress-extension-card-install-activate input[type=checkbox]{position:absolute;top:auto;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;white-space:nowrap}.ppress-extensions-items-wrap .ppress-extension-card-install-activate input[type=checkbox]:checked+.ppress-extension-use-switch:before{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}.ppress-extensions-items-wrap .ppress-extension-use-switch:before{position:absolute;content:"";height:16px;width:16px;left:2px;top:2px;background-color:#fff;border-radius:50%;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.ppress-extensions-items-wrap .ppress-extension-card-learn-more .no-underline{text-decoration:none}.ppress-extensions-items-wrap .ppress-extensions-upgrade-cta{display:flex;align-items:center;justify-content:flex-end}.ppress-extensions-items-wrap .ppress-extension-status{font-weight:700;color:#393f4c}.ppress-extensions-items-wrap .ppress-extension-status span{color:#777;font-weight:600}.ppress-extensions-upsell-wrap{margin-top:10px;padding:20px;background:#fff;border-left:3px solid #007cba;line-height:1.5;font-size:14px}.ppress-extensions-upsell-wrap .notice-content{display:-webkit-box;display:-ms-flexbox;display:flex}.ppress-extensions-upsell-wrap .ppress-extensions-upsell-button{flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;margin-left:auto;border-width:1px 1px 2px;border-radius:3px;cursor:pointer;display:inline-block;font-size:14px;text-decoration:none;margin-top:0;line-height:1}.ppress-extensions-upsell-wrap .ppress-extensions-upsell-button a{padding:5px 15px}.ppress-extensions-upsell-wrap .ppress-extensions-upsell-highlight{font-weight:700;color:#007cba}.ppress-admin .ppress-admin-banner{background-color:#326ee0;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;top:0;width:100%;padding:15px}.ppress-admin .ppress-admin-wrap{margin-bottom:10px}.ppress-admin .ppress-admin-banner.ppress-pro{padding:15px 15px 0}.ppress-admin .ppress-admin-banner.ppress-pro.ppress-no-submenu{padding-bottom:15px}.ppress-admin .wrap{padding-left:20px;margin:0 20px 0 2px}.wp-admin.ppress-admin #wpcontent{padding:0}.ppress-admin .ppress-admin-banner__logo{padding:0 0 15px;display:block}.ppress-admin .ppress-admin-banner__logo img{width:140px;height:auto;float:left;margin-top:20px;padding-left:15px}.ppress-admin .ppress-admin-banner__helplinks{float:right;padding:10px 20px 20px}.ppress-admin .ppress-admin-banner__helplinks a{color:rgba(255,255,255,.92);text-decoration:none}.ppress-admin .ppress-admin-banner__helplinks a.ppress-active{background:#fff;padding:5px;color:#326ee0;border-radius:4px}.ppress-admin .ppress-admin-banner__helplinks>span{padding-right:15px}.ppress-admin div#screen-meta-links{position:absolute;right:0;z-index:9}.ppress-admin .ppress-nav-tab-wrapper{padding:0;margin:10px 16px 0;border-bottom:0}.ppress-admin .ppress-nav-tab-wrapper .ppress-nav-tab{display:block;font-weight:500;padding:5px 12px;text-decoration:none;border:1px solid transparent;background-color:transparent;color:rgba(255,255,255,.92);margin:0}.ppress-admin .ppress-nav-tab-wrapper .ppress-nav-tab.ppress-nav-active{background-color:#fff;color:#2d3559;border-color:#fff;border-radius:4px 4px 0 0}.ppress-admin-banner.ppress-not-pro{padding-bottom:0}.ppress-admin .ppress-no-submenu .ppress-nav-tab-wrapper,.ppress-admin .ppress_checkout_fields div#widgets-right .widgets-holder-wrap{margin-top:0}.ppress-admin-banner .ppress-header-menus{margin-top:10px}.ppress-admin .ppress-admin-wrap+.wrap h2{font-size:21px;font-weight:500}.ppress-admin .ppress-admin-wrap .subsubsub{background:#fff;font-size:14px;padding:0 32px;margin-top:0;float:none;text-align:left}.ppress-admin .ppress-admin-wrap .subsubsub a{color:#1d2327;display:block;font-weight:600;padding:8px 12px}.ppress-admin .ppress-admin-wrap .subsubsub a.ppress-current{color:#326ee0}.ppress-admin.wp-core-ui .wrap a.ppress-link{display:block;margin-top:10px;font-size:1em}.ppress-admin.wp-core-ui .wrap a.ppress-link svg{width:1.2em;margin:0 .2em;height:1.4em;vertical-align:middle;fill:currentcolor}.ppview .pp-alert-notice,.profile-php .pp-alert-success{background:#fff;border:1px solid #c3c4c7;border-left-width:4px;box-shadow:rgba(0,0,0,.04)0 1px 1px 0;margin:5px 2px;padding:1px 12px;border-left-color:#d63638}.profile-php .pp-alert-success{border-left-color:#72aee6;padding:8px 10px}.ppview .pp-alert-notice-info{border-left-color:#72aee6}.ppview .pp-alert-notice p,.profile-php .pp2fa-up-notice p{margin:.5em 0;padding:2px}.profile-php .ppmyac-2fa-recovery-codes-wrap pre{background:#fff;max-width:150px;border:1px solid #c3c4c7;width:100%;text-align:center;padding:10px 20px;margin-bottom:20px;line-height:1.8;overflow:auto}.ppress-admin .subscription_plan .manage-column.column-name{width:25%}.ppress-admin .subscription_plan .manage-column.column-status{width:10%}.ppress-admin .subscription_plan .manage-column.column-checkout_url{width:20%}.ppress-admin .ppress_checkout_fields .widget-liquid-left{width:50%;padding:0 10px 0 0;box-sizing:border-box}.ppress-admin .ppress_checkout_fields .widget-liquid-left:last-of-type{padding-right:0}.ppress-admin #poststuff.ppress_checkout_fields h2{font-size:1.3em}.ppress-admin .ppress-checkout-fields{min-height:50px;border:2px dashed #eee;padding:20px}.ppress-admin .ppress-checkout-add-field select{margin:0 10px;width:50%;vertical-align:baseline}.ppress-admin .ppress-checkout-fields .widget-inside input,.ppress-admin .ppress-checkout-fields .widget-inside select{width:100%;display:block}.ppress-admin .ppress_checkout_fields .ppress-submit-wrap{text-align:right;padding:0 0 1em}.ppress-admin .ppress_checkout_fields .ppress-submit-wrap .button{min-height:35px;padding:0 15px}.ppress-admin .ppress-checkout-fields .sortable-placeholder{padding:20px;border:1px dashed #c3c4c7;margin-bottom:20px}.ppress_payment_methods #post-body-content .form-table .ppress-payment-methods-wrap th,.ppress_taxes #post-body-content .form-table .ppress-tax-rates-wrap th{padding:10px}.ppress_payment_methods .ppress-payment-methods-wrap .ppress-payment-method-icon,.ppress_taxes .ppress-tax-rates-wrap .ppress-tax-rate-table-actions .ppress-tax-rate-icon{background:#aaa;border-radius:50%!important;padding:2px 2px 4px;color:#fff}.ppress_payment_methods .ppress-payment-methods-wrap .ppress-payment-method-icon.ico-yes{background:#2271b1}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap td.ppress-payment-method-table-title{font-weight:700}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap .ppress-payment-method-table-sort{text-align:center;width:.5em!important;cursor:move}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap .ppress-payment-method-table-title{width:15em!important}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap .ppress-payment-method-table-actions{width:1em!important}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap .ppress-payment-method-table-enabled{width:5em!important}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap .ppress-payment-method-table-subscription-support{width:8em!important;text-align:center}.ppress_payment_methods #post-body-content .ppress-payment-methods-wrap tr:nth-child(odd) td{background:#f9f9f9}.ppress_payment_methods.ppress-payment-methods-list .postbox .inside{padding:0!important;margin:0!important}.ppress_taxes .ppress-tax-rates-wrap .ppress-tax-rate-table-actions{width:1.5em!important}.ppress_taxes .ppress-tax-rates-wrap .ppress-tax-rate-table-rate{width:2.5em!important}.ppress_taxes .ppress-tax-rates-wrap .ppress-tax-rate-table-tax-name{width:12em!important}.ppress_taxes .ppress-tax-rates-wrap .ppress-tax-rate-icon{cursor:pointer}.ppress_taxes .ppress-tax-rates-wrap table tbody tr{background-color:#f9f9f9}.ppview .ppress-admin-status-badge{padding:2px 7px;border-radius:4px;background:#ececec;display:inline-flex;align-items:center}.ppview .ppress-admin-status-badge__icon{opacity:.8;margin:0-2px 0 2px}.ppview .ppress-admin-status-badge--failed,.ppview .ppress-admin-status-badge--failing{color:#ac3d3d;background:#ffd6d6}.ppview .ppress-admin-status-badge--failed .ppress-admin-status-badge__icon{margin-left:0;margin-top:-1px}.ppview .ppress-admin-status-badge--active,.ppview .ppress-admin-status-badge--completed{color:#017d5c;background:#e5f5f0}.ppview .ppress-admin-status-badge--complete .ppress-admin-status-badge__icon{margin-left:0}.ppview .ppress-admin-status-badge--pending{color:#7d6e01;background:#f5f2e5}.ppress-admin-status-badge--processing,.ppress-admin-status-badge--trialling{color:#015a7d;background:#e5f1f5}.ppview .order.ppview th.column-order_total{width:8%}.ppview .order.ppview th.column-status{width:12%}.ppview .order.ppview th.column-plan{width:15%}.ppview .order.ppview th.column-date_created{width:14%}.ppview .order.ppview th.column-payment_method{width:12%}#ppress-filters{padding:10px;margin:0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}#ppress-filters .filter-items{display:flex;align-items:center;flex-wrap:wrap;gap:6px;float:none;flex-grow:1}#ppress-filters .filter-items .ppress-date-range-options{display:inline-block;margin:10px 0}#ppress-filters>p{color:#757575}#ppress-filters input[type=number],#ppress-filters input[type=text].ppress_datepicker{max-width:105px}#ppress-filters .button-secondary,#ppress-filters input[type=number]{margin-bottom:0}#ppress-filters .search-form{margin:0}@media screen and (max-width:480px){#ppress-filters span{margin:2px 0}}#ppress-advanced-filters{position:relative}#ppress-advanced-filters .inside{z-index:99;position:absolute;top:29px;right:0;border:1px solid #e0e0e0;padding:0;background:#fff;box-shadow:0 3px 5px rgba(0,0,0,.2);min-width:285px;opacity:0;visibility:hidden}#ppress-advanced-filters fieldset{display:block;padding:10px 15px 15px;margin:10px 0}#ppress-advanced-filters fieldset:not(:last-of-type){border-bottom:1px solid #e0e0e0}#ppress-advanced-filters fieldset:last-of-type{padding-bottom:5px}#ppress-advanced-filters fieldset.ppress-add-on-filters div,#ppress-advanced-filters fieldset.ppress-add-on-filters label,#ppress-advanced-filters fieldset.ppress-add-on-filters p,#ppress-advanced-filters fieldset.ppress-add-on-filters span{display:block;margin-bottom:2px}#ppress-advanced-filters div.ppress-select-chosen:not(:last-child){margin-bottom:10px}#ppress-advanced-filters.open .ppress-advanced-filters-button{background:#e0e0e0;border-color:#949494;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px)}#ppress-advanced-filters.open .inside{visibility:visible;opacity:1;transition:opacity .2s ease-in}.ppress_datepicker{height:29px}.ppress-from-to-wrapper input{width:105px;margin:0;position:relative;z-index:1}.ppress-from-to-wrapper input[name*=start],.ppress-from-to-wrapper input[name=filter_from]{border-top-right-radius:0;border-bottom-right-radius:0}.ppress-from-to-wrapper input[name*=end],.ppress-from-to-wrapper input[name=filter_to]{margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.ppress-from-to-wrapper span#ppress-end-date-wrap{margin-left:-4px}.ppress-from-to-wrapper input:focus{z-index:2;position:relative}.ppview .wp-list-table .post-state{display:none}.ppview .subscription.ppview .ppress-line-header{display:block;font-weight:500}.ppview .subscription.ppview .ppress-line-note{display:block;font-size:12px}.ppview .subscription.ppview .ppress-line-header a{font-weight:400}.ppview .subscription.ppview th.column-initial_payment,.ppview .subscription.ppview th.column-renewal_date{width:14%}.ppview .subscription.ppview th.column-plan{width:20%}.ppview .subscription.ppview th.column-status{width:12%}.ppress-admin .ppview .ppress_customers th#customer_last_login{width:13%}.ppress-admin .ppview .ppress_customers th#customer_since{width:14%}.ppress-admin .ppview .ppress_customers th#customer_email{width:17%}.ppress-admin .ppview .ppress_customers th#customer_subscriptions{width:16%}.ppress-admin .ppview th#coupon_code{width:18%}.ppress-report-charts-container *{box-sizing:border-box}.ppress-report-charts-container{width:100%}.ppress-report-charts-container dl.ppress-report-chart-top-card-item-wrap{display:grid;overflow:hidden;margin-top:1.25rem;background-color:#fff;border-radius:.5rem;border-color:#e5e7eb;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);border-left-width:1px;border-top-width:0;grid-template-columns:repeat(4,1fr)}.ppress-report-charts-container .ppress-report-chart-top-card-item{padding:24px;border-right:1px solid #e5e7eb}.ppress-report-charts-container dt.ppress-report-chart-top-card-item-header{color:#6b7280;font-size:1rem;line-height:1.5rem;font-weight:400}.ppress-report-charts-container dd.ppress-report-chart-top-card-item-content-wrap{display:flex;margin:4px 0 12px;justify-content:space-between;align-items:baseline}.ppress-report-charts-container .ppress-report-chart-top-card-item-content{display:flex;color:#111827;font-size:1.5rem;line-height:2rem;font-weight:600;align-items:baseline}.ppress-report-charts-container .ppress-report-chart-top-card-item:last-child{border-right:0}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-content-wrap p.ppress-report-chart-bottom-card-item-trend.negative{color:#991b1b}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-wrap{display:grid;margin-top:1.25rem;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.ppress-report-charts-container .ppress-report-chart-bottom-card-item{overflow:hidden;position:relative;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);padding:1.5rem}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-chart{margin:0;margin-top:1.5rem}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-header p{color:#6b7280;font-size:.875rem;line-height:1.25rem;font-weight:500;overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-content-wrap{display:flex;padding-bottom:0;margin:0;align-items:baseline}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-content-wrap p{color:#111827;font-size:1.5rem;line-height:2rem;font-weight:600;margin:0}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-content-wrap p.ppress-report-chart-bottom-card-item-trend{display:flex;margin-left:.5rem;color:#059669;font-size:.875rem;line-height:1.25rem;font-weight:600;align-items:baseline}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-view-more-block{position:absolute;right:0;left:0;bottom:0;background-color:#f9fafb;padding:1rem 1.5rem;font-size:.875rem;line-height:1.25rem}.ppress-report-charts-container .ppress-report-chart-bottom-card-item-view-more-block a{font-weight:500;text-decoration:none}
|
assets/css/admin/admin.css
CHANGED
@@ -2437,6 +2437,10 @@ textarea.wp-editor-area {
|
|
2437 |
width: 16%;
|
2438 |
}
|
2439 |
|
|
|
|
|
|
|
|
|
2440 |
/* ProfilePress Report */
|
2441 |
.ppress-report-charts-container * {
|
2442 |
box-sizing: border-box;
|
2437 |
width: 16%;
|
2438 |
}
|
2439 |
|
2440 |
+
.ppress-admin .ppview th#coupon_code {
|
2441 |
+
width: 18%;
|
2442 |
+
}
|
2443 |
+
|
2444 |
/* ProfilePress Report */
|
2445 |
.ppress-report-charts-container * {
|
2446 |
box-sizing: border-box;
|
assets/images/cards-icon.svg
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<svg fill="none" height="43" viewBox="0 0 245 43" width="245" xmlns="http://www.w3.org/2000/svg"><path d="
|
1 |
+
<svg fill="none" height="43" viewBox="0 0 245 43" width="245" xmlns="http://www.w3.org/2000/svg"><path d="M177.3 3.7h-54.8v34.8h54.8z" fill="#fff"/><path d="M176.4 32.8h-53v4.7h53z" fill="#fcb316"/><path d="M176.4 4.6h-53v4.7h53zm-31.8 10-5.5 13h-3.6l-2.7-10.4c-.2-.6-.3-.9-.8-1.1-.8-.4-2.2-.9-3.3-1.1l.1-.4h5.7c.7 0 1.4.5 1.6 1.3l1.4 7.6 3.5-8.9zm13.9 8.8c0-3.4-4.8-3.6-4.7-5.2 0-.5.5-1 1.4-1.1.5-.1 1.8-.1 3.3.6l.6-2.8c-.8-.3-1.9-.6-3.2-.6-3.3 0-5.7 1.8-5.7 4.3 0 1.9 1.7 2.9 3 3.6 1.3.6 1.8 1.1 1.8 1.6 0 .9-1 1.3-2 1.3-1.7 0-2.7-.5-3.5-.8l-.6 2.9c.8.4 2.2.7 3.8.7 3.5-.1 5.8-1.8 5.8-4.5zm8.9 4.2h3.1l-2.7-13h-2.9c-.7 0-1.2.4-1.4 1l-5.1 12.1h3.5l.7-1.9h4.3zm-3.8-4.6 1.8-4.9 1 4.9zm-14.2-8.4-2.8 13h-3.4l2.8-13z" fill="#10357f"/><path d="M243.9 4.3h-52.2v33.2h52.2z" fill="#fff"/><path d="M243.7 22.8s-14.3 10.1-40.4 14.6h40.4z" fill="#ee7623"/><g fill="#231f20"><path d="M243.9 4.2h-52.4v33.6h52.6V4.2zm-.2.3v32.8h-51.8V4.5z"/><path d="M196.1 14.4H194V22h2.2c1.2 0 2-.3 2.7-.9.9-.7 1.4-1.8 1.4-2.9-.1-2.2-1.8-3.8-4.2-3.8zm1.8 5.7c-.5.4-1.1.6-2 .6h-.4v-5h.4c1 0 1.5.2 2 .6.5.5.8 1.2.8 1.9 0 .8-.3 1.5-.8 1.9zm4.5-5.7h-1.5V22h1.5zm3.6 3c-.9-.3-1.2-.5-1.2-1s.5-.8 1.1-.8c.4 0 .8.2 1.2.6l.8-1c-.6-.6-1.4-.8-2.2-.8-1.3 0-2.4.9-2.4 2.2 0 1 .5 1.6 1.9 2.1.6.2.9.3 1 .4.3.2.4.5.4.8 0 .6-.5 1.1-1.2 1.1s-1.3-.4-1.6-1l-1 .9c.7 1 1.5 1.4 2.6 1.4 1.5 0 2.6-1 2.6-2.5.2-1.3-.3-1.8-2-2.4zm2.7.8c0 2.2 1.8 4 4 4 .6 0 1.2-.1 1.9-.4V20c-.6.6-1.1.8-1.8.8-1.5 0-2.6-1.1-2.6-2.6s1.1-2.6 2.5-2.6c.7 0 1.2.3 1.9.9v-1.7c-.7-.3-1.2-.5-1.8-.5-2.3 0-4.1 1.7-4.1 3.9zm17.6 1.3-2-5.1h-1.6l3.2 7.8h.8l3.3-7.8h-1.6zm4.3 2.5h4.2v-1.2h-2.7v-2.1h2.6v-1.3h-2.6v-1.7h2.7v-1.3h-4.2zm10.1-5.3c0-1.4-1-2.2-2.7-2.2h-2.2V22h1.5v-3h.2l2.1 3.1h1.8l-2.4-3.2c1.1-.3 1.7-1.1 1.7-2.2zm-3 1.2h-.4v-2.3h.5c.9 0 1.4.4 1.4 1.1 0 .8-.5 1.2-1.5 1.2z"/></g><path d="M223.1 18.2c0 2.2-1.8 4-4 4s-4-1.8-4-4 1.8-4 4-4 4 1.8 4 4z" fill="#ee7623"/><path d="M241.5 14.6c0-.1-.1-.2-.3-.2h-.2v.6h.2v-.3l.2.3h.2l-.2-.3c.1 0 .1 0 .1-.1zm-.3.1v-.2c.1 0 .1 0 .1.1 0 0 0 .1-.1.1z" fill="#231f20"/><path d="M241.3 14.1c-.3 0-.6.3-.6.6s.3.6.6.6.6-.3.6-.6-.3-.6-.6-.6zm0 1.1c-.3 0-.5-.2-.5-.5s.2-.5.5-.5.5.2.5.5c-.1.3-.3.5-.5.5z" fill="#231f20"/><path d="M41.6 42.3v-6.6h-5L34 32.8l-2.6 2.9H14.9V22.4H9.6l6.6-15h6.4l2.3 5.1V7.4h7.9l1.4 3.9 1.4-3.9h6.1V.7H.1v41.6zM37.5 34h4.2l-5.5-5.9 5.5-5.8h-4.1L34.2 26l-3.4-3.7h-4.2l5.5 5.8-5.5 5.9h4.1l3.4-3.8zm.9-5.8 3.2 3.4v-6.8zm-18.6 3.1v-1.8h6.6v-2.6h-6.6v-1.8h6.7v-2.7h-9.9V34h9.9v-2.7zm18.7-10.6h3.1V9.1h-4.9l-2.6 7.2-2.6-7.2h-5v11.6h3.1v-8.1l3 8.1h2.8l3-8.2v8.2zm-15.5 0h3.6L21.5 9.1h-4.1l-5.1 11.6h3.5l1-2.3H22zm-2.1-4.9h-3.2l1.6-3.8z" fill="#0071ce"/><path d="M88.7 9.5H74.4V33h14.3z" fill="#ff5f00"/><path d="M75.9 21.3c0-4.6 2.1-9 5.7-11.7-6.5-5.1-15.9-3.9-21 2.5s-3.9 15.9 2.5 21c5.4 4.2 13 4.2 18.5 0-3.6-3-5.7-7.3-5.7-11.8z" fill="#eb001b"/><path d="M104.3 30.5V30h.2v-.1h-.5v.1h.2zm1 0v-.6h-.2l-.2.4-.2-.4h-.1v.6h.1V30l.2.4h.1l.2-.4zm.5-9.2c0 8.3-6.6 14.9-14.9 14.9-3.4 0-6.6-1.2-9.2-3.2 6.5-5.1 7.6-14.4 2.5-21-.8-1-1.5-1.7-2.5-2.5 6.5-5.1 15.9-3.9 21 2.5 1.9 2.6 3.1 5.9 3.1 9.3z" fill="#f79e1b"/></svg>
|
assets/images/paypal-icon.svg
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<svg fill="none" height="31" viewBox="0 0 124 31" width="124" xmlns="http://www.w3.org/2000/svg"><
|
1 |
+
<svg fill="none" height="31" viewBox="0 0 124 31" width="124" xmlns="http://www.w3.org/2000/svg"><path d="M46.211 6.749h-6.839a.95.95 0 0 0-.939.802l-2.766 17.537a.57.57 0 0 0 .564.658h3.265a.95.95 0 0 0 .939-.803l.746-4.73a.95.95 0 0 1 .938-.803h2.165c4.505 0 7.105-2.18 7.784-6.5.306-1.89.013-3.375-.872-4.415-.972-1.142-2.696-1.746-4.985-1.746zM47 13.154c-.374 2.454-2.249 2.454-4.062 2.454h-1.032l.724-4.583a.57.57 0 0 1 .563-.481h.473c1.235 0 2.4 0 3.002.704.359.42.469 1.044.332 1.906zm19.654-.079h-3.275a.57.57 0 0 0-.563.481l-.145.916-.229-.332c-.709-1.029-2.29-1.373-3.868-1.373-3.619 0-6.71 2.741-7.312 6.586-.313 1.918.132 3.752 1.22 5.031.998 1.176 2.426 1.666 4.125 1.666 2.916 0 4.533-1.875 4.533-1.875l-.146.91a.57.57 0 0 0 .562.66h2.95a.95.95 0 0 0 .939-.803l1.77-11.209a.568.568 0 0 0-.561-.658zm-4.565 6.374c-.316 1.871-1.801 3.127-3.695 3.127-.951 0-1.711-.305-2.199-.883-.484-.574-.668-1.391-.514-2.301.295-1.855 1.805-3.152 3.67-3.152.93 0 1.686.309 2.184.892.499.589.697 1.411.554 2.317zm22.007-6.374h-3.291a.954.954 0 0 0-.787.417l-4.539 6.686-1.924-6.425a.953.953 0 0 0-.912-.678h-3.234a.57.57 0 0 0-.541.754l3.625 10.638-3.408 4.811a.57.57 0 0 0 .465.9h3.287a.949.949 0 0 0 .781-.408l10.946-15.8a.57.57 0 0 0-.468-.895z" fill="#253b80"/><path d="M94.992 6.749h-6.84a.95.95 0 0 0-.938.802l-2.766 17.537a.569.569 0 0 0 .562.658h3.51a.665.665 0 0 0 .656-.562l.785-4.971a.95.95 0 0 1 .938-.803h2.164c4.506 0 7.105-2.18 7.785-6.5.307-1.89.012-3.375-.873-4.415-.971-1.142-2.694-1.746-4.983-1.746zm.789 6.405c-.373 2.454-2.248 2.454-4.062 2.454h-1.031l.725-4.583a.568.568 0 0 1 .562-.481h.473c1.234 0 2.4 0 3.002.704.359.42.468 1.044.331 1.906zm19.653-.079h-3.273a.567.567 0 0 0-.562.481l-.145.916-.23-.332c-.709-1.029-2.289-1.373-3.867-1.373-3.619 0-6.709 2.741-7.311 6.586-.312 1.918.131 3.752 1.219 5.031 1 1.176 2.426 1.666 4.125 1.666 2.916 0 4.533-1.875 4.533-1.875l-.146.91a.57.57 0 0 0 .564.66h2.949a.95.95 0 0 0 .938-.803l1.771-11.209a.571.571 0 0 0-.565-.658zm-4.565 6.374c-.314 1.871-1.801 3.127-3.695 3.127-.949 0-1.711-.305-2.199-.883-.484-.574-.666-1.391-.514-2.301.297-1.855 1.805-3.152 3.67-3.152.93 0 1.686.309 2.184.892.501.589.699 1.411.554 2.317zm8.426-12.219-2.807 17.858a.569.569 0 0 0 .562.658h2.822c.469 0 .867-.34.939-.803l2.768-17.536a.57.57 0 0 0-.562-.659h-3.16a.571.571 0 0 0-.562.482z" fill="#179bd7"/><path d="m7.266 29.154.523-3.322-1.165-.027H1.061L4.927 1.292a.316.316 0 0 1 .314-.268h9.38c3.114 0 5.263.648 6.385 1.927.526.6.861 1.227 1.023 1.917.17.724.173 1.589.007 2.644l-.012.077v.676l.526.298a3.69 3.69 0 0 1 1.065.812c.45.513.741 1.165.864 1.938.127.795.085 1.741-.123 2.812-.24 1.232-.628 2.305-1.152 3.183a6.547 6.547 0 0 1-1.825 2c-.696.494-1.523.869-2.458 1.109-.906.236-1.939.355-3.072.355h-.73c-.522 0-1.029.188-1.427.525a2.21 2.21 0 0 0-.744 1.328l-.055.299-.924 5.855-.042.215c-.011.068-.03.102-.058.125a.155.155 0 0 1-.096.035z" fill="#253b80"/><path d="M23.048 7.667c-.028.179-.06.362-.096.55-1.237 6.351-5.469 8.545-10.874 8.545H9.326c-.661 0-1.218.48-1.321 1.132L6.596 26.83l-.399 2.533a.704.704 0 0 0 .695.814h4.881c.578 0 1.069-.42 1.16-.99l.048-.248.919-5.832.059-.32c.09-.572.582-.992 1.16-.992h.73c4.729 0 8.431-1.92 9.513-7.476.452-2.321.218-4.259-.978-5.622a4.667 4.667 0 0 0-1.336-1.03z" fill="#179bd7"/><path d="M21.754 7.151a9.757 9.757 0 0 0-1.203-.267 15.284 15.284 0 0 0-2.426-.177h-7.352a1.172 1.172 0 0 0-1.159.992L8.05 17.605l-.045.289a1.336 1.336 0 0 1 1.321-1.132h2.752c5.405 0 9.637-2.195 10.874-8.545.037-.188.068-.371.096-.55a6.594 6.594 0 0 0-1.017-.429 9.045 9.045 0 0 0-.277-.087z" fill="#222d65"/><path d="M9.614 7.699a1.169 1.169 0 0 1 1.159-.991h7.352c.871 0 1.684.057 2.426.177a9.757 9.757 0 0 1 1.481.353c.365.121.704.264 1.017.429.368-2.347-.003-3.945-1.272-5.392C20.378.682 17.853 0 14.622 0h-9.38c-.66 0-1.223.48-1.325 1.133L.01 25.898a.806.806 0 0 0 .795.932h5.791l1.454-9.225z" fill="#253b80"/></svg>
|
changelog.txt
CHANGED
@@ -1,5 +1,17 @@
|
|
1 |
== Changelog ==
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
= 4.1.2 =
|
4 |
* Added "ppress_disable_google_fonts" filter to disable google fonts globally.
|
5 |
* Added Oxygen builder compatibility to Admin Bar Control.
|
1 |
== Changelog ==
|
2 |
|
3 |
+
= 4.1.3 =
|
4 |
+
* Added [navigation menu protection](https://profilepress.com/article/wordpress-navigation-menu-restriction/).
|
5 |
+
* Added [Elementor content restriction](https://profilepress.com/article/restrict-elementor-sections-widgets/).
|
6 |
+
* Added [Beaver Builder content restriction](https://profilepress.com/article/restrict-content-beaver-builder-visibility/).
|
7 |
+
* Added support for discounting subscription first payment.
|
8 |
+
* Added support for [purchase note](https://profilepress.com/article/plan-purchase-note/?ref=changelog).
|
9 |
+
* Added support for [checking active subscription via PHP](https://profilepress.com/article/php-check-user-has-active-subscription/).
|
10 |
+
* Fixed bug where new order creation with missing payment method failed.
|
11 |
+
* Fixed couple of date/time related query bugs.
|
12 |
+
* Fixed bug where cancelled one-time subscription was still active.
|
13 |
+
* Fixed bug where non-completed order email receipt can be sent.
|
14 |
+
|
15 |
= 4.1.2 =
|
16 |
* Added "ppress_disable_google_fonts" filter to disable google fonts globally.
|
17 |
* Added Oxygen builder compatibility to Admin Bar Control.
|
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.1.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-user-avatar\n"
|
7 |
-
"POT-Creation-Date: 2022-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -722,8 +722,8 @@ msgstr ""
|
|
722 |
#: src/Admin/SettingsPages/FormList.php:241
|
723 |
#: src/Admin/SettingsPages/FormList.php:317
|
724 |
#: src/Admin/SettingsPages/GeneralSettings.php:139
|
725 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
726 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
727 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:263
|
728 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:112
|
729 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:259
|
@@ -1510,12 +1510,12 @@ msgstr ""
|
|
1510 |
|
1511 |
#: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:133
|
1512 |
#: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:149
|
1513 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
1514 |
msgid "URL to reset password."
|
1515 |
msgstr ""
|
1516 |
|
1517 |
#: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:134
|
1518 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
1519 |
msgid "URL to login."
|
1520 |
msgstr ""
|
1521 |
|
@@ -1890,7 +1890,7 @@ msgid "Date"
|
|
1890 |
msgstr ""
|
1891 |
|
1892 |
#: src/Admin/SettingsPages/FormList.php:240
|
1893 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
1894 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:86
|
1895 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:108
|
1896 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:65
|
@@ -2240,8 +2240,8 @@ msgid "Redirect Default Edit Profile"
|
|
2240 |
msgstr ""
|
2241 |
|
2242 |
#: src/Admin/SettingsPages/GeneralSettings.php:298
|
2243 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2244 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2245 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:74
|
2246 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:173
|
2247 |
#: src/ContentProtection/WPListTable.php:93
|
@@ -2423,6 +2423,7 @@ msgid "Check to allow homepage to be accessible by everyone."
|
|
2423 |
msgstr ""
|
2424 |
|
2425 |
#: src/Admin/SettingsPages/GeneralSettings.php:461
|
|
|
2426 |
#: src/ContentProtection/Frontend/PostContent.php:66
|
2427 |
#: src/RegisterActivation/Base.php:131
|
2428 |
msgid "You are unauthorized to view this page."
|
@@ -2712,28 +2713,28 @@ msgstr ""
|
|
2712 |
msgid "Checkout Fields"
|
2713 |
msgstr ""
|
2714 |
|
2715 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2716 |
msgid "No coupon code found."
|
2717 |
msgstr ""
|
2718 |
|
2719 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2720 |
#: src/Functions/custom-settings-api.php:873
|
2721 |
msgid "Code"
|
2722 |
msgstr ""
|
2723 |
|
2724 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2725 |
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:47
|
2726 |
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:48
|
2727 |
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:35
|
2728 |
-
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:
|
2729 |
msgid "Discount"
|
2730 |
msgstr ""
|
2731 |
|
2732 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2733 |
msgid "Redemptions"
|
2734 |
msgstr ""
|
2735 |
|
2736 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2737 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:56
|
2738 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:32
|
2739 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:52
|
@@ -2745,83 +2746,98 @@ msgstr ""
|
|
2745 |
msgid "Status"
|
2746 |
msgstr ""
|
2747 |
|
2748 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2749 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
2750 |
#: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:75
|
2751 |
msgid "Start Date"
|
2752 |
msgstr ""
|
2753 |
|
2754 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2755 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
2756 |
msgid "End Date"
|
2757 |
msgstr ""
|
2758 |
|
2759 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2760 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2761 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:70
|
2762 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:174
|
2763 |
#: src/ContentProtection/WPListTable.php:89
|
2764 |
msgid "Deactivate"
|
2765 |
msgstr ""
|
2766 |
|
2767 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2768 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2769 |
msgid "Unlimited"
|
2770 |
msgstr ""
|
2771 |
|
2772 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2773 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:109
|
2774 |
#: src/Membership/Models/Customer/CustomerStatus.php:13
|
2775 |
#: src/Membership/Models/Subscription/SubscriptionStatus.php:17
|
2776 |
msgid "Active"
|
2777 |
msgstr ""
|
2778 |
|
2779 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2780 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:111
|
2781 |
#: src/Membership/Models/Customer/CustomerStatus.php:14
|
2782 |
msgid "Inactive"
|
2783 |
msgstr ""
|
2784 |
|
2785 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:
|
2786 |
#: src/Membership/Models/Subscription/SubscriptionStatus.php:19
|
2787 |
msgid "Expired"
|
2788 |
msgstr ""
|
2789 |
|
2790 |
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:49
|
2791 |
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:40
|
|
|
|
|
|
|
|
|
|
|
2792 |
msgid "Coupon Application"
|
2793 |
msgstr ""
|
2794 |
|
2795 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:
|
2796 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:97
|
2797 |
msgid "%s cannot be empty."
|
2798 |
msgstr ""
|
2799 |
|
2800 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:
|
2801 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:
|
2802 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:56
|
2803 |
msgid "Coupons"
|
2804 |
msgstr ""
|
2805 |
|
2806 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:
|
2807 |
msgid "Add a Coupon"
|
2808 |
msgstr ""
|
2809 |
|
2810 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:
|
2811 |
msgid "Edit Coupon"
|
2812 |
msgstr ""
|
2813 |
|
2814 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:
|
2815 |
#: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:259
|
2816 |
#: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:476
|
2817 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:
|
2818 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:165
|
2819 |
#: src/ContentProtection/SettingsPage.php:160
|
2820 |
#: src/Themes/DragDrop/AbstractTheme.php:114
|
2821 |
msgid "Changes saved."
|
2822 |
msgstr ""
|
2823 |
|
2824 |
-
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:
|
2825 |
msgid "Add New Coupon"
|
2826 |
msgstr ""
|
2827 |
|
@@ -2864,7 +2880,7 @@ msgstr ""
|
|
2864 |
|
2865 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:317
|
2866 |
#: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:264
|
2867 |
-
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:
|
2868 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:314
|
2869 |
msgctxt "date filter"
|
2870 |
msgid "From"
|
@@ -2872,7 +2888,7 @@ msgstr ""
|
|
2872 |
|
2873 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:320
|
2874 |
#: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:267
|
2875 |
-
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:
|
2876 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:317
|
2877 |
msgctxt "date filter"
|
2878 |
msgid "To"
|
@@ -2880,14 +2896,14 @@ msgstr ""
|
|
2880 |
|
2881 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:325
|
2882 |
#: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:283
|
2883 |
-
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:
|
2884 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:331
|
2885 |
msgid "Filter"
|
2886 |
msgstr ""
|
2887 |
|
2888 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:329
|
2889 |
#: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:287
|
2890 |
-
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:
|
2891 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:335
|
2892 |
msgid "Clear"
|
2893 |
msgstr ""
|
@@ -3102,13 +3118,14 @@ msgstr ""
|
|
3102 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:51
|
3103 |
#: src/Admin/SettingsPages/Membership/views/customers/subcriptions-metabox.php:19
|
3104 |
#: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:114
|
|
|
3105 |
#: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:63
|
3106 |
msgid "Plan"
|
3107 |
msgstr ""
|
3108 |
|
3109 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:55
|
3110 |
#: src/Admin/SettingsPages/Membership/views/subscriptions/sub-payments-metabox.php:19
|
3111 |
-
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:
|
3112 |
#: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:117
|
3113 |
#: src/templates/checkout/form-checkout-sidebar.php:107
|
3114 |
msgid "Total"
|
@@ -3116,7 +3133,7 @@ msgstr ""
|
|
3116 |
|
3117 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:57
|
3118 |
#: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:531
|
3119 |
-
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:
|
3120 |
msgid "Payment Method"
|
3121 |
msgstr ""
|
3122 |
|
@@ -3138,20 +3155,20 @@ msgstr ""
|
|
3138 |
msgid "Resend Order Receipt"
|
3139 |
msgstr ""
|
3140 |
|
3141 |
-
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:
|
3142 |
msgid "All Modes"
|
3143 |
msgstr ""
|
3144 |
|
3145 |
-
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:
|
3146 |
msgid "All Payment Methods"
|
3147 |
msgstr ""
|
3148 |
|
3149 |
-
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:
|
3150 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:323
|
3151 |
msgid "All Customers"
|
3152 |
msgstr ""
|
3153 |
|
3154 |
-
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:
|
3155 |
msgid "Search Orders"
|
3156 |
msgstr ""
|
3157 |
|
@@ -3194,7 +3211,7 @@ msgstr ""
|
|
3194 |
|
3195 |
#: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:526
|
3196 |
#: src/ShortcodeParser/MyAccount/orders.tmpl.php:57
|
3197 |
-
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:
|
3198 |
msgid "Order Status"
|
3199 |
msgstr ""
|
3200 |
|
@@ -3358,8 +3375,8 @@ msgid "Checkout page not found"
|
|
3358 |
msgstr ""
|
3359 |
|
3360 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:42
|
3361 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:
|
3362 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3363 |
msgid "Membership Plans"
|
3364 |
msgstr ""
|
3365 |
|
@@ -3377,81 +3394,81 @@ msgid "Edit Plan"
|
|
3377 |
msgstr ""
|
3378 |
|
3379 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:90
|
3380 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3381 |
#: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:26
|
3382 |
msgid "Price"
|
3383 |
msgstr ""
|
3384 |
|
3385 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:91
|
3386 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3387 |
msgid "Billing Frequency"
|
3388 |
msgstr ""
|
3389 |
|
3390 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:92
|
3391 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3392 |
msgid "Subscription Length"
|
3393 |
msgstr ""
|
3394 |
|
3395 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:
|
3396 |
msgid "Add New Plan"
|
3397 |
msgstr ""
|
3398 |
|
3399 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:201
|
3400 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:215
|
3401 |
-
msgid "month"
|
3402 |
-
msgstr ""
|
3403 |
-
|
3404 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:202
|
3405 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:216
|
3406 |
-
msgid "
|
3407 |
msgstr ""
|
3408 |
|
3409 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:203
|
3410 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:217
|
3411 |
-
msgid "
|
3412 |
msgstr ""
|
3413 |
|
3414 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:204
|
3415 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:218
|
3416 |
-
msgid "
|
3417 |
msgstr ""
|
3418 |
|
3419 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:205
|
3420 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:219
|
3421 |
-
msgid "
|
3422 |
msgstr ""
|
3423 |
|
3424 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:206
|
3425 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:220
|
3426 |
-
msgid "
|
3427 |
msgstr ""
|
3428 |
|
3429 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:207
|
3430 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:221
|
|
|
|
|
|
|
|
|
|
|
3431 |
msgid "one-time"
|
3432 |
msgstr ""
|
3433 |
|
3434 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:
|
3435 |
msgid "months"
|
3436 |
msgstr ""
|
3437 |
|
3438 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:
|
3439 |
msgid "for"
|
3440 |
msgstr ""
|
3441 |
|
3442 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:
|
3443 |
msgid " and a %s signup fee"
|
3444 |
msgstr ""
|
3445 |
|
3446 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:
|
3447 |
msgid "Renews indefinitely"
|
3448 |
msgstr ""
|
3449 |
|
3450 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:
|
3451 |
msgid "Never expires"
|
3452 |
msgstr ""
|
3453 |
|
3454 |
-
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:
|
3455 |
msgid "Includes a %s free trial"
|
3456 |
msgstr ""
|
3457 |
|
@@ -3598,7 +3615,7 @@ msgstr ""
|
|
3598 |
|
3599 |
#: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:113
|
3600 |
#: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:46
|
3601 |
-
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:
|
3602 |
#: src/templates/checkout/form-billing-fields.php:47
|
3603 |
msgid "VAT Number"
|
3604 |
msgstr ""
|
@@ -3664,52 +3681,56 @@ msgstr ""
|
|
3664 |
msgid "A description of this coupon."
|
3665 |
msgstr ""
|
3666 |
|
3667 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
|
|
|
|
|
|
|
|
3668 |
msgid "To new purchases only"
|
3669 |
msgstr ""
|
3670 |
|
3671 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3672 |
msgid "To existing purchase (upgrades)"
|
3673 |
msgstr ""
|
3674 |
|
3675 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3676 |
msgid "To both new and existing purchases"
|
3677 |
msgstr ""
|
3678 |
|
3679 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3680 |
msgid "Select where members can apply this coupon."
|
3681 |
msgstr ""
|
3682 |
|
3683 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3684 |
msgid "Select membership plans this coupon can only be applied to. Leave blank for all plans."
|
3685 |
msgstr ""
|
3686 |
|
3687 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3688 |
msgid "Enter the date that this coupon will be valid from. Leave blank for no start date. (UTC %s)"
|
3689 |
msgstr ""
|
3690 |
|
3691 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3692 |
msgid "Enter the date that this coupon will expire on. Leave blank for no end date. (UTC %s)"
|
3693 |
msgstr ""
|
3694 |
|
3695 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3696 |
msgid "Maximum Redemptions "
|
3697 |
msgstr ""
|
3698 |
|
3699 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3700 |
msgid "Limit the total amount of redemptions for this coupon. Leave blank for unlimited."
|
3701 |
msgstr ""
|
3702 |
|
3703 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3704 |
msgid "Coupon Details"
|
3705 |
msgstr ""
|
3706 |
|
3707 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3708 |
msgid "Redemption Settings"
|
3709 |
msgstr ""
|
3710 |
|
3711 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:
|
3712 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3713 |
#: src/Admin/SettingsPages/Membership/views/customers/view-customer.php:48
|
3714 |
#: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:38
|
3715 |
#: src/Admin/SettingsPages/Membership/views/subscriptions/add-edit-subscription.php:42
|
@@ -3725,60 +3746,69 @@ msgstr ""
|
|
3725 |
msgid "A description of this plan. This will be displayed on the checkout page."
|
3726 |
msgstr ""
|
3727 |
|
|
|
|
|
|
|
|
|
|
|
3728 |
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:23
|
|
|
|
|
|
|
|
|
3729 |
msgid "The price of this membership plan. Enter 0 to make this plan free."
|
3730 |
msgstr ""
|
3731 |
|
3732 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3733 |
msgid "Renew indefinitely until member cancels"
|
3734 |
msgstr ""
|
3735 |
|
3736 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3737 |
msgid "Fixed number of payments"
|
3738 |
msgstr ""
|
3739 |
|
3740 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3741 |
msgid "Total Payments"
|
3742 |
msgstr ""
|
3743 |
|
3744 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3745 |
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."
|
3746 |
msgstr ""
|
3747 |
|
3748 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3749 |
#: src/templates/checkout/form-checkout-sidebar.php:65
|
3750 |
msgid "Signup Fee"
|
3751 |
msgstr ""
|
3752 |
|
3753 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3754 |
msgid "Optional signup fee to charge subscribers for the first billing cycle."
|
3755 |
msgstr ""
|
3756 |
|
3757 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3758 |
msgid "Free Trial"
|
3759 |
msgstr ""
|
3760 |
|
3761 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3762 |
msgid "Allow members free access for a specified duration of time before charging them."
|
3763 |
msgstr ""
|
3764 |
|
3765 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3766 |
msgid "Plan Details"
|
3767 |
msgstr ""
|
3768 |
|
3769 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3770 |
msgid "Subscription Settings"
|
3771 |
msgstr ""
|
3772 |
|
3773 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3774 |
msgid "Summary"
|
3775 |
msgstr ""
|
3776 |
|
3777 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3778 |
msgid "Order Links"
|
3779 |
msgstr ""
|
3780 |
|
3781 |
-
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:
|
3782 |
msgid "Checkout link:"
|
3783 |
msgstr ""
|
3784 |
|
@@ -3842,7 +3872,7 @@ msgstr ""
|
|
3842 |
#: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:110
|
3843 |
#: src/ShortcodeParser/MyAccount/MyAccountTag.php:75
|
3844 |
#: src/ShortcodeParser/MyAccount/billing-details.tmpl.php:17
|
3845 |
-
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:
|
3846 |
#: src/templates/checkout/form-billing-fields.php:36
|
3847 |
msgid "Billing Address"
|
3848 |
msgstr ""
|
@@ -3957,7 +3987,7 @@ msgid "Validated"
|
|
3957 |
msgstr ""
|
3958 |
|
3959 |
#: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:52
|
3960 |
-
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:
|
3961 |
msgid "Reverse Charged"
|
3962 |
msgstr ""
|
3963 |
|
@@ -4032,7 +4062,7 @@ msgid "Item"
|
|
4032 |
msgstr ""
|
4033 |
|
4034 |
#: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:43
|
4035 |
-
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:
|
4036 |
#: src/templates/checkout/form-checkout-sidebar.php:71
|
4037 |
msgid "Subtotal"
|
4038 |
msgstr ""
|
@@ -4157,7 +4187,7 @@ msgid "Renewal Date:"
|
|
4157 |
msgstr ""
|
4158 |
|
4159 |
#: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:133
|
4160 |
-
#: src/Membership/Models/Subscription/SubscriptionEntity.php:
|
4161 |
msgid "Lifetime"
|
4162 |
msgstr ""
|
4163 |
|
@@ -4891,6 +4921,68 @@ msgstr ""
|
|
4891 |
msgid "Selected %s Archive Pages"
|
4892 |
msgstr ""
|
4893 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4894 |
#: src/ContentProtection/SettingsPage.php:42
|
4895 |
#: src/ContentProtection/SettingsPage.php:60
|
4896 |
msgid "Content Protection"
|
@@ -4913,6 +5005,20 @@ msgid "Title cannot be empty."
|
|
4913 |
msgstr ""
|
4914 |
|
4915 |
#: src/ContentProtection/SettingsPage.php:181
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4916 |
msgid "Add a Protection Rule"
|
4917 |
msgstr ""
|
4918 |
|
@@ -4924,11 +5030,6 @@ msgstr ""
|
|
4924 |
msgid "Protected Contents"
|
4925 |
msgstr ""
|
4926 |
|
4927 |
-
#: src/ContentProtection/WPListTable.php:196
|
4928 |
-
#: src/ContentProtection/views/view.access-condition.php:33
|
4929 |
-
msgid "Everyone"
|
4930 |
-
msgstr ""
|
4931 |
-
|
4932 |
#: src/ContentProtection/WPListTable.php:199
|
4933 |
#: src/ContentProtection/views/view.access-condition.php:34
|
4934 |
msgid "Logged in users"
|
@@ -4943,6 +5044,14 @@ msgstr ""
|
|
4943 |
msgid "%s plan"
|
4944 |
msgstr ""
|
4945 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4946 |
#: src/ContentProtection/views/include.shortcode-doc-sidebar.php:5
|
4947 |
msgid "To restrict contents in a post or page, we provide the below shortcode. %sLearn more%s"
|
4948 |
msgstr ""
|
@@ -4963,11 +5072,11 @@ msgstr ""
|
|
4963 |
msgid "Access Condition"
|
4964 |
msgstr ""
|
4965 |
|
4966 |
-
#: src/ContentProtection/views/include.view.php:
|
4967 |
-
msgid "
|
4968 |
msgstr ""
|
4969 |
|
4970 |
-
#: src/ContentProtection/views/include.view.php:
|
4971 |
msgid "Add title"
|
4972 |
msgstr ""
|
4973 |
|
@@ -4988,7 +5097,7 @@ msgid "Select specific users that can access content"
|
|
4988 |
msgstr ""
|
4989 |
|
4990 |
#: src/ContentProtection/views/view.access-condition.php:83
|
4991 |
-
msgid "What happens when users without access
|
4992 |
msgstr ""
|
4993 |
|
4994 |
#: src/ContentProtection/views/view.access-condition.php:88
|
@@ -5003,14 +5112,6 @@ msgstr ""
|
|
5003 |
msgid "Message to show to unauthorized users"
|
5004 |
msgstr ""
|
5005 |
|
5006 |
-
#: src/ContentProtection/views/view.access-condition.php:101
|
5007 |
-
msgid "Global Restrict Access Message"
|
5008 |
-
msgstr ""
|
5009 |
-
|
5010 |
-
#: src/ContentProtection/views/view.access-condition.php:102
|
5011 |
-
msgid "Custom message"
|
5012 |
-
msgstr ""
|
5013 |
-
|
5014 |
#: src/ContentProtection/views/view.access-condition.php:103
|
5015 |
msgid "Post Excerpt"
|
5016 |
msgstr ""
|
@@ -5100,655 +5201,655 @@ msgstr ""
|
|
5100 |
msgid "Error: The file you uploaded is not accepted on our website."
|
5101 |
msgstr ""
|
5102 |
|
5103 |
-
#: src/Functions/MSFunctions.php:
|
5104 |
msgid "United States (US) dollar"
|
5105 |
msgstr ""
|
5106 |
|
5107 |
-
#: src/Functions/MSFunctions.php:
|
5108 |
msgid "Euro"
|
5109 |
msgstr ""
|
5110 |
|
5111 |
-
#: src/Functions/MSFunctions.php:
|
5112 |
msgid "Pound sterling"
|
5113 |
msgstr ""
|
5114 |
|
5115 |
-
#: src/Functions/MSFunctions.php:
|
5116 |
msgid "United Arab Emirates dirham"
|
5117 |
msgstr ""
|
5118 |
|
5119 |
-
#: src/Functions/MSFunctions.php:
|
5120 |
msgid "Afghan afghani"
|
5121 |
msgstr ""
|
5122 |
|
5123 |
-
#: src/Functions/MSFunctions.php:
|
5124 |
msgid "Albanian lek"
|
5125 |
msgstr ""
|
5126 |
|
5127 |
-
#: src/Functions/MSFunctions.php:
|
5128 |
msgid "Armenian dram"
|
5129 |
msgstr ""
|
5130 |
|
5131 |
-
#: src/Functions/MSFunctions.php:
|
5132 |
msgid "Netherlands Antillean guilder"
|
5133 |
msgstr ""
|
5134 |
|
5135 |
-
#: src/Functions/MSFunctions.php:
|
5136 |
msgid "Angolan kwanza"
|
5137 |
msgstr ""
|
5138 |
|
5139 |
-
#: src/Functions/MSFunctions.php:
|
5140 |
msgid "Argentine peso"
|
5141 |
msgstr ""
|
5142 |
|
5143 |
-
#: src/Functions/MSFunctions.php:
|
5144 |
msgid "Australian dollar"
|
5145 |
msgstr ""
|
5146 |
|
5147 |
-
#: src/Functions/MSFunctions.php:
|
5148 |
msgid "Aruban florin"
|
5149 |
msgstr ""
|
5150 |
|
5151 |
-
#: src/Functions/MSFunctions.php:
|
5152 |
msgid "Azerbaijani manat"
|
5153 |
msgstr ""
|
5154 |
|
5155 |
-
#: src/Functions/MSFunctions.php:
|
5156 |
msgid "Bosnia and Herzegovina convertible mark"
|
5157 |
msgstr ""
|
5158 |
|
5159 |
-
#: src/Functions/MSFunctions.php:
|
5160 |
msgid "Barbadian dollar"
|
5161 |
msgstr ""
|
5162 |
|
5163 |
-
#: src/Functions/MSFunctions.php:
|
5164 |
msgid "Bangladeshi taka"
|
5165 |
msgstr ""
|
5166 |
|
5167 |
-
#: src/Functions/MSFunctions.php:
|
5168 |
msgid "Bulgarian lev"
|
5169 |
msgstr ""
|
5170 |
|
5171 |
-
#: src/Functions/MSFunctions.php:
|
5172 |
msgid "Bahraini dinar"
|
5173 |
msgstr ""
|
5174 |
|
5175 |
-
#: src/Functions/MSFunctions.php:
|
5176 |
msgid "Burundian franc"
|
5177 |
msgstr ""
|
5178 |
|
5179 |
-
#: src/Functions/MSFunctions.php:
|
5180 |
msgid "Bermudian dollar"
|
5181 |
msgstr ""
|
5182 |
|
5183 |
-
#: src/Functions/MSFunctions.php:
|
5184 |
msgid "Brunei dollar"
|
5185 |
msgstr ""
|
5186 |
|
5187 |
-
#: src/Functions/MSFunctions.php:
|
5188 |
msgid "Bolivian boliviano"
|
5189 |
msgstr ""
|
5190 |
|
5191 |
-
#: src/Functions/MSFunctions.php:
|
5192 |
msgid "Brazilian real"
|
5193 |
msgstr ""
|
5194 |
|
5195 |
-
#: src/Functions/MSFunctions.php:
|
5196 |
msgid "Bahamian dollar"
|
5197 |
msgstr ""
|
5198 |
|
5199 |
-
#: src/Functions/MSFunctions.php:
|
5200 |
msgid "Bitcoin"
|
5201 |
msgstr ""
|
5202 |
|
5203 |
-
#: src/Functions/MSFunctions.php:
|
5204 |
msgid "Bhutanese ngultrum"
|
5205 |
msgstr ""
|
5206 |
|
5207 |
-
#: src/Functions/MSFunctions.php:
|
5208 |
msgid "Botswana pula"
|
5209 |
msgstr ""
|
5210 |
|
5211 |
-
#: src/Functions/MSFunctions.php:
|
5212 |
msgid "Belarusian ruble (old)"
|
5213 |
msgstr ""
|
5214 |
|
5215 |
-
#: src/Functions/MSFunctions.php:
|
5216 |
msgid "Belarusian ruble"
|
5217 |
msgstr ""
|
5218 |
|
5219 |
-
#: src/Functions/MSFunctions.php:
|
5220 |
msgid "Belize dollar"
|
5221 |
msgstr ""
|
5222 |
|
5223 |
-
#: src/Functions/MSFunctions.php:
|
5224 |
msgid "Canadian dollar"
|
5225 |
msgstr ""
|
5226 |
|
5227 |
-
#: src/Functions/MSFunctions.php:
|
5228 |
msgid "Congolese franc"
|
5229 |
msgstr ""
|
5230 |
|
5231 |
-
#: src/Functions/MSFunctions.php:
|
5232 |
msgid "Swiss franc"
|
5233 |
msgstr ""
|
5234 |
|
5235 |
-
#: src/Functions/MSFunctions.php:
|
5236 |
msgid "Chilean peso"
|
5237 |
msgstr ""
|
5238 |
|
5239 |
-
#: src/Functions/MSFunctions.php:
|
5240 |
msgid "Chinese yuan"
|
5241 |
msgstr ""
|
5242 |
|
5243 |
-
#: src/Functions/MSFunctions.php:
|
5244 |
msgid "Colombian peso"
|
5245 |
msgstr ""
|
5246 |
|
5247 |
-
#: src/Functions/MSFunctions.php:
|
5248 |
msgid "Costa Rican colón"
|
5249 |
msgstr ""
|
5250 |
|
5251 |
-
#: src/Functions/MSFunctions.php:
|
5252 |
msgid "Cuban convertible peso"
|
5253 |
msgstr ""
|
5254 |
|
5255 |
-
#: src/Functions/MSFunctions.php:
|
5256 |
msgid "Cuban peso"
|
5257 |
msgstr ""
|
5258 |
|
5259 |
-
#: src/Functions/MSFunctions.php:
|
5260 |
msgid "Cape Verdean escudo"
|
5261 |
msgstr ""
|
5262 |
|
5263 |
-
#: src/Functions/MSFunctions.php:
|
5264 |
msgid "Czech koruna"
|
5265 |
msgstr ""
|
5266 |
|
5267 |
-
#: src/Functions/MSFunctions.php:
|
5268 |
msgid "Djiboutian franc"
|
5269 |
msgstr ""
|
5270 |
|
5271 |
-
#: src/Functions/MSFunctions.php:
|
5272 |
msgid "Danish krone"
|
5273 |
msgstr ""
|
5274 |
|
5275 |
-
#: src/Functions/MSFunctions.php:
|
5276 |
msgid "Dominican peso"
|
5277 |
msgstr ""
|
5278 |
|
5279 |
-
#: src/Functions/MSFunctions.php:
|
5280 |
msgid "Algerian dinar"
|
5281 |
msgstr ""
|
5282 |
|
5283 |
-
#: src/Functions/MSFunctions.php:
|
5284 |
msgid "Egyptian pound"
|
5285 |
msgstr ""
|
5286 |
|
5287 |
-
#: src/Functions/MSFunctions.php:
|
5288 |
msgid "Eritrean nakfa"
|
5289 |
msgstr ""
|
5290 |
|
5291 |
-
#: src/Functions/MSFunctions.php:
|
5292 |
msgid "Ethiopian birr"
|
5293 |
msgstr ""
|
5294 |
|
5295 |
-
#: src/Functions/MSFunctions.php:
|
5296 |
msgid "Fijian dollar"
|
5297 |
msgstr ""
|
5298 |
|
5299 |
-
#: src/Functions/MSFunctions.php:
|
5300 |
msgid "Falkland Islands pound"
|
5301 |
msgstr ""
|
5302 |
|
5303 |
-
#: src/Functions/MSFunctions.php:
|
5304 |
msgid "Georgian lari"
|
5305 |
msgstr ""
|
5306 |
|
5307 |
-
#: src/Functions/MSFunctions.php:
|
5308 |
msgid "Guernsey pound"
|
5309 |
msgstr ""
|
5310 |
|
5311 |
-
#: src/Functions/MSFunctions.php:
|
5312 |
msgid "Ghana cedi"
|
5313 |
msgstr ""
|
5314 |
|
5315 |
-
#: src/Functions/MSFunctions.php:
|
5316 |
msgid "Gibraltar pound"
|
5317 |
msgstr ""
|
5318 |
|
5319 |
-
#: src/Functions/MSFunctions.php:
|
5320 |
msgid "Gambian dalasi"
|
5321 |
msgstr ""
|
5322 |
|
5323 |
-
#: src/Functions/MSFunctions.php:
|
5324 |
msgid "Guinean franc"
|
5325 |
msgstr ""
|
5326 |
|
5327 |
-
#: src/Functions/MSFunctions.php:
|
5328 |
msgid "Guatemalan quetzal"
|
5329 |
msgstr ""
|
5330 |
|
5331 |
-
#: src/Functions/MSFunctions.php:
|
5332 |
msgid "Guyanese dollar"
|
5333 |
msgstr ""
|
5334 |
|
5335 |
-
#: src/Functions/MSFunctions.php:
|
5336 |
msgid "Hong Kong dollar"
|
5337 |
msgstr ""
|
5338 |
|
5339 |
-
#: src/Functions/MSFunctions.php:
|
5340 |
msgid "Honduran lempira"
|
5341 |
msgstr ""
|
5342 |
|
5343 |
-
#: src/Functions/MSFunctions.php:
|
5344 |
msgid "Croatian kuna"
|
5345 |
msgstr ""
|
5346 |
|
5347 |
-
#: src/Functions/MSFunctions.php:
|
5348 |
msgid "Haitian gourde"
|
5349 |
msgstr ""
|
5350 |
|
5351 |
-
#: src/Functions/MSFunctions.php:
|
5352 |
msgid "Hungarian forint"
|
5353 |
msgstr ""
|
5354 |
|
5355 |
-
#: src/Functions/MSFunctions.php:
|
5356 |
msgid "Indonesian rupiah"
|
5357 |
msgstr ""
|
5358 |
|
5359 |
-
#: src/Functions/MSFunctions.php:
|
5360 |
msgid "Israeli new shekel"
|
5361 |
msgstr ""
|
5362 |
|
5363 |
-
#: src/Functions/MSFunctions.php:
|
5364 |
msgid "Manx pound"
|
5365 |
msgstr ""
|
5366 |
|
5367 |
-
#: src/Functions/MSFunctions.php:
|
5368 |
msgid "Indian rupee"
|
5369 |
msgstr ""
|
5370 |
|
5371 |
-
#: src/Functions/MSFunctions.php:
|
5372 |
msgid "Iraqi dinar"
|
5373 |
msgstr ""
|
5374 |
|
5375 |
-
#: src/Functions/MSFunctions.php:
|
5376 |
msgid "Iranian rial"
|
5377 |
msgstr ""
|
5378 |
|
5379 |
-
#: src/Functions/MSFunctions.php:
|
5380 |
msgid "Iranian toman"
|
5381 |
msgstr ""
|
5382 |
|
5383 |
-
#: src/Functions/MSFunctions.php:
|
5384 |
msgid "Icelandic króna"
|
5385 |
msgstr ""
|
5386 |
|
5387 |
-
#: src/Functions/MSFunctions.php:
|
5388 |
msgid "Jersey pound"
|
5389 |
msgstr ""
|
5390 |
|
5391 |
-
#: src/Functions/MSFunctions.php:
|
5392 |
msgid "Jamaican dollar"
|
5393 |
msgstr ""
|
5394 |
|
5395 |
-
#: src/Functions/MSFunctions.php:
|
5396 |
msgid "Jordanian dinar"
|
5397 |
msgstr ""
|
5398 |
|
5399 |
-
#: src/Functions/MSFunctions.php:
|
5400 |
msgid "Japanese yen"
|
5401 |
msgstr ""
|
5402 |
|
5403 |
-
#: src/Functions/MSFunctions.php:
|
5404 |
msgid "Kenyan shilling"
|
5405 |
msgstr ""
|
5406 |
|
5407 |
-
#: src/Functions/MSFunctions.php:
|
5408 |
msgid "Kyrgyzstani som"
|
5409 |
msgstr ""
|
5410 |
|
5411 |
-
#: src/Functions/MSFunctions.php:
|
5412 |
msgid "Cambodian riel"
|
5413 |
msgstr ""
|
5414 |
|
5415 |
-
#: src/Functions/MSFunctions.php:
|
5416 |
msgid "Comorian franc"
|
5417 |
msgstr ""
|
5418 |
|
5419 |
-
#: src/Functions/MSFunctions.php:
|
5420 |
msgid "North Korean won"
|
5421 |
msgstr ""
|
5422 |
|
5423 |
-
#: src/Functions/MSFunctions.php:
|
5424 |
msgid "South Korean won"
|
5425 |
msgstr ""
|
5426 |
|
5427 |
-
#: src/Functions/MSFunctions.php:
|
5428 |
msgid "Kuwaiti dinar"
|
5429 |
msgstr ""
|
5430 |
|
5431 |
-
#: src/Functions/MSFunctions.php:
|
5432 |
msgid "Cayman Islands dollar"
|
5433 |
msgstr ""
|
5434 |
|
5435 |
-
#: src/Functions/MSFunctions.php:
|
5436 |
msgid "Kazakhstani tenge"
|
5437 |
msgstr ""
|
5438 |
|
5439 |
-
#: src/Functions/MSFunctions.php:
|
5440 |
msgid "Lao kip"
|
5441 |
msgstr ""
|
5442 |
|
5443 |
-
#: src/Functions/MSFunctions.php:
|
5444 |
msgid "Lebanese pound"
|
5445 |
msgstr ""
|
5446 |
|
5447 |
-
#: src/Functions/MSFunctions.php:
|
5448 |
msgid "Sri Lankan rupee"
|
5449 |
msgstr ""
|
5450 |
|
5451 |
-
#: src/Functions/MSFunctions.php:
|
5452 |
msgid "Liberian dollar"
|
5453 |
msgstr ""
|
5454 |
|
5455 |
-
#: src/Functions/MSFunctions.php:
|
5456 |
msgid "Lesotho loti"
|
5457 |
msgstr ""
|
5458 |
|
5459 |
-
#: src/Functions/MSFunctions.php:
|
5460 |
msgid "Libyan dinar"
|
5461 |
msgstr ""
|
5462 |
|
5463 |
-
#: src/Functions/MSFunctions.php:
|
5464 |
msgid "Moroccan dirham"
|
5465 |
msgstr ""
|
5466 |
|
5467 |
-
#: src/Functions/MSFunctions.php:
|
5468 |
msgid "Moldovan leu"
|
5469 |
msgstr ""
|
5470 |
|
5471 |
-
#: src/Functions/MSFunctions.php:
|
5472 |
msgid "Malagasy ariary"
|
5473 |
msgstr ""
|
5474 |
|
5475 |
-
#: src/Functions/MSFunctions.php:
|
5476 |
msgid "Macedonian denar"
|
5477 |
msgstr ""
|
5478 |
|
5479 |
-
#: src/Functions/MSFunctions.php:
|
5480 |
msgid "Burmese kyat"
|
5481 |
msgstr ""
|
5482 |
|
5483 |
-
#: src/Functions/MSFunctions.php:
|
5484 |
msgid "Mongolian tögrög"
|
5485 |
msgstr ""
|
5486 |
|
5487 |
-
#: src/Functions/MSFunctions.php:
|
5488 |
msgid "Macanese pataca"
|
5489 |
msgstr ""
|
5490 |
|
5491 |
-
#: src/Functions/MSFunctions.php:
|
5492 |
msgid "Mauritanian ouguiya"
|
5493 |
msgstr ""
|
5494 |
|
5495 |
-
#: src/Functions/MSFunctions.php:
|
5496 |
msgid "Mauritian rupee"
|
5497 |
msgstr ""
|
5498 |
|
5499 |
-
#: src/Functions/MSFunctions.php:
|
5500 |
msgid "Maldivian rufiyaa"
|
5501 |
msgstr ""
|
5502 |
|
5503 |
-
#: src/Functions/MSFunctions.php:
|
5504 |
msgid "Malawian kwacha"
|
5505 |
msgstr ""
|
5506 |
|
5507 |
-
#: src/Functions/MSFunctions.php:
|
5508 |
msgid "Mexican peso"
|
5509 |
msgstr ""
|
5510 |
|
5511 |
-
#: src/Functions/MSFunctions.php:
|
5512 |
msgid "Malaysian ringgit"
|
5513 |
msgstr ""
|
5514 |
|
5515 |
-
#: src/Functions/MSFunctions.php:
|
5516 |
msgid "Mozambican metical"
|
5517 |
msgstr ""
|
5518 |
|
5519 |
-
#: src/Functions/MSFunctions.php:
|
5520 |
msgid "Namibian dollar"
|
5521 |
msgstr ""
|
5522 |
|
5523 |
-
#: src/Functions/MSFunctions.php:
|
5524 |
msgid "Nigerian naira"
|
5525 |
msgstr ""
|
5526 |
|
5527 |
-
#: src/Functions/MSFunctions.php:
|
5528 |
msgid "Nicaraguan córdoba"
|
5529 |
msgstr ""
|
5530 |
|
5531 |
-
#: src/Functions/MSFunctions.php:
|
5532 |
msgid "Norwegian krone"
|
5533 |
msgstr ""
|
5534 |
|
5535 |
-
#: src/Functions/MSFunctions.php:
|
5536 |
msgid "Nepalese rupee"
|
5537 |
msgstr ""
|
5538 |
|
5539 |
-
#: src/Functions/MSFunctions.php:
|
5540 |
msgid "New Zealand dollar"
|
5541 |
msgstr ""
|
5542 |
|
5543 |
-
#: src/Functions/MSFunctions.php:
|
5544 |
msgid "Omani rial"
|
5545 |
msgstr ""
|
5546 |
|
5547 |
-
#: src/Functions/MSFunctions.php:
|
5548 |
msgid "Panamanian balboa"
|
5549 |
msgstr ""
|
5550 |
|
5551 |
-
#: src/Functions/MSFunctions.php:
|
5552 |
msgid "Sol"
|
5553 |
msgstr ""
|
5554 |
|
5555 |
-
#: src/Functions/MSFunctions.php:
|
5556 |
msgid "Papua New Guinean kina"
|
5557 |
msgstr ""
|
5558 |
|
5559 |
-
#: src/Functions/MSFunctions.php:
|
5560 |
msgid "Philippine peso"
|
5561 |
msgstr ""
|
5562 |
|
5563 |
-
#: src/Functions/MSFunctions.php:
|
5564 |
msgid "Pakistani rupee"
|
5565 |
msgstr ""
|
5566 |
|
5567 |
-
#: src/Functions/MSFunctions.php:
|
5568 |
msgid "Polish złoty"
|
5569 |
msgstr ""
|
5570 |
|
5571 |
-
#: src/Functions/MSFunctions.php:
|
5572 |
msgid "Transnistrian ruble"
|
5573 |
msgstr ""
|
5574 |
|
5575 |
-
#: src/Functions/MSFunctions.php:
|
5576 |
msgid "Paraguayan guaraní"
|
5577 |
msgstr ""
|
5578 |
|
5579 |
-
#: src/Functions/MSFunctions.php:
|
5580 |
msgid "Qatari riyal"
|
5581 |
msgstr ""
|
5582 |
|
5583 |
-
#: src/Functions/MSFunctions.php:
|
5584 |
msgid "Romanian leu"
|
5585 |
msgstr ""
|
5586 |
|
5587 |
-
#: src/Functions/MSFunctions.php:
|
5588 |
msgid "Serbian dinar"
|
5589 |
msgstr ""
|
5590 |
|
5591 |
-
#: src/Functions/MSFunctions.php:
|
5592 |
msgid "Russian ruble"
|
5593 |
msgstr ""
|
5594 |
|
5595 |
-
#: src/Functions/MSFunctions.php:
|
5596 |
msgid "Rwandan franc"
|
5597 |
msgstr ""
|
5598 |
|
5599 |
-
#: src/Functions/MSFunctions.php:
|
5600 |
msgid "Saudi riyal"
|
5601 |
msgstr ""
|
5602 |
|
5603 |
-
#: src/Functions/MSFunctions.php:
|
5604 |
msgid "Solomon Islands dollar"
|
5605 |
msgstr ""
|
5606 |
|
5607 |
-
#: src/Functions/MSFunctions.php:
|
5608 |
msgid "Seychellois rupee"
|
5609 |
msgstr ""
|
5610 |
|
5611 |
-
#: src/Functions/MSFunctions.php:
|
5612 |
msgid "Sudanese pound"
|
5613 |
msgstr ""
|
5614 |
|
5615 |
-
#: src/Functions/MSFunctions.php:
|
5616 |
msgid "Swedish krona"
|
5617 |
msgstr ""
|
5618 |
|
5619 |
-
#: src/Functions/MSFunctions.php:
|
5620 |
msgid "Singapore dollar"
|
5621 |
msgstr ""
|
5622 |
|
5623 |
-
#: src/Functions/MSFunctions.php:
|
5624 |
msgid "Saint Helena pound"
|
5625 |
msgstr ""
|
5626 |
|
5627 |
-
#: src/Functions/MSFunctions.php:
|
5628 |
msgid "Sierra Leonean leone"
|
5629 |
msgstr ""
|
5630 |
|
5631 |
-
#: src/Functions/MSFunctions.php:
|
5632 |
msgid "Somali shilling"
|
5633 |
msgstr ""
|
5634 |
|
5635 |
-
#: src/Functions/MSFunctions.php:
|
5636 |
msgid "Surinamese dollar"
|
5637 |
msgstr ""
|
5638 |
|
5639 |
-
#: src/Functions/MSFunctions.php:
|
5640 |
msgid "South Sudanese pound"
|
5641 |
msgstr ""
|
5642 |
|
5643 |
-
#: src/Functions/MSFunctions.php:
|
5644 |
msgid "São Tomé and Príncipe dobra"
|
5645 |
msgstr ""
|
5646 |
|
5647 |
-
#: src/Functions/MSFunctions.php:
|
5648 |
msgid "Syrian pound"
|
5649 |
msgstr ""
|
5650 |
|
5651 |
-
#: src/Functions/MSFunctions.php:
|
5652 |
msgid "Swazi lilangeni"
|
5653 |
msgstr ""
|
5654 |
|
5655 |
-
#: src/Functions/MSFunctions.php:
|
5656 |
msgid "Thai baht"
|
5657 |
msgstr ""
|
5658 |
|
5659 |
-
#: src/Functions/MSFunctions.php:
|
5660 |
msgid "Tajikistani somoni"
|
5661 |
msgstr ""
|
5662 |
|
5663 |
-
#: src/Functions/MSFunctions.php:
|
5664 |
msgid "Turkmenistan manat"
|
5665 |
msgstr ""
|
5666 |
|
5667 |
-
#: src/Functions/MSFunctions.php:
|
5668 |
msgid "Tunisian dinar"
|
5669 |
msgstr ""
|
5670 |
|
5671 |
-
#: src/Functions/MSFunctions.php:
|
5672 |
msgid "Tongan paʻanga"
|
5673 |
msgstr ""
|
5674 |
|
5675 |
-
#: src/Functions/MSFunctions.php:
|
5676 |
msgid "Turkish lira"
|
5677 |
msgstr ""
|
5678 |
|
5679 |
-
#: src/Functions/MSFunctions.php:
|
5680 |
msgid "Trinidad and Tobago dollar"
|
5681 |
msgstr ""
|
5682 |
|
5683 |
-
#: src/Functions/MSFunctions.php:
|
5684 |
msgid "New Taiwan dollar"
|
5685 |
msgstr ""
|
5686 |
|
5687 |
-
#: src/Functions/MSFunctions.php:
|
5688 |
msgid "Tanzanian shilling"
|
5689 |
msgstr ""
|
5690 |
|
5691 |
-
#: src/Functions/MSFunctions.php:
|
5692 |
msgid "Ukrainian hryvnia"
|
5693 |
msgstr ""
|
5694 |
|
5695 |
-
#: src/Functions/MSFunctions.php:
|
5696 |
msgid "Ugandan shilling"
|
5697 |
msgstr ""
|
5698 |
|
5699 |
-
#: src/Functions/MSFunctions.php:
|
5700 |
msgid "Uruguayan peso"
|
5701 |
msgstr ""
|
5702 |
|
5703 |
-
#: src/Functions/MSFunctions.php:
|
5704 |
msgid "Uzbekistani som"
|
5705 |
msgstr ""
|
5706 |
|
5707 |
-
#: src/Functions/MSFunctions.php:
|
5708 |
msgid "Venezuelan bolívar"
|
5709 |
msgstr ""
|
5710 |
|
5711 |
-
#: src/Functions/MSFunctions.php:
|
5712 |
msgid "Bolívar soberano"
|
5713 |
msgstr ""
|
5714 |
|
5715 |
-
#: src/Functions/MSFunctions.php:
|
5716 |
msgid "Vietnamese đồng"
|
5717 |
msgstr ""
|
5718 |
|
5719 |
-
#: src/Functions/MSFunctions.php:
|
5720 |
msgid "Vanuatu vatu"
|
5721 |
msgstr ""
|
5722 |
|
5723 |
-
#: src/Functions/MSFunctions.php:
|
5724 |
msgid "Samoan tālā"
|
5725 |
msgstr ""
|
5726 |
|
5727 |
-
#: src/Functions/MSFunctions.php:
|
5728 |
msgid "Central African CFA franc"
|
5729 |
msgstr ""
|
5730 |
|
5731 |
-
#: src/Functions/MSFunctions.php:
|
5732 |
msgid "East Caribbean dollar"
|
5733 |
msgstr ""
|
5734 |
|
5735 |
-
#: src/Functions/MSFunctions.php:
|
5736 |
msgid "West African CFA franc"
|
5737 |
msgstr ""
|
5738 |
|
5739 |
-
#: src/Functions/MSFunctions.php:
|
5740 |
msgid "CFP franc"
|
5741 |
msgstr ""
|
5742 |
|
5743 |
-
#: src/Functions/MSFunctions.php:
|
5744 |
msgid "Yemeni rial"
|
5745 |
msgstr ""
|
5746 |
|
5747 |
-
#: src/Functions/MSFunctions.php:
|
5748 |
msgid "South African rand"
|
5749 |
msgstr ""
|
5750 |
|
5751 |
-
#: src/Functions/MSFunctions.php:
|
5752 |
msgid "Zambian kwacha"
|
5753 |
msgstr ""
|
5754 |
|
@@ -14343,17 +14444,17 @@ msgid "Username is invalid because it uses illegal characters"
|
|
14343 |
msgstr ""
|
14344 |
|
14345 |
#: src/Membership/Emails/EmailDataTrait.php:10
|
14346 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14347 |
msgid "Email address of the customer."
|
14348 |
msgstr ""
|
14349 |
|
14350 |
#: src/Membership/Emails/EmailDataTrait.php:11
|
14351 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14352 |
msgid "First name of the customer."
|
14353 |
msgstr ""
|
14354 |
|
14355 |
#: src/Membership/Emails/EmailDataTrait.php:12
|
14356 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14357 |
msgid "Last name of the customer."
|
14358 |
msgstr ""
|
14359 |
|
@@ -14402,43 +14503,47 @@ msgid "Order payment method."
|
|
14402 |
msgstr ""
|
14403 |
|
14404 |
#: src/Membership/Emails/EmailDataTrait.php:24
|
14405 |
-
|
|
|
|
|
|
|
|
|
14406 |
msgid "Name or title of this website."
|
14407 |
msgstr ""
|
14408 |
|
14409 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14410 |
msgid "Your business name as defined in %sSettings%s."
|
14411 |
msgstr ""
|
14412 |
|
14413 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14414 |
msgid "Your business address as defined in %sSettings%s."
|
14415 |
msgstr ""
|
14416 |
|
14417 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14418 |
msgid "Your business Tax ID as defined in %sSettings%s."
|
14419 |
msgstr ""
|
14420 |
|
14421 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14422 |
msgid "Subscription ID."
|
14423 |
msgstr ""
|
14424 |
|
14425 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14426 |
msgid "URL to view subscription."
|
14427 |
msgstr ""
|
14428 |
|
14429 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14430 |
msgid "URL to re-subscribe to the subscription plan."
|
14431 |
msgstr ""
|
14432 |
|
14433 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14434 |
msgid "Name or title of subscription plan."
|
14435 |
msgstr ""
|
14436 |
|
14437 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14438 |
msgid "The recurring amount of the subscription."
|
14439 |
msgstr ""
|
14440 |
|
14441 |
-
#: src/Membership/Emails/EmailDataTrait.php:
|
14442 |
msgid "The expiration or renewal date for the subscription."
|
14443 |
msgstr ""
|
14444 |
|
@@ -14451,7 +14556,7 @@ msgid "Payment %s has been fully refunded in %s."
|
|
14451 |
msgstr ""
|
14452 |
|
14453 |
#: src/Membership/Models/Order/OrderEntity.php:240
|
14454 |
-
#: src/Membership/Models/Subscription/SubscriptionEntity.php:
|
14455 |
msgid "payment method"
|
14456 |
msgstr ""
|
14457 |
|
@@ -14522,7 +14627,7 @@ msgstr ""
|
|
14522 |
msgid "One-time purchase"
|
14523 |
msgstr ""
|
14524 |
|
14525 |
-
#: src/Membership/Models/Subscription/SubscriptionEntity.php:
|
14526 |
msgid "Subscription changed from %s to %s by %s"
|
14527 |
msgstr ""
|
14528 |
|
@@ -14639,7 +14744,7 @@ msgstr ""
|
|
14639 |
msgid "Pay as you go pricing: 2%% per-transaction fee + Stripe fees. Remove the 2%% fee by %supgrading to premium%s."
|
14640 |
msgstr ""
|
14641 |
|
14642 |
-
#: src/Membership/PaymentMethods/Stripe/PaymentHelpers.php:
|
14643 |
msgid "Setup Fee"
|
14644 |
msgstr ""
|
14645 |
|
@@ -14768,19 +14873,19 @@ msgstr ""
|
|
14768 |
msgid "Credit card"
|
14769 |
msgstr ""
|
14770 |
|
14771 |
-
#: src/Membership/PaymentMethods/Stripe/Stripe.php:
|
14772 |
msgid "No payment method found. Please try again."
|
14773 |
msgstr ""
|
14774 |
|
14775 |
-
#: src/Membership/PaymentMethods/Stripe/Stripe.php:
|
14776 |
msgid "Refund request is pending"
|
14777 |
msgstr ""
|
14778 |
|
14779 |
-
#: src/Membership/PaymentMethods/Stripe/Stripe.php:
|
14780 |
msgid "Refund request failed"
|
14781 |
msgstr ""
|
14782 |
|
14783 |
-
#: src/Membership/PaymentMethods/Stripe/Stripe.php:
|
14784 |
msgid "Refund request failed. Status: %s"
|
14785 |
msgstr ""
|
14786 |
|
@@ -15253,7 +15358,7 @@ msgstr ""
|
|
15253 |
msgid "Item Description"
|
15254 |
msgstr ""
|
15255 |
|
15256 |
-
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:
|
15257 |
msgid "Order Type"
|
15258 |
msgstr ""
|
15259 |
|
2 |
# This file is distributed under the same license as the ProfilePress package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: ProfilePress 4.1.3\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-user-avatar\n"
|
7 |
+
"POT-Creation-Date: 2022-09-05 15:51:08+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
722 |
#: src/Admin/SettingsPages/FormList.php:241
|
723 |
#: src/Admin/SettingsPages/FormList.php:317
|
724 |
#: src/Admin/SettingsPages/GeneralSettings.php:139
|
725 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:78
|
726 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:201
|
727 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:263
|
728 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:112
|
729 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:259
|
1510 |
|
1511 |
#: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:133
|
1512 |
#: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:149
|
1513 |
+
#: src/Membership/Emails/EmailDataTrait.php:38
|
1514 |
msgid "URL to reset password."
|
1515 |
msgstr ""
|
1516 |
|
1517 |
#: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:134
|
1518 |
+
#: src/Membership/Emails/EmailDataTrait.php:39
|
1519 |
msgid "URL to login."
|
1520 |
msgstr ""
|
1521 |
|
1890 |
msgstr ""
|
1891 |
|
1892 |
#: src/Admin/SettingsPages/FormList.php:240
|
1893 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:67
|
1894 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:86
|
1895 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:108
|
1896 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:65
|
2240 |
msgstr ""
|
2241 |
|
2242 |
#: src/Admin/SettingsPages/GeneralSettings.php:298
|
2243 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:75
|
2244 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:202
|
2245 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:74
|
2246 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:173
|
2247 |
#: src/ContentProtection/WPListTable.php:93
|
2423 |
msgstr ""
|
2424 |
|
2425 |
#: src/Admin/SettingsPages/GeneralSettings.php:461
|
2426 |
+
#: src/ContentProtection/ElementorRestriction.php:251
|
2427 |
#: src/ContentProtection/Frontend/PostContent.php:66
|
2428 |
#: src/RegisterActivation/Base.php:131
|
2429 |
msgid "You are unauthorized to view this page."
|
2713 |
msgid "Checkout Fields"
|
2714 |
msgstr ""
|
2715 |
|
2716 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:24
|
2717 |
msgid "No coupon code found."
|
2718 |
msgstr ""
|
2719 |
|
2720 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:31
|
2721 |
#: src/Functions/custom-settings-api.php:873
|
2722 |
msgid "Code"
|
2723 |
msgstr ""
|
2724 |
|
2725 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:32
|
2726 |
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:47
|
2727 |
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:48
|
2728 |
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:35
|
2729 |
+
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:117
|
2730 |
msgid "Discount"
|
2731 |
msgstr ""
|
2732 |
|
2733 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:33
|
2734 |
msgid "Redemptions"
|
2735 |
msgstr ""
|
2736 |
|
2737 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:34
|
2738 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:56
|
2739 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:32
|
2740 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:52
|
2746 |
msgid "Status"
|
2747 |
msgstr ""
|
2748 |
|
2749 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:35
|
2750 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:78
|
2751 |
#: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:75
|
2752 |
msgid "Start Date"
|
2753 |
msgstr ""
|
2754 |
|
2755 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:36
|
2756 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:88
|
2757 |
msgid "End Date"
|
2758 |
msgstr ""
|
2759 |
|
2760 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:71
|
2761 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:203
|
2762 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:70
|
2763 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:174
|
2764 |
#: src/ContentProtection/WPListTable.php:89
|
2765 |
msgid "Deactivate"
|
2766 |
msgstr ""
|
2767 |
|
2768 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:82
|
2769 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:42
|
2770 |
+
msgid "Recurring"
|
2771 |
+
msgstr ""
|
2772 |
+
|
2773 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:82
|
2774 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:43
|
2775 |
+
msgid "One-time"
|
2776 |
+
msgstr ""
|
2777 |
+
|
2778 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:123
|
2779 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:97
|
2780 |
msgid "Unlimited"
|
2781 |
msgstr ""
|
2782 |
|
2783 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:134
|
2784 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:109
|
2785 |
#: src/Membership/Models/Customer/CustomerStatus.php:13
|
2786 |
#: src/Membership/Models/Subscription/SubscriptionStatus.php:17
|
2787 |
msgid "Active"
|
2788 |
msgstr ""
|
2789 |
|
2790 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:136
|
2791 |
#: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:111
|
2792 |
#: src/Membership/Models/Customer/CustomerStatus.php:14
|
2793 |
msgid "Inactive"
|
2794 |
msgstr ""
|
2795 |
|
2796 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:140
|
2797 |
#: src/Membership/Models/Subscription/SubscriptionStatus.php:19
|
2798 |
msgid "Expired"
|
2799 |
msgstr ""
|
2800 |
|
2801 |
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:49
|
2802 |
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:40
|
2803 |
+
msgid "Coupon Type"
|
2804 |
+
msgstr ""
|
2805 |
+
|
2806 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:50
|
2807 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:50
|
2808 |
msgid "Coupon Application"
|
2809 |
msgstr ""
|
2810 |
|
2811 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:55
|
2812 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:97
|
2813 |
msgid "%s cannot be empty."
|
2814 |
msgstr ""
|
2815 |
|
2816 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:83
|
2817 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:107
|
2818 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:56
|
2819 |
msgid "Coupons"
|
2820 |
msgstr ""
|
2821 |
|
2822 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:86
|
2823 |
msgid "Add a Coupon"
|
2824 |
msgstr ""
|
2825 |
|
2826 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:90
|
2827 |
msgid "Edit Coupon"
|
2828 |
msgstr ""
|
2829 |
|
2830 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:131
|
2831 |
#: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:259
|
2832 |
#: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:476
|
2833 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:151
|
2834 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:165
|
2835 |
#: src/ContentProtection/SettingsPage.php:160
|
2836 |
#: src/Themes/DragDrop/AbstractTheme.php:114
|
2837 |
msgid "Changes saved."
|
2838 |
msgstr ""
|
2839 |
|
2840 |
+
#: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:152
|
2841 |
msgid "Add New Coupon"
|
2842 |
msgstr ""
|
2843 |
|
2880 |
|
2881 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:317
|
2882 |
#: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:264
|
2883 |
+
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:349
|
2884 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:314
|
2885 |
msgctxt "date filter"
|
2886 |
msgid "From"
|
2888 |
|
2889 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:320
|
2890 |
#: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:267
|
2891 |
+
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:352
|
2892 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:317
|
2893 |
msgctxt "date filter"
|
2894 |
msgid "To"
|
2896 |
|
2897 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:325
|
2898 |
#: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:283
|
2899 |
+
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:378
|
2900 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:331
|
2901 |
msgid "Filter"
|
2902 |
msgstr ""
|
2903 |
|
2904 |
#: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:329
|
2905 |
#: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:287
|
2906 |
+
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:382
|
2907 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:335
|
2908 |
msgid "Clear"
|
2909 |
msgstr ""
|
3118 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:51
|
3119 |
#: src/Admin/SettingsPages/Membership/views/customers/subcriptions-metabox.php:19
|
3120 |
#: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:114
|
3121 |
+
#: src/ContentProtection/NavMenuProtection.php:90
|
3122 |
#: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:63
|
3123 |
msgid "Plan"
|
3124 |
msgstr ""
|
3125 |
|
3126 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:55
|
3127 |
#: src/Admin/SettingsPages/Membership/views/subscriptions/sub-payments-metabox.php:19
|
3128 |
+
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:137
|
3129 |
#: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:117
|
3130 |
#: src/templates/checkout/form-checkout-sidebar.php:107
|
3131 |
msgid "Total"
|
3133 |
|
3134 |
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:57
|
3135 |
#: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:531
|
3136 |
+
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:76
|
3137 |
msgid "Payment Method"
|
3138 |
msgstr ""
|
3139 |
|
3155 |
msgid "Resend Order Receipt"
|
3156 |
msgstr ""
|
3157 |
|
3158 |
+
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:338
|
3159 |
msgid "All Modes"
|
3160 |
msgstr ""
|
3161 |
|
3162 |
+
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:359
|
3163 |
msgid "All Payment Methods"
|
3164 |
msgstr ""
|
3165 |
|
3166 |
+
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:370
|
3167 |
#: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:323
|
3168 |
msgid "All Customers"
|
3169 |
msgstr ""
|
3170 |
|
3171 |
+
#: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:391
|
3172 |
msgid "Search Orders"
|
3173 |
msgstr ""
|
3174 |
|
3211 |
|
3212 |
#: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:526
|
3213 |
#: src/ShortcodeParser/MyAccount/orders.tmpl.php:57
|
3214 |
+
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:64
|
3215 |
msgid "Order Status"
|
3216 |
msgstr ""
|
3217 |
|
3375 |
msgstr ""
|
3376 |
|
3377 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:42
|
3378 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:128
|
3379 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:66
|
3380 |
msgid "Membership Plans"
|
3381 |
msgstr ""
|
3382 |
|
3394 |
msgstr ""
|
3395 |
|
3396 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:90
|
3397 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:28
|
3398 |
#: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:26
|
3399 |
msgid "Price"
|
3400 |
msgstr ""
|
3401 |
|
3402 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:91
|
3403 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:37
|
3404 |
msgid "Billing Frequency"
|
3405 |
msgstr ""
|
3406 |
|
3407 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:92
|
3408 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:43
|
3409 |
msgid "Subscription Length"
|
3410 |
msgstr ""
|
3411 |
|
3412 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:173
|
3413 |
msgid "Add New Plan"
|
3414 |
msgstr ""
|
3415 |
|
|
|
|
|
|
|
|
|
|
|
3416 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:202
|
3417 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:216
|
3418 |
+
msgid "month"
|
3419 |
msgstr ""
|
3420 |
|
3421 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:203
|
3422 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:217
|
3423 |
+
msgid "week"
|
3424 |
msgstr ""
|
3425 |
|
3426 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:204
|
3427 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:218
|
3428 |
+
msgid "day"
|
3429 |
msgstr ""
|
3430 |
|
3431 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:205
|
3432 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:219
|
3433 |
+
msgid "quarter"
|
3434 |
msgstr ""
|
3435 |
|
3436 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:206
|
3437 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:220
|
3438 |
+
msgid "every 6 months"
|
3439 |
msgstr ""
|
3440 |
|
3441 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:207
|
3442 |
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:221
|
3443 |
+
msgid "year"
|
3444 |
+
msgstr ""
|
3445 |
+
|
3446 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:208
|
3447 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:222
|
3448 |
msgid "one-time"
|
3449 |
msgstr ""
|
3450 |
|
3451 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:238
|
3452 |
msgid "months"
|
3453 |
msgstr ""
|
3454 |
|
3455 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:239
|
3456 |
msgid "for"
|
3457 |
msgstr ""
|
3458 |
|
3459 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:240
|
3460 |
msgid " and a %s signup fee"
|
3461 |
msgstr ""
|
3462 |
|
3463 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:241
|
3464 |
msgid "Renews indefinitely"
|
3465 |
msgstr ""
|
3466 |
|
3467 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:242
|
3468 |
msgid "Never expires"
|
3469 |
msgstr ""
|
3470 |
|
3471 |
+
#: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:243
|
3472 |
msgid "Includes a %s free trial"
|
3473 |
msgstr ""
|
3474 |
|
3615 |
|
3616 |
#: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:113
|
3617 |
#: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:46
|
3618 |
+
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:142
|
3619 |
#: src/templates/checkout/form-billing-fields.php:47
|
3620 |
msgid "VAT Number"
|
3621 |
msgstr ""
|
3681 |
msgid "A description of this coupon."
|
3682 |
msgstr ""
|
3683 |
|
3684 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:45
|
3685 |
+
msgid "Selecting \"One-time\" applies the coupon discount only to the first payment while \"Recurring\" applies the discount to all payments."
|
3686 |
+
msgstr ""
|
3687 |
+
|
3688 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:52
|
3689 |
msgid "To new purchases only"
|
3690 |
msgstr ""
|
3691 |
|
3692 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:53
|
3693 |
msgid "To existing purchase (upgrades)"
|
3694 |
msgstr ""
|
3695 |
|
3696 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:54
|
3697 |
msgid "To both new and existing purchases"
|
3698 |
msgstr ""
|
3699 |
|
3700 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:57
|
3701 |
msgid "Select where members can apply this coupon."
|
3702 |
msgstr ""
|
3703 |
|
3704 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:72
|
3705 |
msgid "Select membership plans this coupon can only be applied to. Leave blank for all plans."
|
3706 |
msgstr ""
|
3707 |
|
3708 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:80
|
3709 |
msgid "Enter the date that this coupon will be valid from. Leave blank for no start date. (UTC %s)"
|
3710 |
msgstr ""
|
3711 |
|
3712 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:90
|
3713 |
msgid "Enter the date that this coupon will expire on. Leave blank for no end date. (UTC %s)"
|
3714 |
msgstr ""
|
3715 |
|
3716 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:98
|
3717 |
msgid "Maximum Redemptions "
|
3718 |
msgstr ""
|
3719 |
|
3720 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:99
|
3721 |
msgid "Limit the total amount of redemptions for this coupon. Leave blank for unlimited."
|
3722 |
msgstr ""
|
3723 |
|
3724 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:115
|
3725 |
msgid "Coupon Details"
|
3726 |
msgstr ""
|
3727 |
|
3728 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:126
|
3729 |
msgid "Redemption Settings"
|
3730 |
msgstr ""
|
3731 |
|
3732 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:137
|
3733 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:103
|
3734 |
#: src/Admin/SettingsPages/Membership/views/customers/view-customer.php:48
|
3735 |
#: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:38
|
3736 |
#: src/Admin/SettingsPages/Membership/views/subscriptions/add-edit-subscription.php:42
|
3746 |
msgid "A description of this plan. This will be displayed on the checkout page."
|
3747 |
msgstr ""
|
3748 |
|
3749 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:22
|
3750 |
+
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:59
|
3751 |
+
msgid "Purchase Note"
|
3752 |
+
msgstr ""
|
3753 |
+
|
3754 |
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:23
|
3755 |
+
msgid "Enter an optional note or special instructions to send the customer after purchase. These will be added to the order receipt."
|
3756 |
+
msgstr ""
|
3757 |
+
|
3758 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:29
|
3759 |
msgid "The price of this membership plan. Enter 0 to make this plan free."
|
3760 |
msgstr ""
|
3761 |
|
3762 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:45
|
3763 |
msgid "Renew indefinitely until member cancels"
|
3764 |
msgstr ""
|
3765 |
|
3766 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:46
|
3767 |
msgid "Fixed number of payments"
|
3768 |
msgstr ""
|
3769 |
|
3770 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:52
|
3771 |
msgid "Total Payments"
|
3772 |
msgstr ""
|
3773 |
|
3774 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:53
|
3775 |
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."
|
3776 |
msgstr ""
|
3777 |
|
3778 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:58
|
3779 |
#: src/templates/checkout/form-checkout-sidebar.php:65
|
3780 |
msgid "Signup Fee"
|
3781 |
msgstr ""
|
3782 |
|
3783 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:59
|
3784 |
msgid "Optional signup fee to charge subscribers for the first billing cycle."
|
3785 |
msgstr ""
|
3786 |
|
3787 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:65
|
3788 |
msgid "Free Trial"
|
3789 |
msgstr ""
|
3790 |
|
3791 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:66
|
3792 |
msgid "Allow members free access for a specified duration of time before charging them."
|
3793 |
msgstr ""
|
3794 |
|
3795 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:81
|
3796 |
msgid "Plan Details"
|
3797 |
msgstr ""
|
3798 |
|
3799 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:92
|
3800 |
msgid "Subscription Settings"
|
3801 |
msgstr ""
|
3802 |
|
3803 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:113
|
3804 |
msgid "Summary"
|
3805 |
msgstr ""
|
3806 |
|
3807 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:127
|
3808 |
msgid "Order Links"
|
3809 |
msgstr ""
|
3810 |
|
3811 |
+
#: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:133
|
3812 |
msgid "Checkout link:"
|
3813 |
msgstr ""
|
3814 |
|
3872 |
#: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:110
|
3873 |
#: src/ShortcodeParser/MyAccount/MyAccountTag.php:75
|
3874 |
#: src/ShortcodeParser/MyAccount/billing-details.tmpl.php:17
|
3875 |
+
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:80
|
3876 |
#: src/templates/checkout/form-billing-fields.php:36
|
3877 |
msgid "Billing Address"
|
3878 |
msgstr ""
|
3987 |
msgstr ""
|
3988 |
|
3989 |
#: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:52
|
3990 |
+
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:131
|
3991 |
msgid "Reverse Charged"
|
3992 |
msgstr ""
|
3993 |
|
4062 |
msgstr ""
|
4063 |
|
4064 |
#: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:43
|
4065 |
+
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:112
|
4066 |
#: src/templates/checkout/form-checkout-sidebar.php:71
|
4067 |
msgid "Subtotal"
|
4068 |
msgstr ""
|
4187 |
msgstr ""
|
4188 |
|
4189 |
#: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:133
|
4190 |
+
#: src/Membership/Models/Subscription/SubscriptionEntity.php:350
|
4191 |
msgid "Lifetime"
|
4192 |
msgstr ""
|
4193 |
|
4921 |
msgid "Selected %s Archive Pages"
|
4922 |
msgstr ""
|
4923 |
|
4924 |
+
#: src/ContentProtection/ElementorRestriction.php:38
|
4925 |
+
msgid "ProfilePress Content Restriction"
|
4926 |
+
msgstr ""
|
4927 |
+
|
4928 |
+
#: src/ContentProtection/ElementorRestriction.php:52
|
4929 |
+
msgid "Target Audience"
|
4930 |
+
msgstr ""
|
4931 |
+
|
4932 |
+
#: src/ContentProtection/ElementorRestriction.php:56
|
4933 |
+
#: src/ContentProtection/WPListTable.php:196
|
4934 |
+
#: src/ContentProtection/views/view.access-condition.php:33
|
4935 |
+
msgid "Everyone"
|
4936 |
+
msgstr ""
|
4937 |
+
|
4938 |
+
#: src/ContentProtection/ElementorRestriction.php:57
|
4939 |
+
msgid "Logged-in Users"
|
4940 |
+
msgstr ""
|
4941 |
+
|
4942 |
+
#: src/ContentProtection/ElementorRestriction.php:58
|
4943 |
+
msgid "Logged-out Users"
|
4944 |
+
msgstr ""
|
4945 |
+
|
4946 |
+
#: src/ContentProtection/ElementorRestriction.php:68
|
4947 |
+
msgid "Restrict to Membership Plans"
|
4948 |
+
msgstr ""
|
4949 |
+
|
4950 |
+
#: src/ContentProtection/ElementorRestriction.php:92
|
4951 |
+
msgid "Restrict to User Roles"
|
4952 |
+
msgstr ""
|
4953 |
+
|
4954 |
+
#: src/ContentProtection/ElementorRestriction.php:119
|
4955 |
+
msgid "Alternate Content"
|
4956 |
+
msgstr ""
|
4957 |
+
|
4958 |
+
#: src/ContentProtection/ElementorRestriction.php:120
|
4959 |
+
msgid "The message to show when the main content is restricted."
|
4960 |
+
msgstr ""
|
4961 |
+
|
4962 |
+
#: src/ContentProtection/ElementorRestriction.php:124
|
4963 |
+
msgid "Show Nothing"
|
4964 |
+
msgstr ""
|
4965 |
+
|
4966 |
+
#: src/ContentProtection/ElementorRestriction.php:125
|
4967 |
+
#: src/ContentProtection/views/view.access-condition.php:101
|
4968 |
+
msgid "Global Restrict Access Message"
|
4969 |
+
msgstr ""
|
4970 |
+
|
4971 |
+
#: src/ContentProtection/ElementorRestriction.php:126
|
4972 |
+
#: src/ContentProtection/ElementorRestriction.php:140
|
4973 |
+
#: src/ContentProtection/views/view.access-condition.php:102
|
4974 |
+
msgid "Custom Message"
|
4975 |
+
msgstr ""
|
4976 |
+
|
4977 |
+
#: src/ContentProtection/ElementorRestriction.php:141
|
4978 |
+
msgid "This message will be shown as an alternate of your content"
|
4979 |
+
msgstr ""
|
4980 |
+
|
4981 |
+
#: src/ContentProtection/ElementorRestriction.php:142
|
4982 |
+
#: src/ContentProtection/ElementorRestriction.php:244
|
4983 |
+
msgid "This content is restricted!"
|
4984 |
+
msgstr ""
|
4985 |
+
|
4986 |
#: src/ContentProtection/SettingsPage.php:42
|
4987 |
#: src/ContentProtection/SettingsPage.php:60
|
4988 |
msgid "Content Protection"
|
5005 |
msgstr ""
|
5006 |
|
5007 |
#: src/ContentProtection/SettingsPage.php:181
|
5008 |
+
#: src/ContentProtection/views/include.view.php:51
|
5009 |
+
msgid "Restrict Content Shortcode"
|
5010 |
+
msgstr ""
|
5011 |
+
|
5012 |
+
#: src/ContentProtection/SettingsPage.php:190
|
5013 |
+
msgid "WordPress Menu Protection"
|
5014 |
+
msgstr ""
|
5015 |
+
|
5016 |
+
#: src/ContentProtection/SettingsPage.php:202
|
5017 |
+
#: src/ContentProtection/views/include.view.php:72
|
5018 |
+
msgid "Elementor Restriction"
|
5019 |
+
msgstr ""
|
5020 |
+
|
5021 |
+
#: src/ContentProtection/SettingsPage.php:222
|
5022 |
msgid "Add a Protection Rule"
|
5023 |
msgstr ""
|
5024 |
|
5030 |
msgid "Protected Contents"
|
5031 |
msgstr ""
|
5032 |
|
|
|
|
|
|
|
|
|
|
|
5033 |
#: src/ContentProtection/WPListTable.php:199
|
5034 |
#: src/ContentProtection/views/view.access-condition.php:34
|
5035 |
msgid "Logged in users"
|
5044 |
msgid "%s plan"
|
5045 |
msgstr ""
|
5046 |
|
5047 |
+
#: src/ContentProtection/views/include.elementor-protection.php:5
|
5048 |
+
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"
|
5049 |
+
msgstr ""
|
5050 |
+
|
5051 |
+
#: src/ContentProtection/views/include.menu-protection.php:5
|
5052 |
+
msgid "Want to control the visibility of WordPress navigation menus based on user roles, logged-in status and membership plans? %sLearn how to%s"
|
5053 |
+
msgstr ""
|
5054 |
+
|
5055 |
#: src/ContentProtection/views/include.shortcode-doc-sidebar.php:5
|
5056 |
msgid "To restrict contents in a post or page, we provide the below shortcode. %sLearn more%s"
|
5057 |
msgstr ""
|
5072 |
msgid "Access Condition"
|
5073 |
msgstr ""
|
5074 |
|
5075 |
+
#: src/ContentProtection/views/include.view.php:61
|
5076 |
+
msgid "WordPress Menu Restriction"
|
5077 |
msgstr ""
|
5078 |
|
5079 |
+
#: src/ContentProtection/views/include.view.php:98
|
5080 |
msgid "Add title"
|
5081 |
msgstr ""
|
5082 |
|
5097 |
msgstr ""
|
5098 |
|
5099 |
#: src/ContentProtection/views/view.access-condition.php:83
|
5100 |
+
msgid "What happens when users without access try to view the content?"
|
5101 |
msgstr ""
|
5102 |
|
5103 |
#: src/ContentProtection/views/view.access-condition.php:88
|
5112 |
msgid "Message to show to unauthorized users"
|
5113 |
msgstr ""
|
5114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5115 |
#: src/ContentProtection/views/view.access-condition.php:103
|
5116 |
msgid "Post Excerpt"
|
5117 |
msgstr ""
|
5201 |
msgid "Error: The file you uploaded is not accepted on our website."
|
5202 |
msgstr ""
|
5203 |
|
5204 |
+
#: src/Functions/MSFunctions.php:81
|
5205 |
msgid "United States (US) dollar"
|
5206 |
msgstr ""
|
5207 |
|
5208 |
+
#: src/Functions/MSFunctions.php:82
|
5209 |
msgid "Euro"
|
5210 |
msgstr ""
|
5211 |
|
5212 |
+
#: src/Functions/MSFunctions.php:83
|
5213 |
msgid "Pound sterling"
|
5214 |
msgstr ""
|
5215 |
|
5216 |
+
#: src/Functions/MSFunctions.php:84
|
5217 |
msgid "United Arab Emirates dirham"
|
5218 |
msgstr ""
|
5219 |
|
5220 |
+
#: src/Functions/MSFunctions.php:85
|
5221 |
msgid "Afghan afghani"
|
5222 |
msgstr ""
|
5223 |
|
5224 |
+
#: src/Functions/MSFunctions.php:86
|
5225 |
msgid "Albanian lek"
|
5226 |
msgstr ""
|
5227 |
|
5228 |
+
#: src/Functions/MSFunctions.php:87
|
5229 |
msgid "Armenian dram"
|
5230 |
msgstr ""
|
5231 |
|
5232 |
+
#: src/Functions/MSFunctions.php:88
|
5233 |
msgid "Netherlands Antillean guilder"
|
5234 |
msgstr ""
|
5235 |
|
5236 |
+
#: src/Functions/MSFunctions.php:89
|
5237 |
msgid "Angolan kwanza"
|
5238 |
msgstr ""
|
5239 |
|
5240 |
+
#: src/Functions/MSFunctions.php:90
|
5241 |
msgid "Argentine peso"
|
5242 |
msgstr ""
|
5243 |
|
5244 |
+
#: src/Functions/MSFunctions.php:91
|
5245 |
msgid "Australian dollar"
|
5246 |
msgstr ""
|
5247 |
|
5248 |
+
#: src/Functions/MSFunctions.php:92
|
5249 |
msgid "Aruban florin"
|
5250 |
msgstr ""
|
5251 |
|
5252 |
+
#: src/Functions/MSFunctions.php:93
|
5253 |
msgid "Azerbaijani manat"
|
5254 |
msgstr ""
|
5255 |
|
5256 |
+
#: src/Functions/MSFunctions.php:94
|
5257 |
msgid "Bosnia and Herzegovina convertible mark"
|
5258 |
msgstr ""
|
5259 |
|
5260 |
+
#: src/Functions/MSFunctions.php:95
|
5261 |
msgid "Barbadian dollar"
|
5262 |
msgstr ""
|
5263 |
|
5264 |
+
#: src/Functions/MSFunctions.php:96
|
5265 |
msgid "Bangladeshi taka"
|
5266 |
msgstr ""
|
5267 |
|
5268 |
+
#: src/Functions/MSFunctions.php:97
|
5269 |
msgid "Bulgarian lev"
|
5270 |
msgstr ""
|
5271 |
|
5272 |
+
#: src/Functions/MSFunctions.php:98
|
5273 |
msgid "Bahraini dinar"
|
5274 |
msgstr ""
|
5275 |
|
5276 |
+
#: src/Functions/MSFunctions.php:99
|
5277 |
msgid "Burundian franc"
|
5278 |
msgstr ""
|
5279 |
|
5280 |
+
#: src/Functions/MSFunctions.php:100
|
5281 |
msgid "Bermudian dollar"
|
5282 |
msgstr ""
|
5283 |
|
5284 |
+
#: src/Functions/MSFunctions.php:101
|
5285 |
msgid "Brunei dollar"
|
5286 |
msgstr ""
|
5287 |
|
5288 |
+
#: src/Functions/MSFunctions.php:102
|
5289 |
msgid "Bolivian boliviano"
|
5290 |
msgstr ""
|
5291 |
|
5292 |
+
#: src/Functions/MSFunctions.php:103
|
5293 |
msgid "Brazilian real"
|
5294 |
msgstr ""
|
5295 |
|
5296 |
+
#: src/Functions/MSFunctions.php:104
|
5297 |
msgid "Bahamian dollar"
|
5298 |
msgstr ""
|
5299 |
|
5300 |
+
#: src/Functions/MSFunctions.php:105
|
5301 |
msgid "Bitcoin"
|
5302 |
msgstr ""
|
5303 |
|
5304 |
+
#: src/Functions/MSFunctions.php:106
|
5305 |
msgid "Bhutanese ngultrum"
|
5306 |
msgstr ""
|
5307 |
|
5308 |
+
#: src/Functions/MSFunctions.php:107
|
5309 |
msgid "Botswana pula"
|
5310 |
msgstr ""
|
5311 |
|
5312 |
+
#: src/Functions/MSFunctions.php:108
|
5313 |
msgid "Belarusian ruble (old)"
|
5314 |
msgstr ""
|
5315 |
|
5316 |
+
#: src/Functions/MSFunctions.php:109
|
5317 |
msgid "Belarusian ruble"
|
5318 |
msgstr ""
|
5319 |
|
5320 |
+
#: src/Functions/MSFunctions.php:110
|
5321 |
msgid "Belize dollar"
|
5322 |
msgstr ""
|
5323 |
|
5324 |
+
#: src/Functions/MSFunctions.php:111
|
5325 |
msgid "Canadian dollar"
|
5326 |
msgstr ""
|
5327 |
|
5328 |
+
#: src/Functions/MSFunctions.php:112
|
5329 |
msgid "Congolese franc"
|
5330 |
msgstr ""
|
5331 |
|
5332 |
+
#: src/Functions/MSFunctions.php:113
|
5333 |
msgid "Swiss franc"
|
5334 |
msgstr ""
|
5335 |
|
5336 |
+
#: src/Functions/MSFunctions.php:114
|
5337 |
msgid "Chilean peso"
|
5338 |
msgstr ""
|
5339 |
|
5340 |
+
#: src/Functions/MSFunctions.php:115
|
5341 |
msgid "Chinese yuan"
|
5342 |
msgstr ""
|
5343 |
|
5344 |
+
#: src/Functions/MSFunctions.php:116
|
5345 |
msgid "Colombian peso"
|
5346 |
msgstr ""
|
5347 |
|
5348 |
+
#: src/Functions/MSFunctions.php:117
|
5349 |
msgid "Costa Rican colón"
|
5350 |
msgstr ""
|
5351 |
|
5352 |
+
#: src/Functions/MSFunctions.php:118
|
5353 |
msgid "Cuban convertible peso"
|
5354 |
msgstr ""
|
5355 |
|
5356 |
+
#: src/Functions/MSFunctions.php:119
|
5357 |
msgid "Cuban peso"
|
5358 |
msgstr ""
|
5359 |
|
5360 |
+
#: src/Functions/MSFunctions.php:120
|
5361 |
msgid "Cape Verdean escudo"
|
5362 |
msgstr ""
|
5363 |
|
5364 |
+
#: src/Functions/MSFunctions.php:121
|
5365 |
msgid "Czech koruna"
|
5366 |
msgstr ""
|
5367 |
|
5368 |
+
#: src/Functions/MSFunctions.php:122
|
5369 |
msgid "Djiboutian franc"
|
5370 |
msgstr ""
|
5371 |
|
5372 |
+
#: src/Functions/MSFunctions.php:123
|
5373 |
msgid "Danish krone"
|
5374 |
msgstr ""
|
5375 |
|
5376 |
+
#: src/Functions/MSFunctions.php:124
|
5377 |
msgid "Dominican peso"
|
5378 |
msgstr ""
|
5379 |
|
5380 |
+
#: src/Functions/MSFunctions.php:125
|
5381 |
msgid "Algerian dinar"
|
5382 |
msgstr ""
|
5383 |
|
5384 |
+
#: src/Functions/MSFunctions.php:126
|
5385 |
msgid "Egyptian pound"
|
5386 |
msgstr ""
|
5387 |
|
5388 |
+
#: src/Functions/MSFunctions.php:127
|
5389 |
msgid "Eritrean nakfa"
|
5390 |
msgstr ""
|
5391 |
|
5392 |
+
#: src/Functions/MSFunctions.php:128
|
5393 |
msgid "Ethiopian birr"
|
5394 |
msgstr ""
|
5395 |
|
5396 |
+
#: src/Functions/MSFunctions.php:129
|
5397 |
msgid "Fijian dollar"
|
5398 |
msgstr ""
|
5399 |
|
5400 |
+
#: src/Functions/MSFunctions.php:130
|
5401 |
msgid "Falkland Islands pound"
|
5402 |
msgstr ""
|
5403 |
|
5404 |
+
#: src/Functions/MSFunctions.php:131
|
5405 |
msgid "Georgian lari"
|
5406 |
msgstr ""
|
5407 |
|
5408 |
+
#: src/Functions/MSFunctions.php:132
|
5409 |
msgid "Guernsey pound"
|
5410 |
msgstr ""
|
5411 |
|
5412 |
+
#: src/Functions/MSFunctions.php:133
|
5413 |
msgid "Ghana cedi"
|
5414 |
msgstr ""
|
5415 |
|
5416 |
+
#: src/Functions/MSFunctions.php:134
|
5417 |
msgid "Gibraltar pound"
|
5418 |
msgstr ""
|
5419 |
|
5420 |
+
#: src/Functions/MSFunctions.php:135
|
5421 |
msgid "Gambian dalasi"
|
5422 |
msgstr ""
|
5423 |
|
5424 |
+
#: src/Functions/MSFunctions.php:136
|
5425 |
msgid "Guinean franc"
|
5426 |
msgstr ""
|
5427 |
|
5428 |
+
#: src/Functions/MSFunctions.php:137
|
5429 |
msgid "Guatemalan quetzal"
|
5430 |
msgstr ""
|
5431 |
|
5432 |
+
#: src/Functions/MSFunctions.php:138
|
5433 |
msgid "Guyanese dollar"
|
5434 |
msgstr ""
|
5435 |
|
5436 |
+
#: src/Functions/MSFunctions.php:139
|
5437 |
msgid "Hong Kong dollar"
|
5438 |
msgstr ""
|
5439 |
|
5440 |
+
#: src/Functions/MSFunctions.php:140
|
5441 |
msgid "Honduran lempira"
|
5442 |
msgstr ""
|
5443 |
|
5444 |
+
#: src/Functions/MSFunctions.php:141
|
5445 |
msgid "Croatian kuna"
|
5446 |
msgstr ""
|
5447 |
|
5448 |
+
#: src/Functions/MSFunctions.php:142
|
5449 |
msgid "Haitian gourde"
|
5450 |
msgstr ""
|
5451 |
|
5452 |
+
#: src/Functions/MSFunctions.php:143
|
5453 |
msgid "Hungarian forint"
|
5454 |
msgstr ""
|
5455 |
|
5456 |
+
#: src/Functions/MSFunctions.php:144
|
5457 |
msgid "Indonesian rupiah"
|
5458 |
msgstr ""
|
5459 |
|
5460 |
+
#: src/Functions/MSFunctions.php:145
|
5461 |
msgid "Israeli new shekel"
|
5462 |
msgstr ""
|
5463 |
|
5464 |
+
#: src/Functions/MSFunctions.php:146
|
5465 |
msgid "Manx pound"
|
5466 |
msgstr ""
|
5467 |
|
5468 |
+
#: src/Functions/MSFunctions.php:147
|
5469 |
msgid "Indian rupee"
|
5470 |
msgstr ""
|
5471 |
|
5472 |
+
#: src/Functions/MSFunctions.php:148
|
5473 |
msgid "Iraqi dinar"
|
5474 |
msgstr ""
|
5475 |
|
5476 |
+
#: src/Functions/MSFunctions.php:149
|
5477 |
msgid "Iranian rial"
|
5478 |
msgstr ""
|
5479 |
|
5480 |
+
#: src/Functions/MSFunctions.php:150
|
5481 |
msgid "Iranian toman"
|
5482 |
msgstr ""
|
5483 |
|
5484 |
+
#: src/Functions/MSFunctions.php:151
|
5485 |
msgid "Icelandic króna"
|
5486 |
msgstr ""
|
5487 |
|
5488 |
+
#: src/Functions/MSFunctions.php:152
|
5489 |
msgid "Jersey pound"
|
5490 |
msgstr ""
|
5491 |
|
5492 |
+
#: src/Functions/MSFunctions.php:153
|
5493 |
msgid "Jamaican dollar"
|
5494 |
msgstr ""
|
5495 |
|
5496 |
+
#: src/Functions/MSFunctions.php:154
|
5497 |
msgid "Jordanian dinar"
|
5498 |
msgstr ""
|
5499 |
|
5500 |
+
#: src/Functions/MSFunctions.php:155
|
5501 |
msgid "Japanese yen"
|
5502 |
msgstr ""
|
5503 |
|
5504 |
+
#: src/Functions/MSFunctions.php:156
|
5505 |
msgid "Kenyan shilling"
|
5506 |
msgstr ""
|
5507 |
|
5508 |
+
#: src/Functions/MSFunctions.php:157
|
5509 |
msgid "Kyrgyzstani som"
|
5510 |
msgstr ""
|
5511 |
|
5512 |
+
#: src/Functions/MSFunctions.php:158
|
5513 |
msgid "Cambodian riel"
|
5514 |
msgstr ""
|
5515 |
|
5516 |
+
#: src/Functions/MSFunctions.php:159
|
5517 |
msgid "Comorian franc"
|
5518 |
msgstr ""
|
5519 |
|
5520 |
+
#: src/Functions/MSFunctions.php:160
|
5521 |
msgid "North Korean won"
|
5522 |
msgstr ""
|
5523 |
|
5524 |
+
#: src/Functions/MSFunctions.php:161
|
5525 |
msgid "South Korean won"
|
5526 |
msgstr ""
|
5527 |
|
5528 |
+
#: src/Functions/MSFunctions.php:162
|
5529 |
msgid "Kuwaiti dinar"
|
5530 |
msgstr ""
|
5531 |
|
5532 |
+
#: src/Functions/MSFunctions.php:163
|
5533 |
msgid "Cayman Islands dollar"
|
5534 |
msgstr ""
|
5535 |
|
5536 |
+
#: src/Functions/MSFunctions.php:164
|
5537 |
msgid "Kazakhstani tenge"
|
5538 |
msgstr ""
|
5539 |
|
5540 |
+
#: src/Functions/MSFunctions.php:165
|
5541 |
msgid "Lao kip"
|
5542 |
msgstr ""
|
5543 |
|
5544 |
+
#: src/Functions/MSFunctions.php:166
|
5545 |
msgid "Lebanese pound"
|
5546 |
msgstr ""
|
5547 |
|
5548 |
+
#: src/Functions/MSFunctions.php:167
|
5549 |
msgid "Sri Lankan rupee"
|
5550 |
msgstr ""
|
5551 |
|
5552 |
+
#: src/Functions/MSFunctions.php:168
|
5553 |
msgid "Liberian dollar"
|
5554 |
msgstr ""
|
5555 |
|
5556 |
+
#: src/Functions/MSFunctions.php:169
|
5557 |
msgid "Lesotho loti"
|
5558 |
msgstr ""
|
5559 |
|
5560 |
+
#: src/Functions/MSFunctions.php:170
|
5561 |
msgid "Libyan dinar"
|
5562 |
msgstr ""
|
5563 |
|
5564 |
+
#: src/Functions/MSFunctions.php:171
|
5565 |
msgid "Moroccan dirham"
|
5566 |
msgstr ""
|
5567 |
|
5568 |
+
#: src/Functions/MSFunctions.php:172
|
5569 |
msgid "Moldovan leu"
|
5570 |
msgstr ""
|
5571 |
|
5572 |
+
#: src/Functions/MSFunctions.php:173
|
5573 |
msgid "Malagasy ariary"
|
5574 |
msgstr ""
|
5575 |
|
5576 |
+
#: src/Functions/MSFunctions.php:174
|
5577 |
msgid "Macedonian denar"
|
5578 |
msgstr ""
|
5579 |
|
5580 |
+
#: src/Functions/MSFunctions.php:175
|
5581 |
msgid "Burmese kyat"
|
5582 |
msgstr ""
|
5583 |
|
5584 |
+
#: src/Functions/MSFunctions.php:176
|
5585 |
msgid "Mongolian tögrög"
|
5586 |
msgstr ""
|
5587 |
|
5588 |
+
#: src/Functions/MSFunctions.php:177
|
5589 |
msgid "Macanese pataca"
|
5590 |
msgstr ""
|
5591 |
|
5592 |
+
#: src/Functions/MSFunctions.php:178
|
5593 |
msgid "Mauritanian ouguiya"
|
5594 |
msgstr ""
|
5595 |
|
5596 |
+
#: src/Functions/MSFunctions.php:179
|
5597 |
msgid "Mauritian rupee"
|
5598 |
msgstr ""
|
5599 |
|
5600 |
+
#: src/Functions/MSFunctions.php:180
|
5601 |
msgid "Maldivian rufiyaa"
|
5602 |
msgstr ""
|
5603 |
|
5604 |
+
#: src/Functions/MSFunctions.php:181
|
5605 |
msgid "Malawian kwacha"
|
5606 |
msgstr ""
|
5607 |
|
5608 |
+
#: src/Functions/MSFunctions.php:182
|
5609 |
msgid "Mexican peso"
|
5610 |
msgstr ""
|
5611 |
|
5612 |
+
#: src/Functions/MSFunctions.php:183
|
5613 |
msgid "Malaysian ringgit"
|
5614 |
msgstr ""
|
5615 |
|
5616 |
+
#: src/Functions/MSFunctions.php:184
|
5617 |
msgid "Mozambican metical"
|
5618 |
msgstr ""
|
5619 |
|
5620 |
+
#: src/Functions/MSFunctions.php:185
|
5621 |
msgid "Namibian dollar"
|
5622 |
msgstr ""
|
5623 |
|
5624 |
+
#: src/Functions/MSFunctions.php:186
|
5625 |
msgid "Nigerian naira"
|
5626 |
msgstr ""
|
5627 |
|
5628 |
+
#: src/Functions/MSFunctions.php:187
|
5629 |
msgid "Nicaraguan córdoba"
|
5630 |
msgstr ""
|
5631 |
|
5632 |
+
#: src/Functions/MSFunctions.php:188
|
5633 |
msgid "Norwegian krone"
|
5634 |
msgstr ""
|
5635 |
|
5636 |
+
#: src/Functions/MSFunctions.php:189
|
5637 |
msgid "Nepalese rupee"
|
5638 |
msgstr ""
|
5639 |
|
5640 |
+
#: src/Functions/MSFunctions.php:190
|
5641 |
msgid "New Zealand dollar"
|
5642 |
msgstr ""
|
5643 |
|
5644 |
+
#: src/Functions/MSFunctions.php:191
|
5645 |
msgid "Omani rial"
|
5646 |
msgstr ""
|
5647 |
|
5648 |
+
#: src/Functions/MSFunctions.php:192
|
5649 |
msgid "Panamanian balboa"
|
5650 |
msgstr ""
|
5651 |
|
5652 |
+
#: src/Functions/MSFunctions.php:193
|
5653 |
msgid "Sol"
|
5654 |
msgstr ""
|
5655 |
|
5656 |
+
#: src/Functions/MSFunctions.php:194
|
5657 |
msgid "Papua New Guinean kina"
|
5658 |
msgstr ""
|
5659 |
|
5660 |
+
#: src/Functions/MSFunctions.php:195
|
5661 |
msgid "Philippine peso"
|
5662 |
msgstr ""
|
5663 |
|
5664 |
+
#: src/Functions/MSFunctions.php:196
|
5665 |
msgid "Pakistani rupee"
|
5666 |
msgstr ""
|
5667 |
|
5668 |
+
#: src/Functions/MSFunctions.php:197
|
5669 |
msgid "Polish złoty"
|
5670 |
msgstr ""
|
5671 |
|
5672 |
+
#: src/Functions/MSFunctions.php:198
|
5673 |
msgid "Transnistrian ruble"
|
5674 |
msgstr ""
|
5675 |
|
5676 |
+
#: src/Functions/MSFunctions.php:199
|
5677 |
msgid "Paraguayan guaraní"
|
5678 |
msgstr ""
|
5679 |
|
5680 |
+
#: src/Functions/MSFunctions.php:200
|
5681 |
msgid "Qatari riyal"
|
5682 |
msgstr ""
|
5683 |
|
5684 |
+
#: src/Functions/MSFunctions.php:201
|
5685 |
msgid "Romanian leu"
|
5686 |
msgstr ""
|
5687 |
|
5688 |
+
#: src/Functions/MSFunctions.php:202
|
5689 |
msgid "Serbian dinar"
|
5690 |
msgstr ""
|
5691 |
|
5692 |
+
#: src/Functions/MSFunctions.php:203
|
5693 |
msgid "Russian ruble"
|
5694 |
msgstr ""
|
5695 |
|
5696 |
+
#: src/Functions/MSFunctions.php:204
|
5697 |
msgid "Rwandan franc"
|
5698 |
msgstr ""
|
5699 |
|
5700 |
+
#: src/Functions/MSFunctions.php:205
|
5701 |
msgid "Saudi riyal"
|
5702 |
msgstr ""
|
5703 |
|
5704 |
+
#: src/Functions/MSFunctions.php:206
|
5705 |
msgid "Solomon Islands dollar"
|
5706 |
msgstr ""
|
5707 |
|
5708 |
+
#: src/Functions/MSFunctions.php:207
|
5709 |
msgid "Seychellois rupee"
|
5710 |
msgstr ""
|
5711 |
|
5712 |
+
#: src/Functions/MSFunctions.php:208
|
5713 |
msgid "Sudanese pound"
|
5714 |
msgstr ""
|
5715 |
|
5716 |
+
#: src/Functions/MSFunctions.php:209
|
5717 |
msgid "Swedish krona"
|
5718 |
msgstr ""
|
5719 |
|
5720 |
+
#: src/Functions/MSFunctions.php:210
|
5721 |
msgid "Singapore dollar"
|
5722 |
msgstr ""
|
5723 |
|
5724 |
+
#: src/Functions/MSFunctions.php:211
|
5725 |
msgid "Saint Helena pound"
|
5726 |
msgstr ""
|
5727 |
|
5728 |
+
#: src/Functions/MSFunctions.php:212
|
5729 |
msgid "Sierra Leonean leone"
|
5730 |
msgstr ""
|
5731 |
|
5732 |
+
#: src/Functions/MSFunctions.php:213
|
5733 |
msgid "Somali shilling"
|
5734 |
msgstr ""
|
5735 |
|
5736 |
+
#: src/Functions/MSFunctions.php:214
|
5737 |
msgid "Surinamese dollar"
|
5738 |
msgstr ""
|
5739 |
|
5740 |
+
#: src/Functions/MSFunctions.php:215
|
5741 |
msgid "South Sudanese pound"
|
5742 |
msgstr ""
|
5743 |
|
5744 |
+
#: src/Functions/MSFunctions.php:216
|
5745 |
msgid "São Tomé and Príncipe dobra"
|
5746 |
msgstr ""
|
5747 |
|
5748 |
+
#: src/Functions/MSFunctions.php:217
|
5749 |
msgid "Syrian pound"
|
5750 |
msgstr ""
|
5751 |
|
5752 |
+
#: src/Functions/MSFunctions.php:218
|
5753 |
msgid "Swazi lilangeni"
|
5754 |
msgstr ""
|
5755 |
|
5756 |
+
#: src/Functions/MSFunctions.php:219
|
5757 |
msgid "Thai baht"
|
5758 |
msgstr ""
|
5759 |
|
5760 |
+
#: src/Functions/MSFunctions.php:220
|
5761 |
msgid "Tajikistani somoni"
|
5762 |
msgstr ""
|
5763 |
|
5764 |
+
#: src/Functions/MSFunctions.php:221
|
5765 |
msgid "Turkmenistan manat"
|
5766 |
msgstr ""
|
5767 |
|
5768 |
+
#: src/Functions/MSFunctions.php:222
|
5769 |
msgid "Tunisian dinar"
|
5770 |
msgstr ""
|
5771 |
|
5772 |
+
#: src/Functions/MSFunctions.php:223
|
5773 |
msgid "Tongan paʻanga"
|
5774 |
msgstr ""
|
5775 |
|
5776 |
+
#: src/Functions/MSFunctions.php:224
|
5777 |
msgid "Turkish lira"
|
5778 |
msgstr ""
|
5779 |
|
5780 |
+
#: src/Functions/MSFunctions.php:225
|
5781 |
msgid "Trinidad and Tobago dollar"
|
5782 |
msgstr ""
|
5783 |
|
5784 |
+
#: src/Functions/MSFunctions.php:226
|
5785 |
msgid "New Taiwan dollar"
|
5786 |
msgstr ""
|
5787 |
|
5788 |
+
#: src/Functions/MSFunctions.php:227
|
5789 |
msgid "Tanzanian shilling"
|
5790 |
msgstr ""
|
5791 |
|
5792 |
+
#: src/Functions/MSFunctions.php:228
|
5793 |
msgid "Ukrainian hryvnia"
|
5794 |
msgstr ""
|
5795 |
|
5796 |
+
#: src/Functions/MSFunctions.php:229
|
5797 |
msgid "Ugandan shilling"
|
5798 |
msgstr ""
|
5799 |
|
5800 |
+
#: src/Functions/MSFunctions.php:230
|
5801 |
msgid "Uruguayan peso"
|
5802 |
msgstr ""
|
5803 |
|
5804 |
+
#: src/Functions/MSFunctions.php:231
|
5805 |
msgid "Uzbekistani som"
|
5806 |
msgstr ""
|
5807 |
|
5808 |
+
#: src/Functions/MSFunctions.php:232
|
5809 |
msgid "Venezuelan bolívar"
|
5810 |
msgstr ""
|
5811 |
|
5812 |
+
#: src/Functions/MSFunctions.php:233
|
5813 |
msgid "Bolívar soberano"
|
5814 |
msgstr ""
|
5815 |
|
5816 |
+
#: src/Functions/MSFunctions.php:234
|
5817 |
msgid "Vietnamese đồng"
|
5818 |
msgstr ""
|
5819 |
|
5820 |
+
#: src/Functions/MSFunctions.php:235
|
5821 |
msgid "Vanuatu vatu"
|
5822 |
msgstr ""
|
5823 |
|
5824 |
+
#: src/Functions/MSFunctions.php:236
|
5825 |
msgid "Samoan tālā"
|
5826 |
msgstr ""
|
5827 |
|
5828 |
+
#: src/Functions/MSFunctions.php:237
|
5829 |
msgid "Central African CFA franc"
|
5830 |
msgstr ""
|
5831 |
|
5832 |
+
#: src/Functions/MSFunctions.php:238
|
5833 |
msgid "East Caribbean dollar"
|
5834 |
msgstr ""
|
5835 |
|
5836 |
+
#: src/Functions/MSFunctions.php:239
|
5837 |
msgid "West African CFA franc"
|
5838 |
msgstr ""
|
5839 |
|
5840 |
+
#: src/Functions/MSFunctions.php:240
|
5841 |
msgid "CFP franc"
|
5842 |
msgstr ""
|
5843 |
|
5844 |
+
#: src/Functions/MSFunctions.php:241
|
5845 |
msgid "Yemeni rial"
|
5846 |
msgstr ""
|
5847 |
|
5848 |
+
#: src/Functions/MSFunctions.php:242
|
5849 |
msgid "South African rand"
|
5850 |
msgstr ""
|
5851 |
|
5852 |
+
#: src/Functions/MSFunctions.php:243
|
5853 |
msgid "Zambian kwacha"
|
5854 |
msgstr ""
|
5855 |
|
14444 |
msgstr ""
|
14445 |
|
14446 |
#: src/Membership/Emails/EmailDataTrait.php:10
|
14447 |
+
#: src/Membership/Emails/EmailDataTrait.php:46
|
14448 |
msgid "Email address of the customer."
|
14449 |
msgstr ""
|
14450 |
|
14451 |
#: src/Membership/Emails/EmailDataTrait.php:11
|
14452 |
+
#: src/Membership/Emails/EmailDataTrait.php:47
|
14453 |
msgid "First name of the customer."
|
14454 |
msgstr ""
|
14455 |
|
14456 |
#: src/Membership/Emails/EmailDataTrait.php:12
|
14457 |
+
#: src/Membership/Emails/EmailDataTrait.php:48
|
14458 |
msgid "Last name of the customer."
|
14459 |
msgstr ""
|
14460 |
|
14503 |
msgstr ""
|
14504 |
|
14505 |
#: src/Membership/Emails/EmailDataTrait.php:24
|
14506 |
+
msgid "The purchase note of ordered plan."
|
14507 |
+
msgstr ""
|
14508 |
+
|
14509 |
+
#: src/Membership/Emails/EmailDataTrait.php:25
|
14510 |
+
#: src/Membership/Emails/EmailDataTrait.php:55
|
14511 |
msgid "Name or title of this website."
|
14512 |
msgstr ""
|
14513 |
|
14514 |
+
#: src/Membership/Emails/EmailDataTrait.php:27
|
14515 |
msgid "Your business name as defined in %sSettings%s."
|
14516 |
msgstr ""
|
14517 |
|
14518 |
+
#: src/Membership/Emails/EmailDataTrait.php:31
|
14519 |
msgid "Your business address as defined in %sSettings%s."
|
14520 |
msgstr ""
|
14521 |
|
14522 |
+
#: src/Membership/Emails/EmailDataTrait.php:35
|
14523 |
msgid "Your business Tax ID as defined in %sSettings%s."
|
14524 |
msgstr ""
|
14525 |
|
14526 |
+
#: src/Membership/Emails/EmailDataTrait.php:49
|
14527 |
msgid "Subscription ID."
|
14528 |
msgstr ""
|
14529 |
|
14530 |
+
#: src/Membership/Emails/EmailDataTrait.php:50
|
14531 |
msgid "URL to view subscription."
|
14532 |
msgstr ""
|
14533 |
|
14534 |
+
#: src/Membership/Emails/EmailDataTrait.php:51
|
14535 |
msgid "URL to re-subscribe to the subscription plan."
|
14536 |
msgstr ""
|
14537 |
|
14538 |
+
#: src/Membership/Emails/EmailDataTrait.php:52
|
14539 |
msgid "Name or title of subscription plan."
|
14540 |
msgstr ""
|
14541 |
|
14542 |
+
#: src/Membership/Emails/EmailDataTrait.php:53
|
14543 |
msgid "The recurring amount of the subscription."
|
14544 |
msgstr ""
|
14545 |
|
14546 |
+
#: src/Membership/Emails/EmailDataTrait.php:54
|
14547 |
msgid "The expiration or renewal date for the subscription."
|
14548 |
msgstr ""
|
14549 |
|
14556 |
msgstr ""
|
14557 |
|
14558 |
#: src/Membership/Models/Order/OrderEntity.php:240
|
14559 |
+
#: src/Membership/Models/Subscription/SubscriptionEntity.php:472
|
14560 |
msgid "payment method"
|
14561 |
msgstr ""
|
14562 |
|
14627 |
msgid "One-time purchase"
|
14628 |
msgstr ""
|
14629 |
|
14630 |
+
#: src/Membership/Models/Subscription/SubscriptionEntity.php:475
|
14631 |
msgid "Subscription changed from %s to %s by %s"
|
14632 |
msgstr ""
|
14633 |
|
14744 |
msgid "Pay as you go pricing: 2%% per-transaction fee + Stripe fees. Remove the 2%% fee by %supgrading to premium%s."
|
14745 |
msgstr ""
|
14746 |
|
14747 |
+
#: src/Membership/PaymentMethods/Stripe/PaymentHelpers.php:54
|
14748 |
msgid "Setup Fee"
|
14749 |
msgstr ""
|
14750 |
|
14873 |
msgid "Credit card"
|
14874 |
msgstr ""
|
14875 |
|
14876 |
+
#: src/Membership/PaymentMethods/Stripe/Stripe.php:723
|
14877 |
msgid "No payment method found. Please try again."
|
14878 |
msgstr ""
|
14879 |
|
14880 |
+
#: src/Membership/PaymentMethods/Stripe/Stripe.php:878
|
14881 |
msgid "Refund request is pending"
|
14882 |
msgstr ""
|
14883 |
|
14884 |
+
#: src/Membership/PaymentMethods/Stripe/Stripe.php:881
|
14885 |
msgid "Refund request failed"
|
14886 |
msgstr ""
|
14887 |
|
14888 |
+
#: src/Membership/PaymentMethods/Stripe/Stripe.php:884
|
14889 |
msgid "Refund request failed. Status: %s"
|
14890 |
msgstr ""
|
14891 |
|
15358 |
msgid "Item Description"
|
15359 |
msgstr ""
|
15360 |
|
15361 |
+
#: src/ShortcodeParser/MyAccount/view-order.tmpl.php:70
|
15362 |
msgid "Order Type"
|
15363 |
msgstr ""
|
15364 |
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: membership, ecommerce, user registration, user profile, stripe, paypal, lo
|
|
5 |
Requires at least: 5.3
|
6 |
Requires PHP: 7.1.8
|
7 |
Tested up to: 6.0
|
8 |
-
Stable tag: 4.1.
|
9 |
License: GPLv2 or later
|
10 |
|
11 |
Paid membership plugin: accept payments, sell subscriptions, restrict content, user registration, frontend login form, user profile & member directory.
|
@@ -69,6 +69,8 @@ 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 |
= Detailed eCommerce Reports =
|
73 |
|
74 |
We provide a complete reports section where you can Keep track of your earnings, refunds, sales, and more. You can view reports for any period or drill down to specific membership plans.
|
@@ -144,6 +146,18 @@ No. You can create and manage your forms, user profiles, and member directories
|
|
144 |
|
145 |
== Changelog ==
|
146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
= 4.1.2 =
|
148 |
* Added "ppress_disable_google_fonts" filter to disable google fonts globally.
|
149 |
* Added Oxygen builder compatibility to Admin Bar Control.
|
@@ -151,20 +165,4 @@ No. You can create and manage your forms, user profiles, and member directories
|
|
151 |
* Fixed bug where content protection failed to identify some posts/pages.
|
152 |
* Fixed date related output and queries.
|
153 |
|
154 |
-
= 4.1.1 =
|
155 |
-
* Fixed bug with Stripe webhook 404ing.
|
156 |
-
|
157 |
-
= 4.1.0 =
|
158 |
-
* Pro: [PayPal Checkout addon](https://profilepress.com/addons/paypal/?ref=changelog) is live.
|
159 |
-
* Pro: Added &mdash as default select options for [profile custom fields](https://profilepress.com/addons/custom-fields/?ref=changelog).
|
160 |
-
* Added order refund support from single order admin page.
|
161 |
-
* Added payment method icons to checkout page.
|
162 |
-
* Added filter to remove billing custom fields in default WP user profile
|
163 |
-
* Added filter to disable D&D custom html sanitization
|
164 |
-
* Fixed bug with free trial subscriptions getting expired early.
|
165 |
-
* Fixed: Duplicate entry '0' for key 'user_id' when recalculating stat.
|
166 |
-
* Fixed jQuery deprecated syntax errors.
|
167 |
-
* Fixed fatal error caused when loading billing address fields in builder.
|
168 |
-
* Fixed contextual state display bugs.
|
169 |
-
|
170 |
See the [changelog file](https://plugins.svn.wordpress.org/wp-user-avatar/trunk/changelog.txt) for full change log information.
|
5 |
Requires at least: 5.3
|
6 |
Requires PHP: 7.1.8
|
7 |
Tested up to: 6.0
|
8 |
+
Stable tag: 4.1.3
|
9 |
License: GPLv2 or later
|
10 |
|
11 |
Paid membership plugin: accept payments, sell subscriptions, restrict content, user registration, frontend login form, user profile & member directory.
|
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 |
|
76 |
We provide a complete reports section where you can Keep track of your earnings, refunds, sales, and more. You can view reports for any period or drill down to specific membership plans.
|
146 |
|
147 |
== Changelog ==
|
148 |
|
149 |
+
= 4.1.3 =
|
150 |
+
* Added [navigation menu protection](https://profilepress.com/article/wordpress-navigation-menu-restriction/).
|
151 |
+
* Added [Elementor content restriction](https://profilepress.com/article/restrict-elementor-sections-widgets/).
|
152 |
+
* Added [Beaver Builder content restriction](https://profilepress.com/article/restrict-content-beaver-builder-visibility/).
|
153 |
+
* Added support for discounting subscription first payment.
|
154 |
+
* Added support for [purchase note](https://profilepress.com/article/plan-purchase-note/?ref=changelog).
|
155 |
+
* Added support for [checking active subscription via PHP](https://profilepress.com/article/php-check-user-has-active-subscription/).
|
156 |
+
* Fixed bug where new order creation with missing payment method failed.
|
157 |
+
* Fixed couple of date/time related query bugs.
|
158 |
+
* Fixed bug where cancelled one-time subscription was still active.
|
159 |
+
* Fixed bug where non-completed order email receipt can be sent.
|
160 |
+
|
161 |
= 4.1.2 =
|
162 |
* Added "ppress_disable_google_fonts" filter to disable google fonts globally.
|
163 |
* Added Oxygen builder compatibility to Admin Bar Control.
|
165 |
* Fixed bug where content protection failed to identify some posts/pages.
|
166 |
* Fixed date related output and queries.
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
See the [changelog file](https://plugins.svn.wordpress.org/wp-user-avatar/trunk/changelog.txt) for full change log information.
|
src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php
CHANGED
@@ -4,6 +4,7 @@ namespace ProfilePress\Core\Admin\SettingsPages\Membership\CouponsPage;
|
|
4 |
|
5 |
use ProfilePress\Core\Membership\Models\Coupon\CouponEntity;
|
6 |
use ProfilePress\Core\Membership\Models\Coupon\CouponFactory;
|
|
|
7 |
use ProfilePress\Core\Membership\Models\Coupon\CouponUnit;
|
8 |
use ProfilePress\Core\Membership\Repositories\CouponRepository;
|
9 |
|
@@ -78,6 +79,10 @@ class CouponWPListTable extends \WP_List_Table
|
|
78 |
|
79 |
$a = '<a href="' . $edit_link . '">' . sanitize_text_field($item->code) . '</a>';
|
80 |
|
|
|
|
|
|
|
|
|
81 |
return '<strong>' . $a . '</strong>' . $this->row_actions($actions);
|
82 |
}
|
83 |
|
4 |
|
5 |
use ProfilePress\Core\Membership\Models\Coupon\CouponEntity;
|
6 |
use ProfilePress\Core\Membership\Models\Coupon\CouponFactory;
|
7 |
+
use ProfilePress\Core\Membership\Models\Coupon\CouponType;
|
8 |
use ProfilePress\Core\Membership\Models\Coupon\CouponUnit;
|
9 |
use ProfilePress\Core\Membership\Repositories\CouponRepository;
|
10 |
|
79 |
|
80 |
$a = '<a href="' . $edit_link . '">' . sanitize_text_field($item->code) . '</a>';
|
81 |
|
82 |
+
$coupon_type = $item->is_recurring() ? esc_html__('Recurring', 'wp-user-avatar') : esc_html__('One-time', 'wp-user-avatar');
|
83 |
+
|
84 |
+
$a .= ' <span class="post-state"> — ' . $coupon_type . '</span>';
|
85 |
+
|
86 |
return '<strong>' . $a . '</strong>' . $this->row_actions($actions);
|
87 |
}
|
88 |
|
src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php
CHANGED
@@ -46,6 +46,7 @@ class SettingsPage extends AbstractSettingsPage
|
|
46 |
$required_fields = [
|
47 |
'amount' => esc_html__('Discount', 'wp-user-avatar'),
|
48 |
'unit' => esc_html__('Discount', 'wp-user-avatar'),
|
|
|
49 |
'coupon_application' => esc_html__('Coupon Application', 'wp-user-avatar')
|
50 |
];
|
51 |
|
@@ -62,6 +63,7 @@ class SettingsPage extends AbstractSettingsPage
|
|
62 |
$coupon->description = sanitize_textarea_field($_POST['description']);
|
63 |
$coupon->amount = sanitize_text_field($_POST['amount']);
|
64 |
$coupon->unit = sanitize_text_field($_POST['unit']);
|
|
|
65 |
$coupon->coupon_application = sanitize_text_field($_POST['coupon_application']);
|
66 |
$coupon->plan_ids = ppress_clean(ppressPOST_var('plan_ids', [], true), 'absint');
|
67 |
$coupon->start_date = sanitize_text_field($_POST['start_date']);
|
46 |
$required_fields = [
|
47 |
'amount' => esc_html__('Discount', 'wp-user-avatar'),
|
48 |
'unit' => esc_html__('Discount', 'wp-user-avatar'),
|
49 |
+
'coupon_type' => esc_html__('Coupon Type', 'wp-user-avatar'),
|
50 |
'coupon_application' => esc_html__('Coupon Application', 'wp-user-avatar')
|
51 |
];
|
52 |
|
63 |
$coupon->description = sanitize_textarea_field($_POST['description']);
|
64 |
$coupon->amount = sanitize_text_field($_POST['amount']);
|
65 |
$coupon->unit = sanitize_text_field($_POST['unit']);
|
66 |
+
$coupon->coupon_type = sanitize_text_field($_POST['coupon_type']);
|
67 |
$coupon->coupon_application = sanitize_text_field($_POST['coupon_application']);
|
68 |
$coupon->plan_ids = ppress_clean(ppressPOST_var('plan_ids', [], true), 'absint');
|
69 |
$coupon->start_date = sanitize_text_field($_POST['start_date']);
|
src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php
CHANGED
@@ -301,7 +301,10 @@ class OrderWPListTable extends \WP_List_Table
|
|
301 |
$order_ids = array_map('absint', $_GET['order_id']);
|
302 |
|
303 |
foreach ($order_ids as $order_id) {
|
304 |
-
|
|
|
|
|
|
|
305 |
}
|
306 |
}
|
307 |
|
301 |
$order_ids = array_map('absint', $_GET['order_id']);
|
302 |
|
303 |
foreach ($order_ids as $order_id) {
|
304 |
+
$order = OrderFactory::fromId($order_id);
|
305 |
+
if ($order->is_completed()) {
|
306 |
+
NewOrderReceipt::init()->dispatch_email($order);
|
307 |
+
}
|
308 |
}
|
309 |
}
|
310 |
|
src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php
CHANGED
@@ -101,6 +101,7 @@ class SettingsPage extends AbstractSettingsPage
|
|
101 |
$plan = ppress_get_plan(absint(ppressGET_var('id')));
|
102 |
$plan->name = sanitize_text_field($_POST['name']);
|
103 |
$plan->description = stripslashes(wp_kses_post($_POST['description']));
|
|
|
104 |
$plan->price = ppress_sanitize_amount($_POST['price']);
|
105 |
$plan->billing_frequency = sanitize_text_field($_POST['billing_frequency']);
|
106 |
$plan->subscription_length = sanitize_text_field($_POST['subscription_length']);
|
101 |
$plan = ppress_get_plan(absint(ppressGET_var('id')));
|
102 |
$plan->name = sanitize_text_field($_POST['name']);
|
103 |
$plan->description = stripslashes(wp_kses_post($_POST['description']));
|
104 |
+
$plan->order_note = stripslashes(wp_kses_post($_POST['order_note']));
|
105 |
$plan->price = ppress_sanitize_amount($_POST['price']);
|
106 |
$plan->billing_frequency = sanitize_text_field($_POST['billing_frequency']);
|
107 |
$plan->subscription_length = sanitize_text_field($_POST['subscription_length']);
|
src/Admin/SettingsPages/Membership/views/add-edit-coupon.php
CHANGED
@@ -34,6 +34,16 @@ $coupon_details = [
|
|
34 |
'type' => 'discount',
|
35 |
'label' => esc_html__('Discount', 'wp-user-avatar'),
|
36 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
[
|
38 |
'id' => 'coupon_application',
|
39 |
'type' => 'radio',
|
@@ -92,8 +102,9 @@ $redemption_settings = [
|
|
92 |
|
93 |
$coupon_data = CouponFactory::fromId(absint(ppressGET_var('id')));
|
94 |
|
95 |
-
if (ppressGET_var('ppress_coupon_action') =='edit' && ! $coupon_data->exists()) {
|
96 |
ppress_content_http_redirect(PPRESS_MEMBERSHIP_COUPONS_SETTINGS_PAGE);
|
|
|
97 |
return;
|
98 |
}
|
99 |
|
34 |
'type' => 'discount',
|
35 |
'label' => esc_html__('Discount', 'wp-user-avatar'),
|
36 |
],
|
37 |
+
[
|
38 |
+
'id' => 'coupon_type',
|
39 |
+
'type' => 'select',
|
40 |
+
'label' => esc_html__('Coupon Type', 'wp-user-avatar'),
|
41 |
+
'options' => [
|
42 |
+
'recurring' => esc_html__('Recurring', 'wp-user-avatar'),
|
43 |
+
'one_time' => esc_html__('One-time', 'wp-user-avatar')
|
44 |
+
],
|
45 |
+
'description' => esc_html__('Selecting "One-time" applies the coupon discount only to the first payment while "Recurring" applies the discount to all payments.', 'wp-user-avatar')
|
46 |
+
],
|
47 |
[
|
48 |
'id' => 'coupon_application',
|
49 |
'type' => 'radio',
|
102 |
|
103 |
$coupon_data = CouponFactory::fromId(absint(ppressGET_var('id')));
|
104 |
|
105 |
+
if (ppressGET_var('ppress_coupon_action') == 'edit' && ! $coupon_data->exists()) {
|
106 |
ppress_content_http_redirect(PPRESS_MEMBERSHIP_COUPONS_SETTINGS_PAGE);
|
107 |
+
|
108 |
return;
|
109 |
}
|
110 |
|
src/Admin/SettingsPages/Membership/views/add-edit-plan.php
CHANGED
@@ -16,6 +16,12 @@ $plan_details = [
|
|
16 |
'label' => esc_html__('Plan Description', 'wp-user-avatar'),
|
17 |
'description' => esc_html__('A description of this plan. This will be displayed on the checkout page.', 'wp-user-avatar')
|
18 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
[
|
20 |
'id' => 'price',
|
21 |
'type' => 'price',
|
16 |
'label' => esc_html__('Plan Description', 'wp-user-avatar'),
|
17 |
'description' => esc_html__('A description of this plan. This will be displayed on the checkout page.', 'wp-user-avatar')
|
18 |
],
|
19 |
+
[
|
20 |
+
'id' => 'order_note',
|
21 |
+
'type' => 'textarea',
|
22 |
+
'label' => esc_html__('Purchase Note', 'wp-user-avatar'),
|
23 |
+
'description' => esc_html__('Enter an optional note or special instructions to send the customer after purchase. These will be added to the order receipt.', 'wp-user-avatar')
|
24 |
+
],
|
25 |
[
|
26 |
'id' => 'price',
|
27 |
'type' => 'price',
|
src/ContentProtection/CapabilityCheck.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace ProfilePress\Core\ContentProtection;
|
4 |
+
|
5 |
+
use ProfilePress\Core\Membership\Models\Customer\CustomerFactory;
|
6 |
+
|
7 |
+
class CapabilityCheck
|
8 |
+
{
|
9 |
+
public function __construct()
|
10 |
+
{
|
11 |
+
add_filter('user_has_cap', array($this, 'user_has_cap'), 99, 3);
|
12 |
+
}
|
13 |
+
|
14 |
+
public function user_has_cap($all_caps, $caps, $args)
|
15 |
+
{
|
16 |
+
if (isset($caps[0])) {
|
17 |
+
|
18 |
+
if (false !== strpos($caps[0], 'ppress_plan_')) {
|
19 |
+
|
20 |
+
preg_match('/ppress_plan_([0-9]+)/', $caps[0], $matches);
|
21 |
+
|
22 |
+
$user_id = (int)$args[1];
|
23 |
+
|
24 |
+
if (isset($matches[1])) {
|
25 |
+
|
26 |
+
$plan_id = (int)$matches[1];
|
27 |
+
|
28 |
+
if (ppress_has_active_subscription($user_id, $plan_id)) {
|
29 |
+
$all_caps[$caps[0]] = true;
|
30 |
+
}
|
31 |
+
}
|
32 |
+
}
|
33 |
+
}
|
34 |
+
|
35 |
+
return $all_caps;
|
36 |
+
}
|
37 |
+
|
38 |
+
public static function get_instance()
|
39 |
+
{
|
40 |
+
static $instance = null;
|
41 |
+
|
42 |
+
if (is_null($instance)) {
|
43 |
+
$instance = new self();
|
44 |
+
}
|
45 |
+
|
46 |
+
return $instance;
|
47 |
+
}
|
48 |
+
}
|
src/ContentProtection/ElementorRestriction.php
ADDED
@@ -0,0 +1,272 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace ProfilePress\Core\ContentProtection;
|
4 |
+
|
5 |
+
use Elementor\Controls_Manager;
|
6 |
+
use Elementor\Element_Base;
|
7 |
+
use Elementor\Widget_Base as Widget_Base;
|
8 |
+
use ProfilePress\Core\Membership\Models\Customer\CustomerFactory;
|
9 |
+
use ProfilePress\Core\Membership\Repositories\PlanRepository;
|
10 |
+
|
11 |
+
class ElementorRestriction
|
12 |
+
{
|
13 |
+
public function __construct()
|
14 |
+
{
|
15 |
+
add_action('elementor/element/common/_section_style/after_section_end', [$this, 'register_section']);
|
16 |
+
add_action('elementor/element/section/section_advanced/after_section_end', [$this, 'register_section']);
|
17 |
+
add_action('elementor/element/column/section_advanced/after_section_end', [$this, 'register_section']);
|
18 |
+
add_action('elementor/element/container/section_layout/after_section_end', [$this, 'register_section']);
|
19 |
+
|
20 |
+
add_action('elementor/element/common/ppress_section/before_section_end', array($this, 'register_controls'), 10, 2);
|
21 |
+
add_action('elementor/element/section/ppress_section/before_section_end', array($this, 'register_controls'), 10, 2);
|
22 |
+
add_action('elementor/element/column/ppress_section/before_section_end', array($this, 'register_controls'), 10, 2);
|
23 |
+
add_action('elementor/element/container/ppress_section/before_section_end', array($this, 'register_controls'), 10, 2);
|
24 |
+
|
25 |
+
|
26 |
+
add_filter('elementor/frontend/widget/should_render', [$this, 'should_render'], PHP_INT_MAX - 10, 2);
|
27 |
+
add_filter('elementor/frontend/section/should_render', [$this, 'should_render'], PHP_INT_MAX - 10, 2);
|
28 |
+
add_filter('elementor/frontend/column/should_render', [$this, 'should_render'], PHP_INT_MAX - 10, 2);
|
29 |
+
add_filter('elementor/frontend/container/should_render', [$this, 'should_render'], PHP_INT_MAX - 10, 2);
|
30 |
+
|
31 |
+
// determine whether to replace widget's content with "Content Restricted" alert message or not
|
32 |
+
add_filter('elementor/widget/render_content', [$this, 'maybe_render_restricted_message'], 10, 2);
|
33 |
+
}
|
34 |
+
|
35 |
+
public function register_section($element)
|
36 |
+
{
|
37 |
+
$element->start_controls_section('ppress_section', [
|
38 |
+
'label' => __('ProfilePress Content Restriction', 'wp-user-avatar'),
|
39 |
+
'tab' => Controls_Manager::TAB_ADVANCED,
|
40 |
+
]);
|
41 |
+
|
42 |
+
$element->end_controls_section();
|
43 |
+
}
|
44 |
+
|
45 |
+
public function register_controls($element, $args)
|
46 |
+
{
|
47 |
+
if (is_a($element, '\Elementor\Core\DocumentTypes\Post')) return;
|
48 |
+
|
49 |
+
$element->add_control(
|
50 |
+
'ppress_visibility',
|
51 |
+
[
|
52 |
+
'label' => __('Target Audience', 'wp-user-avatar'),
|
53 |
+
'type' => Controls_Manager::SELECT,
|
54 |
+
'default' => 'everyone',
|
55 |
+
'options' => [
|
56 |
+
'everyone' => __('Everyone', 'wp-user-avatar'),
|
57 |
+
'loggedin' => __('Logged-in Users', 'wp-user-avatar'),
|
58 |
+
'loggedout' => __('Logged-out Users', 'wp-user-avatar'),
|
59 |
+
],
|
60 |
+
'multiple' => false,
|
61 |
+
'label_block' => true,
|
62 |
+
]
|
63 |
+
);
|
64 |
+
|
65 |
+
$element->add_control(
|
66 |
+
'ppress_membership_plans',
|
67 |
+
[
|
68 |
+
'label' => __('Restrict to Membership Plans', 'wp-user-avatar'),
|
69 |
+
'type' => Controls_Manager::SELECT2,
|
70 |
+
'options' => (function () {
|
71 |
+
|
72 |
+
$plans = PlanRepository::init()->retrieveAll();
|
73 |
+
|
74 |
+
$result = [];
|
75 |
+
foreach ($plans as $plan) {
|
76 |
+
$result[$plan->id] = $plan->name;
|
77 |
+
}
|
78 |
+
|
79 |
+
return $result;
|
80 |
+
})(),
|
81 |
+
'multiple' => true,
|
82 |
+
'label_block' => true,
|
83 |
+
'condition' => [
|
84 |
+
'ppress_visibility' => ['loggedin'],
|
85 |
+
],
|
86 |
+
]
|
87 |
+
);
|
88 |
+
|
89 |
+
$element->add_control(
|
90 |
+
'ppress_user_roles',
|
91 |
+
[
|
92 |
+
'label' => __('Restrict to User Roles', 'wp-user-avatar'),
|
93 |
+
'type' => Controls_Manager::SELECT2,
|
94 |
+
'options' => (function () {
|
95 |
+
|
96 |
+
$all_roles = ppress_get_editable_roles(false);
|
97 |
+
|
98 |
+
$result = [];
|
99 |
+
foreach ($all_roles as $key => $value) {
|
100 |
+
$result[$key] = $value['name'];
|
101 |
+
}
|
102 |
+
|
103 |
+
return $result;
|
104 |
+
})(),
|
105 |
+
'multiple' => true,
|
106 |
+
'label_block' => true,
|
107 |
+
'condition' => [
|
108 |
+
'ppress_visibility' => ['loggedin'],
|
109 |
+
],
|
110 |
+
]
|
111 |
+
);
|
112 |
+
|
113 |
+
// additional controls for Widget based elements only
|
114 |
+
if ($element instanceof Widget_Base) {
|
115 |
+
|
116 |
+
$element->add_control(
|
117 |
+
'ppress_alternate_content',
|
118 |
+
[
|
119 |
+
'label' => __('Alternate Content', 'wp-user-avatar'),
|
120 |
+
'description' => __('The message to show when the main content is restricted.', 'wp-user-avatar'),
|
121 |
+
'type' => Controls_Manager::SELECT,
|
122 |
+
'default' => 'nothing',
|
123 |
+
'options' => [
|
124 |
+
'nothing' => __('Show Nothing', 'wp-user-avatar'),
|
125 |
+
'global' => __('Global Restrict Access Message', 'wp-user-avatar'),
|
126 |
+
'custom' => __('Custom Message', 'wp-user-avatar'),
|
127 |
+
],
|
128 |
+
'multiple' => false,
|
129 |
+
'label_block' => true,
|
130 |
+
'condition' => [
|
131 |
+
'ppress_visibility' => ['loggedin', 'loggedout']
|
132 |
+
],
|
133 |
+
]
|
134 |
+
);
|
135 |
+
|
136 |
+
$element->add_control(
|
137 |
+
'ppress_custom_message',
|
138 |
+
[
|
139 |
+
'type' => Controls_Manager::WYSIWYG,
|
140 |
+
'label' => __('Custom Message', 'wp-user-avatar'),
|
141 |
+
'description' => __('This message will be shown as an alternate of your content', 'wp-user-avatar'),
|
142 |
+
'default' => __('This content is restricted!', 'wp-user-avatar'),
|
143 |
+
'condition' => [
|
144 |
+
'ppress_alternate_content' => 'custom',
|
145 |
+
'ppress_visibility' => ['loggedin', 'loggedout']
|
146 |
+
],
|
147 |
+
]
|
148 |
+
);
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
/**
|
153 |
+
* @param Element_Base $element
|
154 |
+
*
|
155 |
+
* @return bool
|
156 |
+
*/
|
157 |
+
private function can_access($element)
|
158 |
+
{
|
159 |
+
if (is_admin() || \Elementor\Plugin::$instance->editor->is_edit_mode()) {
|
160 |
+
return true;
|
161 |
+
}
|
162 |
+
|
163 |
+
$visibility = $element->get_settings('ppress_visibility');
|
164 |
+
$roles = $element->get_settings('ppress_user_roles');
|
165 |
+
$membership_plans = $element->get_settings('ppress_membership_plans');
|
166 |
+
|
167 |
+
if (empty($visibility) || 'everyone' == $visibility) return true;
|
168 |
+
|
169 |
+
if ($visibility == 'loggedout' && ! is_user_logged_in()) return true;
|
170 |
+
|
171 |
+
// if we got here, rule is for logged in users. return false of not logged in.
|
172 |
+
if ( ! is_user_logged_in()) return false;
|
173 |
+
|
174 |
+
if (empty($roles) && empty($membership_plans)) return true;
|
175 |
+
|
176 |
+
if ( ! empty($membership_plans)) {
|
177 |
+
|
178 |
+
$customer = CustomerFactory::fromUserId(get_current_user_id());
|
179 |
+
|
180 |
+
$membership_plans = array_map('absint', $membership_plans);
|
181 |
+
|
182 |
+
foreach ($membership_plans as $plan_id) {
|
183 |
+
if ($customer->has_active_subscription($plan_id)) return true;
|
184 |
+
}
|
185 |
+
}
|
186 |
+
|
187 |
+
if ( ! empty($roles)) {
|
188 |
+
|
189 |
+
$user_roles = wp_get_current_user()->roles;
|
190 |
+
|
191 |
+
if ( ! empty(array_intersect($roles, $user_roles))) return true;
|
192 |
+
}
|
193 |
+
|
194 |
+
return false;
|
195 |
+
}
|
196 |
+
|
197 |
+
/**
|
198 |
+
* @param Element_Base $widget
|
199 |
+
*
|
200 |
+
* @return bool
|
201 |
+
*/
|
202 |
+
private function is_alternate_message_active($widget)
|
203 |
+
{
|
204 |
+
$setting = $widget->get_settings('ppress_alternate_content');
|
205 |
+
|
206 |
+
return in_array($setting, ['custom', 'global']);
|
207 |
+
}
|
208 |
+
|
209 |
+
/**
|
210 |
+
* @param bool $should_render
|
211 |
+
* @param Element_Base $widget
|
212 |
+
*
|
213 |
+
* @return bool
|
214 |
+
*/
|
215 |
+
public function should_render($should_render, $widget)
|
216 |
+
{
|
217 |
+
if ( ! $this->is_alternate_message_active($widget) && ! $this->can_access($widget)) {
|
218 |
+
$should_render = false;
|
219 |
+
}
|
220 |
+
|
221 |
+
return $should_render;
|
222 |
+
}
|
223 |
+
|
224 |
+
/**
|
225 |
+
* Renders the "Content restricted" message instead of the widget's content.
|
226 |
+
*
|
227 |
+
* Applies if widget should be hidden from members and "Content restricted" message option is enabled.
|
228 |
+
*
|
229 |
+
* @param string $widget_content Elementor Widget content
|
230 |
+
* @param Widget_Base $widget Elementor Widget object
|
231 |
+
*
|
232 |
+
* @return string
|
233 |
+
*
|
234 |
+
*/
|
235 |
+
public function maybe_render_restricted_message($widget_content, $widget)
|
236 |
+
{
|
237 |
+
if (
|
238 |
+
$this->is_alternate_message_active($widget) &&
|
239 |
+
! $this->can_access($widget)
|
240 |
+
) {
|
241 |
+
|
242 |
+
$message = $widget->get_settings('ppress_custom_message');
|
243 |
+
if (empty($message)) {
|
244 |
+
$message = esc_html__('This content is restricted!', 'wp-user-avatar');
|
245 |
+
}
|
246 |
+
|
247 |
+
if ('global' == $widget->get_settings('ppress_alternate_content')) {
|
248 |
+
|
249 |
+
$message = ppress_settings_by_key(
|
250 |
+
'global_restricted_access_message',
|
251 |
+
esc_html__('You are unauthorized to view this page.', 'wp-user-avatar'),
|
252 |
+
true
|
253 |
+
);
|
254 |
+
}
|
255 |
+
|
256 |
+
return do_shortcode(wpautop($message));
|
257 |
+
}
|
258 |
+
|
259 |
+
return $widget_content;
|
260 |
+
}
|
261 |
+
|
262 |
+
public static function get_instance()
|
263 |
+
{
|
264 |
+
static $instance = null;
|
265 |
+
|
266 |
+
if (is_null($instance)) {
|
267 |
+
$instance = new self();
|
268 |
+
}
|
269 |
+
|
270 |
+
return $instance;
|
271 |
+
}
|
272 |
+
}
|
src/ContentProtection/Init.php
CHANGED
@@ -16,6 +16,9 @@ class Init
|
|
16 |
PostContent::get_instance();
|
17 |
Redirect::get_instance();
|
18 |
RestrictionShortcode::get_instance();
|
|
|
|
|
|
|
19 |
}
|
20 |
|
21 |
public function get_content_condition_field()
|
16 |
PostContent::get_instance();
|
17 |
Redirect::get_instance();
|
18 |
RestrictionShortcode::get_instance();
|
19 |
+
NavMenuProtection::get_instance();
|
20 |
+
ElementorRestriction::get_instance();
|
21 |
+
CapabilityCheck::get_instance();
|
22 |
}
|
23 |
|
24 |
public function get_content_condition_field()
|
src/ContentProtection/NavMenuProtection.php
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 NavMenuProtection
|
9 |
+
{
|
10 |
+
public function __construct()
|
11 |
+
{
|
12 |
+
add_action('plugins_loaded', [$this, 'init'], 20);
|
13 |
+
}
|
14 |
+
|
15 |
+
public function init()
|
16 |
+
{
|
17 |
+
if (class_exists('\Nav_Menu_Roles')) {
|
18 |
+
add_filter('nav_menu_roles', [$this, 'new_roles']);
|
19 |
+
add_filter('nav_menu_roles_item_visibility', [$this, 'item_visibility'], 10, 2);
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
+
/*
|
24 |
+
* Add custom roles to Nav Menu Roles menu options
|
25 |
+
*
|
26 |
+
* @param array $roles An array of all available roles, by default is global $wp_roles
|
27 |
+
* @return array
|
28 |
+
*/
|
29 |
+
function new_roles($roles)
|
30 |
+
{
|
31 |
+
return array_merge($this->get_roles_wrapper(), $roles);
|
32 |
+
}
|
33 |
+
|
34 |
+
|
35 |
+
/*
|
36 |
+
* Change visibility of each menu item.
|
37 |
+
*
|
38 |
+
* NMR settings can be "in" (all logged in), "out" (all logged out) or an array of specific roles
|
39 |
+
*
|
40 |
+
* @param bool $visible
|
41 |
+
* @param object $item The menu item object. Nav Menu Roles adds its info to $item->roles
|
42 |
+
* @return boolean
|
43 |
+
*/
|
44 |
+
function item_visibility($visible, $item)
|
45 |
+
{
|
46 |
+
if ( ! $visible && isset($item->roles) && is_array($item->roles)) {
|
47 |
+
|
48 |
+
// Get the plugin-specific roles for this menu item.
|
49 |
+
$roles = $this->get_relevant_roles_wrapper($item->roles);
|
50 |
+
|
51 |
+
if (count($roles) > 0) {
|
52 |
+
|
53 |
+
// Only need to look through the relevant roles.
|
54 |
+
foreach ($roles as $role) {
|
55 |
+
|
56 |
+
// Test if the current user has the specific plan membership.
|
57 |
+
if ($this->current_user_can_wrapper($role)) {
|
58 |
+
$visible = true;
|
59 |
+
break;
|
60 |
+
} else {
|
61 |
+
$visible = false;
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
}
|
66 |
+
|
67 |
+
}
|
68 |
+
|
69 |
+
return $visible;
|
70 |
+
}
|
71 |
+
|
72 |
+
/*-----------------------------------------------------------------------------------*/
|
73 |
+
/* Helper Functions */
|
74 |
+
/*-----------------------------------------------------------------------------------*/
|
75 |
+
|
76 |
+
/*
|
77 |
+
* Get the plugin-specific "roles" returned in an array, with ID => Name key pairs
|
78 |
+
*
|
79 |
+
* @return array
|
80 |
+
*/
|
81 |
+
function get_roles_wrapper()
|
82 |
+
{
|
83 |
+
$roles = array();
|
84 |
+
|
85 |
+
$plans = PlanRepository::init()->retrieveAll();
|
86 |
+
|
87 |
+
if ( ! empty($plans)) {
|
88 |
+
|
89 |
+
foreach ($plans as $plan) {
|
90 |
+
$roles['ppress_membership_' . $plan->id] = sprintf('%s (ProfilePress %s)', $plan->name, esc_html__('Plan', 'wp-user-avatar'));
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
return $roles;
|
95 |
+
}
|
96 |
+
|
97 |
+
/*
|
98 |
+
* Get the plugin-specific "roles" relevant to this menu item
|
99 |
+
*
|
100 |
+
* @return array
|
101 |
+
*/
|
102 |
+
function get_relevant_roles_wrapper($roles = array())
|
103 |
+
{
|
104 |
+
return preg_grep('/^ppress_membership_*/', $roles);
|
105 |
+
}
|
106 |
+
|
107 |
+
/*
|
108 |
+
* Check the current user has plugin-specific level capability
|
109 |
+
*
|
110 |
+
* @param string $role_id | The ID of the "role" with a plugin-specific prefix
|
111 |
+
*
|
112 |
+
* @return bool
|
113 |
+
*/
|
114 |
+
function current_user_can_wrapper($role_id = false)
|
115 |
+
{
|
116 |
+
$user_id = get_current_user_id();
|
117 |
+
|
118 |
+
if ( ! $user_id || ! $role_id) return false;
|
119 |
+
|
120 |
+
$role_id = str_replace('ppress_membership_', '', $role_id);
|
121 |
+
|
122 |
+
return CustomerFactory::fromUserId($user_id)->has_active_subscription($role_id);
|
123 |
+
}
|
124 |
+
|
125 |
+
public static function get_instance()
|
126 |
+
{
|
127 |
+
static $instance = null;
|
128 |
+
|
129 |
+
if (is_null($instance)) {
|
130 |
+
$instance = new self();
|
131 |
+
}
|
132 |
+
|
133 |
+
return $instance;
|
134 |
+
}
|
135 |
+
}
|
src/ContentProtection/SettingsPage.php
CHANGED
@@ -56,7 +56,7 @@ class SettingsPage extends AbstractSettingsPage
|
|
56 |
{
|
57 |
$hook = add_submenu_page(
|
58 |
PPRESS_DASHBOARD_SETTINGS_SLUG,
|
59 |
-
'ProfilePress '. $this->admin_page_title(),
|
60 |
esc_html__('Content Protection', 'wp-user-avatar'),
|
61 |
'manage_options',
|
62 |
PPRESS_CONTENT_PROTECTION_SETTINGS_SLUG,
|
@@ -168,10 +168,51 @@ class SettingsPage extends AbstractSettingsPage
|
|
168 |
add_action('wp_cspa_main_content_area', array($this, 'admin_settings_page_callback'), 10, 2);
|
169 |
add_action('wp_cspa_before_closing_header', [$this, 'add_new_button']);
|
170 |
|
|
|
|
|
171 |
$instance = Custom_Settings_Page_Api::instance();
|
172 |
$instance->option_name('ppview'); // adds ppview css class to #poststuff
|
173 |
$instance->page_header($this->admin_page_title());
|
174 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
}
|
176 |
|
177 |
public function add_new_button()
|
56 |
{
|
57 |
$hook = add_submenu_page(
|
58 |
PPRESS_DASHBOARD_SETTINGS_SLUG,
|
59 |
+
'ProfilePress ' . $this->admin_page_title(),
|
60 |
esc_html__('Content Protection', 'wp-user-avatar'),
|
61 |
'manage_options',
|
62 |
PPRESS_CONTENT_PROTECTION_SETTINGS_SLUG,
|
168 |
add_action('wp_cspa_main_content_area', array($this, 'admin_settings_page_callback'), 10, 2);
|
169 |
add_action('wp_cspa_before_closing_header', [$this, 'add_new_button']);
|
170 |
|
171 |
+
$is_sidebar = ! isset($_GET['action'], $_GET['id']);
|
172 |
+
|
173 |
$instance = Custom_Settings_Page_Api::instance();
|
174 |
$instance->option_name('ppview'); // adds ppview css class to #poststuff
|
175 |
$instance->page_header($this->admin_page_title());
|
176 |
+
|
177 |
+
if ($is_sidebar) {
|
178 |
+
|
179 |
+
$sidebar_args = [
|
180 |
+
[
|
181 |
+
'section_title' => esc_html__('Restrict Content Shortcode', 'wp-user-avatar'),
|
182 |
+
'content' => (function () {
|
183 |
+
ob_start();
|
184 |
+
require dirname(__FILE__) . '/views/include.shortcode-doc-sidebar.php';
|
185 |
+
|
186 |
+
return ob_get_clean();
|
187 |
+
})()
|
188 |
+
],
|
189 |
+
[
|
190 |
+
'section_title' => esc_html__('WordPress Menu Protection', 'wp-user-avatar'),
|
191 |
+
'content' => (function () {
|
192 |
+
ob_start();
|
193 |
+
require dirname(__FILE__) . '/views/include.menu-protection.php';
|
194 |
+
|
195 |
+
return ob_get_clean();
|
196 |
+
})()
|
197 |
+
]
|
198 |
+
];
|
199 |
+
|
200 |
+
if(defined('ELEMENTOR_VERSION')) {
|
201 |
+
$sidebar_args[] = [
|
202 |
+
'section_title' => esc_html__('Elementor Restriction', 'wp-user-avatar'),
|
203 |
+
'content' => (function () {
|
204 |
+
ob_start();
|
205 |
+
require dirname(__FILE__) . '/views/include.elementor-protection.php';
|
206 |
+
|
207 |
+
return ob_get_clean();
|
208 |
+
})()
|
209 |
+
];
|
210 |
+
}
|
211 |
+
|
212 |
+
$instance->sidebar($sidebar_args);
|
213 |
+
}
|
214 |
+
|
215 |
+
$instance->build(! $is_sidebar);
|
216 |
}
|
217 |
|
218 |
public function add_new_button()
|
src/ContentProtection/views/include.elementor-protection.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="ppress-content-restriction-shortcode-doc">
|
2 |
+
<p>
|
3 |
+
<?php
|
4 |
+
printf(
|
5 |
+
esc_html__('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', 'wp-user-avatar'),
|
6 |
+
'<a target="_blank" href="https://profilepress.com/article/restrict-elementor-sections-widgets/">', '</a>'
|
7 |
+
); ?>
|
8 |
+
</p>
|
9 |
+
</div>
|
src/ContentProtection/views/include.menu-protection.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="ppress-content-restriction-shortcode-doc">
|
2 |
+
<p>
|
3 |
+
<?php
|
4 |
+
printf(
|
5 |
+
esc_html__('Want to control the visibility of WordPress navigation menus based on user roles, logged-in status and membership plans? %sLearn how to%s', 'wp-user-avatar'),
|
6 |
+
'<a target="_blank" href="https://profilepress.com/article/wordpress-navigation-menu-restriction/">', '</a>'
|
7 |
+
); ?>
|
8 |
+
</p>
|
9 |
+
</div>
|
src/ContentProtection/views/include.view.php
CHANGED
@@ -45,6 +45,7 @@ add_action('add_meta_boxes', function () {
|
|
45 |
});
|
46 |
|
47 |
add_action('add_meta_boxes', function () {
|
|
|
48 |
add_meta_box(
|
49 |
'shortcode-doc',
|
50 |
__('Restrict Content Shortcode', 'wp-user-avatar'),
|
@@ -54,6 +55,28 @@ add_action('add_meta_boxes', function () {
|
|
54 |
'ppcontentprotection',
|
55 |
'sidebar'
|
56 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
});
|
58 |
|
59 |
do_action('add_meta_boxes', 'ppcontentprotection', new WP_Post(new stdClass()));
|
45 |
});
|
46 |
|
47 |
add_action('add_meta_boxes', function () {
|
48 |
+
|
49 |
add_meta_box(
|
50 |
'shortcode-doc',
|
51 |
__('Restrict Content Shortcode', 'wp-user-avatar'),
|
55 |
'ppcontentprotection',
|
56 |
'sidebar'
|
57 |
);
|
58 |
+
|
59 |
+
add_meta_box(
|
60 |
+
'wp-menu-protection',
|
61 |
+
__('WordPress Menu Restriction', 'wp-user-avatar'),
|
62 |
+
function () {
|
63 |
+
require dirname(__FILE__) . '/include.menu-protection.php';
|
64 |
+
},
|
65 |
+
'ppcontentprotection',
|
66 |
+
'sidebar'
|
67 |
+
);
|
68 |
+
|
69 |
+
if (defined('ELEMENTOR_VERSION')) {
|
70 |
+
add_meta_box(
|
71 |
+
'elementor-restriction',
|
72 |
+
__('Elementor Restriction', 'wp-user-avatar'),
|
73 |
+
function () {
|
74 |
+
require dirname(__FILE__) . '/include.elementor-protection.php';
|
75 |
+
},
|
76 |
+
'ppcontentprotection',
|
77 |
+
'sidebar'
|
78 |
+
);
|
79 |
+
}
|
80 |
});
|
81 |
|
82 |
do_action('add_meta_boxes', 'ppcontentprotection', new WP_Post(new stdClass()));
|
src/ContentProtection/views/view.access-condition.php
CHANGED
@@ -80,7 +80,7 @@ foreach (PlanRepository::init()->retrieveAll() as $plan) {
|
|
80 |
<tr id="pp-cc-access-noaccess-action-row">
|
81 |
<th>
|
82 |
<label for="pp-cc-access-noaccess-action">
|
83 |
-
<?= esc_html__('What happens when users without access
|
84 |
</label>
|
85 |
</th>
|
86 |
<td>
|
@@ -99,7 +99,7 @@ foreach (PlanRepository::init()->retrieveAll() as $plan) {
|
|
99 |
<td>
|
100 |
<select id="pp-cc-access-noaccess-action-message" name="ppress_cc_data[access_condition][noaccess_action_message_type]">
|
101 |
<option value="global" <?php selected($noaccess_action_message_type, 'global') ?>><?= esc_html__('Global Restrict Access Message', 'wp-user-avatar') ?></option>
|
102 |
-
<option value="custom" <?php selected($noaccess_action_message_type, 'custom') ?>><?= esc_html__('Custom
|
103 |
<option value="post_excerpt" <?php selected($noaccess_action_message_type, 'post_excerpt') ?>><?= esc_html__('Post Excerpt', 'wp-user-avatar') ?></option>
|
104 |
<option value="post_excerpt_global" <?php selected($noaccess_action_message_type, 'post_excerpt_global') ?>><?= esc_html__('Post Excerpt + Global Restrict Access Message', 'wp-user-avatar') ?></option>
|
105 |
<option value="post_excerpt_custom" <?php selected($noaccess_action_message_type, 'post_excerpt_custom') ?>><?= esc_html__('Post Excerpt + Custom Message', 'wp-user-avatar') ?></option>
|
80 |
<tr id="pp-cc-access-noaccess-action-row">
|
81 |
<th>
|
82 |
<label for="pp-cc-access-noaccess-action">
|
83 |
+
<?= esc_html__('What happens when users without access try to view the content?', 'wp-user-avatar') ?>
|
84 |
</label>
|
85 |
</th>
|
86 |
<td>
|
99 |
<td>
|
100 |
<select id="pp-cc-access-noaccess-action-message" name="ppress_cc_data[access_condition][noaccess_action_message_type]">
|
101 |
<option value="global" <?php selected($noaccess_action_message_type, 'global') ?>><?= esc_html__('Global Restrict Access Message', 'wp-user-avatar') ?></option>
|
102 |
+
<option value="custom" <?php selected($noaccess_action_message_type, 'custom') ?>><?= esc_html__('Custom Message', 'wp-user-avatar') ?></option>
|
103 |
<option value="post_excerpt" <?php selected($noaccess_action_message_type, 'post_excerpt') ?>><?= esc_html__('Post Excerpt', 'wp-user-avatar') ?></option>
|
104 |
<option value="post_excerpt_global" <?php selected($noaccess_action_message_type, 'post_excerpt_global') ?>><?= esc_html__('Post Excerpt + Global Restrict Access Message', 'wp-user-avatar') ?></option>
|
105 |
<option value="post_excerpt_custom" <?php selected($noaccess_action_message_type, 'post_excerpt_custom') ?>><?= esc_html__('Post Excerpt + Custom Message', 'wp-user-avatar') ?></option>
|
src/DBUpdates.php
CHANGED
@@ -8,7 +8,7 @@ class DBUpdates
|
|
8 |
{
|
9 |
public static $instance;
|
10 |
|
11 |
-
const DB_VER =
|
12 |
|
13 |
public function init_options()
|
14 |
{
|
@@ -77,6 +77,17 @@ class DBUpdates
|
|
77 |
$wpdb->query("ALTER TABLE $table3 CHANGE date_created date_created datetime NOT NULL;");
|
78 |
}
|
79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
public static function get_instance()
|
81 |
{
|
82 |
if ( ! isset(self::$instance)) {
|
8 |
{
|
9 |
public static $instance;
|
10 |
|
11 |
+
const DB_VER = 3;
|
12 |
|
13 |
public function init_options()
|
14 |
{
|
77 |
$wpdb->query("ALTER TABLE $table3 CHANGE date_created date_created datetime NOT NULL;");
|
78 |
}
|
79 |
|
80 |
+
public function update_routine_3()
|
81 |
+
{
|
82 |
+
global $wpdb;
|
83 |
+
|
84 |
+
$table = DBTables::coupons_db_table();
|
85 |
+
$table2 = DBTables::subscription_plans_db_table();
|
86 |
+
|
87 |
+
$wpdb->query("ALTER TABLE $table CHANGE type coupon_type varchar(50) NULL;");
|
88 |
+
$wpdb->query("ALTER TABLE $table2 ADD COLUMN order_note text NULL AFTER description;");
|
89 |
+
}
|
90 |
+
|
91 |
public static function get_instance()
|
92 |
{
|
93 |
if ( ! isset(self::$instance)) {
|
src/Functions/GlobalFunctions.php
CHANGED
@@ -1574,7 +1574,6 @@ function ppress_render_view($template, $vars = [], $parentDir = '')
|
|
1574 |
ob_start();
|
1575 |
require apply_filters('ppress_render_view', $path, $vars, $template, $parentDir);
|
1576 |
echo apply_filters('ppress_render_view_output', ob_get_clean(), $template, $vars, $parentDir);
|
1577 |
-
|
1578 |
}
|
1579 |
|
1580 |
function ppress_post_content_has_shortcode($tag = '', $post = null)
|
1574 |
ob_start();
|
1575 |
require apply_filters('ppress_render_view', $path, $vars, $template, $parentDir);
|
1576 |
echo apply_filters('ppress_render_view_output', ob_get_clean(), $template, $vars, $parentDir);
|
|
|
1577 |
}
|
1578 |
|
1579 |
function ppress_post_content_has_shortcode($tag = '', $post = null)
|
src/Functions/MSFunctions.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
use ProfilePress\Core\Base;
|
4 |
use ProfilePress\Core\Classes\PPRESS_Session;
|
5 |
use ProfilePress\Core\Membership\CurrencyFormatter;
|
|
|
6 |
use ProfilePress\Core\Membership\Models\Order\OrderMode;
|
7 |
use ProfilePress\Core\Membership\Models\Plan\PlanFactory;
|
8 |
use ProfilePress\Core\Membership\Models\Plan\PlanEntity;
|
@@ -730,4 +731,22 @@ function ppress_business_full_address()
|
|
730 |
function ppress_business_tax_id($default = '')
|
731 |
{
|
732 |
return ppress_settings_by_key('business_tin', $default, true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
733 |
}
|
3 |
use ProfilePress\Core\Base;
|
4 |
use ProfilePress\Core\Classes\PPRESS_Session;
|
5 |
use ProfilePress\Core\Membership\CurrencyFormatter;
|
6 |
+
use ProfilePress\Core\Membership\Models\Customer\CustomerFactory;
|
7 |
use ProfilePress\Core\Membership\Models\Order\OrderMode;
|
8 |
use ProfilePress\Core\Membership\Models\Plan\PlanFactory;
|
9 |
use ProfilePress\Core\Membership\Models\Plan\PlanEntity;
|
731 |
function ppress_business_tax_id($default = '')
|
732 |
{
|
733 |
return ppress_settings_by_key('business_tin', $default, true);
|
734 |
+
}
|
735 |
+
|
736 |
+
/**
|
737 |
+
* @param int $user_id
|
738 |
+
* @param int $plan_id
|
739 |
+
* @param bool $by_customer_id
|
740 |
+
*
|
741 |
+
* @return bool
|
742 |
+
*/
|
743 |
+
function ppress_has_active_subscription($user_id, $plan_id, $by_customer_id = false)
|
744 |
+
{
|
745 |
+
if (false === $by_customer_id) {
|
746 |
+
$customer = CustomerFactory::fromUserId($user_id);
|
747 |
+
} else {
|
748 |
+
$customer = CustomerFactory::fromId($user_id);
|
749 |
+
}
|
750 |
+
|
751 |
+
return $customer->has_active_subscription($plan_id);
|
752 |
}
|
src/Membership/Controllers/CheckoutController.php
CHANGED
@@ -384,6 +384,8 @@ class CheckoutController extends BaseController
|
|
384 |
);
|
385 |
}
|
386 |
|
|
|
|
|
387 |
$planObj = ppress_get_plan(absint($_POST['plan_id']));
|
388 |
|
389 |
$country_code = sanitize_text_field(ppressPOST_var('country', '', true));
|
384 |
);
|
385 |
}
|
386 |
|
387 |
+
global $cart_vars;
|
388 |
+
|
389 |
$planObj = ppress_get_plan(absint($_POST['plan_id']));
|
390 |
|
391 |
$country_code = sanitize_text_field(ppressPOST_var('country', '', true));
|
src/Membership/Emails/AbstractMembershipEmail.php
CHANGED
@@ -23,7 +23,7 @@ abstract class AbstractMembershipEmail
|
|
23 |
{
|
24 |
$customer = CustomerFactory::fromId($order->customer_id);
|
25 |
|
26 |
-
|
27 |
'{{email}}' => $customer->get_email(),
|
28 |
'{{first_name}}' => $customer->get_first_name(),
|
29 |
'{{last_name}}' => $customer->get_last_name(),
|
@@ -41,11 +41,16 @@ abstract class AbstractMembershipEmail
|
|
41 |
'{{order_total}}' => ppress_display_amount($order->total, $order->currency),
|
42 |
'{{order_date}}' => ppress_format_date($order->date_created),
|
43 |
'{{order_payment_method}}' => PaymentMethods::get_instance()->get_by_id($order->payment_method)->get_method_title(),
|
|
|
44 |
'{{site_title}}' => ppress_site_title(),
|
45 |
'{{business_name}}' => ppress_business_name(),
|
46 |
'{{business_address}}' => ppress_business_full_address(),
|
47 |
'{{business_tax_id}}' => ppress_business_tax_id(),
|
48 |
]);
|
|
|
|
|
|
|
|
|
49 |
}
|
50 |
|
51 |
/**
|
23 |
{
|
24 |
$customer = CustomerFactory::fromId($order->customer_id);
|
25 |
|
26 |
+
$args = apply_filters('ppress_order_placeholders_values', [
|
27 |
'{{email}}' => $customer->get_email(),
|
28 |
'{{first_name}}' => $customer->get_first_name(),
|
29 |
'{{last_name}}' => $customer->get_last_name(),
|
41 |
'{{order_total}}' => ppress_display_amount($order->total, $order->currency),
|
42 |
'{{order_date}}' => ppress_format_date($order->date_created),
|
43 |
'{{order_payment_method}}' => PaymentMethods::get_instance()->get_by_id($order->payment_method)->get_method_title(),
|
44 |
+
'{{purchase_note}}' => $order->get_plan_purchase_note(),
|
45 |
'{{site_title}}' => ppress_site_title(),
|
46 |
'{{business_name}}' => ppress_business_name(),
|
47 |
'{{business_address}}' => ppress_business_full_address(),
|
48 |
'{{business_tax_id}}' => ppress_business_tax_id(),
|
49 |
]);
|
50 |
+
|
51 |
+
return array_map(function ($val) {
|
52 |
+
return ! empty($val) ? $val : '—';
|
53 |
+
}, $args);
|
54 |
}
|
55 |
|
56 |
/**
|
src/Membership/Emails/EmailDataTrait.php
CHANGED
@@ -21,6 +21,7 @@ trait EmailDataTrait
|
|
21 |
'{{order_total}}' => esc_html__("Total order amount that was paid.", 'wp-user-avatar'),
|
22 |
'{{order_date}}' => esc_html__("Order date.", 'wp-user-avatar'),
|
23 |
'{{order_payment_method}}' => esc_html__("Order payment method.", 'wp-user-avatar'),
|
|
|
24 |
'{{site_title}}' => esc_html__('Name or title of this website.', 'wp-user-avatar'),
|
25 |
'{{business_name}}' => sprintf(
|
26 |
esc_html__('Your business name as defined in %sSettings%s.', 'wp-user-avatar'),
|
@@ -30,7 +31,7 @@ trait EmailDataTrait
|
|
30 |
esc_html__('Your business address as defined in %sSettings%s.', 'wp-user-avatar'),
|
31 |
'<a target="_blank" href="' . PPRESS_SETTINGS_SETTING_PAGE . '#business_info">', '</a>'
|
32 |
),
|
33 |
-
'{{business_tax_id}}'
|
34 |
esc_html__('Your business Tax ID as defined in %sSettings%s.', 'wp-user-avatar'),
|
35 |
'<a target="_blank" href="' . PPRESS_SETTINGS_SETTING_PAGE . '#business_info">', '</a>'
|
36 |
),
|
@@ -115,6 +116,7 @@ trait EmailDataTrait
|
|
115 |
</tr>
|
116 |
</tbody>
|
117 |
</table>
|
|
|
118 |
<div style="margin:30px 0 0;padding: 10px 0 50px 0; text-align: center;">
|
119 |
<a style="background: #555555; color: #fff; padding: 12px 30px; text-decoration: none; border-radius: 3px; letter-spacing: 0.3px;" href="{{order_url}}">View order details</a>
|
120 |
</div>
|
21 |
'{{order_total}}' => esc_html__("Total order amount that was paid.", 'wp-user-avatar'),
|
22 |
'{{order_date}}' => esc_html__("Order date.", 'wp-user-avatar'),
|
23 |
'{{order_payment_method}}' => esc_html__("Order payment method.", 'wp-user-avatar'),
|
24 |
+
'{{purchase_note}}' => esc_html__("The purchase note of ordered plan.", 'wp-user-avatar'),
|
25 |
'{{site_title}}' => esc_html__('Name or title of this website.', 'wp-user-avatar'),
|
26 |
'{{business_name}}' => sprintf(
|
27 |
esc_html__('Your business name as defined in %sSettings%s.', 'wp-user-avatar'),
|
31 |
esc_html__('Your business address as defined in %sSettings%s.', 'wp-user-avatar'),
|
32 |
'<a target="_blank" href="' . PPRESS_SETTINGS_SETTING_PAGE . '#business_info">', '</a>'
|
33 |
),
|
34 |
+
'{{business_tax_id}}' => sprintf(
|
35 |
esc_html__('Your business Tax ID as defined in %sSettings%s.', 'wp-user-avatar'),
|
36 |
'<a target="_blank" href="' . PPRESS_SETTINGS_SETTING_PAGE . '#business_info">', '</a>'
|
37 |
),
|
116 |
</tr>
|
117 |
</tbody>
|
118 |
</table>
|
119 |
+
<p>{{purchase_note}}</p>
|
120 |
<div style="margin:30px 0 0;padding: 10px 0 50px 0; text-align: center;">
|
121 |
<a style="background: #555555; color: #fff; padding: 12px 30px; text-decoration: none; border-radius: 3px; letter-spacing: 0.3px;" href="{{order_url}}">View order details</a>
|
122 |
</div>
|
src/Membership/Models/Coupon/CouponEntity.php
CHANGED
@@ -15,6 +15,7 @@ use ProfilePressVendor\Carbon\CarbonImmutable;
|
|
15 |
* @property int $id
|
16 |
* @property string $code
|
17 |
* @property string $description
|
|
|
18 |
* @property string $coupon_application
|
19 |
* @property string $amount
|
20 |
* @property string $unit
|
@@ -32,6 +33,8 @@ class CouponEntity extends AbstractModel implements ModelInterface
|
|
32 |
|
33 |
protected $description = '';
|
34 |
|
|
|
|
|
35 |
protected $coupon_application = CouponApplication::NEW_PURCHASE;
|
36 |
|
37 |
protected $amount = 0;
|
@@ -75,6 +78,11 @@ class CouponEntity extends AbstractModel implements ModelInterface
|
|
75 |
return $this->status == 'true';
|
76 |
}
|
77 |
|
|
|
|
|
|
|
|
|
|
|
78 |
public function is_expired()
|
79 |
{
|
80 |
$end_date = $this->get_end_date();
|
@@ -95,6 +103,11 @@ class CouponEntity extends AbstractModel implements ModelInterface
|
|
95 |
}
|
96 |
}
|
97 |
|
|
|
|
|
|
|
|
|
|
|
98 |
public function get_coupon_application()
|
99 |
{
|
100 |
return ! empty($this->coupon_application) ? $this->coupon_application : CouponApplication::NEW_PURCHASE;
|
15 |
* @property int $id
|
16 |
* @property string $code
|
17 |
* @property string $description
|
18 |
+
* @property string $coupon_type
|
19 |
* @property string $coupon_application
|
20 |
* @property string $amount
|
21 |
* @property string $unit
|
33 |
|
34 |
protected $description = '';
|
35 |
|
36 |
+
protected $coupon_type = CouponType::RECURRING;
|
37 |
+
|
38 |
protected $coupon_application = CouponApplication::NEW_PURCHASE;
|
39 |
|
40 |
protected $amount = 0;
|
78 |
return $this->status == 'true';
|
79 |
}
|
80 |
|
81 |
+
public function is_recurring()
|
82 |
+
{
|
83 |
+
return $this->get_coupon_type() == CouponType::RECURRING;
|
84 |
+
}
|
85 |
+
|
86 |
public function is_expired()
|
87 |
{
|
88 |
$end_date = $this->get_end_date();
|
103 |
}
|
104 |
}
|
105 |
|
106 |
+
public function get_coupon_type()
|
107 |
+
{
|
108 |
+
return ! empty($this->coupon_type) ? $this->coupon_type : CouponType::RECURRING;
|
109 |
+
}
|
110 |
+
|
111 |
public function get_coupon_application()
|
112 |
{
|
113 |
return ! empty($this->coupon_application) ? $this->coupon_application : CouponApplication::NEW_PURCHASE;
|
src/Membership/Models/Coupon/CouponType.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace ProfilePress\Core\Membership\Models\Coupon;
|
4 |
+
|
5 |
+
class CouponType
|
6 |
+
{
|
7 |
+
const RECURRING = 'recurring';
|
8 |
+
const ONE_TIME = 'one_time';
|
9 |
+
}
|
src/Membership/Models/Customer/CustomerEntity.php
CHANGED
@@ -216,7 +216,6 @@ class CustomerEntity extends AbstractModel implements ModelInterface
|
|
216 |
if ( ! empty($subs)) {
|
217 |
|
218 |
foreach ($subs as $sub) {
|
219 |
-
|
220 |
if ($sub->is_active() && ! $sub->is_expired()) $result[] = $sub;
|
221 |
}
|
222 |
}
|
216 |
if ( ! empty($subs)) {
|
217 |
|
218 |
foreach ($subs as $sub) {
|
|
|
219 |
if ($sub->is_active() && ! $sub->is_expired()) $result[] = $sub;
|
220 |
}
|
221 |
}
|
src/Membership/Models/Order/OrderEntity.php
CHANGED
@@ -401,6 +401,17 @@ class OrderEntity extends AbstractModel implements ModelInterface
|
|
401 |
return PaymentMethods::get_instance()->get_by_id($this->payment_method)->link_transaction_id($this->transaction_id, $this);
|
402 |
}
|
403 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
404 |
public function key_is_valid($key)
|
405 |
{
|
406 |
return hash_equals($this->get_order_key(), $key);
|
401 |
return PaymentMethods::get_instance()->get_by_id($this->payment_method)->link_transaction_id($this->transaction_id, $this);
|
402 |
}
|
403 |
|
404 |
+
public function get_plan_purchase_note()
|
405 |
+
{
|
406 |
+
return wpautop(
|
407 |
+
do_shortcode(
|
408 |
+
wp_kses_post(
|
409 |
+
ppress_get_plan($this->plan_id)->order_note
|
410 |
+
)
|
411 |
+
)
|
412 |
+
);
|
413 |
+
}
|
414 |
+
|
415 |
public function key_is_valid($key)
|
416 |
{
|
417 |
return hash_equals($this->get_order_key(), $key);
|
src/Membership/Models/Plan/PlanEntity.php
CHANGED
@@ -13,6 +13,7 @@ use ProfilePress\Core\Membership\Services\OrderService;
|
|
13 |
/**
|
14 |
* @property int $id
|
15 |
* @property string $name
|
|
|
16 |
* @property string $description
|
17 |
* @property string $price
|
18 |
* @property string $billing_frequency
|
@@ -29,6 +30,8 @@ class PlanEntity extends AbstractModel implements ModelInterface
|
|
29 |
|
30 |
protected $description = '';
|
31 |
|
|
|
|
|
32 |
protected $price = '0';
|
33 |
|
34 |
protected $billing_frequency = SubscriptionBillingFrequency::MONTHLY;
|
13 |
/**
|
14 |
* @property int $id
|
15 |
* @property string $name
|
16 |
+
* @property string $order_note
|
17 |
* @property string $description
|
18 |
* @property string $price
|
19 |
* @property string $billing_frequency
|
30 |
|
31 |
protected $description = '';
|
32 |
|
33 |
+
protected $order_note = '';
|
34 |
+
|
35 |
protected $price = '0';
|
36 |
|
37 |
protected $billing_frequency = SubscriptionBillingFrequency::MONTHLY;
|
src/Membership/Models/Subscription/SubscriptionEntity.php
CHANGED
@@ -177,8 +177,15 @@ class SubscriptionEntity extends AbstractModel implements ModelInterface
|
|
177 |
SubscriptionStatus::TRIALLING,
|
178 |
];
|
179 |
|
180 |
-
|
181 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
}
|
183 |
|
184 |
return apply_filters('ppress_subscription_is_active', $ret, $this->id, $this);
|
177 |
SubscriptionStatus::TRIALLING,
|
178 |
];
|
179 |
|
180 |
+
// one-time payments with lifetime expiration is considered not active if they are cancelled
|
181 |
+
// unlike recurring sub which is only not active if expired.
|
182 |
+
if ($this->is_lifetime() && $this->is_cancelled()) {
|
183 |
+
$ret = false;
|
184 |
+
} else {
|
185 |
+
|
186 |
+
if ( ! $this->is_expired() && in_array($this->status, $active_statuses, true)) {
|
187 |
+
$ret = true;
|
188 |
+
}
|
189 |
}
|
190 |
|
191 |
return apply_filters('ppress_subscription_is_active', $ret, $this->id, $this);
|
src/Membership/PaymentMethods/Stripe/PaymentHelpers.php
CHANGED
@@ -14,6 +14,38 @@ use ProfilePressVendor\Carbon\CarbonImmutable;
|
|
14 |
|
15 |
class PaymentHelpers
|
16 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
/**
|
18 |
* @return string
|
19 |
*/
|
@@ -114,7 +146,7 @@ class PaymentHelpers
|
|
114 |
$create_product_args = [
|
115 |
'id' => $stripe_product_id,
|
116 |
'name' => $plan->name,
|
117 |
-
'description' => sanitize_textarea_field($plan->description),
|
118 |
'metadata' => [
|
119 |
'plan_id' => $plan->id,
|
120 |
'caller' => __CLASS__ . '|' . __METHOD__ . '|' . __LINE__ . '|' . PPRESS_VERSION_NUMBER,
|
14 |
|
15 |
class PaymentHelpers
|
16 |
{
|
17 |
+
public static function add_coupon_to_bucket($stripe_coupon_id)
|
18 |
+
{
|
19 |
+
$data = \get_option('ppress_stripe_coupon_bucket', []);
|
20 |
+
$data[$stripe_coupon_id] = time() + (24 * HOUR_IN_SECONDS);
|
21 |
+
\update_option('ppress_stripe_coupon_bucket', $data);
|
22 |
+
}
|
23 |
+
|
24 |
+
public static function empty_coupon_bucket()
|
25 |
+
{
|
26 |
+
$data = \get_option('ppress_stripe_coupon_bucket', []);
|
27 |
+
|
28 |
+
if ( ! empty($data)) {
|
29 |
+
|
30 |
+
foreach ($data as $coupon_id => $time) {
|
31 |
+
if (time() >= $time) {
|
32 |
+
self::delete_coupon($coupon_id);
|
33 |
+
unset($data[$coupon_id]);
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
\update_option('ppress_stripe_coupon_bucket', $data);
|
38 |
+
}
|
39 |
+
}
|
40 |
+
|
41 |
+
public static function delete_coupon($stripe_coupon_id)
|
42 |
+
{
|
43 |
+
try {
|
44 |
+
APIClass::stripeClient()->coupons->delete($stripe_coupon_id);
|
45 |
+
} catch (\Exception $e) {
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
/**
|
50 |
* @return string
|
51 |
*/
|
146 |
$create_product_args = [
|
147 |
'id' => $stripe_product_id,
|
148 |
'name' => $plan->name,
|
149 |
+
'description' => strip_tags(sanitize_textarea_field($plan->description)),
|
150 |
'metadata' => [
|
151 |
'plan_id' => $plan->id,
|
152 |
'caller' => __CLASS__ . '|' . __METHOD__ . '|' . __LINE__ . '|' . PPRESS_VERSION_NUMBER,
|
src/Membership/PaymentMethods/Stripe/Stripe.php
CHANGED
@@ -578,6 +578,8 @@ class Stripe extends AbstractPaymentMethod
|
|
578 |
{
|
579 |
try {
|
580 |
|
|
|
|
|
581 |
$product_price = PaymentHelpers::get_product_price($subscription, $this->get_statement_descriptor());
|
582 |
|
583 |
if (is_wp_error($product_price)) {
|
@@ -613,16 +615,27 @@ class Stripe extends AbstractPaymentMethod
|
|
613 |
|
614 |
if ($plan->has_signup_fee()) {
|
615 |
|
616 |
-
$
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
626 |
}
|
627 |
|
628 |
if ($plan->has_free_trial()) {
|
@@ -634,6 +647,24 @@ class Stripe extends AbstractPaymentMethod
|
|
634 |
}
|
635 |
}
|
636 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
637 |
$create_session_args = apply_filters('ppress_stripe_create_session_args', $create_session_args, $this);
|
638 |
|
639 |
if (PaymentHelpers::has_application_fee()) {
|
@@ -650,6 +681,7 @@ class Stripe extends AbstractPaymentMethod
|
|
650 |
$checkoutResponse = new CheckoutResponse();
|
651 |
|
652 |
if (isset($session_response['url'])) {
|
|
|
653 |
return $checkoutResponse
|
654 |
->set_is_success(true)
|
655 |
->set_redirect_url($session_response['url'])
|
@@ -682,6 +714,8 @@ class Stripe extends AbstractPaymentMethod
|
|
682 |
|
683 |
try {
|
684 |
|
|
|
|
|
685 |
$customer_id = PaymentHelpers::get_stripe_customer_id($customer);
|
686 |
|
687 |
if (empty($_POST['ppress_stripe_payment_method'])) {
|
@@ -721,6 +755,8 @@ class Stripe extends AbstractPaymentMethod
|
|
721 |
|
722 |
$signup_fee = Calculator::init($order->total)->minus($subscription->recurring_amount)->val();
|
723 |
|
|
|
|
|
724 |
if ($plan->has_free_trial()) {
|
725 |
|
726 |
$signup_fee = $order->total;
|
@@ -732,7 +768,7 @@ class Stripe extends AbstractPaymentMethod
|
|
732 |
}
|
733 |
}
|
734 |
|
735 |
-
if ($plan->has_signup_fee()) {
|
736 |
|
737 |
$create_subscription_args['add_invoice_items'][] = [
|
738 |
'quantity' => 1,
|
@@ -744,6 +780,22 @@ class Stripe extends AbstractPaymentMethod
|
|
744 |
];
|
745 |
}
|
746 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
747 |
$create_subscription_args = apply_filters('ppress_stripe_create_subscription_args', $create_subscription_args, $this);
|
748 |
|
749 |
if (PaymentHelpers::has_application_fee()) {
|
@@ -758,10 +810,13 @@ class Stripe extends AbstractPaymentMethod
|
|
758 |
$subscription->update_profile_id($response['id']);
|
759 |
}
|
760 |
|
|
|
|
|
|
|
|
|
761 |
return (new CheckoutResponse())
|
762 |
->set_is_success(true)
|
763 |
->set_gateway_response($response);
|
764 |
-
|
765 |
}
|
766 |
|
767 |
$create_payment_intent_args = [
|
578 |
{
|
579 |
try {
|
580 |
|
581 |
+
PaymentHelpers::empty_coupon_bucket();
|
582 |
+
|
583 |
$product_price = PaymentHelpers::get_product_price($subscription, $this->get_statement_descriptor());
|
584 |
|
585 |
if (is_wp_error($product_price)) {
|
615 |
|
616 |
if ($plan->has_signup_fee()) {
|
617 |
|
618 |
+
$signup_fee = $plan->has_free_trial() ? $order->total : '0';
|
619 |
+
|
620 |
+
if (
|
621 |
+
! $plan->has_free_trial() &&
|
622 |
+
Calculator::init($order->total)->isGreaterThan($subscription->recurring_amount)) {
|
623 |
+
$signup_fee = Calculator::init($order->total)->minus($subscription->recurring_amount)->val();
|
624 |
+
}
|
625 |
+
|
626 |
+
if (Calculator::init($signup_fee)->isGreaterThanZero()) {
|
627 |
+
|
628 |
+
$create_session_args['line_items'][] = [
|
629 |
+
'quantity' => 1,
|
630 |
+
'price_data' => [
|
631 |
+
'unit_amount' => PaymentHelpers::process_amount($signup_fee),
|
632 |
+
'currency' => ppress_get_currency(),
|
633 |
+
'product_data' => [
|
634 |
+
'name' => PaymentHelpers::get_signup_fee_label(),
|
635 |
+
],
|
636 |
+
]
|
637 |
+
];
|
638 |
+
}
|
639 |
}
|
640 |
|
641 |
if ($plan->has_free_trial()) {
|
647 |
}
|
648 |
}
|
649 |
|
650 |
+
if (
|
651 |
+
! $plan->has_free_trial() &&
|
652 |
+
Calculator::init($order->total)->isLessThan($subscription->recurring_amount)
|
653 |
+
) {
|
654 |
+
|
655 |
+
$discount_amount = Calculator::init($subscription->recurring_amount)->minus($order->total)->val();
|
656 |
+
|
657 |
+
$stripe_coupon = APIClass::stripeClient()->coupons->create([
|
658 |
+
'amount_off' => PaymentHelpers::process_amount($discount_amount),
|
659 |
+
'currency' => ppress_get_currency(),
|
660 |
+
'duration' => 'once'
|
661 |
+
])->toArray();
|
662 |
+
|
663 |
+
$create_session_args['discounts'][] = ['coupon' => $stripe_coupon['id']];
|
664 |
+
|
665 |
+
PaymentHelpers::add_coupon_to_bucket($stripe_coupon['id']);
|
666 |
+
}
|
667 |
+
|
668 |
$create_session_args = apply_filters('ppress_stripe_create_session_args', $create_session_args, $this);
|
669 |
|
670 |
if (PaymentHelpers::has_application_fee()) {
|
681 |
$checkoutResponse = new CheckoutResponse();
|
682 |
|
683 |
if (isset($session_response['url'])) {
|
684 |
+
|
685 |
return $checkoutResponse
|
686 |
->set_is_success(true)
|
687 |
->set_redirect_url($session_response['url'])
|
714 |
|
715 |
try {
|
716 |
|
717 |
+
$stripe_coupon = false;
|
718 |
+
|
719 |
$customer_id = PaymentHelpers::get_stripe_customer_id($customer);
|
720 |
|
721 |
if (empty($_POST['ppress_stripe_payment_method'])) {
|
755 |
|
756 |
$signup_fee = Calculator::init($order->total)->minus($subscription->recurring_amount)->val();
|
757 |
|
758 |
+
// if there is a free trial, no amount is charged hence order total is 0
|
759 |
+
// however if the plan has a signup fee, it becomes the order total hence the below code.
|
760 |
if ($plan->has_free_trial()) {
|
761 |
|
762 |
$signup_fee = $order->total;
|
768 |
}
|
769 |
}
|
770 |
|
771 |
+
if ($plan->has_signup_fee() && Calculator::init($signup_fee)->isGreaterThanZero()) {
|
772 |
|
773 |
$create_subscription_args['add_invoice_items'][] = [
|
774 |
'quantity' => 1,
|
780 |
];
|
781 |
}
|
782 |
|
783 |
+
if (
|
784 |
+
! $plan->has_free_trial() &&
|
785 |
+
Calculator::init($order->total)->isLessThan($subscription->recurring_amount)
|
786 |
+
) {
|
787 |
+
|
788 |
+
$discount_amount = Calculator::init($subscription->recurring_amount)->minus($order->total)->val();
|
789 |
+
|
790 |
+
$stripe_coupon = APIClass::stripeClient()->coupons->create([
|
791 |
+
'amount_off' => PaymentHelpers::process_amount($discount_amount),
|
792 |
+
'currency' => ppress_get_currency(),
|
793 |
+
'duration' => 'once'
|
794 |
+
])->toArray();
|
795 |
+
|
796 |
+
$create_subscription_args['coupon'] = $stripe_coupon['id'];
|
797 |
+
}
|
798 |
+
|
799 |
$create_subscription_args = apply_filters('ppress_stripe_create_subscription_args', $create_subscription_args, $this);
|
800 |
|
801 |
if (PaymentHelpers::has_application_fee()) {
|
810 |
$subscription->update_profile_id($response['id']);
|
811 |
}
|
812 |
|
813 |
+
if (false !== $stripe_coupon) {
|
814 |
+
PaymentHelpers::delete_coupon($stripe_coupon['id']);
|
815 |
+
}
|
816 |
+
|
817 |
return (new CheckoutResponse())
|
818 |
->set_is_success(true)
|
819 |
->set_gateway_response($response);
|
|
|
820 |
}
|
821 |
|
822 |
$create_payment_intent_args = [
|
src/Membership/Repositories/CouponRepository.php
CHANGED
@@ -27,8 +27,8 @@ class CouponRepository extends BaseRepository
|
|
27 |
$this->table,
|
28 |
array(
|
29 |
'code' => $data->code,
|
30 |
-
'type' => $data->type,
|
31 |
'description' => $data->description,
|
|
|
32 |
'coupon_application' => $data->coupon_application,
|
33 |
'amount' => $data->amount,
|
34 |
'unit' => $data->unit,
|
@@ -67,8 +67,8 @@ class CouponRepository extends BaseRepository
|
|
67 |
$this->table,
|
68 |
[
|
69 |
'code' => $data->code,
|
70 |
-
'type' => $data->type,
|
71 |
'description' => $data->description,
|
|
|
72 |
'coupon_application' => $data->coupon_application,
|
73 |
'amount' => $data->amount,
|
74 |
'unit' => $data->unit,
|
27 |
$this->table,
|
28 |
array(
|
29 |
'code' => $data->code,
|
|
|
30 |
'description' => $data->description,
|
31 |
+
'coupon_type' => $data->coupon_type,
|
32 |
'coupon_application' => $data->coupon_application,
|
33 |
'amount' => $data->amount,
|
34 |
'unit' => $data->unit,
|
67 |
$this->table,
|
68 |
[
|
69 |
'code' => $data->code,
|
|
|
70 |
'description' => $data->description,
|
71 |
+
'coupon_type' => $data->coupon_type,
|
72 |
'coupon_application' => $data->coupon_application,
|
73 |
'amount' => $data->amount,
|
74 |
'unit' => $data->unit,
|
src/Membership/Repositories/PlanRepository.php
CHANGED
@@ -30,6 +30,7 @@ class PlanRepository extends BaseRepository
|
|
30 |
array(
|
31 |
'name' => $data->name,
|
32 |
'description' => $data->description,
|
|
|
33 |
'price' => $data->price,
|
34 |
'billing_frequency' => $data->billing_frequency,
|
35 |
'subscription_length' => $data->subscription_length,
|
@@ -38,6 +39,7 @@ class PlanRepository extends BaseRepository
|
|
38 |
'free_trial' => $data->free_trial
|
39 |
),
|
40 |
array(
|
|
|
41 |
'%s',
|
42 |
'%s',
|
43 |
'%s',
|
@@ -67,6 +69,7 @@ class PlanRepository extends BaseRepository
|
|
67 |
[
|
68 |
'name' => $data->name,
|
69 |
'description' => $data->description,
|
|
|
70 |
'price' => $data->price,
|
71 |
'billing_frequency' => $data->billing_frequency,
|
72 |
'subscription_length' => $data->subscription_length,
|
@@ -76,6 +79,7 @@ class PlanRepository extends BaseRepository
|
|
76 |
],
|
77 |
['id' => $data->id],
|
78 |
[
|
|
|
79 |
'%s',
|
80 |
'%s',
|
81 |
'%s',
|
30 |
array(
|
31 |
'name' => $data->name,
|
32 |
'description' => $data->description,
|
33 |
+
'order_note' => $data->order_note,
|
34 |
'price' => $data->price,
|
35 |
'billing_frequency' => $data->billing_frequency,
|
36 |
'subscription_length' => $data->subscription_length,
|
39 |
'free_trial' => $data->free_trial
|
40 |
),
|
41 |
array(
|
42 |
+
'%s',
|
43 |
'%s',
|
44 |
'%s',
|
45 |
'%s',
|
69 |
[
|
70 |
'name' => $data->name,
|
71 |
'description' => $data->description,
|
72 |
+
'order_note' => $data->order_note,
|
73 |
'price' => $data->price,
|
74 |
'billing_frequency' => $data->billing_frequency,
|
75 |
'subscription_length' => $data->subscription_length,
|
79 |
],
|
80 |
['id' => $data->id],
|
81 |
[
|
82 |
+
'%s',
|
83 |
'%s',
|
84 |
'%s',
|
85 |
'%s',
|
src/Membership/Services/OrderService.php
CHANGED
@@ -123,7 +123,8 @@ class OrderService
|
|
123 |
|
124 |
if ($couponObj->exists()) {
|
125 |
|
126 |
-
$discount_amount
|
|
|
127 |
$recurring_discount_amount = $discount_amount;
|
128 |
|
129 |
if ($couponObj->unit == CouponUnit::PERCENTAGE) {
|
@@ -141,8 +142,7 @@ class OrderService
|
|
141 |
->val();
|
142 |
}
|
143 |
|
144 |
-
if ($planObj->is_recurring()) {
|
145 |
-
|
146 |
$recurring_amount = Calculator::init($recurring_amount)->minus($recurring_discount_amount)->val();
|
147 |
}
|
148 |
}
|
123 |
|
124 |
if ($couponObj->exists()) {
|
125 |
|
126 |
+
$discount_amount = $couponObj->amount;
|
127 |
+
|
128 |
$recurring_discount_amount = $discount_amount;
|
129 |
|
130 |
if ($couponObj->unit == CouponUnit::PERCENTAGE) {
|
142 |
->val();
|
143 |
}
|
144 |
|
145 |
+
if ($planObj->is_recurring() && $couponObj->is_recurring()) {
|
|
|
146 |
$recurring_amount = Calculator::init($recurring_amount)->minus($recurring_discount_amount)->val();
|
147 |
}
|
148 |
}
|
src/ShortcodeParser/MyAccount/view-order.tmpl.php
CHANGED
@@ -27,8 +27,8 @@ $customer_id = CustomerFactory::fromUserId(get_current_user_id())->id;
|
|
27 |
|
28 |
else :
|
29 |
$plan = ppress_get_plan($order->plan_id);
|
30 |
-
|
31 |
$vat_number = $order->get_customer_tax_id();
|
|
|
32 |
?>
|
33 |
|
34 |
<div class="profilepress-myaccount-order-details-wrap">
|
@@ -54,6 +54,12 @@ $customer_id = CustomerFactory::fromUserId(get_current_user_id())->id;
|
|
54 |
<td><?= wpautop($plan->description) ?></td>
|
55 |
</tr>
|
56 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
<tr>
|
58 |
<td><?php esc_html_e('Order Status', 'wp-user-avatar'); ?></td>
|
59 |
<td>
|
27 |
|
28 |
else :
|
29 |
$plan = ppress_get_plan($order->plan_id);
|
|
|
30 |
$vat_number = $order->get_customer_tax_id();
|
31 |
+
$plan_purchase_note = $order->get_plan_purchase_note();
|
32 |
?>
|
33 |
|
34 |
<div class="profilepress-myaccount-order-details-wrap">
|
54 |
<td><?= wpautop($plan->description) ?></td>
|
55 |
</tr>
|
56 |
<?php endif; ?>
|
57 |
+
<?php if ($order->is_completed() && ! empty($plan_purchase_note)): ?>
|
58 |
+
<tr>
|
59 |
+
<td><?php esc_html_e('Purchase Note', 'wp-user-avatar'); ?></td>
|
60 |
+
<td><?= $plan_purchase_note ?></td>
|
61 |
+
</tr>
|
62 |
+
<?php endif; ?>
|
63 |
<tr>
|
64 |
<td><?php esc_html_e('Order Status', 'wp-user-avatar'); ?></td>
|
65 |
<td>
|
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
|
9 |
|
10 |
require_once __DIR__ . '/composer/autoload_real.php';
|
11 |
|
12 |
+
return ComposerAutoloaderInitb725de4e20fd550cc55f90c2d51990ec::getLoader();
|
third-party/vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -24,19 +24,19 @@ class ComposerAutoloaderInitf2f3395caeaf90f93c6d35871d86ec39
|
|
24 |
|
25 |
require __DIR__ . '/platform_check.php';
|
26 |
|
27 |
-
spl_autoload_register(array('
|
28 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
29 |
-
spl_autoload_unregister(array('
|
30 |
|
31 |
require __DIR__ . '/autoload_static.php';
|
32 |
-
call_user_func(\Composer\Autoload\
|
33 |
|
34 |
$loader->setClassMapAuthoritative(true);
|
35 |
$loader->register(true);
|
36 |
|
37 |
-
$includeFiles = \Composer\Autoload\
|
38 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
39 |
-
|
40 |
}
|
41 |
|
42 |
return $loader;
|
@@ -48,7 +48,7 @@ class ComposerAutoloaderInitf2f3395caeaf90f93c6d35871d86ec39
|
|
48 |
* @param string $file
|
49 |
* @return void
|
50 |
*/
|
51 |
-
function
|
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 ComposerAutoloaderInitb725de4e20fd550cc55f90c2d51990ec
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
24 |
|
25 |
require __DIR__ . '/platform_check.php';
|
26 |
|
27 |
+
spl_autoload_register(array('ComposerAutoloaderInitb725de4e20fd550cc55f90c2d51990ec', 'loadClassLoader'), true, true);
|
28 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
29 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitb725de4e20fd550cc55f90c2d51990ec', 'loadClassLoader'));
|
30 |
|
31 |
require __DIR__ . '/autoload_static.php';
|
32 |
+
call_user_func(\Composer\Autoload\ComposerStaticInitb725de4e20fd550cc55f90c2d51990ec::getInitializer($loader));
|
33 |
|
34 |
$loader->setClassMapAuthoritative(true);
|
35 |
$loader->register(true);
|
36 |
|
37 |
+
$includeFiles = \Composer\Autoload\ComposerStaticInitb725de4e20fd550cc55f90c2d51990ec::$files;
|
38 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
39 |
+
composerRequireb725de4e20fd550cc55f90c2d51990ec($fileIdentifier, $file);
|
40 |
}
|
41 |
|
42 |
return $loader;
|
48 |
* @param string $file
|
49 |
* @return void
|
50 |
*/
|
51 |
+
function composerRequireb725de4e20fd550cc55f90c2d51990ec($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
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
@@ -563,9 +563,9 @@ class ComposerStaticInitf2f3395caeaf90f93c6d35871d86ec39
|
|
563 |
public static function getInitializer(ClassLoader $loader)
|
564 |
{
|
565 |
return \Closure::bind(function () use ($loader) {
|
566 |
-
$loader->prefixLengthsPsr4 =
|
567 |
-
$loader->prefixDirsPsr4 =
|
568 |
-
$loader->classMap =
|
569 |
|
570 |
}, null, ClassLoader::class);
|
571 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInitb725de4e20fd550cc55f90c2d51990ec
|
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 = ComposerStaticInitb725de4e20fd550cc55f90c2d51990ec::$prefixLengthsPsr4;
|
567 |
+
$loader->prefixDirsPsr4 = ComposerStaticInitb725de4e20fd550cc55f90c2d51990ec::$prefixDirsPsr4;
|
568 |
+
$loader->classMap = ComposerStaticInitb725de4e20fd550cc55f90c2d51990ec::$classMap;
|
569 |
|
570 |
}, null, ClassLoader::class);
|
571 |
}
|
third-party/vendor/composer/installed.json
CHANGED
@@ -157,17 +157,17 @@
|
|
157 |
},
|
158 |
{
|
159 |
"name": "nesbot\/carbon",
|
160 |
-
"version": "2.
|
161 |
-
"version_normalized": "2.
|
162 |
"source": {
|
163 |
"type": "git",
|
164 |
"url": "https:\/\/github.com\/briannesbitt\/Carbon.git",
|
165 |
-
"reference": "
|
166 |
},
|
167 |
"dist": {
|
168 |
"type": "zip",
|
169 |
-
"url": "https:\/\/api.github.com\/repos\/briannesbitt\/Carbon\/zipball\/
|
170 |
-
"reference": "
|
171 |
"shasum": ""
|
172 |
},
|
173 |
"require": {
|
@@ -190,7 +190,7 @@
|
|
190 |
"phpunit\/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
|
191 |
"squizlabs\/php_codesniffer": "^3.4"
|
192 |
},
|
193 |
-
"time": "2022-
|
194 |
"bin": [
|
195 |
"bin\/carbon"
|
196 |
],
|
157 |
},
|
158 |
{
|
159 |
"name": "nesbot\/carbon",
|
160 |
+
"version": "2.62.1",
|
161 |
+
"version_normalized": "2.62.1.0",
|
162 |
"source": {
|
163 |
"type": "git",
|
164 |
"url": "https:\/\/github.com\/briannesbitt\/Carbon.git",
|
165 |
+
"reference": "01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a"
|
166 |
},
|
167 |
"dist": {
|
168 |
"type": "zip",
|
169 |
+
"url": "https:\/\/api.github.com\/repos\/briannesbitt\/Carbon\/zipball\/01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a",
|
170 |
+
"reference": "01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a",
|
171 |
"shasum": ""
|
172 |
},
|
173 |
"require": {
|
190 |
"phpunit\/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
|
191 |
"squizlabs\/php_codesniffer": "^3.4"
|
192 |
},
|
193 |
+
"time": "2022-09-02T07:48:13+00:00",
|
194 |
"bin": [
|
195 |
"bin\/carbon"
|
196 |
],
|
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' => '
|
2 |
|
3 |
namespace ProfilePressVendor;
|
4 |
|
5 |
+
return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '456f1d862ee3777defa52d8b92f55ea139dcfc79', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \true), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '456f1d862ee3777defa52d8b92f55ea139dcfc79', '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'))));
|
third-party/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php
CHANGED
@@ -349,7 +349,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
349 |
* @param string $source
|
350 |
* @param string $target
|
351 |
*
|
352 |
-
* @return int|null
|
353 |
*/
|
354 |
public static function getFactor($source, $target)
|
355 |
{
|
@@ -372,7 +372,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
372 |
* @param string $source
|
373 |
* @param string $target
|
374 |
*
|
375 |
-
* @return int|null
|
376 |
*/
|
377 |
public static function getFactorWithDefault($source, $target)
|
378 |
{
|
@@ -386,7 +386,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
386 |
/**
|
387 |
* Returns current config for days per week.
|
388 |
*
|
389 |
-
* @return int
|
390 |
*/
|
391 |
public static function getDaysPerWeek()
|
392 |
{
|
@@ -395,7 +395,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
395 |
/**
|
396 |
* Returns current config for hours per day.
|
397 |
*
|
398 |
-
* @return int
|
399 |
*/
|
400 |
public static function getHoursPerDay()
|
401 |
{
|
@@ -404,7 +404,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
404 |
/**
|
405 |
* Returns current config for minutes per hour.
|
406 |
*
|
407 |
-
* @return int
|
408 |
*/
|
409 |
public static function getMinutesPerHour()
|
410 |
{
|
@@ -413,7 +413,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
413 |
/**
|
414 |
* Returns current config for seconds per minute.
|
415 |
*
|
416 |
-
* @return int
|
417 |
*/
|
418 |
public static function getSecondsPerMinute()
|
419 |
{
|
@@ -422,7 +422,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
422 |
/**
|
423 |
* Returns current config for microseconds per second.
|
424 |
*
|
425 |
-
* @return int
|
426 |
*/
|
427 |
public static function getMillisecondsPerSecond()
|
428 |
{
|
@@ -431,7 +431,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
431 |
/**
|
432 |
* Returns current config for microseconds per second.
|
433 |
*
|
434 |
-
* @return int
|
435 |
*/
|
436 |
public static function getMicrosecondsPerMillisecond()
|
437 |
{
|
@@ -880,10 +880,10 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
880 |
case 'microExcludeMilli':
|
881 |
return (int) \round($this->f * Carbon::MICROSECONDS_PER_SECOND) % Carbon::MICROSECONDS_PER_MILLISECOND;
|
882 |
case 'weeks':
|
883 |
-
return (int) ($this->d / static::getDaysPerWeek());
|
884 |
case 'daysExcludeWeeks':
|
885 |
case 'dayzExcludeWeeks':
|
886 |
-
return $this->d % static::getDaysPerWeek();
|
887 |
case 'locale':
|
888 |
return $this->getTranslatorLocale();
|
889 |
default:
|
@@ -925,14 +925,14 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
925 |
$this->m = $value;
|
926 |
break;
|
927 |
case 'week':
|
928 |
-
$this->d = $value * static::getDaysPerWeek();
|
929 |
break;
|
930 |
case 'day':
|
931 |
$this->d = $value;
|
932 |
break;
|
933 |
case 'daysexcludeweek':
|
934 |
case 'dayzexcludeweek':
|
935 |
-
$this->d = $this->weeks * static::getDaysPerWeek() + $value;
|
936 |
break;
|
937 |
case 'hour':
|
938 |
$this->h = $value;
|
@@ -1784,9 +1784,11 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
1784 |
$originalData = $this->toArray();
|
1785 |
$originalData['milliseconds'] = (int) ($originalData['microseconds'] / static::getMicrosecondsPerMillisecond());
|
1786 |
$originalData['microseconds'] = $originalData['microseconds'] % static::getMicrosecondsPerMillisecond();
|
1787 |
-
$originalData['
|
|
|
1788 |
unset($originalData['days']);
|
1789 |
$newData = $originalData;
|
|
|
1790 |
foreach (self::getFlipCascadeFactors() as $source => [$target, $factor]) {
|
1791 |
foreach (['source', 'target'] as $key) {
|
1792 |
if (${$key} === 'dayz') {
|
@@ -1794,9 +1796,23 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
1794 |
}
|
1795 |
}
|
1796 |
$value = $newData[$source];
|
1797 |
-
$modulo = ($factor + $value
|
1798 |
$newData[$source] = $modulo;
|
1799 |
$newData[$target] += ($value - $modulo) / $factor;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1800 |
}
|
1801 |
$positive = null;
|
1802 |
if (!$deep) {
|
@@ -1862,8 +1878,8 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
1862 |
$cumulativeFactor = 0;
|
1863 |
$unitFound = \false;
|
1864 |
$factors = self::getFlipCascadeFactors();
|
1865 |
-
$daysPerWeek = static::getDaysPerWeek();
|
1866 |
-
$values = ['years' => $this->years, 'months' => $this->months, 'weeks' => (int) ($this->d / $daysPerWeek), 'dayz' => $this->d
|
1867 |
if (isset($factors['dayz']) && $factors['dayz'][0] !== 'weeks') {
|
1868 |
$values['dayz'] += $values['weeks'] * $daysPerWeek;
|
1869 |
$values['weeks'] = 0;
|
@@ -1904,9 +1920,10 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
|
|
1904 |
$result *= -1;
|
1905 |
}
|
1906 |
if ($unit === 'weeks') {
|
1907 |
-
|
1908 |
}
|
1909 |
-
|
|
|
1910 |
}
|
1911 |
/**
|
1912 |
* Determines if the instance is equal to another
|
349 |
* @param string $source
|
350 |
* @param string $target
|
351 |
*
|
352 |
+
* @return int|float|null
|
353 |
*/
|
354 |
public static function getFactor($source, $target)
|
355 |
{
|
372 |
* @param string $source
|
373 |
* @param string $target
|
374 |
*
|
375 |
+
* @return int|float|null
|
376 |
*/
|
377 |
public static function getFactorWithDefault($source, $target)
|
378 |
{
|
386 |
/**
|
387 |
* Returns current config for days per week.
|
388 |
*
|
389 |
+
* @return int|float
|
390 |
*/
|
391 |
public static function getDaysPerWeek()
|
392 |
{
|
395 |
/**
|
396 |
* Returns current config for hours per day.
|
397 |
*
|
398 |
+
* @return int|float
|
399 |
*/
|
400 |
public static function getHoursPerDay()
|
401 |
{
|
404 |
/**
|
405 |
* Returns current config for minutes per hour.
|
406 |
*
|
407 |
+
* @return int|float
|
408 |
*/
|
409 |
public static function getMinutesPerHour()
|
410 |
{
|
413 |
/**
|
414 |
* Returns current config for seconds per minute.
|
415 |
*
|
416 |
+
* @return int|float
|
417 |
*/
|
418 |
public static function getSecondsPerMinute()
|
419 |
{
|
422 |
/**
|
423 |
* Returns current config for microseconds per second.
|
424 |
*
|
425 |
+
* @return int|float
|
426 |
*/
|
427 |
public static function getMillisecondsPerSecond()
|
428 |
{
|
431 |
/**
|
432 |
* Returns current config for microseconds per second.
|
433 |
*
|
434 |
+
* @return int|float
|
435 |
*/
|
436 |
public static function getMicrosecondsPerMillisecond()
|
437 |
{
|
880 |
case 'microExcludeMilli':
|
881 |
return (int) \round($this->f * Carbon::MICROSECONDS_PER_SECOND) % Carbon::MICROSECONDS_PER_MILLISECOND;
|
882 |
case 'weeks':
|
883 |
+
return (int) ($this->d / (int) static::getDaysPerWeek());
|
884 |
case 'daysExcludeWeeks':
|
885 |
case 'dayzExcludeWeeks':
|
886 |
+
return $this->d % (int) static::getDaysPerWeek();
|
887 |
case 'locale':
|
888 |
return $this->getTranslatorLocale();
|
889 |
default:
|
925 |
$this->m = $value;
|
926 |
break;
|
927 |
case 'week':
|
928 |
+
$this->d = $value * (int) static::getDaysPerWeek();
|
929 |
break;
|
930 |
case 'day':
|
931 |
$this->d = $value;
|
932 |
break;
|
933 |
case 'daysexcludeweek':
|
934 |
case 'dayzexcludeweek':
|
935 |
+
$this->d = $this->weeks * (int) static::getDaysPerWeek() + $value;
|
936 |
break;
|
937 |
case 'hour':
|
938 |
$this->h = $value;
|
1784 |
$originalData = $this->toArray();
|
1785 |
$originalData['milliseconds'] = (int) ($originalData['microseconds'] / static::getMicrosecondsPerMillisecond());
|
1786 |
$originalData['microseconds'] = $originalData['microseconds'] % static::getMicrosecondsPerMillisecond();
|
1787 |
+
$originalData['weeks'] = (int) ($this->d / static::getDaysPerWeek());
|
1788 |
+
$originalData['daysExcludeWeeks'] = \fmod($this->d, static::getDaysPerWeek());
|
1789 |
unset($originalData['days']);
|
1790 |
$newData = $originalData;
|
1791 |
+
$previous = [];
|
1792 |
foreach (self::getFlipCascadeFactors() as $source => [$target, $factor]) {
|
1793 |
foreach (['source', 'target'] as $key) {
|
1794 |
if (${$key} === 'dayz') {
|
1796 |
}
|
1797 |
}
|
1798 |
$value = $newData[$source];
|
1799 |
+
$modulo = \fmod($factor + \fmod($value, $factor), $factor);
|
1800 |
$newData[$source] = $modulo;
|
1801 |
$newData[$target] += ($value - $modulo) / $factor;
|
1802 |
+
$decimalPart = \fmod($newData[$source], 1);
|
1803 |
+
if ($decimalPart !== 0.0) {
|
1804 |
+
$unit = $source;
|
1805 |
+
foreach ($previous as [$subUnit, $subFactor]) {
|
1806 |
+
$newData[$unit] -= $decimalPart;
|
1807 |
+
$newData[$subUnit] += $decimalPart * $subFactor;
|
1808 |
+
$decimalPart = \fmod($newData[$subUnit], 1);
|
1809 |
+
if ($decimalPart === 0.0) {
|
1810 |
+
break;
|
1811 |
+
}
|
1812 |
+
$unit = $subUnit;
|
1813 |
+
}
|
1814 |
+
}
|
1815 |
+
\array_unshift($previous, [$source, $factor]);
|
1816 |
}
|
1817 |
$positive = null;
|
1818 |
if (!$deep) {
|
1878 |
$cumulativeFactor = 0;
|
1879 |
$unitFound = \false;
|
1880 |
$factors = self::getFlipCascadeFactors();
|
1881 |
+
$daysPerWeek = (int) static::getDaysPerWeek();
|
1882 |
+
$values = ['years' => $this->years, 'months' => $this->months, 'weeks' => (int) ($this->d / $daysPerWeek), 'dayz' => \fmod($this->d, $daysPerWeek), 'hours' => $this->hours, 'minutes' => $this->minutes, 'seconds' => $this->seconds, 'milliseconds' => (int) ($this->microseconds / Carbon::MICROSECONDS_PER_MILLISECOND), 'microseconds' => $this->microseconds % Carbon::MICROSECONDS_PER_MILLISECOND];
|
1883 |
if (isset($factors['dayz']) && $factors['dayz'][0] !== 'weeks') {
|
1884 |
$values['dayz'] += $values['weeks'] * $daysPerWeek;
|
1885 |
$values['weeks'] = 0;
|
1920 |
$result *= -1;
|
1921 |
}
|
1922 |
if ($unit === 'weeks') {
|
1923 |
+
$result /= $daysPerWeek;
|
1924 |
}
|
1925 |
+
// Cast as int numbers with no decimal part
|
1926 |
+
return \fmod($result, 1) === 0.0 ? (int) $result : $result;
|
1927 |
}
|
1928 |
/**
|
1929 |
* Determines if the instance is equal to another
|
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php
CHANGED
@@ -138,6 +138,20 @@ trait Converter
|
|
138 |
{
|
139 |
return $this->rawFormat('M j, Y');
|
140 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
/**
|
142 |
* Format the instance as time
|
143 |
*
|
138 |
{
|
139 |
return $this->rawFormat('M j, Y');
|
140 |
}
|
141 |
+
/**
|
142 |
+
* Format the instance with the day, and a readable date
|
143 |
+
*
|
144 |
+
* @example
|
145 |
+
* ```
|
146 |
+
* echo Carbon::now()->toFormattedDayDateString();
|
147 |
+
* ```
|
148 |
+
*
|
149 |
+
* @return string
|
150 |
+
*/
|
151 |
+
public function toFormattedDayDateString() : string
|
152 |
+
{
|
153 |
+
return $this->rawFormat('D, M j, Y');
|
154 |
+
}
|
155 |
/**
|
156 |
* Format the instance as time
|
157 |
*
|
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php
CHANGED
@@ -700,13 +700,15 @@ trait Creator
|
|
700 |
/**
|
701 |
* Set last errors.
|
702 |
*
|
703 |
-
* @param array $lastErrors
|
704 |
*
|
705 |
* @return void
|
706 |
*/
|
707 |
-
private static function setLastErrors(
|
708 |
{
|
709 |
-
|
|
|
|
|
710 |
}
|
711 |
/**
|
712 |
* {@inheritdoc}
|
700 |
/**
|
701 |
* Set last errors.
|
702 |
*
|
703 |
+
* @param array|bool $lastErrors
|
704 |
*
|
705 |
* @return void
|
706 |
*/
|
707 |
+
private static function setLastErrors($lastErrors)
|
708 |
{
|
709 |
+
if (\is_array($lastErrors) || $lastErrors === \false) {
|
710 |
+
static::$lastErrors = \is_array($lastErrors) ? $lastErrors : ['warning_count' => 0, 'warnings' => [], 'error_count' => 0, 'errors' => []];
|
711 |
+
}
|
712 |
}
|
713 |
/**
|
714 |
* {@inheritdoc}
|
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('
|
10 |
-
spl_autoload_call('ProfilePressVendor\
|
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('ComposerAutoloaderInitb725de4e20fd550cc55f90c2d51990ec', false) && !interface_exists('ComposerAutoloaderInitb725de4e20fd550cc55f90c2d51990ec', false) && !trait_exists('ComposerAutoloaderInitb725de4e20fd550cc55f90c2d51990ec', false)) {
|
10 |
+
spl_autoload_call('ProfilePressVendor\ComposerAutoloaderInitb725de4e20fd550cc55f90c2d51990ec');
|
11 |
}
|
12 |
if (!class_exists('PAnD', false) && !interface_exists('PAnD', false) && !trait_exists('PAnD', false)) {
|
13 |
spl_autoload_call('ProfilePressVendor\PAnD');
|
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.1.
|
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.1.
|
17 |
|
18 |
if ( ! defined('PPRESS_STRIPE_API_VERSION')) {
|
19 |
define('PPRESS_STRIPE_API_VERSION', '2020-08-27');
|
3 |
* Plugin Name: ProfilePress
|
4 |
* Plugin URI: https://profilepress.com
|
5 |
* Description: The modern WordPress membership and user profile plugin.
|
6 |
+
* Version: 4.1.3
|
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.1.3');
|
17 |
|
18 |
if ( ! defined('PPRESS_STRIPE_API_VERSION')) {
|
19 |
define('PPRESS_STRIPE_API_VERSION', '2020-08-27');
|