Paid Memberships Pro - Version 2.3

Version Description

  • 2020-05-01 =
  • FEATURE: Added frontend login and password reset.
  • FEATURE: Added frontend user profile editing.
  • FEATURE: Added [pmpro_login] shortcode and Log In Form block.
  • FEATURE: Added [pmpro_member_profile_edit] shortcode and Member Profile Edit block.
  • FEATURE: Added "Member Log In" widget.
  • FEATURE: Added "WordPress Toolbar" Advanced Setting to hide the WordPress Toolbar from "subscriber" role.
  • FEATURE: Added "WordPress Dashboard" Advanced Setting to block dashboard access for the "subscriber" role.
  • FEATURE: Added new Admin Activity Email. Weekly emails to the site admin with sales stats and other info. Change how often the email is sent or disable it from the advanced settings tab.
  • FEATURE: Added Beaver Builder module compatibility to restrict modules by membership level.
  • FEATURE: Created new REST API endpoints and extended existing endpoints.
  • FEATURE: Updated Elementor code to allow for restriction of "sections" as well.
  • BUG FIX: Updated all timestamp code to be compatible with WordPress v5.4+ which fixes issues where orders could lose one hour or one day when saved.
  • BUG FIX: Updated logic to filter body_class on pages with Membership Account shortcode or any "section" of the shortcode displayed.
  • BUG FIX: Improved pmpro_getAllLevels function to cache even when force is true. This saves multiple DB hits per page load.
  • BUG FIX/ENHANCEMENT: Cancellation report now calculates based on membership enddate.
  • BUG FIX/ENHANCEMENT: Fixed warnings and errors in PHP 7.4+.
  • BUG FIX/ENHANCEMENT: Now allowing translation for text generated by JavaScript.
  • BUG FIX/ENHANCEMENT: Updated all uses of "Email" to remove the hyphen.
  • BUG FIX/ENHANCEMENT: Updated to default to international addresses on Billing Information page. Fixes a bug with the State Dropdown Add-On.
  • BUG FIX/ENHANCEMENT: Now treating "recurring_payment_failed" transactions from PayPal IPN as cancellations. PMPro will cancel membership and attempt to cancel the associated subscription.
  • ENHANCEMENT: Added membership level class for the PMPro_Membership_Level object. This is currently only used in the REST API calls, but will eventually be used whenever interacting with a membership level object or array.
  • ENHANCEMENT: Added discount code class for the PMPro_Discount_Code object. This is currently only used in the REST API calls, but will eventually be used whnever interacting with a discount code object or array.
  • ENHANCEMENT: Now allowing all users and members access to the Membership Account page.
  • ENHANCEMENT: Updating logic for all redirects from core pages like Invoices, Billing, and Cancel to allow past members to access their data. Generally more often redirecting where you would expect to in different situations.
  • ENHANCEMENT: Several core frontend page style improvements for responsive displays and gateway-dependent fields.
  • ENHANCEMENT: Added getSubscriptionStatus method to the Stripe gateway API class. This fixes issues with the PMPro Subscription Check Add-On.
  • ENHANCEMENT: Added !!levels_page_url!! and !!login_url!! as replacement variables in Advanced Settings > Message Settings. Using these by default on new installs.
  • ENHANCEMENT: Improved Block Editor code and webpack configuration.
  • ENHANCEMENT: Added support for PMPRO_AUTHNET_SILENT_POST_DEBUG to "log" data to /logs/ or send an email to an email address different from the site admin.
  • ENHANCEMENT: Added time fields to Memberships > Orders admin page when vieweing, updating or saving an order.
  • ENHANCEMENT: Added pmpro_admin_orders_filters and pmpro_admin_orders_query_condition filters to add new filters to the orders page in the dashboard. (Thanks, Mirco Babini)
  • ENHANCEMENT: Added an SVG icon to the PMPro blocks category.
  • REFACTOR: Improved the Members List list table code to use a function for each column of data and support the code core WP methods for extending list tables with custom columns.
  • REFACTOR: Moved all Theme My Login compatiblity code to includes/compatibility/theme-my-login.php and only loading if plugin is active.
Download this release

Release Info

Developer strangerstudios
Plugin Icon 128x128 Paid Memberships Pro
Version 2.3
Comparing to
See all releases

Code changes from version 2.2.6 to 2.3

Files changed (141) hide show
  1. CHANGELOG.txt +38 -2
  2. adminpages/advancedsettings.php +406 -326
  3. adminpages/dashboard.php +11 -5
  4. adminpages/discountcodes.php +17 -15
  5. adminpages/license.php +4 -4
  6. adminpages/orders.php +50 -29
  7. adminpages/pagesettings.php +110 -2
  8. adminpages/reports/memberships.php +22 -22
  9. adminpages/reports/sales.php +41 -21
  10. blocks/account-invoices-section/block.js +6 -24
  11. blocks/account-invoices-section/editor.css +0 -19
  12. blocks/account-links-section/block.js +6 -24
  13. blocks/account-links-section/editor.css +0 -19
  14. blocks/account-membership-section/block.js +6 -24
  15. blocks/account-membership-section/editor.css +0 -19
  16. blocks/account-page/block.js +5 -21
  17. blocks/account-page/editor.css +0 -19
  18. blocks/account-page/inspector.js +5 -6
  19. blocks/account-profile-section/block.js +6 -24
  20. blocks/account-profile-section/editor.css +0 -19
  21. blocks/billing-page/block.js +6 -24
  22. blocks/billing-page/editor.css +0 -19
  23. blocks/blocks.js +90 -0
  24. blocks/blocks.php +8 -1
  25. blocks/cancel-page/block.js +6 -24
  26. blocks/cancel-page/editor.css +0 -19
  27. blocks/checkout-button/block.js +4 -14
  28. blocks/checkout-button/editor.css +0 -27
  29. blocks/checkout-button/inspector.js +4 -5
  30. blocks/checkout-page/block.js +5 -14
  31. blocks/checkout-page/editor.css +0 -22
  32. blocks/checkout-page/inspector.js +1 -1
  33. blocks/confirmation-page/block.js +6 -24
  34. blocks/confirmation-page/editor.css +0 -19
  35. blocks/invoice-page/block.js +6 -24
  36. blocks/invoice-page/editor.css +0 -19
  37. blocks/levels-page/block.js +6 -24
  38. blocks/levels-page/editor.css +0 -19
  39. blocks/login/block.js +55 -0
  40. blocks/login/block.php +62 -0
  41. blocks/login/inspector.js +60 -0
  42. blocks/member-profile-edit/block.js +43 -0
  43. blocks/member-profile-edit/block.php +48 -0
  44. blocks/membership/block.js +21 -22
  45. blocks/membership/editor.css +0 -14
  46. classes/class-pmpro-admin-activity-email.php +418 -0
  47. classes/class-pmpro-discount-codes.php +285 -0
  48. classes/class-pmpro-levels.php +262 -0
  49. classes/class-pmpro-members-list-table.php +167 -284
  50. classes/class.memberorder.php +22 -10
  51. classes/class.pmproemail.php +17 -17
  52. classes/gateways/class.pmprogateway_paypalexpress.php +7 -6
  53. classes/gateways/class.pmprogateway_stripe.php +16 -1
  54. css/blocks.editor.css +87 -13
  55. css/frontend.css +186 -14
  56. includes/admin.php +15 -24
  57. includes/adminpages.php +5 -1
  58. includes/compatibility.php +10 -0
  59. includes/compatibility/beaver-builder.php +152 -0
  60. includes/compatibility/elementor/class-pmpro-elementor-content-restriction.php +55 -12
  61. includes/compatibility/elementor/class-pmpro-elementor.php +4 -0
  62. includes/compatibility/theme-my-login.php +98 -0
  63. includes/compatibility/woocommerce.php +25 -0
  64. includes/content.php +3 -3
  65. includes/email.php +4 -1
  66. includes/functions.php +63 -13
  67. includes/https.php +68 -86
  68. includes/init.php +6 -1
  69. includes/lib/name-parser.php +2 -2
  70. includes/login.php +873 -135
  71. includes/menus.php +255 -0
  72. includes/notifications.php +4 -1
  73. includes/profile.php +318 -18
  74. includes/rest-api.php +484 -16
  75. includes/scripts.php +25 -0
  76. includes/updates/upgrade_1.php +3 -4
  77. includes/upgradecheck.php +11 -6
  78. includes/widgets.php +135 -0
  79. js/blocks.build.js +1 -0
  80. js/editor.blocks.js +0 -1
  81. js/pmpro-login.js +63 -0
  82. languages/paid-memberships-pro-ca.mo +0 -0
  83. languages/paid-memberships-pro-ca.po +3 -3
  84. languages/paid-memberships-pro-ca_AD.mo +0 -0
  85. languages/paid-memberships-pro-ca_AD.po +3 -3
  86. languages/paid-memberships-pro-ca_ES.mo +0 -0
  87. languages/paid-memberships-pro-ca_ES.po +3 -3
  88. languages/paid-memberships-pro-cs_CZ.mo +0 -0
  89. languages/paid-memberships-pro-cs_CZ.po +3 -3
  90. languages/paid-memberships-pro-da_DK.mo +0 -0
  91. languages/paid-memberships-pro-da_DK.po +3 -3
  92. languages/paid-memberships-pro-de_DE.mo +0 -0
  93. languages/paid-memberships-pro-de_DE.po +3 -3
  94. languages/paid-memberships-pro-el_GR.mo +0 -0
  95. languages/paid-memberships-pro-el_GR.po +3 -3
  96. languages/paid-memberships-pro-en_GB.mo +0 -0
  97. languages/paid-memberships-pro-en_GB.po +3 -3
  98. languages/paid-memberships-pro-es_CL.mo +0 -0
  99. languages/paid-memberships-pro-es_CL.po +3 -3
  100. languages/paid-memberships-pro-es_CL.pot +3 -3
  101. languages/paid-memberships-pro-es_ES.mo +0 -0
  102. languages/paid-memberships-pro-es_ES.po +3 -3
  103. languages/paid-memberships-pro-es_ES.pot +3 -3
  104. languages/paid-memberships-pro-es_PE.mo +0 -0
  105. languages/paid-memberships-pro-es_PE.po +3 -3
  106. languages/paid-memberships-pro-es_PE.pot +3 -3
  107. languages/paid-memberships-pro-et_EE.mo +0 -0
  108. languages/paid-memberships-pro-et_EE.po +3 -3
  109. languages/paid-memberships-pro-fa_IR.mo +0 -0
  110. languages/paid-memberships-pro-fa_IR.po +3 -3
  111. languages/paid-memberships-pro-fi.mo +0 -0
  112. languages/paid-memberships-pro-fi.po +3 -3
  113. languages/paid-memberships-pro-fr_FR.mo +0 -0
  114. languages/paid-memberships-pro-fr_FR.po +3 -3
  115. languages/paid-memberships-pro-he_IL.mo +0 -0
  116. languages/paid-memberships-pro-he_IL.po +3 -3
  117. languages/paid-memberships-pro-it_IT.mo +0 -0
  118. languages/paid-memberships-pro-it_IT.po +3 -3
  119. languages/paid-memberships-pro-nb_NO.mo +0 -0
  120. languages/paid-memberships-pro-nb_NO.po +3 -3
  121. languages/paid-memberships-pro-nl_NL.mo +0 -0
  122. languages/paid-memberships-pro-nl_NL.po +3 -3
  123. languages/paid-memberships-pro-pt_BR.mo +0 -0
  124. languages/paid-memberships-pro-pt_BR.po +3 -3
  125. languages/paid-memberships-pro-pt_PT.mo +0 -0
  126. languages/paid-memberships-pro-pt_PT.po +3 -3
  127. languages/paid-memberships-pro-sk_SK.mo +0 -0
  128. languages/paid-memberships-pro-sk_SK.po +3 -3
  129. languages/paid-memberships-pro-sr_RS.mo +0 -0
  130. languages/paid-memberships-pro-sr_RS.po +3 -3
  131. languages/paid-memberships-pro-sv_SE.mo +0 -0
  132. languages/paid-memberships-pro-sv_SE.po +3 -3
  133. languages/paid-memberships-pro-tr_TR.mo +0 -0
  134. languages/paid-memberships-pro-tr_TR.po +3 -3
  135. languages/paid-memberships-pro-vi_VN.mo +0 -0
  136. languages/paid-memberships-pro-vi_VN.po +3 -3
  137. languages/paid-memberships-pro-zh_HK.mo +0 -0
  138. languages/paid-memberships-pro-zh_HK.po +3 -3
  139. languages/paid-memberships-pro.mo +0 -0
  140. languages/paid-memberships-pro.po +1495 -1002
  141. languages/paid-memberships-pro.pot +327 -253
CHANGELOG.txt CHANGED
@@ -1,4 +1,40 @@
1
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  = 2.2.6 - 2020-02-20 =
3
  * SECURITY: Escaping the post title shown in the Terms of Service section of the checkout page.
4
  * BUG FIX: Fixed issue where the CVV/Security Code was not being passed to Authorize.net when using that gateway.
@@ -203,13 +239,13 @@
203
  * BUG FIX/ENHANCEMENT: Brought back the Stripe Billing limit warnings. Here is a plugin to get billing limits working with Stripe https://github.com/strangerstudios/pmpro-stripe-billing-limits/blob/master/pmpro-stripe-billing-limits.php
204
  * FEATURE: Gutenberg / v5.0 Editor Blocks for Paid Memberships Pro pages, the Checkout Button and Membership "shortcode" functionality.
205
  * FEATURE: Added new "Dashboard" page and adjusted the entire menu structure for "Memberships".
206
- * FEATURE: Created new compatibility checks and included compatability functions for Beaver Builder, Elementor, and SiteOrigin Page Builder.
207
  * FEATURE: Added REST API routes for post membership access, and user membership level.
208
  * FEATURE: Added option to include the level's Confirmation Message in the Confirmation Email.
209
  * FEATURE: Added a filter by discount code to Memberships and Sales reports.
210
  * FEATURE: Added a filter by discount code to the Orders admin page.
211
  * FEATURE: Added a "Copy" option to discount codes.
212
- * FEATURE: Now allowing you to edit or add a discount code to a single Order edit.
213
  * FEATURE: Added the ability to export orders by discount code used.
214
  * FEATURE: Added new file for deprecated functions or hooks.
215
  * ENHANCEMENT: Moved "Memberships" menu page up in sidebar below Comments.
1
  == Changelog ==
2
+ = 2.3 - 2020-05-01 =
3
+ * FEATURE: Added frontend login and password reset.
4
+ * FEATURE: Added frontend user profile editing.
5
+ * FEATURE: Added [pmpro_login] shortcode and Log In Form block.
6
+ * FEATURE: Added [pmpro_member_profile_edit] shortcode and Member Profile Edit block.
7
+ * FEATURE: Added "Member Log In" widget.
8
+ * FEATURE: Added "WordPress Toolbar" Advanced Setting to hide the WordPress Toolbar from "subscriber" role.
9
+ * FEATURE: Added "WordPress Dashboard" Advanced Setting to block dashboard access for the "subscriber" role.
10
+ * FEATURE: Added new Admin Activity Email. Weekly emails to the site admin with sales stats and other info. Change how often the email is sent or disable it from the advanced settings tab.
11
+ * FEATURE: Added Beaver Builder module compatibility to restrict modules by membership level.
12
+ * FEATURE: Created new REST API endpoints and extended existing endpoints.
13
+ * FEATURE: Updated Elementor code to allow for restriction of "sections" as well.
14
+ * BUG FIX: Updated all timestamp code to be compatible with WordPress v5.4+ which fixes issues where orders could lose one hour or one day when saved.
15
+ * BUG FIX: Updated logic to filter body_class on pages with Membership Account shortcode or any "section" of the shortcode displayed.
16
+ * BUG FIX: Improved `pmpro_getAllLevels` function to cache even when `force` is `true`. This saves multiple DB hits per page load.
17
+ * BUG FIX/ENHANCEMENT: Cancellation report now calculates based on membership enddate.
18
+ * BUG FIX/ENHANCEMENT: Fixed warnings and errors in PHP 7.4+.
19
+ * BUG FIX/ENHANCEMENT: Now allowing translation for text generated by JavaScript.
20
+ * BUG FIX/ENHANCEMENT: Updated all uses of "Email" to remove the hyphen.
21
+ * BUG FIX/ENHANCEMENT: Updated to default to international addresses on Billing Information page. Fixes a bug with the State Dropdown Add-On.
22
+ * BUG FIX/ENHANCEMENT: Now treating "recurring_payment_failed" transactions from PayPal IPN as cancellations. PMPro will cancel membership and attempt to cancel the associated subscription.
23
+ * ENHANCEMENT: Added membership level class for the `PMPro_Membership_Level` object. This is currently only used in the REST API calls, but will eventually be used whenever interacting with a membership level object or array.
24
+ * ENHANCEMENT: Added discount code class for the `PMPro_Discount_Code` object. This is currently only used in the REST API calls, but will eventually be used whnever interacting with a discount code object or array.
25
+ * ENHANCEMENT: Now allowing all users and members access to the Membership Account page.
26
+ * ENHANCEMENT: Updating logic for all redirects from core pages like Invoices, Billing, and Cancel to allow past members to access their data. Generally more often redirecting where you would expect to in different situations.
27
+ * ENHANCEMENT: Several core frontend page style improvements for responsive displays and gateway-dependent fields.
28
+ * ENHANCEMENT: Added `getSubscriptionStatus` method to the Stripe gateway API class. This fixes issues with the PMPro Subscription Check Add-On.
29
+ * ENHANCEMENT: Added !!levels_page_url!! and !!login_url!! as replacement variables in Advanced Settings > Message Settings. Using these by default on new installs.
30
+ * ENHANCEMENT: Improved Block Editor code and webpack configuration.
31
+ * ENHANCEMENT: Added support for `PMPRO_AUTHNET_SILENT_POST_DEBUG` to "log" data to /logs/ or send an email to an email address different from the site admin.
32
+ * ENHANCEMENT: Added time fields to Memberships > Orders admin page when vieweing, updating or saving an order.
33
+ * ENHANCEMENT: Added pmpro_admin_orders_filters and pmpro_admin_orders_query_condition filters to add new filters to the orders page in the dashboard. (Thanks, Mirco Babini)
34
+ * ENHANCEMENT: Added an SVG icon to the PMPro blocks category.
35
+ * REFACTOR: Improved the Members List list table code to use a function for each column of data and support the code core WP methods for extending list tables with custom columns.
36
+ * REFACTOR: Moved all Theme My Login compatiblity code to includes/compatibility/theme-my-login.php and only loading if plugin is active.
37
+
38
  = 2.2.6 - 2020-02-20 =
39
  * SECURITY: Escaping the post title shown in the Terms of Service section of the checkout page.
40
  * BUG FIX: Fixed issue where the CVV/Security Code was not being passed to Authorize.net when using that gateway.
239
  * BUG FIX/ENHANCEMENT: Brought back the Stripe Billing limit warnings. Here is a plugin to get billing limits working with Stripe https://github.com/strangerstudios/pmpro-stripe-billing-limits/blob/master/pmpro-stripe-billing-limits.php
240
  * FEATURE: Gutenberg / v5.0 Editor Blocks for Paid Memberships Pro pages, the Checkout Button and Membership "shortcode" functionality.
241
  * FEATURE: Added new "Dashboard" page and adjusted the entire menu structure for "Memberships".
242
+ * FEATURE: Created new compatibility checks and included compatability functions for Beaver Builder, Elementor, and SiteOrigin Page Builder.
243
  * FEATURE: Added REST API routes for post membership access, and user membership level.
244
  * FEATURE: Added option to include the level's Confirmation Message in the Confirmation Email.
245
  * FEATURE: Added a filter by discount code to Memberships and Sales reports.
246
  * FEATURE: Added a filter by discount code to the Orders admin page.
247
  * FEATURE: Added a "Copy" option to discount codes.
248
+ * FEATURE: Now allowing you to edit or add a discount code to a single Order edit.
249
  * FEATURE: Added the ability to export orders by discount code used.
250
  * FEATURE: Added new file for deprecated functions or hooks.
251
  * ENHANCEMENT: Moved "Memberships" menu page up in sidebar below Comments.
adminpages/advancedsettings.php CHANGED
@@ -17,7 +17,12 @@
17
  //get/set settings
18
  if(!empty($_REQUEST['savesettings']))
19
  {
20
- //handle the text settings for better security handling
 
 
 
 
 
21
  $nonmembertext = wp_kses(wp_unslash($_POST['nonmembertext']), $allowedposttags);
22
  update_option('pmpro_nonmembertext', $nonmembertext);
23
 
@@ -27,25 +32,25 @@
27
  $rsstext = wp_kses(wp_unslash($_POST['rsstext']), $allowedposttags);
28
  update_option('pmpro_rsstext', $rsstext);
29
 
30
- //other settings
31
  pmpro_setOption("filterqueries");
32
- pmpro_setOption("showexcerpts");
33
- pmpro_setOption("hideads");
34
- pmpro_setOption("hideadslevels");
35
- pmpro_setOption("redirecttosubscription");
36
- pmpro_setOption("maxnotificationpriority");
37
 
38
- //captcha
 
39
  pmpro_setOption("recaptcha");
40
  pmpro_setOption("recaptcha_version");
41
  pmpro_setOption("recaptcha_publickey");
42
- pmpro_setOption("recaptcha_privatekey");
43
 
44
- //tos
45
- pmpro_setOption("tospage");
 
46
 
47
- //footer link
48
- pmpro_setOption("hide_footer_link");
 
 
49
 
50
  /**
51
  * Filter to add custom settings to the advanced settings page.
@@ -57,41 +62,51 @@
57
  pmpro_setOption($setting['field_name']);
58
  }
59
 
60
- //assume success
61
  $msg = true;
62
  $msgt = __("Your advanced settings have been updated.", 'paid-memberships-pro' );
63
  }
64
 
 
 
 
 
 
65
  $nonmembertext = pmpro_getOption("nonmembertext");
66
  $notloggedintext = pmpro_getOption("notloggedintext");
67
  $rsstext = pmpro_getOption("rsstext");
68
- $hideads = pmpro_getOption("hideads");
69
- $filterqueries = pmpro_getOption('filterqueries');
70
- $showexcerpts = pmpro_getOption("showexcerpts");
71
- $hideadslevels = pmpro_getOption("hideadslevels");
72
- $maxnotificationpriority = pmpro_getOption("maxnotificationpriority");
73
-
74
- if(is_multisite())
75
- $redirecttosubscription = pmpro_getOption("redirecttosubscription");
76
 
 
 
77
  $recaptcha = pmpro_getOption("recaptcha");
78
  $recaptcha_version = pmpro_getOption("recaptcha_version");
79
  $recaptcha_publickey = pmpro_getOption("recaptcha_publickey");
80
  $recaptcha_privatekey = pmpro_getOption("recaptcha_privatekey");
81
 
82
- $tospage = pmpro_getOption("tospage");
 
 
83
 
84
- $hide_footer_link = pmpro_getOption("hide_footer_link");
 
 
 
 
 
85
 
86
- //default settings
87
  if(!$nonmembertext)
88
  {
89
- $nonmembertext = sprintf( __( 'This content is for !!levels!! members only. <a href="%s">Register here</a>.', 'paid-memberships-pro' ), wp_login_url() . "?action=register" );
90
  pmpro_setOption("nonmembertext", $nonmembertext);
91
  }
92
  if(!$notloggedintext)
93
  {
94
- $notloggedintext = sprintf( __( 'Please <a href="%s">login</a> to view this content. (<a href="%s">Register here</a>.)', 'paid-memberships-pro' ), wp_login_url( get_permalink() ), wp_login_url() . "?action=register" );
95
  pmpro_setOption("notloggedintext", $notloggedintext);
96
  }
97
  if(!$rsstext)
@@ -102,6 +117,10 @@
102
 
103
  $levels = $wpdb->get_results( "SELECT * FROM {$wpdb->pmpro_membership_levels}", OBJECT );
104
 
 
 
 
 
105
  require_once(dirname(__FILE__) . "/admin_header.php");
106
  ?>
107
 
@@ -110,318 +129,379 @@
110
 
111
  <h1 class="wp-heading-inline"><?php esc_html_e( 'Advanced Settings', 'paid-memberships-pro' ); ?></h1>
112
  <hr class="wp-header-end">
113
-
114
- <table class="form-table">
115
- <tbody>
116
- <tr>
117
- <th scope="row" valign="top">
118
- <label for="nonmembertext"><?php _e('Message for Logged-in Non-members', 'paid-memberships-pro' );?>:</label>
119
- </th>
120
- <td>
121
- <textarea name="nonmembertext" rows="3" cols="50" class="large-text"><?php echo stripslashes($nonmembertext)?></textarea>
122
- <p class="description"><?php _e('This message replaces the post content for non-members. Available variables', 'paid-memberships-pro' );?>: !!levels!!, !!referrer!!</p>
123
- </td>
124
- </tr>
125
- <tr>
126
- <th scope="row" valign="top">
127
- <label for="notloggedintext"><?php _e('Message for Logged-out Users', 'paid-memberships-pro' );?>:</label>
128
- </th>
129
- <td>
130
- <textarea name="notloggedintext" rows="3" cols="50" class="large-text"><?php echo stripslashes($notloggedintext)?></textarea>
131
- <p class="description"><?php _e('This message replaces the post content for logged-out visitors.', 'paid-memberships-pro' );?></p>
132
- </td>
133
- </tr>
134
- <tr>
135
- <th scope="row" valign="top">
136
- <label for="rsstext"><?php _e('Message for RSS Feed', 'paid-memberships-pro' );?>:</label>
137
- </th>
138
- <td>
139
- <textarea name="rsstext" rows="3" cols="50" class="large-text"><?php echo stripslashes($rsstext)?></textarea>
140
- <p class="description"><?php _e('This message replaces the post content in RSS feeds.', 'paid-memberships-pro' );?></p>
141
- </td>
142
- </tr>
143
- </tbody>
144
- </table>
145
  <hr />
146
- <h2 class="title"><?php esc_html_e( 'Content Settings', 'paid-memberships-pro' ); ?></h2>
147
- <table class="form-table">
148
- <tbody>
149
- <tr>
150
- <th scope="row" valign="top">
151
- <label for="filterqueries"><?php _e("Filter searches and archives?", 'paid-memberships-pro' );?></label>
152
- </th>
153
- <td>
154
- <select id="filterqueries" name="filterqueries">
155
- <option value="0" <?php if(!$filterqueries) { ?>selected="selected"<?php } ?>><?php _e('No - Non-members will see restricted posts/pages in searches and archives.', 'paid-memberships-pro' );?></option>
156
- <option value="1" <?php if($filterqueries == 1) { ?>selected="selected"<?php } ?>><?php _e('Yes - Only members will see restricted posts/pages in searches and archives.', 'paid-memberships-pro' );?></option>
157
- </select>
158
- </td>
159
- </tr>
160
- <tr>
161
- <th scope="row" valign="top">
162
- <label for="showexcerpts"><?php _e('Show Excerpts to Non-Members?', 'paid-memberships-pro' );?></label>
163
- </th>
164
- <td>
165
- <select id="showexcerpts" name="showexcerpts">
166
- <option value="0" <?php if(!$showexcerpts) { ?>selected="selected"<?php } ?>><?php _e('No - Hide excerpts.', 'paid-memberships-pro' );?></option>
167
- <option value="1" <?php if($showexcerpts == 1) { ?>selected="selected"<?php } ?>><?php _e('Yes - Show excerpts.', 'paid-memberships-pro' );?></option>
168
- </select>
169
- </td>
170
- </tr>
171
- </tbody>
172
- </table>
 
 
 
 
 
 
 
173
  <hr />
174
- <h2 class="title"><?php esc_html_e( 'reCAPTCHA Settings', 'paid-memberships-pro' ); ?></h2>
175
- <table class="form-table">
176
- <tbody>
177
- <tr>
178
- <th scope="row" valign="top">
179
- <label for="recaptcha"><?php _e('Use reCAPTCHA?', 'paid-memberships-pro' );?>:</label>
180
- </th>
181
- <td>
182
- <select id="recaptcha" name="recaptcha" onchange="pmpro_updateRecaptchaTRs();">
183
- <option value="0" <?php if(!$recaptcha) { ?>selected="selected"<?php } ?>><?php _e('No', 'paid-memberships-pro' );?></option>
184
- <option value="1" <?php if($recaptcha == 1) { ?>selected="selected"<?php } ?>><?php _e('Yes - Free memberships only.', 'paid-memberships-pro' );?></option>
185
- <option value="2" <?php if($recaptcha == 2) { ?>selected="selected"<?php } ?>><?php _e('Yes - All memberships.', 'paid-memberships-pro' );?></option>
186
- </select>
187
- <p class="description"><?php _e('A free reCAPTCHA key is required.', 'paid-memberships-pro' );?> <a href="https://www.google.com/recaptcha/admin/create"><?php _e('Click here to signup for reCAPTCHA', 'paid-memberships-pro' );?></a>.</p>
188
- </td>
189
- </tr>
190
- </tbody>
191
- </table>
192
- <table class="form-table" id="recaptcha_settings" <?php if(!$recaptcha) { ?>style="display: none;"<?php } ?>>
193
- <tbody>
194
- <tr>
195
- <th scope="row" valign="top"><label for="recaptcha_version"><?php _e( 'reCAPTCHA Version', 'paid-memberships-pro' );?>:</label></th>
196
- <td>
197
- <select id="recaptcha_version" name="recaptcha_version">
198
- <option value="2_checkbox" <?php selected( '2_checkbox', $recaptcha_version ); ?>><?php _e( ' v2 - Checkbox', 'paid-memberships-pro' ); ?></option>
199
- <option value="3_invisible" <?php selected( '3_invisible', $recaptcha_version ); ?>><?php _e( 'v3 - Invisible', 'paid-memberships-pro' ); ?></option>
200
- </select>
201
- <p class="description"><?php _e( 'Changing your version will require new API keys.', 'paid-memberships-pro' ); ?></p>
202
- </td>
203
- </tr>
204
- <tr>
205
- <th scope="row"><label for="recaptcha_publickey"><?php _e('reCAPTCHA Site Key', 'paid-memberships-pro' );?>:</label></th>
206
- <td>
207
- <input type="text" id="recaptcha_publickey" name="recaptcha_publickey" value="<?php echo esc_attr($recaptcha_publickey);?>" class="regular-text code" />
208
- </td>
209
- </tr>
210
- <tr>
211
- <th scope="row"><label for="recaptcha_privatekey"><?php _e('reCAPTCHA Secret Key', 'paid-memberships-pro' );?>:</label></th>
212
- <td>
213
- <input type="text" id="recaptcha_privatekey" name="recaptcha_privatekey" value="<?php echo esc_attr($recaptcha_privatekey);?>" class="regular-text code" />
214
- </td>
215
- </tr>
216
- </tbody>
217
- </table>
218
  <hr />
219
- <h2 clas="title"><?php esc_html_e( 'Other Settings', 'paid-memberships-pro' ); ?></h2>
220
- <table class="form-table">
221
- <tbody>
222
- <tr>
223
- <th scope="row" valign="top">
224
- <label for="hideads"><?php _e("Hide Ads From Members?", 'paid-memberships-pro' );?></label>
225
- </th>
226
- <td>
227
- <select id="hideads" name="hideads" onchange="pmpro_updateHideAdsTRs();">
228
- <option value="0" <?php if(!$hideads) { ?>selected="selected"<?php } ?>><?php _e('No', 'paid-memberships-pro' );?></option>
229
- <option value="1" <?php if($hideads == 1) { ?>selected="selected"<?php } ?>><?php _e('Hide Ads From All Members', 'paid-memberships-pro' );?></option>
230
- <option value="2" <?php if($hideads == 2) { ?>selected="selected"<?php } ?>><?php _e('Hide Ads From Certain Members', 'paid-memberships-pro' );?></option>
231
- </select>
232
- </td>
233
- </tr>
234
- <tr id="hideads_explanation" <?php if($hideads < 2) { ?>style="display: none;"<?php } ?>>
235
- <th scope="row" valign="top">&nbsp;</th>
236
- <td>
237
- <p><?php _e('Ads from the following plugins will be automatically turned off', 'paid-memberships-pro' );?>: <em>Easy Adsense</em>, ...</p>
238
- <p><?php _e('To hide ads in your template code, use code like the following', 'paid-memberships-pro' );?>:</p>
239
- <pre lang="PHP">
240
- if ( pmpro_displayAds() ) {
241
- //insert ad code here
242
- }</pre>
243
- </td>
244
- </tr>
245
- <tr>
246
- <th><?php _e( 'Notifications', 'paid-memberships-pro' ); ?></th>
247
- <td>
248
- <select name="maxnotificationpriority">
249
- <option value="5" <?php selected( $maxnotificationpriority, 5 ); ?>>
250
- <?php _e( 'Show all notifications.', 'paid-memberships-pro' ); ?>
251
- </option>
252
- <option value="1" <?php selected( $maxnotificationpriority, 1 ); ?>>
253
- <?php _e( 'Show only security notifications.', 'paid-memberships-pro' ); ?>
254
- </option>
255
- </select>
256
- <br />
257
- <p class="description"><?php _e('Notifications are occasionally shown on the Paid Memberships Pro settings pages.', 'paid-memberships-pro' );?></p>
258
- </td>
259
- </tr>
260
- <tr id="hideadslevels_tr" <?php if($hideads != 2) { ?>style="display: none;"<?php } ?>>
261
- <th scope="row" valign="top">
262
- <label for="hideadslevels"><?php _e('Choose Levels to Hide Ads From', 'paid-memberships-pro' );?>:</label>
263
- </th>
264
- <td>
265
- <div class="checkbox_box" <?php if(count($levels) > 5) { ?>style="height: 100px; overflow: auto;"<?php } ?>>
266
  <?php
267
- $hideadslevels = pmpro_getOption("hideadslevels");
268
- if(!is_array($hideadslevels))
269
- $hideadslevels = explode(",", $hideadslevels);
270
-
271
- $sqlQuery = "SELECT * FROM $wpdb->pmpro_membership_levels ";
272
- $levels = $wpdb->get_results($sqlQuery, OBJECT);
273
- foreach($levels as $level)
274
- {
275
  ?>
276
- <div class="clickable"><input type="checkbox" id="hideadslevels_<?php echo $level->id?>" name="hideadslevels[]" value="<?php echo $level->id?>" <?php if(in_array($level->id, $hideadslevels)) { ?>checked="checked"<?php } ?>> <?php echo $level->name?></div>
277
- <?php
278
- }
279
- ?>
280
- </div>
281
- <script>
282
- jQuery('.checkbox_box input').click(function(event) {
283
- event.stopPropagation()
284
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
285
 
286
- jQuery('.checkbox_box div.clickable').click(function() {
287
- var checkbox = jQuery(this).find(':checkbox');
288
- checkbox.attr('checked', !checkbox.attr('checked'));
289
- });
290
- </script>
291
- </td>
292
- </tr>
293
- <?php if(is_multisite()) { ?>
294
- <tr>
295
- <th scope="row" valign="top">
296
- <label for="redirecttosubscription"><?php _e('Redirect all traffic from registration page to /susbcription/?', 'paid-memberships-pro' );?>: <em>(<?php _e('multisite only', 'paid-memberships-pro' );?>)</em></label>
297
- </th>
298
- <td>
299
- <select id="redirecttosubscription" name="redirecttosubscription">
300
- <option value="0" <?php if(!$redirecttosubscription) { ?>selected="selected"<?php } ?>><?php _e('No', 'paid-memberships-pro' );?></option>
301
- <option value="1" <?php if($redirecttosubscription == 1) { ?>selected="selected"<?php } ?>><?php _e('Yes', 'paid-memberships-pro' );?></option>
302
- </select>
303
- </td>
304
- </tr>
305
- <?php } ?>
306
- <tr>
307
- <th scope="row" valign="top">
308
- <label for="tospage"><?php _e('Require Terms of Service on signups?', 'paid-memberships-pro' );?></label>
309
- </th>
310
- <td>
311
- <?php
312
- wp_dropdown_pages(array("name"=>"tospage", "show_option_none"=>"No", "selected"=>$tospage));
313
- ?>
314
- <br />
315
- <p class="description"><?php _e('If yes, create a WordPress page containing your TOS agreement and assign it using the dropdown above.', 'paid-memberships-pro' );?></p>
316
- </td>
317
- </tr>
318
 
319
- <?php
320
- // Filter to Add More Advanced Settings for Misc Plugin Options, etc.
321
- if (has_action('pmpro_custom_advanced_settings')) {
322
- $custom_fields = apply_filters('pmpro_custom_advanced_settings', array());
323
- foreach ($custom_fields as $field) {
324
- ?>
325
- <tr>
326
- <th valign="top" scope="row">
327
- <label
328
- for="<?php echo esc_attr( $field['field_name'] ); ?>"><?php echo esc_textarea( $field['label'] ); ?></label>
329
- </th>
330
- <td>
331
- <?php
332
- switch ($field['field_type']) {
333
- case 'select':
334
- ?>
335
- <select id="<?php echo esc_attr( $field['field_name'] ); ?>"
336
- name="<?php echo esc_attr( $field['field_name'] ); ?>">
337
- <?php
338
- //For associative arrays, we use the array keys as values. For numerically indexed arrays, we use the array values.
339
- $is_associative = (bool)count(array_filter(array_keys($field['options']), 'is_string'));
340
- foreach ($field['options'] as $key => $option) {
341
- if(!$is_associative) $key = $option;
342
- ?>
343
- <option value="<?php echo esc_attr($key); ?>" <?php selected($key, pmpro_getOption($field['field_name']));?>>
344
- <?php echo esc_textarea($option); ?>
345
- </option>
346
- <?php
347
- }
348
- ?>
349
- </select>
350
- <?php
351
- break;
352
- case 'text':
353
- ?>
354
- <input id="<?php echo esc_attr( $field['field_name'] ); ?>"
355
- name="<?php echo esc_attr( $field['field_name'] ); ?>"
356
- type="<?php echo esc_attr( $field['field_type'] ); ?>"
357
- value="<?php echo esc_attr(pmpro_getOption($field['field_name'])); ?> "
358
- class="regular-text">
359
- <?php
360
- break;
361
- case 'textarea':
362
- ?>
363
- <textarea id="<?php echo esc_attr( $field['field_name'] ); ?>"
364
- name="<?php echo esc_attr( $field['field_name'] ); ?>"
365
- class="large-text">
366
- <?php echo esc_textarea(pmpro_getOption($field['field_name'])); ?>
367
- </textarea>
368
- <?php
369
- break;
370
- default:
371
- break;
372
- }
373
- if (!empty($field['description'])) {
374
- ?>
375
- <p class="description"><?php echo esc_textarea( $field['description'] ); ?></p>
376
- <?php
377
- }
378
- ?>
379
- </td>
380
- </tr>
381
- <?php
382
- }
383
- }
384
- ?>
385
- </tbody>
386
- </table>
387
- <script>
388
- function pmpro_updateHideAdsTRs()
389
- {
390
- var hideads = jQuery('#hideads').val();
391
- if(hideads == 2)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
392
  {
393
- jQuery('#hideadslevels_tr').show();
394
- }
395
- else
396
- {
397
- jQuery('#hideadslevels_tr').hide();
398
- }
 
 
 
399
 
400
- if(hideads > 0)
401
- {
402
- jQuery('#hideads_explanation').show();
403
- }
404
- else
405
- {
406
- jQuery('#hideads_explanation').hide();
 
407
  }
408
- }
409
- pmpro_updateHideAdsTRs();
410
 
411
- function pmpro_updateRecaptchaTRs()
412
- {
413
- var recaptcha = jQuery('#recaptcha').val();
414
- if(recaptcha > 0)
415
- {
416
- jQuery('#recaptcha_settings').show();
417
- }
418
- else
419
  {
420
- jQuery('#recaptcha_settings').hide();
 
 
 
 
 
 
 
 
421
  }
422
- }
423
- pmpro_updateRecaptchaTRs();
424
- </script>
425
 
426
  <p class="submit">
427
  <input name="savesettings" type="submit" class="button button-primary" value="<?php _e('Save Settings', 'paid-memberships-pro' );?>" />
17
  //get/set settings
18
  if(!empty($_REQUEST['savesettings']))
19
  {
20
+ // Dashboard settings.
21
+ pmpro_setOption( 'hide_toolbar' );
22
+ pmpro_setOption( 'block_dashboard' );
23
+
24
+ // Message settings.
25
+ // These use wp_kses for better security handling.
26
  $nonmembertext = wp_kses(wp_unslash($_POST['nonmembertext']), $allowedposttags);
27
  update_option('pmpro_nonmembertext', $nonmembertext);
28
 
32
  $rsstext = wp_kses(wp_unslash($_POST['rsstext']), $allowedposttags);
33
  update_option('pmpro_rsstext', $rsstext);
34
 
35
+ // Content settings.
36
  pmpro_setOption("filterqueries");
37
+ pmpro_setOption("showexcerpts");
 
 
 
 
38
 
39
+ // Checkout settings.
40
+ pmpro_setOption("tospage");
41
  pmpro_setOption("recaptcha");
42
  pmpro_setOption("recaptcha_version");
43
  pmpro_setOption("recaptcha_publickey");
44
+ pmpro_setOption("recaptcha_privatekey");
45
 
46
+ // Communication settings.
47
+ pmpro_setOption("maxnotificationpriority");
48
+ pmpro_setOption("activity_email_frequency");
49
 
50
+ // Other settings.
51
+ pmpro_setOption("hideads");
52
+ pmpro_setOption("hideadslevels");
53
+ pmpro_setOption("redirecttosubscription");
54
 
55
  /**
56
  * Filter to add custom settings to the advanced settings page.
62
  pmpro_setOption($setting['field_name']);
63
  }
64
 
65
+ // Assume success.
66
  $msg = true;
67
  $msgt = __("Your advanced settings have been updated.", 'paid-memberships-pro' );
68
  }
69
 
70
+ // Dashboard settings.
71
+ $hide_toolbar = pmpro_getOption( 'hide_toolbar' );
72
+ $block_dashboard = pmpro_getOption( 'block_dashboard' );
73
+
74
+ // Message settings.
75
  $nonmembertext = pmpro_getOption("nonmembertext");
76
  $notloggedintext = pmpro_getOption("notloggedintext");
77
  $rsstext = pmpro_getOption("rsstext");
78
+
79
+ // Content settings.
80
+ $filterqueries = pmpro_getOption('filterqueries');
81
+ $showexcerpts = pmpro_getOption("showexcerpts");
 
 
 
 
82
 
83
+ // Checkout settings.
84
+ $tospage = pmpro_getOption("tospage");
85
  $recaptcha = pmpro_getOption("recaptcha");
86
  $recaptcha_version = pmpro_getOption("recaptcha_version");
87
  $recaptcha_publickey = pmpro_getOption("recaptcha_publickey");
88
  $recaptcha_privatekey = pmpro_getOption("recaptcha_privatekey");
89
 
90
+ // Communication settings.
91
+ $maxnotificationpriority = pmpro_getOption("maxnotificationpriority");
92
+ $activity_email_frequency = pmpro_getOption("activity_email_frequency");
93
 
94
+ // Other settings.
95
+ $hideads = pmpro_getOption("hideads");
96
+ $hideadslevels = pmpro_getOption("hideadslevels");
97
+ if( is_multisite() ) {
98
+ $redirecttosubscription = pmpro_getOption("redirecttosubscription");
99
+ }
100
 
101
+ // Default settings.
102
  if(!$nonmembertext)
103
  {
104
+ $nonmembertext = sprintf( __( 'This content is for !!levels!! members only.<br /><a href="%s">Join Now</a>', 'paid-memberships-pro' ), "!!levels_page_url!!" );
105
  pmpro_setOption("nonmembertext", $nonmembertext);
106
  }
107
  if(!$notloggedintext)
108
  {
109
+ $notloggedintext = sprintf( __( 'This content is for !!levels!! members only.<br /><a href="%s">Log In</a> <a href="%s">Join Now</a>', 'paid-memberships-pro' ), '!!login_url!!', "!!levels_page_url!!" );
110
  pmpro_setOption("notloggedintext", $notloggedintext);
111
  }
112
  if(!$rsstext)
117
 
118
  $levels = $wpdb->get_results( "SELECT * FROM {$wpdb->pmpro_membership_levels}", OBJECT );
119
 
120
+ if ( empty( $activity_email_frequency ) ) {
121
+ $activity_email_frequency = 'week';
122
+ }
123
+
124
  require_once(dirname(__FILE__) . "/admin_header.php");
125
  ?>
126
 
129
 
130
  <h1 class="wp-heading-inline"><?php esc_html_e( 'Advanced Settings', 'paid-memberships-pro' ); ?></h1>
131
  <hr class="wp-header-end">
132
+ <div class="pmpro_admin_section pmpro_admin_section-restrict-dashboard">
133
+ <h2 class="title"><?php esc_html_e( 'Restrict Dashboard Access', 'paid-memberships-pro' ); ?></h2>
134
+ <table class="form-table">
135
+ <tbody>
136
+ <tr>
137
+ <th scope="row" valign="top">
138
+ <label for="block_dashboard"><?php _e('WordPress Dashboard', 'paid-memberships-pro' );?></label>
139
+ </th>
140
+ <td>
141
+ <input id="block_dashboard" name="block_dashboard" type="checkbox" value="yes" <?php checked( $block_dashboard, 'yes' ); ?> /> <label for="block_dashboard"><?php _e('Block all users with the Subscriber role from accessing the Dashboard.', 'paid-memberships-pro' );?></label>
142
+ </td>
143
+ </tr>
144
+ <tr>
145
+ <th scope="row" valign="top">
146
+ <label for="hide_toolbar"><?php _e('WordPress Toolbar', 'paid-memberships-pro' );?></label>
147
+ </th>
148
+ <td>
149
+ <input id="hide_toolbar" name="hide_toolbar" type="checkbox" value="yes" <?php checked( $hide_toolbar, 'yes' ); ?> /> <label for="hide_toolbar"><?php _e('Hide the Toolbar from all users with the Subscriber role.', 'paid-memberships-pro' );?></label>
150
+ </td>
151
+ </tr>
152
+ </tbody>
153
+ </table>
154
+ </div> <!-- end pmpro_admin_section-restrict-dashboard -->
 
 
 
 
 
 
 
 
 
155
  <hr />
156
+ <div class="pmpro_admin_section pmpro_admin_section-message-settings">
157
+ <h2 class="title"><?php esc_html_e( 'Message Settings', 'paid-memberships-pro' ); ?></h2>
158
+ <table class="form-table">
159
+ <tbody>
160
+ <tr>
161
+ <th scope="row" valign="top">
162
+ <label for="nonmembertext"><?php _e('Message for Logged-in Non-members', 'paid-memberships-pro' );?>:</label>
163
+ </th>
164
+ <td>
165
+ <textarea name="nonmembertext" rows="3" cols="50" class="large-text"><?php echo stripslashes($nonmembertext)?></textarea>
166
+ <p class="description"><?php _e('This message replaces the post content for non-members. Available variables', 'paid-memberships-pro' );?>: <code>!!levels!!</code> <code>!!referrer!!</code> <code>!!levels_page_url!!</code></p>
167
+ </td>
168
+ </tr>
169
+ <tr>
170
+ <th scope="row" valign="top">
171
+ <label for="notloggedintext"><?php _e('Message for Logged-out Users', 'paid-memberships-pro' );?>:</label>
172
+ </th>
173
+ <td>
174
+ <textarea name="notloggedintext" rows="3" cols="50" class="large-text"><?php echo stripslashes($notloggedintext)?></textarea>
175
+ <p class="description"><?php _e('This message replaces the post content for logged-out visitors.', 'paid-memberships-pro' );?> <?php _e('Available variables', 'paid-memberships-pro' );?>: <code>!!levels!!</code> <code>!!referrer!!</code> <code>!!login_url!!</code> <code>!!levels_page_url!!</code></p>
176
+ </td>
177
+ </tr>
178
+ <tr>
179
+ <th scope="row" valign="top">
180
+ <label for="rsstext"><?php _e('Message for RSS Feed', 'paid-memberships-pro' );?>:</label>
181
+ </th>
182
+ <td>
183
+ <textarea name="rsstext" rows="3" cols="50" class="large-text"><?php echo stripslashes($rsstext)?></textarea>
184
+ <p class="description"><?php _e('This message replaces the post content in RSS feeds.', 'paid-memberships-pro' );?> <?php _e('Available variables', 'paid-memberships-pro' );?>: <code>!!levels!!</code></p>
185
+ </td>
186
+ </tr>
187
+ </tbody>
188
+ </table>
189
+ </div> <!-- end pmpro_admin_section-message-settings -->
190
  <hr />
191
+ <div class="pmpro_admin_section pmpro_admin_section-content-settings">
192
+ <h2 class="title"><?php esc_html_e( 'Content Settings', 'paid-memberships-pro' ); ?></h2>
193
+ <table class="form-table">
194
+ <tbody>
195
+ <tr>
196
+ <th scope="row" valign="top">
197
+ <label for="filterqueries"><?php _e("Filter searches and archives?", 'paid-memberships-pro' );?></label>
198
+ </th>
199
+ <td>
200
+ <select id="filterqueries" name="filterqueries">
201
+ <option value="0" <?php if(!$filterqueries) { ?>selected="selected"<?php } ?>><?php _e('No - Non-members will see restricted posts/pages in searches and archives.', 'paid-memberships-pro' );?></option>
202
+ <option value="1" <?php if($filterqueries == 1) { ?>selected="selected"<?php } ?>><?php _e('Yes - Only members will see restricted posts/pages in searches and archives.', 'paid-memberships-pro' );?></option>
203
+ </select>
204
+ </td>
205
+ </tr>
206
+ <tr>
207
+ <th scope="row" valign="top">
208
+ <label for="showexcerpts"><?php _e('Show Excerpts to Non-Members?', 'paid-memberships-pro' );?></label>
209
+ </th>
210
+ <td>
211
+ <select id="showexcerpts" name="showexcerpts">
212
+ <option value="0" <?php if(!$showexcerpts) { ?>selected="selected"<?php } ?>><?php _e('No - Hide excerpts.', 'paid-memberships-pro' );?></option>
213
+ <option value="1" <?php if($showexcerpts == 1) { ?>selected="selected"<?php } ?>><?php _e('Yes - Show excerpts.', 'paid-memberships-pro' );?></option>
214
+ </select>
215
+ </td>
216
+ </tr>
217
+ </tbody>
218
+ </table>
219
+ </div> <!-- end pmpro_admin_section-content-settings -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
220
  <hr />
221
+ <div class="pmpro_admin_section pmpro_admin_section-checkout-settings">
222
+ <h2 class="title"><?php esc_html_e( 'Checkout Settings', 'paid-memberships-pro' ); ?></h2>
223
+ <table class="form-table">
224
+ <tbody>
225
+ <tr>
226
+ <th scope="row" valign="top">
227
+ <label for="tospage"><?php _e('Require Terms of Service on signups?', 'paid-memberships-pro' );?></label>
228
+ </th>
229
+ <td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
  <?php
231
+ wp_dropdown_pages(array("name"=>"tospage", "show_option_none"=>"No", "selected"=>$tospage));
 
 
 
 
 
 
 
232
  ?>
233
+ <br />
234
+ <p class="description"><?php _e('If yes, create a WordPress page containing your TOS agreement and assign it using the dropdown above.', 'paid-memberships-pro' );?></p>
235
+ </td>
236
+ </tr>
237
+ <tr>
238
+ <th scope="row" valign="top">
239
+ <label for="recaptcha"><?php _e('Use reCAPTCHA?', 'paid-memberships-pro' );?>:</label>
240
+ </th>
241
+ <td>
242
+ <select id="recaptcha" name="recaptcha" onchange="pmpro_updateRecaptchaTRs();">
243
+ <option value="0" <?php if(!$recaptcha) { ?>selected="selected"<?php } ?>><?php _e('No', 'paid-memberships-pro' );?></option>
244
+ <option value="1" <?php if($recaptcha == 1) { ?>selected="selected"<?php } ?>><?php _e('Yes - Free memberships only.', 'paid-memberships-pro' );?></option>
245
+ <option value="2" <?php if($recaptcha == 2) { ?>selected="selected"<?php } ?>><?php _e('Yes - All memberships.', 'paid-memberships-pro' );?></option>
246
+ </select>
247
+ <p class="description"><?php _e('A free reCAPTCHA key is required.', 'paid-memberships-pro' );?> <a href="https://www.google.com/recaptcha/admin/create"><?php _e('Click here to signup for reCAPTCHA', 'paid-memberships-pro' );?></a>.</p>
248
+ </td>
249
+ </tr>
250
+ </tbody>
251
+ </table>
252
+ <table class="form-table" id="recaptcha_settings" <?php if(!$recaptcha) { ?>style="display: none;"<?php } ?>>
253
+ <tbody>
254
+ <tr>
255
+ <th scope="row" valign="top"><label for="recaptcha_version"><?php _e( 'reCAPTCHA Version', 'paid-memberships-pro' );?>:</label></th>
256
+ <td>
257
+ <select id="recaptcha_version" name="recaptcha_version">
258
+ <option value="2_checkbox" <?php selected( '2_checkbox', $recaptcha_version ); ?>><?php _e( ' v2 - Checkbox', 'paid-memberships-pro' ); ?></option>
259
+ <option value="3_invisible" <?php selected( '3_invisible', $recaptcha_version ); ?>><?php _e( 'v3 - Invisible', 'paid-memberships-pro' ); ?></option>
260
+ </select>
261
+ <p class="description"><?php _e( 'Changing your version will require new API keys.', 'paid-memberships-pro' ); ?></p>
262
+ </td>
263
+ </tr>
264
+ <tr>
265
+ <th scope="row"><label for="recaptcha_publickey"><?php _e('reCAPTCHA Site Key', 'paid-memberships-pro' );?>:</label></th>
266
+ <td>
267
+ <input type="text" id="recaptcha_publickey" name="recaptcha_publickey" value="<?php echo esc_attr($recaptcha_publickey);?>" class="regular-text code" />
268
+ </td>
269
+ </tr>
270
+ <tr>
271
+ <th scope="row"><label for="recaptcha_privatekey"><?php _e('reCAPTCHA Secret Key', 'paid-memberships-pro' );?>:</label></th>
272
+ <td>
273
+ <input type="text" id="recaptcha_privatekey" name="recaptcha_privatekey" value="<?php echo esc_attr($recaptcha_privatekey);?>" class="regular-text code" />
274
+ </td>
275
+ </tr>
276
+ </tbody>
277
+ </table>
278
+ </div> <!-- end pmpro_admin_section-checkout-settings -->
279
+ <hr />
280
+ <div class="pmpro_admin_section pmpro_admin_section-communication-settings">
281
+ <h2 class="title"><?php esc_html_e( 'Communication Settings', 'paid-memberships-pro' ); ?></h2>
282
+ <table class="form-table">
283
+ <tr>
284
+ <th><?php _e( 'Notifications', 'paid-memberships-pro' ); ?></th>
285
+ <td>
286
+ <select name="maxnotificationpriority">
287
+ <option value="5" <?php selected( $maxnotificationpriority, 5 ); ?>>
288
+ <?php _e( 'Show all notifications.', 'paid-memberships-pro' ); ?>
289
+ </option>
290
+ <option value="1" <?php selected( $maxnotificationpriority, 1 ); ?>>
291
+ <?php _e( 'Show only security notifications.', 'paid-memberships-pro' ); ?>
292
+ </option>
293
+ </select>
294
+ <br />
295
+ <p class="description"><?php _e('Notifications are occasionally shown on the Paid Memberships Pro settings pages.', 'paid-memberships-pro' );?></p>
296
+ </td>
297
+ </tr>
298
+ <tr>
299
+ <th>
300
+ <label for="activity_email_frequency"><?php _e('Activity Email Frequency', 'paid-memberships-pro' );?></label>
301
+ </th>
302
+ <td>
303
+ <select name="activity_email_frequency">
304
+ <option value="day" <?php selected( $activity_email_frequency, 'day' ); ?>>
305
+ <?php _e( 'Daily', 'paid-memberships-pro' ); ?>
306
+ </option>
307
+ <option value="week" <?php selected( $activity_email_frequency, 'week' ); ?>>
308
+ <?php _e( 'Weekly', 'paid-memberships-pro' ); ?>
309
+ </option>
310
+ <option value="month" <?php selected( $activity_email_frequency, 'month' ); ?>>
311
+ <?php _e( 'Monthly', 'paid-memberships-pro' ); ?>
312
+ </option>
313
+ <option value="never" <?php selected( $activity_email_frequency, 'never' ); ?>>
314
+ <?php _e( 'Never', 'paid-memberships-pro' ); ?>
315
+ </option>
316
+ </select>
317
+ <br />
318
+ <p class="description"><?php _e( 'Send periodic sales and revenue updates from this site to the administration email address.', 'paid-memberships-pro' );?></p>
319
+ </td>
320
+ </tr>
321
+ </tbody>
322
+ </table>
323
+ </div> <!-- end pmpro_admin_section-communication-settings -->
324
+ <hr />
325
+ <div class="pmpro_admin_section pmpro_admin_section-other-settings">
326
+ <h2 class="title"><?php esc_html_e( 'Other Settings', 'paid-memberships-pro' ); ?></h2>
327
+ <table class="form-table">
328
+ <tbody>
329
+ <tr>
330
+ <th scope="row" valign="top">
331
+ <label for="hideads"><?php _e("Hide Ads From Members?", 'paid-memberships-pro' );?></label>
332
+ </th>
333
+ <td>
334
+ <select id="hideads" name="hideads" onchange="pmpro_updateHideAdsTRs();">
335
+ <option value="0" <?php if(!$hideads) { ?>selected="selected"<?php } ?>><?php _e('No', 'paid-memberships-pro' );?></option>
336
+ <option value="1" <?php if($hideads == 1) { ?>selected="selected"<?php } ?>><?php _e('Hide Ads From All Members', 'paid-memberships-pro' );?></option>
337
+ <option value="2" <?php if($hideads == 2) { ?>selected="selected"<?php } ?>><?php _e('Hide Ads From Certain Members', 'paid-memberships-pro' );?></option>
338
+ </select>
339
+ </td>
340
+ </tr>
341
+ <tr id="hideads_explanation" <?php if($hideads < 2) { ?>style="display: none;"<?php } ?>>
342
+ <th scope="row" valign="top">&nbsp;</th>
343
+ <td>
344
+ <p><?php _e('Ads from the following plugins will be automatically turned off', 'paid-memberships-pro' );?>: <em>Easy Adsense</em>, ...</p>
345
+ <p><?php _e('To hide ads in your template code, use code like the following', 'paid-memberships-pro' );?>:</p>
346
+ <pre lang="PHP">
347
+ if ( pmpro_displayAds() ) {
348
+ //insert ad code here
349
+ }</pre>
350
+ </td>
351
+ </tr>
352
+ <tr id="hideadslevels_tr" <?php if($hideads != 2) { ?>style="display: none;"<?php } ?>>
353
+ <th scope="row" valign="top">
354
+ <label for="hideadslevels"><?php _e('Choose Levels to Hide Ads From', 'paid-memberships-pro' );?>:</label>
355
+ </th>
356
+ <td>
357
+ <div class="checkbox_box" <?php if(count($levels) > 5) { ?>style="height: 100px; overflow: auto;"<?php } ?>>
358
+ <?php
359
+ $hideadslevels = pmpro_getOption("hideadslevels");
360
+ if(!is_array($hideadslevels))
361
+ $hideadslevels = explode(",", $hideadslevels);
362
 
363
+ $sqlQuery = "SELECT * FROM $wpdb->pmpro_membership_levels ";
364
+ $levels = $wpdb->get_results($sqlQuery, OBJECT);
365
+ foreach($levels as $level)
366
+ {
367
+ ?>
368
+ <div class="clickable"><input type="checkbox" id="hideadslevels_<?php echo $level->id?>" name="hideadslevels[]" value="<?php echo $level->id?>" <?php if(in_array($level->id, $hideadslevels)) { ?>checked="checked"<?php } ?>> <?php echo $level->name?></div>
369
+ <?php
370
+ }
371
+ ?>
372
+ </div>
373
+ <script>
374
+ jQuery('.checkbox_box input').click(function(event) {
375
+ event.stopPropagation()
376
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
377
 
378
+ jQuery('.checkbox_box div.clickable').click(function() {
379
+ var checkbox = jQuery(this).find(':checkbox');
380
+ checkbox.attr('checked', !checkbox.attr('checked'));
381
+ });
382
+ </script>
383
+ </td>
384
+ </tr>
385
+ <?php if(is_multisite()) { ?>
386
+ <tr>
387
+ <th scope="row" valign="top">
388
+ <label for="redirecttosubscription"><?php _e('Redirect all traffic from registration page to /susbcription/?', 'paid-memberships-pro' );?>: <em>(<?php _e('multisite only', 'paid-memberships-pro' );?>)</em></label>
389
+ </th>
390
+ <td>
391
+ <select id="redirecttosubscription" name="redirecttosubscription">
392
+ <option value="0" <?php if(!$redirecttosubscription) { ?>selected="selected"<?php } ?>><?php _e('No', 'paid-memberships-pro' );?></option>
393
+ <option value="1" <?php if($redirecttosubscription == 1) { ?>selected="selected"<?php } ?>><?php _e('Yes', 'paid-memberships-pro' );?></option>
394
+ </select>
395
+ </td>
396
+ </tr>
397
+ <?php } ?>
398
+ <?php
399
+ // Filter to Add More Advanced Settings for Misc Plugin Options, etc.
400
+ if (has_action('pmpro_custom_advanced_settings')) {
401
+ $custom_fields = apply_filters('pmpro_custom_advanced_settings', array());
402
+ foreach ($custom_fields as $field) {
403
+ ?>
404
+ <tr>
405
+ <th valign="top" scope="row">
406
+ <label
407
+ for="<?php echo esc_attr( $field['field_name'] ); ?>"><?php echo esc_textarea( $field['label'] ); ?></label>
408
+ </th>
409
+ <td>
410
+ <?php
411
+ switch ($field['field_type']) {
412
+ case 'select':
413
+ ?>
414
+ <select id="<?php echo esc_attr( $field['field_name'] ); ?>"
415
+ name="<?php echo esc_attr( $field['field_name'] ); ?>">
416
+ <?php
417
+ //For associative arrays, we use the array keys as values. For numerically indexed arrays, we use the array values.
418
+ $is_associative = (bool)count(array_filter(array_keys($field['options']), 'is_string'));
419
+ foreach ($field['options'] as $key => $option) {
420
+ if(!$is_associative) $key = $option;
421
+ ?>
422
+ <option value="<?php echo esc_attr($key); ?>" <?php selected($key, pmpro_getOption($field['field_name']));?>>
423
+ <?php echo esc_textarea($option); ?>
424
+ </option>
425
+ <?php
426
+ }
427
+ ?>
428
+ </select>
429
+ <?php
430
+ break;
431
+ case 'text':
432
+ ?>
433
+ <input id="<?php echo esc_attr( $field['field_name'] ); ?>"
434
+ name="<?php echo esc_attr( $field['field_name'] ); ?>"
435
+ type="<?php echo esc_attr( $field['field_type'] ); ?>"
436
+ value="<?php echo esc_attr(pmpro_getOption($field['field_name'])); ?> "
437
+ class="regular-text">
438
+ <?php
439
+ break;
440
+ case 'textarea':
441
+ ?>
442
+ <textarea id="<?php echo esc_attr( $field['field_name'] ); ?>"
443
+ name="<?php echo esc_attr( $field['field_name'] ); ?>"
444
+ class="large-text">
445
+ <?php echo esc_textarea(pmpro_getOption($field['field_name'])); ?>
446
+ </textarea>
447
+ <?php
448
+ break;
449
+ default:
450
+ break;
451
+ }
452
+ if (!empty($field['description'])) {
453
+ ?>
454
+ <p class="description"><?php echo esc_textarea( $field['description'] ); ?></p>
455
+ <?php
456
+ }
457
+ ?>
458
+ </td>
459
+ </tr>
460
+ <?php
461
+ }
462
+ }
463
+ ?>
464
+ </tbody>
465
+ </table>
466
+ <script>
467
+ function pmpro_updateHideAdsTRs()
468
  {
469
+ var hideads = jQuery('#hideads').val();
470
+ if(hideads == 2)
471
+ {
472
+ jQuery('#hideadslevels_tr').show();
473
+ }
474
+ else
475
+ {
476
+ jQuery('#hideadslevels_tr').hide();
477
+ }
478
 
479
+ if(hideads > 0)
480
+ {
481
+ jQuery('#hideads_explanation').show();
482
+ }
483
+ else
484
+ {
485
+ jQuery('#hideads_explanation').hide();
486
+ }
487
  }
488
+ pmpro_updateHideAdsTRs();
 
489
 
490
+ function pmpro_updateRecaptchaTRs()
 
 
 
 
 
 
 
491
  {
492
+ var recaptcha = jQuery('#recaptcha').val();
493
+ if(recaptcha > 0)
494
+ {
495
+ jQuery('#recaptcha_settings').show();
496
+ }
497
+ else
498
+ {
499
+ jQuery('#recaptcha_settings').hide();
500
+ }
501
  }
502
+ pmpro_updateRecaptchaTRs();
503
+ </script>
504
+ </div> <!-- end pmpro_admin_section-other-settings -->
505
 
506
  <p class="submit">
507
  <input name="savesettings" type="submit" class="button button-primary" value="<?php _e('Save Settings', 'paid-memberships-pro' );?>" />
adminpages/dashboard.php CHANGED
@@ -172,7 +172,7 @@ function pmpro_dashboard_welcome_callback() { ?>
172
  <?php } elseif ( ! pmpro_license_isValid() ) { ?>
173
  <p class="pmpro_message pmpro_alert">
174
  <strong><?php echo esc_html_e( 'Your license is invalid or expired.', 'paid-memberships-pro' ); ?></strong><br />
175
- <?php printf(__( '<a href="%s">View your membership account</a> to verify your license key.', 'paid-memberships-pro' ), 'https://www.paidmembershipspro.com/login/?redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-dashboard%26utm_campaign%3Dmembership-account%26utm_content%3Dverify-license-key' );?>
176
  <?php } else { ?>
177
  <p class="pmpro_message pmpro_success"><?php printf(__( '<strong>Thank you!</strong> A valid <strong>%s</strong> license key has been used to activate your support license on this site.', 'paid-memberships-pro' ), ucwords($pmpro_license_check['license']));?></p>
178
  <?php } ?>
@@ -318,10 +318,16 @@ function pmpro_dashboard_report_recent_orders_callback() {
318
  <?php } ?>
319
  </td>
320
  <td>
321
- <?php
322
- $level = pmpro_getLevel( $order->membership_id );
323
- echo $level->name;
324
- ?>
 
 
 
 
 
 
325
  </td>
326
  <td><?php echo pmpro_formatPrice( $order->total ); ?></td>
327
  <td>
172
  <?php } elseif ( ! pmpro_license_isValid() ) { ?>
173
  <p class="pmpro_message pmpro_alert">
174
  <strong><?php echo esc_html_e( 'Your license is invalid or expired.', 'paid-memberships-pro' ); ?></strong><br />
175
+ <?php printf(__( '<a href="%s">View your membership account</a> to verify your license key.', 'paid-memberships-pro' ), 'https://www.paidmembershipspro.com/membership-account/?redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-dashboard%26utm_campaign%3Dmembership-account%26utm_content%3Dverify-license-key' );?>
176
  <?php } else { ?>
177
  <p class="pmpro_message pmpro_success"><?php printf(__( '<strong>Thank you!</strong> A valid <strong>%s</strong> license key has been used to activate your support license on this site.', 'paid-memberships-pro' ), ucwords($pmpro_license_check['license']));?></p>
178
  <?php } ?>
318
  <?php } ?>
319
  </td>
320
  <td>
321
+ <?php
322
+ $level = pmpro_getLevel( $order->membership_id );
323
+ if ( ! empty( $level ) ) {
324
+ echo $level->name;
325
+ } elseif ( $order->membership_id > 0 ) { ?>
326
+ [<?php _e( 'deleted', 'paid-memberships-pro' ); ?>]
327
+ <?php } else { ?>
328
+ [<?php _e( 'none', 'paid-memberships-pro' ); ?>]
329
+ <?php }
330
+ ?>
331
  </td>
332
  <td><?php echo pmpro_formatPrice( $order->total ); ?></td>
333
  <td>
adminpages/discountcodes.php CHANGED
@@ -8,6 +8,8 @@
8
  //vars
9
  global $wpdb, $pmpro_currency_symbol;
10
 
 
 
11
  if(isset($_REQUEST['edit']))
12
  $edit = intval($_REQUEST['edit']);
13
  else
@@ -76,8 +78,8 @@
76
  $uses = intval($_POST['uses']);
77
 
78
  //fix up dates
79
- $starts = date_i18n("Y-m-d", strtotime($starts_month . "/" . $starts_day . "/" . $starts_year, current_time("timestamp")));
80
- $expires = date_i18n("Y-m-d", strtotime($expires_month . "/" . $expires_day . "/" . $expires_year, current_time("timestamp")));
81
 
82
  //insert/update/replace discount code
83
  $wpdb->replace(
@@ -450,33 +452,33 @@
450
 
451
  <?php
452
  //some vars for the dates
453
- $current_day = date_i18n("j");
454
  if(!empty($code->starts))
455
- $selected_starts_day = date_i18n("j", $code->starts);
456
  else
457
  $selected_starts_day = $current_day;
458
  if(!empty($code->expires))
459
- $selected_expires_day = date_i18n("j", $code->expires);
460
  else
461
  $selected_expires_day = $current_day;
462
 
463
- $current_month = date_i18n("M");
464
  if(!empty($code->starts))
465
- $selected_starts_month = date_i18n("m", $code->starts);
466
  else
467
- $selected_starts_month = date_i18n("m");
468
  if(!empty($code->expires))
469
- $selected_expires_month = date_i18n("m", $code->expires);
470
  else
471
- $selected_expires_month = date_i18n("m");
472
 
473
- $current_year = date_i18n("Y");
474
  if(!empty($code->starts))
475
- $selected_starts_year = date_i18n("Y", $code->starts);
476
  else
477
  $selected_starts_year = $current_year;
478
  if(!empty($code->expires))
479
- $selected_expires_year = date_i18n("Y", $code->expires);
480
  else
481
  $selected_expires_year = (int)$current_year + 1;
482
  ?>
@@ -489,7 +491,7 @@
489
  for($i = 1; $i < 13; $i++)
490
  {
491
  ?>
492
- <option value="<?php echo $i?>" <?php if($i == $selected_starts_month) { ?>selected="selected"<?php } ?>><?php echo date_i18n("M", strtotime($i . "/15/" . $current_year, current_time("timestamp")))?></option>
493
  <?php
494
  }
495
  ?>
@@ -507,7 +509,7 @@
507
  for($i = 1; $i < 13; $i++)
508
  {
509
  ?>
510
- <option value="<?php echo $i?>" <?php if($i == $selected_expires_month) { ?>selected="selected"<?php } ?>><?php echo date_i18n("M", strtotime($i . "/15/" . $current_year, current_time("timestamp")))?></option>
511
  <?php
512
  }
513
  ?>
8
  //vars
9
  global $wpdb, $pmpro_currency_symbol;
10
 
11
+ $now = current_time( 'timestamp' );
12
+
13
  if(isset($_REQUEST['edit']))
14
  $edit = intval($_REQUEST['edit']);
15
  else
78
  $uses = intval($_POST['uses']);
79
 
80
  //fix up dates
81
+ $starts = date("Y-m-d", strtotime($starts_month . "/" . $starts_day . "/" . $starts_year, $now ));
82
+ $expires = date("Y-m-d", strtotime($expires_month . "/" . $expires_day . "/" . $expires_year, $now ));
83
 
84
  //insert/update/replace discount code
85
  $wpdb->replace(
452
 
453
  <?php
454
  //some vars for the dates
455
+ $current_day = date("j");
456
  if(!empty($code->starts))
457
+ $selected_starts_day = date("j", $code->starts);
458
  else
459
  $selected_starts_day = $current_day;
460
  if(!empty($code->expires))
461
+ $selected_expires_day = date("j", $code->expires);
462
  else
463
  $selected_expires_day = $current_day;
464
 
465
+ $current_month = date("M");
466
  if(!empty($code->starts))
467
+ $selected_starts_month = date("m", $code->starts);
468
  else
469
+ $selected_starts_month = date("m");
470
  if(!empty($code->expires))
471
+ $selected_expires_month = date("m", $code->expires);
472
  else
473
+ $selected_expires_month = date("m");
474
 
475
+ $current_year = date("Y");
476
  if(!empty($code->starts))
477
+ $selected_starts_year = date("Y", $code->starts);
478
  else
479
  $selected_starts_year = $current_year;
480
  if(!empty($code->expires))
481
+ $selected_expires_year = date("Y", $code->expires);
482
  else
483
  $selected_expires_year = (int)$current_year + 1;
484
  ?>
491
  for($i = 1; $i < 13; $i++)
492
  {
493
  ?>
494
+ <option value="<?php echo esc_attr( $i )?>" <?php if($i == $selected_starts_month) { ?>selected="selected"<?php } ?>><?php echo esc_html( date_i18n( 'F', mktime( 0, 0, 0, $i, 2 ) ) ); ?></option>
495
  <?php
496
  }
497
  ?>
509
  for($i = 1; $i < 13; $i++)
510
  {
511
  ?>
512
+ <option value="<?php echo esc_attr( $i );?>" <?php if($i == $selected_expires_month) { ?>selected="selected"<?php } ?>><?php echo esc_html( date_i18n( 'F', mktime( 0, 0, 0, $i, 2 ) ) ); ?></option>
513
  <?php
514
  }
515
  ?>
adminpages/license.php CHANGED
@@ -44,9 +44,9 @@ if ( defined( 'PMPRO_DIR' ) ) {
44
 
45
  <div class="about-text">
46
  <?php if(!pmpro_license_isValid() && empty($key)) { ?>
47
- <p class="pmpro_message pmpro_error"><strong><?php _e('Enter your support license key.</strong> Your license key can be found in your membership email receipt or in your <a href="https://www.paidmembershipspro.com/login/?redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign%3Dmembership-account%26utm_content%3Dno-key" target="_blank">Membership Account</a>.', 'paid-memberships-pro' );?></p>
48
  <?php } elseif(!pmpro_license_isValid()) { ?>
49
- <p class="pmpro_message pmpro_error"><strong><?php _e('Your license is invalid or expired.', 'paid-memberships-pro' );?></strong> <?php _e('Visit the PMPro <a href="https://www.paidmembershipspro.com/login/?redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign%3Dmembership-account%26utm_content%3Dkey-not-valid" target="_blank">Membership Account</a> page to confirm that your account is active and to find your license key.', 'paid-memberships-pro' );?></p>
50
  <?php } else { ?>
51
  <p class="pmpro_message pmpro_success"><?php printf(__('<strong>Thank you!</strong> A valid <strong>%s</strong> license key has been used to activate your support license on this site.', 'paid-memberships-pro' ), ucwords($pmpro_license_check['license']));?></p>
52
  <?php } ?>
@@ -70,8 +70,8 @@ if ( defined( 'PMPRO_DIR' ) ) {
70
  <a class="button button-primary button-hero" href="https://www.paidmembershipspro.com/membership-checkout/?level=20&utm_source=plugin&utm_medium=pmpro-license&utm_campaign=plus-checkout&utm_content=buy-plus" target="_blank"><?php echo esc_html( 'Buy Plus License', 'paid-memberships-pro' ); ?></a>
71
  <a class="button button-hero" href="https://www.paidmembershipspro.com/pricing/?utm_source=plugin&utm_medium=pmpro-license&utm_campaign=pricing&utm_content=view-license-options" target="_blank"><?php echo esc_html( 'View Support License Options', 'paid-memberships-pro' ); ?></a>
72
  <?php } else { ?>
73
- <a class="button button-primary button-hero" href="https://www.paidmembershipspro.com/login/?redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign%3Dmembership-account%26utm_content%3Dview-account" target="_blank"><?php echo esc_html( 'Manage My Account', 'paid-memberships-pro' ); ?></a>
74
- <a class="button button-hero" href="https://www.paidmembershipspro.com/login/?redirect_to=%2Fnew-topic%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign%3Dsupport%26utm_content%3Dnew-support-ticket" target="_blank"><?php echo esc_html( 'Open Support Ticket', 'paid-memberships-pro' ); ?></a>
75
  <?php } ?>
76
  </p>
77
 
44
 
45
  <div class="about-text">
46
  <?php if(!pmpro_license_isValid() && empty($key)) { ?>
47
+ <p class="pmpro_message pmpro_error"><strong><?php _e('Enter your support license key.</strong> Your license key can be found in your membership email receipt or in your <a href="https://www.paidmembershipspro.com/membership-account/?redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign%3Dmembership-account%26utm_content%3Dno-key" target="_blank">Membership Account</a>.', 'paid-memberships-pro' );?></p>
48
  <?php } elseif(!pmpro_license_isValid()) { ?>
49
+ <p class="pmpro_message pmpro_error"><strong><?php _e('Your license is invalid or expired.', 'paid-memberships-pro' );?></strong> <?php _e('Visit the PMPro <a href="https://www.paidmembershipspro.com/membership-account/?redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign%3Dmembership-account%26utm_content%3Dkey-not-valid" target="_blank">Membership Account</a> page to confirm that your account is active and to find your license key.', 'paid-memberships-pro' );?></p>
50
  <?php } else { ?>
51
  <p class="pmpro_message pmpro_success"><?php printf(__('<strong>Thank you!</strong> A valid <strong>%s</strong> license key has been used to activate your support license on this site.', 'paid-memberships-pro' ), ucwords($pmpro_license_check['license']));?></p>
52
  <?php } ?>
70
  <a class="button button-primary button-hero" href="https://www.paidmembershipspro.com/membership-checkout/?level=20&utm_source=plugin&utm_medium=pmpro-license&utm_campaign=plus-checkout&utm_content=buy-plus" target="_blank"><?php echo esc_html( 'Buy Plus License', 'paid-memberships-pro' ); ?></a>
71
  <a class="button button-hero" href="https://www.paidmembershipspro.com/pricing/?utm_source=plugin&utm_medium=pmpro-license&utm_campaign=pricing&utm_content=view-license-options" target="_blank"><?php echo esc_html( 'View Support License Options', 'paid-memberships-pro' ); ?></a>
72
  <?php } else { ?>
73
+ <a class="button button-primary button-hero" href="https://www.paidmembershipspro.com/membership-account/?redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign%3Dmembership-account%26utm_content%3Dview-account" target="_blank"><?php echo esc_html( 'Manage My Account', 'paid-memberships-pro' ); ?></a>
74
+ <a class="button button-hero" href="https://www.paidmembershipspro.com/membership-account/?redirect_to=%2Fnew-topic%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign%3Dsupport%26utm_content%3Dnew-support-ticket" target="_blank"><?php echo esc_html( 'Open Support Ticket', 'paid-memberships-pro' ); ?></a>
75
  <?php } ?>
76
  </p>
77
 
adminpages/orders.php CHANGED
@@ -6,6 +6,9 @@ if ( ! function_exists( 'current_user_can' ) || ( ! current_user_can( 'manage_op
6
 
7
  // vars
8
  global $wpdb;
 
 
 
9
  if ( isset( $_REQUEST['s'] ) ) {
10
  $s = sanitize_text_field( trim( $_REQUEST['s'] ) );
11
  } else {
@@ -39,25 +42,25 @@ if ( isset( $_REQUEST['start-day'] ) ) {
39
  if ( isset( $_REQUEST['start-year'] ) ) {
40
  $start_year = intval( $_REQUEST['start-year'] );
41
  } else {
42
- $start_year = date_i18n( 'Y' );
43
  }
44
 
45
  if ( isset( $_REQUEST['end-month'] ) ) {
46
  $end_month = intval( $_REQUEST['end-month'] );
47
  } else {
48
- $end_month = date_i18n( 'n' );
49
  }
50
 
51
  if ( isset( $_REQUEST['end-day'] ) ) {
52
  $end_day = intval( $_REQUEST['end-day'] );
53
  } else {
54
- $end_day = date_i18n( 'j' );
55
  }
56
 
57
  if ( isset( $_REQUEST['end-year'] ) ) {
58
  $end_year = intval( $_REQUEST['end-year'] );
59
  } else {
60
- $end_year = date_i18n( 'Y' );
61
  }
62
 
63
  if ( isset( $_REQUEST['predefined-date'] ) ) {
@@ -117,19 +120,19 @@ if ( empty( $filter ) || $filter === 'all' ) {
117
  $condition = "o.timestamp BETWEEN '" . esc_sql( $start_date ) . "' AND '" . esc_sql( $end_date ) . "'";
118
  } elseif ( $filter == 'predefined-date-range' ) {
119
  if ( $predefined_date == 'Last Month' ) {
120
- $start_date = date_i18n( 'Y-m-d', strtotime( 'first day of last month', current_time( 'timestamp' ) ) );
121
- $end_date = date_i18n( 'Y-m-d', strtotime( 'last day of last month', current_time( 'timestamp' ) ) );
122
  } elseif ( $predefined_date == 'This Month' ) {
123
- $start_date = date_i18n( 'Y-m-d', strtotime( 'first day of this month', current_time( 'timestamp' ) ) );
124
- $end_date = date_i18n( 'Y-m-d', strtotime( 'last day of this month', current_time( 'timestamp' ) ) );
125
  } elseif ( $predefined_date == 'This Year' ) {
126
- $year = date_i18n( 'Y' );
127
- $start_date = date_i18n( 'Y-m-d', strtotime( "first day of January $year", current_time( 'timestamp' ) ) );
128
- $end_date = date_i18n( 'Y-m-d', strtotime( "last day of December $year", current_time( 'timestamp' ) ) );
129
  } elseif ( $predefined_date == 'Last Year' ) {
130
- $year = date_i18n( 'Y' ) - 1;
131
- $start_date = date_i18n( 'Y-m-d', strtotime( "first day of January $year", current_time( 'timestamp' ) ) );
132
- $end_date = date_i18n( 'Y-m-d', strtotime( "last day of December $year", current_time( 'timestamp' ) ) );
133
  }
134
 
135
  // add times to dates
@@ -149,6 +152,8 @@ if ( empty( $filter ) || $filter === 'all' ) {
149
  $condition = "o.total = 0";
150
  }
151
 
 
 
152
  // deleting?
153
  if ( ! empty( $_REQUEST['delete'] ) ) {
154
  $dorder = new MemberOrder( intval( $_REQUEST['delete'] ) );
@@ -161,7 +166,7 @@ if ( ! empty( $_REQUEST['delete'] ) ) {
161
  }
162
  }
163
 
164
- $thisyear = date_i18n( 'Y' );
165
 
166
  // this array stores fields that should be read only
167
  $read_only_fields = apply_filters(
@@ -292,7 +297,7 @@ if ( ! empty( $_REQUEST['save'] ) ) {
292
  }
293
 
294
  // handle timestamp
295
- if ( $order->updateTimestamp( intval( $_POST['ts_year'] ), intval( $_POST['ts_month'] ), intval( $_POST['ts_day'] ) ) !== false ) {
296
  $pmpro_msg = __( 'Order saved successfully.', 'paid-memberships-pro' );
297
  $pmpro_msgt = 'success';
298
  } else {
@@ -817,25 +822,30 @@ selected="selected"<?php } ?>><?php _e( 'Live/Production', 'paid-memberships-pro
817
  } else {
818
  $timestamp = current_time( 'timestamp' );
819
  }
820
- $year = date_i18n( 'Y', $timestamp );
821
- $month = date_i18n( 'n', $timestamp );
822
- $day = date_i18n( 'j', $timestamp );
 
 
 
 
823
  ?>
824
  <select id="ts_month" name="ts_month">
825
  <?php
826
  for ( $i = 1; $i < 13; $i ++ ) {
827
- ?>
828
- <option value="<?php echo $i; ?>"
829
- <?php
830
- if ( $i == $month ) {
831
- ?>
832
- selected="selected"<?php } ?>><?php echo date_i18n( 'M', strtotime( $i . '/15/' . $year, current_time( 'timestamp' ) ) ); ?></option>
833
- <?php
834
  }
835
  ?>
836
  </select>
837
  <input name="ts_day" type="text" size="2" value="<?php echo esc_attr( $day ); ?>"/>
838
  <input name="ts_year" type="text" size="4" value="<?php echo esc_attr( $year ); ?>"/>
 
 
 
839
  <?php } ?>
840
  </td>
841
  </tr>
@@ -996,6 +1006,11 @@ selected="selected"<?php } ?>><?php echo date_i18n( 'M', strtotime( $i . '/15/'
996
  value="only-paid" <?php selected( $filter, 'only-paid' ); ?>><?php _e( 'Only Paid Orders', 'paid-memberships-pro' ); ?></option>
997
  <option
998
  value="only-free" <?php selected( $filter, 'only-free' ); ?>><?php _e( 'Only Free Orders', 'paid-memberships-pro' ); ?></option>
 
 
 
 
 
999
  </select>
1000
 
1001
  <span id="from"><?php _e( 'From', 'paid-memberships-pro' ); ?></span>
@@ -1003,7 +1018,7 @@ selected="selected"<?php } ?>><?php echo date_i18n( 'M', strtotime( $i . '/15/'
1003
  <select id="start-month" name="start-month">
1004
  <?php for ( $i = 1; $i < 13; $i ++ ) { ?>
1005
  <option
1006
- value="<?php echo $i; ?>" <?php selected( $start_month, $i ); ?>><?php echo date_i18n( 'F', mktime( 0, 0, 0, $i, 2 ) ); ?></option>
1007
  <?php } ?>
1008
  </select>
1009
 
@@ -1018,7 +1033,7 @@ selected="selected"<?php } ?>><?php echo date_i18n( 'M', strtotime( $i . '/15/'
1018
  <select id="end-month" name="end-month">
1019
  <?php for ( $i = 1; $i < 13; $i ++ ) { ?>
1020
  <option
1021
- value="<?php echo $i; ?>" <?php selected( $end_month, $i ); ?>><?php echo date_i18n( 'F', mktime( 0, 0, 0, $i, 2 ) ); ?></option>
1022
  <?php } ?>
1023
  </select>
1024
 
@@ -1375,7 +1390,13 @@ class="alternate"<?php } ?>>
1375
  <td>
1376
  <?php
1377
  $level = pmpro_getLevel( $order->membership_id );
1378
- echo $level->name;
 
 
 
 
 
 
1379
  ?>
1380
  </td>
1381
  <td><?php echo pmpro_formatPrice( $order->total ); ?></td>
6
 
7
  // vars
8
  global $wpdb;
9
+
10
+ $now = current_time( 'timestamp' );
11
+
12
  if ( isset( $_REQUEST['s'] ) ) {
13
  $s = sanitize_text_field( trim( $_REQUEST['s'] ) );
14
  } else {
42
  if ( isset( $_REQUEST['start-year'] ) ) {
43
  $start_year = intval( $_REQUEST['start-year'] );
44
  } else {
45
+ $start_year = date( 'Y', $now );
46
  }
47
 
48
  if ( isset( $_REQUEST['end-month'] ) ) {
49
  $end_month = intval( $_REQUEST['end-month'] );
50
  } else {
51
+ $end_month = date( 'n', $now );
52
  }
53
 
54
  if ( isset( $_REQUEST['end-day'] ) ) {
55
  $end_day = intval( $_REQUEST['end-day'] );
56
  } else {
57
+ $end_day = date( 'j', $now );
58
  }
59
 
60
  if ( isset( $_REQUEST['end-year'] ) ) {
61
  $end_year = intval( $_REQUEST['end-year'] );
62
  } else {
63
+ $end_year = date( 'Y', $now );
64
  }
65
 
66
  if ( isset( $_REQUEST['predefined-date'] ) ) {
120
  $condition = "o.timestamp BETWEEN '" . esc_sql( $start_date ) . "' AND '" . esc_sql( $end_date ) . "'";
121
  } elseif ( $filter == 'predefined-date-range' ) {
122
  if ( $predefined_date == 'Last Month' ) {
123
+ $start_date = date( 'Y-m-d', strtotime( 'first day of last month', $now ) );
124
+ $end_date = date( 'Y-m-d', strtotime( 'last day of last month', $now ) );
125
  } elseif ( $predefined_date == 'This Month' ) {
126
+ $start_date = date( 'Y-m-d', strtotime( 'first day of this month', $now ) );
127
+ $end_date = date( 'Y-m-d', strtotime( 'last day of this month', $now ) );
128
  } elseif ( $predefined_date == 'This Year' ) {
129
+ $year = date( 'Y', $now );
130
+ $start_date = date( 'Y-m-d', strtotime( "first day of January $year", $now ) );
131
+ $end_date = date( 'Y-m-d', strtotime( "last day of December $year", $now ) );
132
  } elseif ( $predefined_date == 'Last Year' ) {
133
+ $year = date( 'Y', $now ) - 1;
134
+ $start_date = date( 'Y-m-d', strtotime( "first day of January $year", $now ) );
135
+ $end_date = date( 'Y-m-d', strtotime( "last day of December $year", $now ) );
136
  }
137
 
138
  // add times to dates
152
  $condition = "o.total = 0";
153
  }
154
 
155
+ $condition = apply_filters( 'pmpro_admin_orders_query_condition', $condition, $filter );
156
+
157
  // deleting?
158
  if ( ! empty( $_REQUEST['delete'] ) ) {
159
  $dorder = new MemberOrder( intval( $_REQUEST['delete'] ) );
166
  }
167
  }
168
 
169
+ $thisyear = date( 'Y', $now );
170
 
171
  // this array stores fields that should be read only
172
  $read_only_fields = apply_filters(
297
  }
298
 
299
  // handle timestamp
300
+ if ( $order->updateTimestamp( intval( $_POST['ts_year'] ), intval( $_POST['ts_month'] ), intval( $_POST['ts_day'] ), intval( $_POST['ts_hour'] ) . ':' . intval( $_POST['ts_minute'] ) . ':00' ) !== false ) {
301
  $pmpro_msg = __( 'Order saved successfully.', 'paid-memberships-pro' );
302
  $pmpro_msgt = 'success';
303
  } else {
822
  } else {
823
  $timestamp = current_time( 'timestamp' );
824
  }
825
+
826
+ $year = date( 'Y', $timestamp );
827
+ $month = date( 'n', $timestamp );
828
+ $day = date( 'j', $timestamp );
829
+ $hour = date( 'H', $timestamp );
830
+ $minute = date( 'i', $timestamp );
831
+ $second = date( 's', $timestamp );
832
  ?>
833
  <select id="ts_month" name="ts_month">
834
  <?php
835
  for ( $i = 1; $i < 13; $i ++ ) {
836
+ ?>
837
+ <option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $month ); ?>>
838
+ <?php echo esc_html( date_i18n( 'F', mktime( 0, 0, 0, $i, 2 ) ) ); ?>
839
+ </option>
840
+ <?php
 
 
841
  }
842
  ?>
843
  </select>
844
  <input name="ts_day" type="text" size="2" value="<?php echo esc_attr( $day ); ?>"/>
845
  <input name="ts_year" type="text" size="4" value="<?php echo esc_attr( $year ); ?>"/>
846
+ <?php esc_html_e( 'at', 'paid-memberships-pro' ); ?>
847
+ <input name="ts_hour" type="text" size="2" value="<?php echo esc_attr( $hour ); ?>"/> :
848
+ <input name="ts_minute" type="text" size="2" value="<?php echo esc_attr( $minute ); ?>"/>
849
  <?php } ?>
850
  </td>
851
  </tr>
1006
  value="only-paid" <?php selected( $filter, 'only-paid' ); ?>><?php _e( 'Only Paid Orders', 'paid-memberships-pro' ); ?></option>
1007
  <option
1008
  value="only-free" <?php selected( $filter, 'only-free' ); ?>><?php _e( 'Only Free Orders', 'paid-memberships-pro' ); ?></option>
1009
+
1010
+ <?php $custom_filters = apply_filters( 'pmpro_admin_orders_filters', array() ); ?>
1011
+ <?php foreach( $custom_filters as $value => $name ) { ?>
1012
+ <option value="<?php esc_attr_e( $value ); ?>" <?php selected( $filter, $value ); ?>><?php esc_html_e( $name ); ?></option>
1013
+ <?php } ?>
1014
  </select>
1015
 
1016
  <span id="from"><?php _e( 'From', 'paid-memberships-pro' ); ?></span>
1018
  <select id="start-month" name="start-month">
1019
  <?php for ( $i = 1; $i < 13; $i ++ ) { ?>
1020
  <option
1021
+ value="<?php echo esc_attr( $i ); ?>" <?php selected( $start_month, $i ); ?>><?php echo esc_html( date_i18n( 'F', mktime( 0, 0, 0, $i, 2 ) ) ); ?></option>
1022
  <?php } ?>
1023
  </select>
1024
 
1033
  <select id="end-month" name="end-month">
1034
  <?php for ( $i = 1; $i < 13; $i ++ ) { ?>
1035
  <option
1036
+ value="<?php echo esc_attr( $i ); ?>" <?php selected( $end_month, $i ); ?>><?php echo esc_html( date_i18n( 'F', mktime( 0, 0, 0, $i, 2 ) ) ); ?></option>
1037
  <?php } ?>
1038
  </select>
1039
 
1390
  <td>
1391
  <?php
1392
  $level = pmpro_getLevel( $order->membership_id );
1393
+ if ( ! empty( $level ) ) {
1394
+ echo $level->name;
1395
+ } elseif ( $order->membership_id > 0 ) { ?>
1396
+ [<?php _e( 'deleted', 'paid-memberships-pro' ); ?>]
1397
+ <?php } else { ?>
1398
+ [<?php _e( 'none', 'paid-memberships-pro' ); ?>]
1399
+ <?php }
1400
  ?>
1401
  </td>
1402
  <td><?php echo pmpro_formatPrice( $order->total ); ?></td>
adminpages/pagesettings.php CHANGED
@@ -39,6 +39,8 @@ if (!empty($_REQUEST['savesettings'])) {
39
  pmpro_setOption("confirmation_page_id", NULL, 'intval');
40
  pmpro_setOption("invoice_page_id", NULL, 'intval');
41
  pmpro_setOption("levels_page_id", NULL, 'intval');
 
 
42
 
43
  //update the pages array
44
  $pmpro_pages["account"] = pmpro_getOption("account_page_id");
@@ -48,6 +50,8 @@ if (!empty($_REQUEST['savesettings'])) {
48
  $pmpro_pages["confirmation"] = pmpro_getOption("confirmation_page_id");
49
  $pmpro_pages["invoice"] = pmpro_getOption("invoice_page_id");
50
  $pmpro_pages["levels"] = pmpro_getOption("levels_page_id");
 
 
51
 
52
  //save additional pages
53
  if (!empty($extra_pages)) {
@@ -74,6 +78,15 @@ if (!empty($_REQUEST['createpages'])) {
74
 
75
  $pages = array();
76
 
 
 
 
 
 
 
 
 
 
77
  if(empty($_REQUEST['page_name'])) {
78
  //default pages
79
  $pages['account'] = __('Membership Account', 'paid-memberships-pro' );
@@ -83,7 +96,34 @@ if (!empty($_REQUEST['createpages'])) {
83
  $pages['confirmation'] = __('Membership Confirmation', 'paid-memberships-pro' );
84
  $pages['invoice'] = __('Membership Invoice', 'paid-memberships-pro' );
85
  $pages['levels'] = __('Membership Levels', 'paid-memberships-pro' );
 
 
 
 
 
 
 
86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  } else {
88
  //generate extra pages one at a time
89
  $pmpro_page_name = sanitize_text_field($_REQUEST['page_name']);
@@ -105,7 +145,7 @@ require_once(dirname(__FILE__) . "/admin_header.php");
105
 
106
  <form action="<?php echo admin_url('admin.php?page=pmpro-pagesettings');?>" method="post" enctype="multipart/form-data">
107
  <?php wp_nonce_field('savesettings', 'pmpro_pagesettings_nonce');?>
108
-
109
  <h1 class="wp-heading-inline"><?php esc_html_e( 'Page Settings', 'paid-memberships-pro' ); ?></h1>
110
  <hr class="wp-header-end">
111
  <?php
@@ -116,7 +156,8 @@ require_once(dirname(__FILE__) . "/admin_header.php");
116
  $pmpro_pages['checkout'] ||
117
  $pmpro_pages['confirmation'] ||
118
  $pmpro_pages['invoice'] ||
119
- $pmpro_pages['levels'] ) {
 
120
  $pmpro_some_pages_ready = true;
121
  } else {
122
  $pmpro_some_pages_ready = false;
@@ -275,6 +316,73 @@ require_once(dirname(__FILE__) . "/admin_header.php");
275
  } ?>
276
  </td>
277
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
278
  </tbody>
279
  </table>
280
 
39
  pmpro_setOption("confirmation_page_id", NULL, 'intval');
40
  pmpro_setOption("invoice_page_id", NULL, 'intval');
41
  pmpro_setOption("levels_page_id", NULL, 'intval');
42
+ pmpro_setOption("login_page_id", NULL, 'intval');
43
+ pmpro_setOption("member_profile_edit_page_id", NULL, 'intval');
44
 
45
  //update the pages array
46
  $pmpro_pages["account"] = pmpro_getOption("account_page_id");
50
  $pmpro_pages["confirmation"] = pmpro_getOption("confirmation_page_id");
51
  $pmpro_pages["invoice"] = pmpro_getOption("invoice_page_id");
52
  $pmpro_pages["levels"] = pmpro_getOption("levels_page_id");
53
+ $pmpro_pages["login"] = pmpro_getOption("login_page_id");
54
+ $pmpro_pages['member_profile_edit'] = pmpro_getOption( 'member_profile_edit_page_id' );
55
 
56
  //save additional pages
57
  if (!empty($extra_pages)) {
78
 
79
  $pages = array();
80
 
81
+ /**
82
+ * These pages were added later, and so we take extra
83
+ * care to make sure we only generate one version of them.
84
+ */
85
+ $generate_once = array(
86
+ 'member_profile_edit' => __( 'Your Profile', 'paid-memberships-pro' ),
87
+ 'login' => 'Log In',
88
+ );
89
+
90
  if(empty($_REQUEST['page_name'])) {
91
  //default pages
92
  $pages['account'] = __('Membership Account', 'paid-memberships-pro' );
96
  $pages['confirmation'] = __('Membership Confirmation', 'paid-memberships-pro' );
97
  $pages['invoice'] = __('Membership Invoice', 'paid-memberships-pro' );
98
  $pages['levels'] = __('Membership Levels', 'paid-memberships-pro' );
99
+ $pages['login'] = __('Log In', 'paid-memberships-pro' );
100
+ $pages['member_profile_edit'] = __('Your Profile', 'paid-memberships-pro' );
101
+ } elseif ( in_array( $_REQUEST['page_name'], array_keys( $generate_once ) ) ) {
102
+ $page_name = sanitize_text_field( $_REQUEST['page_name'] );
103
+ if ( ! empty( pmpro_getOption( $page_name . '_page_generated' ) ) ) {
104
+ // Don't generate again.
105
+ unset( $pages[$page_name] );
106
 
107
+ // Find the old page
108
+ $old_page = get_page_by_path( $page_name );
109
+ if ( ! empty( $old_page ) ) {
110
+ $pmpro_pages[$page_name] = $old_page->ID;
111
+ pmpro_setOption( $page_name . '_page_id', $old_page->ID );
112
+ pmpro_setOption( $page_name . '_page_generated', '1' );
113
+ $msg = true;
114
+ $msgt = sprintf( __( "Found an existing version of the %s page and used that one.", 'paid-memberships-pro' ), $page_name );
115
+ } else {
116
+ $msg = -1;
117
+ $msgt = sprintf( __( "Error generating the %s page. You will have to choose or create one manually.", 'paid-memberships-pro' ), $page_name );
118
+ }
119
+ } else {
120
+ // Generate the new Your Profile page and save an option that it was created.
121
+ $pages[$page_name] = array(
122
+ 'title' => $generate_once[$page_name],
123
+ 'content' => '[pmpro_' . $page_name . ']',
124
+ );
125
+ pmpro_setOption( $page_name . '_page_generated', '1' );
126
+ }
127
  } else {
128
  //generate extra pages one at a time
129
  $pmpro_page_name = sanitize_text_field($_REQUEST['page_name']);
145
 
146
  <form action="<?php echo admin_url('admin.php?page=pmpro-pagesettings');?>" method="post" enctype="multipart/form-data">
147
  <?php wp_nonce_field('savesettings', 'pmpro_pagesettings_nonce');?>
148
+
149
  <h1 class="wp-heading-inline"><?php esc_html_e( 'Page Settings', 'paid-memberships-pro' ); ?></h1>
150
  <hr class="wp-header-end">
151
  <?php
156
  $pmpro_pages['checkout'] ||
157
  $pmpro_pages['confirmation'] ||
158
  $pmpro_pages['invoice'] ||
159
+ $pmpro_pages['levels'] ||
160
+ $pmpro_pages['member_profile_edit'] ) {
161
  $pmpro_some_pages_ready = true;
162
  } else {
163
  $pmpro_some_pages_ready = false;
316
  } ?>
317
  </td>
318
  </tr>
319
+ <tr>
320
+ <th scope="row" valign="top">
321
+ <label for="login_page_id"><?php esc_attr_e( 'Log In Page', 'paid-memberships-pro' ); ?>:</label>
322
+ </th>
323
+ <td>
324
+ <?php
325
+ wp_dropdown_pages(
326
+ array(
327
+ 'name' => 'login_page_id',
328
+ 'show_option_none' => '-- ' . __('Use WordPress Default', 'paid-memberships-pro') . ' --',
329
+ 'selected' => $pmpro_pages['login'], 'post_types' => $post_types
330
+ )
331
+ );
332
+ ?>
333
+
334
+ <?php if ( ! empty( $pmpro_pages['login'] ) ) { ?>
335
+ <a target="_blank" href="post.php?post=<?php echo $pmpro_pages['login'] ?>&action=edit"
336
+ class="button button-secondary pmpro_page_edit"><?php _e('edit page', 'paid-memberships-pro' ); ?></a>
337
+ &nbsp;
338
+ <a target="_blank" href="<?php echo get_permalink($pmpro_pages['login']); ?>"
339
+ class="button button-secondary pmpro_page_view"><?php _e('view page', 'paid-memberships-pro' ); ?></a>
340
+ <?php } elseif ( empty( pmpro_getOption( 'login_page_generated' ) ) ) { ?>
341
+ &nbsp;
342
+ <a href="<?php echo wp_nonce_url( add_query_arg( array( 'page' => 'pmpro-pagesettings', 'createpages' => 1, 'page_name' => esc_attr( 'login' ) ), admin_url('admin.php') ), 'createpages', 'pmpro_pagesettings_nonce' ); ?>"><?php _e('Generate Page', 'paid-memberships-pro' ); ?></a>
343
+ <?php } ?>
344
+ <p class="description"><?php printf( esc_html__('Include the shortcode %s or the Log In Form block.', 'paid-memberships-pro' ), '[pmpro_login]' ); ?></p>
345
+ </td>
346
+ </tr>
347
+ <tr>
348
+ <th scope="row" valign="top">
349
+ <label for="member_profile_edit_page_id"><?php esc_attr_e( 'Member Profile Edit Page', 'paid-memberships-pro' ); ?>:</label>
350
+ </th>
351
+ <td>
352
+ <?php
353
+ wp_dropdown_pages(
354
+ array(
355
+ 'name' => 'member_profile_edit_page_id',
356
+ 'show_option_none' => '-- ' . __('Use WordPress Default', 'paid-memberships-pro') . ' --',
357
+ 'selected' => $pmpro_pages['member_profile_edit'], 'post_types' => $post_types
358
+ )
359
+ );
360
+ ?>
361
+
362
+ <?php if ( ! empty( $pmpro_pages['member_profile_edit'] ) ) { ?>
363
+ <a target="_blank" href="post.php?post=<?php echo $pmpro_pages['member_profile_edit'] ?>&action=edit"
364
+ class="button button-secondary pmpro_page_edit"><?php _e('edit page', 'paid-memberships-pro' ); ?></a>
365
+ &nbsp;
366
+ <a target="_blank" href="<?php echo get_permalink($pmpro_pages['member_profile_edit']); ?>"
367
+ class="button button-secondary pmpro_page_view"><?php _e('view page', 'paid-memberships-pro' ); ?></a>
368
+ <?php } elseif ( empty( pmpro_getOption( 'member_profile_edit_page_generated' ) ) ) { ?>
369
+ &nbsp;
370
+ <a href="<?php echo wp_nonce_url( add_query_arg( array( 'page' => 'pmpro-pagesettings', 'createpages' => 1, 'page_name' => esc_attr( 'member_profile_edit' ) ), admin_url('admin.php') ), 'createpages', 'pmpro_pagesettings_nonce' ); ?>"><?php _e('Generate Page', 'paid-memberships-pro' ); ?></a>
371
+ <?php } ?>
372
+ <p class="description"><?php printf( esc_html__('Include the shortcode %s or the Member Profile Edit block.', 'paid-memberships-pro' ), '[pmpro_member_profile_edit]' ); ?></p>
373
+
374
+ <?php if ( ! class_exists( 'PMProRH_Field' ) ) {
375
+ $allowed_member_profile_edit_html = array (
376
+ 'a' => array (
377
+ 'href' => array(),
378
+ 'target' => array(),
379
+ 'title' => array(),
380
+ ),
381
+ );
382
+ echo '<br /><p class="description">' . sprintf( wp_kses( __( 'Optional: Collect additional member fields at checkout, on the profile, or for admin-use only using the <a href="%s" title="Paid Memberships Pro - Register Helper Add On" target="_blank">Register Helper Add On</a>.', 'paid-memberships-pro' ), $allowed_member_profile_edit_html ), 'https://www.paidmembershipspro.com/add-ons/pmpro-register-helper-add-checkout-and-profile-fields/?utm_source=plugin&utm_medium=pmpro-pagesettings&utm_campaign=add-ons&utm_content=pmpro-register-helper' ) . '</p>';
383
+ } ?>
384
+ </td>
385
+ </tr>
386
  </tbody>
387
  </table>
388
 
adminpages/reports/memberships.php CHANGED
@@ -78,15 +78,15 @@ function pmpro_report_memberships_widget() {
78
  <tr class="pmpro_report_tr">
79
  <th scope="row">
80
  <?php if ( empty( $signups ) && empty( $cancellations) ) { ?>
81
- <?php echo $report_name; ?>
82
  <?php } else { ?>
83
  <button class="pmpro_report_th pmpro_report_th_closed">
84
- <?php echo $report_name; ?>
85
  </button>
86
  <?php } ?>
87
  </th>
88
- <td><?php echo $signups; ?></td>
89
- <td><?php echo $cancellations; ?></td>
90
  </tr>
91
  <?php
92
  //level stats
@@ -97,9 +97,9 @@ function pmpro_report_memberships_widget() {
97
  if($count++ >= $max_level_count) break;
98
  ?>
99
  <tr class="pmpro_report_tr_sub" style="display: none;">
100
- <th scope="row">- <?php echo $level->name;?></th>
101
- <td><?php echo number_format_i18n(pmpro_getSignups($report_type, $level->id)); ?></td>
102
- <td><?php echo number_format_i18n(pmpro_getCancellations($report_type, $level->id)); ?></td>
103
  </tr>
104
  <?php
105
  }
@@ -111,7 +111,7 @@ function pmpro_report_memberships_widget() {
111
  </table>
112
  <?php if ( function_exists( 'pmpro_report_memberships_page' ) ) { ?>
113
  <p class="pmpro_report-button">
114
- <a class="button button-primary" href="<?php echo admin_url( 'admin.php?page=pmpro-reports&report=memberships' ); ?>"><?php _e('Details', 'paid-memberships-pro' );?></a>
115
  </p>
116
  <?php } ?>
117
  </span>
@@ -301,8 +301,8 @@ function pmpro_report_memberships_page()
301
  else
302
  $sqlQuery .= "WHERE mu1.status IN('inactive','expired','cancelled','admin_cancelled') ";
303
 
304
- $sqlQuery .= "AND mu1.startdate >= '" . esc_sql( $startdate ) . "'
305
- AND mu1.startdate < '" . esc_sql( $enddate ) . "' ";
306
 
307
  //restrict by level
308
  if ( ! empty( $l ) ) {
@@ -360,12 +360,12 @@ function pmpro_report_memberships_page()
360
  <span id="for"><?php _e('for', 'paid-memberships-pro' )?></span>
361
  <select id="month" name="month">
362
  <?php for($i = 1; $i < 13; $i++) { ?>
363
- <option value="<?php echo $i;?>" <?php selected($month, $i);?>><?php echo date_i18n("F", mktime(0, 0, 0, $i, 2));?></option>
364
  <?php } ?>
365
  </select>
366
  <select id="year" name="year">
367
  <?php for($i = $thisyear; $i > 2007; $i--) { ?>
368
- <option value="<?php echo $i;?>" <?php selected($year, $i);?>><?php echo $i;?></option>
369
  <?php } ?>
370
  </select>
371
  <span id="for"><?php _e('for', 'paid-memberships-pro' )?></span>
@@ -378,7 +378,7 @@ function pmpro_report_memberships_page()
378
  foreach($levels as $level)
379
  {
380
  ?>
381
- <option value="<?php echo $level->id?>" <?php if($l == $level->id) { ?>selected="selected"<?php } ?>><?php echo $level->name?></option>
382
  <?php
383
  }
384
 
@@ -393,13 +393,13 @@ function pmpro_report_memberships_page()
393
  <select id="discount_code" name="discount_code">
394
  <option value="" <?php if ( empty( $discount_code ) ) { ?>selected="selected"<?php } ?>><?php _e('All Codes', 'paid-memberships-pro' );?></option>
395
  <?php foreach ( $codes as $code ) { ?>
396
- <option value="<?php echo $code->id; ?>" <?php selected( $discount_code, $code->id ); ?>><?php echo $code->code; ?></option>
397
  <?php } ?>
398
  </select>
399
  <?php } ?>
400
  <input type="hidden" name="page" value="pmpro-reports" />
401
  <input type="hidden" name="report" value="memberships" />
402
- <input type="submit" class="button" value="<?php _e('Generate Report', 'paid-memberships-pro' );?>" />
403
  </li>
404
  </ul>
405
 
@@ -445,23 +445,23 @@ function pmpro_report_memberships_page()
445
 
446
  var data = google.visualization.arrayToDataTable([
447
  <?php if ( $type === "signup_v_all" ) : // Signups vs. all cancellations ?>
448
- ['<?php echo $date_function;?>', 'Signups', 'All Cancellations'],
449
  <?php foreach($dates as $key => $value) { ?>
450
- ['<?php if($period == "monthly") echo date_i18n("M", mktime(0,0,0,$value->date,2)); else if($period == "daily") echo $key; else echo $value->date;?>', <?php echo $value->signups; ?>, <?php echo $value->cancellations; ?>],
451
  <?php } ?>
452
  <?php endif; ?>
453
 
454
  <?php if ( $type === "signup_v_cancel" ) : // Signups vs. cancellations ?>
455
- ['<?php echo $date_function;?>', 'Signups', 'Cancellations'],
456
  <?php foreach($dates as $key => $value) { ?>
457
- ['<?php if($period == "monthly") echo date_i18n("M", mktime(0,0,0,$value->date,2)); else if($period == "daily") echo $key; else echo $value->date;?>', <?php echo $value->signups; ?>, <?php echo $value->cancellations; ?>],
458
  <?php } ?>
459
  <?php endif; ?>
460
 
461
  <?php if ( $type === "signup_v_expiration" ) : // Signups vs. expirations ?>
462
- ['<?php echo $date_function;?>', 'Signups', 'Expirations'],
463
  <?php foreach($dates as $key => $value) { ?>
464
- ['<?php if($period == "monthly") echo date_i18n("M", mktime(0,0,0,$value->date,2)); else if($period == "daily") echo $key; else echo $value->date;?>', <?php echo $value->signups; ?>, <?php echo $value->cancellations; ?>],
465
  <?php } ?>
466
  <?php endif; ?>
467
 
@@ -476,7 +476,7 @@ function pmpro_report_memberships_page()
476
  textStyle: {color: '#555555', fontSize: '12', italic: false}
477
  },
478
  hAxis: {
479
- title: '<?php echo $date_function;?>',
480
  textStyle: {color: '#555555', fontSize: '12', italic: false},
481
  titleTextStyle: {color: '#555555', fontSize: '20', bold: true, italic: false},
482
  maxAlternation: 1
78
  <tr class="pmpro_report_tr">
79
  <th scope="row">
80
  <?php if ( empty( $signups ) && empty( $cancellations) ) { ?>
81
+ <?php echo esc_html($report_name); ?>
82
  <?php } else { ?>
83
  <button class="pmpro_report_th pmpro_report_th_closed">
84
+ <?php echo esc_html($report_name); ?>
85
  </button>
86
  <?php } ?>
87
  </th>
88
+ <td><?php echo esc_html($signups); ?></td>
89
+ <td><?php echo esc_html($cancellations); ?></td>
90
  </tr>
91
  <?php
92
  //level stats
97
  if($count++ >= $max_level_count) break;
98
  ?>
99
  <tr class="pmpro_report_tr_sub" style="display: none;">
100
+ <th scope="row">- <?php echo esc_html($level->name);?></th>
101
+ <td><?php echo esc_html(number_format_i18n(pmpro_getSignups($report_type, $level->id))); ?></td>
102
+ <td><?php echo esc_html(number_format_i18n(pmpro_getCancellations($report_type, $level->id))); ?></td>
103
  </tr>
104
  <?php
105
  }
111
  </table>
112
  <?php if ( function_exists( 'pmpro_report_memberships_page' ) ) { ?>
113
  <p class="pmpro_report-button">
114
+ <a class="button button-primary" href="<?php echo esc_url(admin_url( 'admin.php?page=pmpro-reports&report=memberships')); ?>"><?php _e('Details', 'paid-memberships-pro' );?></a>
115
  </p>
116
  <?php } ?>
117
  </span>
301
  else
302
  $sqlQuery .= "WHERE mu1.status IN('inactive','expired','cancelled','admin_cancelled') ";
303
 
304
+ $sqlQuery .= "AND mu1.enddate >= '" . esc_sql( $startdate ) . "'
305
+ AND mu1.enddate < '" . esc_sql( $enddate ) . "' ";
306
 
307
  //restrict by level
308
  if ( ! empty( $l ) ) {
360
  <span id="for"><?php _e('for', 'paid-memberships-pro' )?></span>
361
  <select id="month" name="month">
362
  <?php for($i = 1; $i < 13; $i++) { ?>
363
+ <option value="<?php echo esc_attr($i);?>" <?php selected($month, $i);?>><?php echo esc_html(date_i18n("F", mktime(0, 0, 0, $i, 2)));?></option>
364
  <?php } ?>
365
  </select>
366
  <select id="year" name="year">
367
  <?php for($i = $thisyear; $i > 2007; $i--) { ?>
368
+ <option value="<?php echo esc_attr($i);?>" <?php selected($year, $i);?>><?php echo esc_html($i);?></option>
369
  <?php } ?>
370
  </select>
371
  <span id="for"><?php _e('for', 'paid-memberships-pro' )?></span>
378
  foreach($levels as $level)
379
  {
380
  ?>
381
+ <option value="<?php echo esc_attr($level->id)?>" <?php if($l == $level->id) { ?>selected="selected"<?php } ?>><?php echo esc_html($level->name);?></option>
382
  <?php
383
  }
384
 
393
  <select id="discount_code" name="discount_code">
394
  <option value="" <?php if ( empty( $discount_code ) ) { ?>selected="selected"<?php } ?>><?php _e('All Codes', 'paid-memberships-pro' );?></option>
395
  <?php foreach ( $codes as $code ) { ?>
396
+ <option value="<?php echo esc_attr($code->id); ?>" <?php selected( $discount_code, $code->id ); ?>><?php echo esc_html($code->code); ?></option>
397
  <?php } ?>
398
  </select>
399
  <?php } ?>
400
  <input type="hidden" name="page" value="pmpro-reports" />
401
  <input type="hidden" name="report" value="memberships" />
402
+ <input type="submit" class="button" value="<?php esc_attr_e('Generate Report', 'paid-memberships-pro' );?>" />
403
  </li>
404
  </ul>
405
 
445
 
446
  var data = google.visualization.arrayToDataTable([
447
  <?php if ( $type === "signup_v_all" ) : // Signups vs. all cancellations ?>
448
+ ['<?php echo esc_html($date_function);?>', 'Signups', 'All Cancellations'],
449
  <?php foreach($dates as $key => $value) { ?>
450
+ ['<?php if($period == "monthly") echo esc_html(date_i18n("M", mktime(0,0,0,$value->date,2))); else if($period == "daily") echo esc_html($key); else echo esc_html($value->date);?>', <?php echo esc_html($value->signups); ?>, <?php echo esc_html($value->cancellations); ?>],
451
  <?php } ?>
452
  <?php endif; ?>
453
 
454
  <?php if ( $type === "signup_v_cancel" ) : // Signups vs. cancellations ?>
455
+ ['<?php echo esc_html($date_function);?>', 'Signups', 'Cancellations'],
456
  <?php foreach($dates as $key => $value) { ?>
457
+ ['<?php if($period == "monthly") echo esc_html(date_i18n("M", mktime(0,0,0,$value->date,2))); else if($period == "daily") echo esc_html($key); else echo esc_html($value->date);?>', <?php echo esc_html($value->signups); ?>, <?php echo esc_html($value->cancellations); ?>],
458
  <?php } ?>
459
  <?php endif; ?>
460
 
461
  <?php if ( $type === "signup_v_expiration" ) : // Signups vs. expirations ?>
462
+ ['<?php echo esc_html($date_function);?>', 'Signups', 'Expirations'],
463
  <?php foreach($dates as $key => $value) { ?>
464
+ ['<?php if($period == "monthly") echo esc_html(date_i18n("M", mktime(0,0,0,$value->date,2))); else if($period == "daily") echo esc_html($key); else echo esc_html($value->date);?>', <?php echo esc_html($value->signups); ?>, <?php echo esc_html($value->cancellations); ?>],
465
  <?php } ?>
466
  <?php endif; ?>
467
 
476
  textStyle: {color: '#555555', fontSize: '12', italic: false}
477
  },
478
  hAxis: {
479
+ title: '<?php echo esc_html($date_function);?>',
480
  textStyle: {color: '#555555', fontSize: '12', italic: false},
481
  titleTextStyle: {color: '#555555', fontSize: '20', bold: true, italic: false},
482
  maxAlternation: 1
adminpages/reports/sales.php CHANGED
@@ -63,13 +63,13 @@ function pmpro_report_sales_widget() {
63
  <tr class="pmpro_report_tr">
64
  <th scope="row">
65
  <?php if( ! empty( $prices ) ) { ?>
66
- <button class="pmpro_report_th pmpro_report_th_closed"><?php echo $report_name; ?></button>
67
  <?php } else { ?>
68
- <?php echo $report_name; ?>
69
  <?php } ?>
70
  </th>
71
- <td><?php echo number_format_i18n( pmpro_getSales( $report_type ) ); ?></td>
72
- <td><?php echo pmpro_formatPrice( pmpro_getRevenue( $report_type ) ); ?></td>
73
  </tr>
74
  <?php
75
  //sale prices stats
@@ -82,9 +82,9 @@ function pmpro_report_sales_widget() {
82
  }
83
  ?>
84
  <tr class="pmpro_report_tr_sub" style="display: none;">
85
- <th scope="row">- <?php echo pmpro_formatPrice( $price );?></th>
86
- <td><?php echo number_format_i18n( $quantity ); ?></td>
87
- <td><?php echo pmpro_formatPrice( $price * $quantity ); ?></td>
88
  </tr>
89
  <?php
90
  }
@@ -96,7 +96,7 @@ function pmpro_report_sales_widget() {
96
  </table>
97
  <?php if ( function_exists( 'pmpro_report_sales_page' ) ) { ?>
98
  <p class="pmpro_report-button">
99
- <a class="button button-primary" href="<?php echo admin_url( 'admin.php?page=pmpro-reports&report=sales' ); ?>"><?php _e('Details', 'paid-memberships-pro' );?></a>
100
  </p>
101
  <?php } ?>
102
  </span>
@@ -298,12 +298,12 @@ function pmpro_report_sales_page()
298
  <span id="for"><?php _e('for', 'paid-memberships-pro' )?></span>
299
  <select id="month" name="month">
300
  <?php for($i = 1; $i < 13; $i++) { ?>
301
- <option value="<?php echo $i;?>" <?php selected($month, $i);?>><?php echo date_i18n("F", mktime(0, 0, 0, $i, 2));?></option>
302
  <?php } ?>
303
  </select>
304
  <select id="year" name="year">
305
  <?php for($i = $thisyear; $i > 2007; $i--) { ?>
306
- <option value="<?php echo $i;?>" <?php selected($year, $i);?>><?php echo $i;?></option>
307
  <?php } ?>
308
  </select>
309
  <span id="for"><?php _e('for', 'paid-memberships-pro' )?></span>
@@ -314,7 +314,7 @@ function pmpro_report_sales_page()
314
  foreach($levels as $level)
315
  {
316
  ?>
317
- <option value="<?php echo $level->id?>" <?php if($l == $level->id) { ?>selected="selected"<?php } ?>><?php echo $level->name?></option>
318
  <?php
319
  }
320
  ?>
@@ -327,7 +327,7 @@ function pmpro_report_sales_page()
327
  <select id="discount_code" name="discount_code">
328
  <option value="" <?php if ( empty( $discount_code ) ) { ?>selected="selected"<?php } ?>><?php _e('All Codes', 'paid-memberships-pro' );?></option>
329
  <?php foreach ( $codes as $code ) { ?>
330
- <option value="<?php echo $code->id; ?>" <?php selected( $discount_code, $code->id ); ?>><?php echo $code->code; ?></option>
331
  <?php } ?>
332
  </select>
333
  <?php } ?>
@@ -377,17 +377,17 @@ function pmpro_report_sales_page()
377
 
378
  var data = google.visualization.arrayToDataTable([
379
  [
380
- { label: '<?php echo $date_function;?>' },
381
- { label: '<?php echo ucwords($type);?>' },
382
  { label: '<?php _e( 'Average*', 'paid-memberships-pro' );?>' },
383
  ],
384
  <?php foreach($cols as $date => $value) { ?>
385
  ['<?php
386
  if($period == "monthly") {
387
- echo date_i18n("M", mktime(0,0,0,$date,2));
388
  } else {
389
- echo $date;
390
- } ?>', <?php echo pmpro_round_price( $value );?>, <?php echo pmpro_round_price( $average );?>],
391
  <?php } ?>
392
  ]);
393
 
@@ -401,7 +401,7 @@ function pmpro_report_sales_page()
401
  ?>'],
402
  chartArea: {width: '90%'},
403
  hAxis: {
404
- title: '<?php echo $date_function;?>',
405
  textStyle: {color: '#555555', fontSize: '12', italic: false},
406
  titleTextStyle: {color: '#555555', fontSize: '20', bold: true, italic: false},
407
  maxAlternation: 1
@@ -433,10 +433,10 @@ function pmpro_report_sales_page()
433
  }
434
  ?>
435
  var formatter = new google.visualization.NumberFormat({
436
- <?php echo $position;?>: '<?php echo html_entity_decode($pmpro_currency_symbol); ?>',
437
- 'decimalSymbol': '<?php echo html_entity_decode( $decimal_separator ); ?>',
438
  'fractionDigits': <?php echo intval( $decimals ); ?>,
439
- 'groupingSymbol': '<?php echo html_entity_decode( $thousands_separator ); ?>',
440
  });
441
  formatter.format(data, 1);
442
  formatter.format(data, 2);
@@ -608,6 +608,26 @@ function pmpro_getRevenue($period, $levels = NULL)
608
  return $revenue;
609
  }
610
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
611
  //delete transients when an order goes through
612
  function pmpro_report_sales_delete_transients()
613
  {
63
  <tr class="pmpro_report_tr">
64
  <th scope="row">
65
  <?php if( ! empty( $prices ) ) { ?>
66
+ <button class="pmpro_report_th pmpro_report_th_closed"><?php echo esc_html($report_name); ?></button>
67
  <?php } else { ?>
68
+ <?php echo esc_html($report_name); ?>
69
  <?php } ?>
70
  </th>
71
+ <td><?php echo esc_html( number_format_i18n( pmpro_getSales( $report_type ) ) ); ?></td>
72
+ <td><?php echo esc_html(pmpro_formatPrice( pmpro_getRevenue( $report_type ) ) ); ?></td>
73
  </tr>
74
  <?php
75
  //sale prices stats
82
  }
83
  ?>
84
  <tr class="pmpro_report_tr_sub" style="display: none;">
85
+ <th scope="row">- <?php echo esc_html( pmpro_formatPrice( $price ) );?></th>
86
+ <td><?php echo esc_html( number_format_i18n( $quantity ) ); ?></td>
87
+ <td><?php echo esc_html( pmpro_formatPrice( $price * $quantity ) ); ?></td>
88
  </tr>
89
  <?php
90
  }
96
  </table>
97
  <?php if ( function_exists( 'pmpro_report_sales_page' ) ) { ?>
98
  <p class="pmpro_report-button">
99
+ <a class="button button-primary" href="<?php echo esc_url( admin_url( 'admin.php?page=pmpro-reports&report=sales' ) ); ?>"><?php _e('Details', 'paid-memberships-pro' );?></a>
100
  </p>
101
  <?php } ?>
102
  </span>
298
  <span id="for"><?php _e('for', 'paid-memberships-pro' )?></span>
299
  <select id="month" name="month">
300
  <?php for($i = 1; $i < 13; $i++) { ?>
301
+ <option value="<?php echo esc_attr( $i );?>" <?php selected($month, $i);?>><?php echo esc_html(date_i18n("F", mktime(0, 0, 0, $i, 2)));?></option>
302
  <?php } ?>
303
  </select>
304
  <select id="year" name="year">
305
  <?php for($i = $thisyear; $i > 2007; $i--) { ?>
306
+ <option value="<?php echo esc_attr( $i );?>" <?php selected($year, $i);?>><?php echo esc_html( $i );?></option>
307
  <?php } ?>
308
  </select>
309
  <span id="for"><?php _e('for', 'paid-memberships-pro' )?></span>
314
  foreach($levels as $level)
315
  {
316
  ?>
317
+ <option value="<?php echo esc_attr( $level->id ); ?>" <?php if($l == $level->id) { ?>selected="selected"<?php } ?>><?php echo esc_html( $level->name); ?></option>
318
  <?php
319
  }
320
  ?>
327
  <select id="discount_code" name="discount_code">
328
  <option value="" <?php if ( empty( $discount_code ) ) { ?>selected="selected"<?php } ?>><?php _e('All Codes', 'paid-memberships-pro' );?></option>
329
  <?php foreach ( $codes as $code ) { ?>
330
+ <option value="<?php echo esc_attr( $code->id ); ?>" <?php selected( $discount_code, $code->id ); ?>><?php echo esc_html( $code->code ); ?></option>
331
  <?php } ?>
332
  </select>
333
  <?php } ?>
377
 
378
  var data = google.visualization.arrayToDataTable([
379
  [
380
+ { label: '<?php echo esc_html( $date_function );?>' },
381
+ { label: '<?php echo esc_html( ucwords( $type ) );?>' },
382
  { label: '<?php _e( 'Average*', 'paid-memberships-pro' );?>' },
383
  ],
384
  <?php foreach($cols as $date => $value) { ?>
385
  ['<?php
386
  if($period == "monthly") {
387
+ echo esc_html(date_i18n("M", mktime(0,0,0,$date,2)));
388
  } else {
389
+ echo esc_html( $date );
390
+ } ?>', <?php echo esc_html( pmpro_round_price( $value ) );?>, <?php echo esc_html( pmpro_round_price( $average ) );?>],
391
  <?php } ?>
392
  ]);
393
 
401
  ?>'],
402
  chartArea: {width: '90%'},
403
  hAxis: {
404
+ title: '<?php echo esc_html( $date_function );?>',
405
  textStyle: {color: '#555555', fontSize: '12', italic: false},
406
  titleTextStyle: {color: '#555555', fontSize: '20', bold: true, italic: false},
407
  maxAlternation: 1
433
  }
434
  ?>
435
  var formatter = new google.visualization.NumberFormat({
436
+ <?php echo esc_html( $position );?>: '<?php echo esc_html( html_entity_decode($pmpro_currency_symbol) ); ?>',
437
+ 'decimalSymbol': '<?php echo esc_html( html_entity_decode( $decimal_separator ) ); ?>',
438
  'fractionDigits': <?php echo intval( $decimals ); ?>,
439
+ 'groupingSymbol': '<?php echo esc_html( html_entity_decode( $thousands_separator ) ); ?>',
440
  });
441
  formatter.format(data, 1);
442
  formatter.format(data, 2);
608
  return $revenue;
609
  }
610
 
611
+ /**
612
+ * Get revenue between dates.
613
+ *
614
+ * @param string $start_date to track revenue from.
615
+ * @param string $end_date to track revenue until. Defaults to current date. YYYY-MM-DD format.
616
+ * @param array $level_ids to include in report. Defaults to all.
617
+ * @return float revenue.
618
+ */
619
+ function pmpro_get_revenue_between_dates( $start_date, $end_date = '', $level_ids = null ) {
620
+ global $wpdb;
621
+ $sql_query = "SELECT SUM(total) FROM $wpdb->pmpro_membership_orders WHERE status NOT IN('refunded', 'review', 'token', 'error') AND timestamp >= '" . esc_sql( $start_date ) . " 00:00:00'";
622
+ if ( ! empty( $end_date ) ) {
623
+ $sql_query .= " AND timestamp <= '" . esc_sql( $end_date ) . " 23:59:59'";
624
+ }
625
+ if ( ! empty( $level_ids ) ) {
626
+ $sql_query .= ' AND membership_id IN(' . implode( ', ', $levels ) . ') ';
627
+ }
628
+ return $wpdb->get_var($sql_query);
629
+ }
630
+
631
  //delete transients when an order goes through
632
  function pmpro_report_sales_delete_transients()
633
  {
blocks/account-invoices-section/block.js CHANGED
@@ -4,31 +4,14 @@
4
  * Displays the Membership Account > Invoices page section.
5
  *
6
  */
7
- /**
8
- * Block dependencies
9
- */
10
- import './editor.css';
11
- import classnames from 'classnames';
12
  /**
13
  * Internal block libraries
14
  */
15
  const { __ } = wp.i18n;
16
  const {
17
- registerBlockType,
18
- AlignmentToolbar,
19
- BlockControls,
20
- BlockAlignmentToolbar,
21
  } = wp.blocks;
22
- const {
23
- PanelBody,
24
- PanelRow,
25
- TextControl,
26
- } = wp.components;
27
-
28
- const {
29
- RichText,
30
- InspectorControls,
31
- } = wp.editor;
32
 
33
  /**
34
  * Register block
@@ -49,12 +32,11 @@ const {
49
  },
50
  attributes: {
51
  },
52
- edit: props => {
53
- const { className } = props;
54
  return [
55
- <div className={ className }>
56
- <span>Paid Memberships Pro</span>
57
- <span>Membership Account: Invoices</span>
58
  </div>
59
  ];
60
  },
4
  * Displays the Membership Account > Invoices page section.
5
  *
6
  */
7
+
 
 
 
 
8
  /**
9
  * Internal block libraries
10
  */
11
  const { __ } = wp.i18n;
12
  const {
13
+ registerBlockType
 
 
 
14
  } = wp.blocks;
 
 
 
 
 
 
 
 
 
 
15
 
16
  /**
17
  * Register block
32
  },
33
  attributes: {
34
  },
35
+ edit() {
 
36
  return [
37
+ <div className="pmpro-block-element">
38
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
39
+ <span className="pmpro-block-subtitle"> { __( 'Membership Account: Invoices', 'paid-memberships-pro' ) }</span>
40
  </div>
41
  ];
42
  },
blocks/account-invoices-section/editor.css DELETED
@@ -1,19 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-account-invoices-section {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-account-invoices-section span {
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 700;
11
- position: relative;
12
- text-transform: uppercase;
13
- }
14
- .edit-post-layout .wp-block-pmpro-account-invoices-section span:first-child {
15
- font-size: 125%;
16
- font-weight: 300;
17
- letter-spacing: 1px;
18
- margin-bottom: 10px;
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/account-links-section/block.js CHANGED
@@ -4,31 +4,14 @@
4
  * Displays the Membership Account > Member Links page section.
5
  *
6
  */
7
- /**
8
- * Block dependencies
9
- */
10
- import './editor.css';
11
- import classnames from 'classnames';
12
  /**
13
  * Internal block libraries
14
  */
15
  const { __ } = wp.i18n;
16
  const {
17
- registerBlockType,
18
- AlignmentToolbar,
19
- BlockControls,
20
- BlockAlignmentToolbar,
21
  } = wp.blocks;
22
- const {
23
- PanelBody,
24
- PanelRow,
25
- TextControl,
26
- } = wp.components;
27
-
28
- const {
29
- RichText,
30
- InspectorControls,
31
- } = wp.editor;
32
 
33
  /**
34
  * Register block
@@ -49,12 +32,11 @@ const {
49
  },
50
  attributes: {
51
  },
52
- edit: props => {
53
- const { className } = props;
54
  return [
55
- <div className={ className }>
56
- <span>Paid Memberships Pro</span>
57
- <span>Membership Account: Member Links</span>
58
  </div>
59
  ];
60
  },
4
  * Displays the Membership Account > Member Links page section.
5
  *
6
  */
7
+
 
 
 
 
8
  /**
9
  * Internal block libraries
10
  */
11
  const { __ } = wp.i18n;
12
  const {
13
+ registerBlockType
 
 
 
14
  } = wp.blocks;
 
 
 
 
 
 
 
 
 
 
15
 
16
  /**
17
  * Register block
32
  },
33
  attributes: {
34
  },
35
+ edit(){
 
36
  return [
37
+ <div className="pmpro-block-element">
38
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
39
+ <span className="pmpro-block-subtitle">{ __( 'Membership Account: Member Links', 'paid-memberships-pro' ) }</span>
40
  </div>
41
  ];
42
  },
blocks/account-links-section/editor.css DELETED
@@ -1,19 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-account-links-section {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-account-links-section span {
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 600;
11
- position: relative;
12
- text-transform: uppercase;
13
- }
14
- .edit-post-layout .wp-block-pmpro-account-links-section span:first-child {
15
- font-size: 125%;
16
- font-weight: 300;
17
- letter-spacing: 1px;
18
- margin-bottom: 10px;
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/account-membership-section/block.js CHANGED
@@ -4,31 +4,14 @@
4
  * Displays the Membership Account > My Memberships page section.
5
  *
6
  */
7
- /**
8
- * Block dependencies
9
- */
10
- import './editor.css';
11
- import classnames from 'classnames';
12
  /**
13
  * Internal block libraries
14
  */
15
  const { __ } = wp.i18n;
16
  const {
17
- registerBlockType,
18
- AlignmentToolbar,
19
- BlockControls,
20
- BlockAlignmentToolbar,
21
  } = wp.blocks;
22
- const {
23
- PanelBody,
24
- PanelRow,
25
- TextControl,
26
- } = wp.components;
27
-
28
- const {
29
- RichText,
30
- InspectorControls,
31
- } = wp.editor;
32
 
33
  /**
34
  * Register block
@@ -49,12 +32,11 @@ const {
49
  },
50
  attributes: {
51
  },
52
- edit: props => {
53
- const { className } = props;
54
  return [
55
- <div className={ className }>
56
- <span>Paid Memberships Pro</span>
57
- <span>Membership Account: My Memberships</span>
58
  </div>
59
  ];
60
  },
4
  * Displays the Membership Account > My Memberships page section.
5
  *
6
  */
7
+
 
 
 
 
8
  /**
9
  * Internal block libraries
10
  */
11
  const { __ } = wp.i18n;
12
  const {
13
+ registerBlockType
 
 
 
14
  } = wp.blocks;
 
 
 
 
 
 
 
 
 
 
15
 
16
  /**
17
  * Register block
32
  },
33
  attributes: {
34
  },
35
+ edit() {
 
36
  return [
37
+ <div className="pmpro-block-element">
38
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
39
+ <span className="pmpro-block-subtitle">{ __( 'Membership Account: My Memberships', 'paid-memberships-pro' ) }</span>
40
  </div>
41
  ];
42
  },
blocks/account-membership-section/editor.css DELETED
@@ -1,19 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-account-membership-section {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-account-membership-section span {
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 600;
11
- position: relative;
12
- text-transform: uppercase;
13
- }
14
- .edit-post-layout .wp-block-pmpro-account-membership-section span:first-child {
15
- font-size: 125%;
16
- font-weight: 300;
17
- letter-spacing: 1px;
18
- margin-bottom: 10px;
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/account-page/block.js CHANGED
@@ -7,30 +7,14 @@
7
  /**
8
  * Block dependencies
9
  */
10
- import './editor.css';
11
- import classnames from 'classnames';
12
  import Inspector from './inspector';
13
  /**
14
  * Internal block libraries
15
  */
16
  const { __ } = wp.i18n;
17
  const {
18
- registerBlockType,
19
- AlignmentToolbar,
20
- BlockControls,
21
- BlockAlignmentToolbar,
22
  } = wp.blocks;
23
- const {
24
- PanelBody,
25
- PanelRow,
26
- TextControl,
27
- } = wp.components;
28
-
29
- const {
30
- RichText,
31
- InspectorControls,
32
- } = wp.editor;
33
-
34
  /**
35
  * Register block
36
  */
@@ -67,12 +51,12 @@ const {
67
  },
68
  },
69
  edit: props => {
70
- const { attributes: { fields }, className, setAttributes, isSelected } = props;
71
  return [
72
  isSelected && <Inspector { ...{ setAttributes, ...props} } />,
73
- <div className={ className }>
74
- <span>Paid Memberships Pro</span>
75
- <span>Membership Account Page</span>
76
  </div>
77
  ];
78
  },
7
  /**
8
  * Block dependencies
9
  */
 
 
10
  import Inspector from './inspector';
11
  /**
12
  * Internal block libraries
13
  */
14
  const { __ } = wp.i18n;
15
  const {
16
+ registerBlockType
 
 
 
17
  } = wp.blocks;
 
 
 
 
 
 
 
 
 
 
 
18
  /**
19
  * Register block
20
  */
51
  },
52
  },
53
  edit: props => {
54
+ const { setAttributes, isSelected } = props;
55
  return [
56
  isSelected && <Inspector { ...{ setAttributes, ...props} } />,
57
+ <div className="pmpro-block-element">
58
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
59
+ <span className="pmpro-block-subtitle">{ __( 'Membership Account Page', 'paid-memberships-pro' ) }</span>
60
  </div>
61
  ];
62
  },
blocks/account-page/editor.css DELETED
@@ -1,19 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-account-page {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-account-page span {
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 600;
11
- position: relative;
12
- text-transform: uppercase;
13
- }
14
- .edit-post-layout .wp-block-pmpro-account-page span:first-child {
15
- font-size: 125%;
16
- font-weight: 300;
17
- letter-spacing: 1px;
18
- margin-bottom: 10px;
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/account-page/inspector.js CHANGED
@@ -5,12 +5,11 @@ const { __ } = wp.i18n;
5
  const { Component } = wp.element;
6
  const {
7
  PanelBody,
8
- PanelRow,
9
  CheckboxControl,
10
  } = wp.components;
11
  const {
12
  InspectorControls,
13
- } = wp.editor;
14
 
15
  /**
16
  * Create an Inspector Controls wrapper Component
@@ -28,28 +27,28 @@ export default class Inspector extends Component {
28
  <InspectorControls>
29
  <PanelBody>
30
  <CheckboxControl
31
- label="Show 'My Memberships' Section"
32
  checked={ membership }
33
  onChange={ membership => setAttributes( {membership} ) }
34
  />
35
  </PanelBody>
36
  <PanelBody>
37
  <CheckboxControl
38
- label="Show 'Profile' Section"
39
  checked={ profile }
40
  onChange={ profile => setAttributes( {profile} ) }
41
  />
42
  </PanelBody>
43
  <PanelBody>
44
  <CheckboxControl
45
- label="Show 'Invoices' Section"
46
  checked={ invoices }
47
  onChange={ invoices => setAttributes( {invoices} ) }
48
  />
49
  </PanelBody>
50
  <PanelBody>
51
  <CheckboxControl
52
- label="Show 'Member Links' Section"
53
  checked={ links }
54
  onChange={ links => setAttributes( {links} ) }
55
  />
5
  const { Component } = wp.element;
6
  const {
7
  PanelBody,
 
8
  CheckboxControl,
9
  } = wp.components;
10
  const {
11
  InspectorControls,
12
+ } = wp.blockEditor;
13
 
14
  /**
15
  * Create an Inspector Controls wrapper Component
27
  <InspectorControls>
28
  <PanelBody>
29
  <CheckboxControl
30
+ label={ __( "Show 'My Memberships' Section", 'paid-memberships-pro' ) }
31
  checked={ membership }
32
  onChange={ membership => setAttributes( {membership} ) }
33
  />
34
  </PanelBody>
35
  <PanelBody>
36
  <CheckboxControl
37
+ label={ __( "Show 'Profile' Section", 'paid-memberships-pro' ) }
38
  checked={ profile }
39
  onChange={ profile => setAttributes( {profile} ) }
40
  />
41
  </PanelBody>
42
  <PanelBody>
43
  <CheckboxControl
44
+ label={ __( "Show 'Invoices' Section", 'paid-memberships-pro' ) }
45
  checked={ invoices }
46
  onChange={ invoices => setAttributes( {invoices} ) }
47
  />
48
  </PanelBody>
49
  <PanelBody>
50
  <CheckboxControl
51
+ label={ __( "Show 'Member Links' Section", 'paid-memberships-pro' ) }
52
  checked={ links }
53
  onChange={ links => setAttributes( {links} ) }
54
  />
blocks/account-profile-section/block.js CHANGED
@@ -5,31 +5,14 @@
5
  * specific level.
6
  *
7
  */
8
- /**
9
- * Block dependencies
10
- */
11
- import './editor.css';
12
- import classnames from 'classnames';
13
  /**
14
  * Internal block libraries
15
  */
16
  const { __ } = wp.i18n;
17
  const {
18
- registerBlockType,
19
- AlignmentToolbar,
20
- BlockControls,
21
- BlockAlignmentToolbar,
22
  } = wp.blocks;
23
- const {
24
- PanelBody,
25
- PanelRow,
26
- TextControl,
27
- } = wp.components;
28
-
29
- const {
30
- RichText,
31
- InspectorControls,
32
- } = wp.editor;
33
 
34
  /**
35
  * Register block
@@ -50,12 +33,11 @@ const {
50
  },
51
  attributes: {
52
  },
53
- edit: props => {
54
- const { className } = props;
55
  return [
56
- <div className={ className }>
57
- <span>Paid Memberships Pro</span>
58
- <span>Membership Account: Profile</span>
59
  </div>
60
  ];
61
  },
5
  * specific level.
6
  *
7
  */
8
+
 
 
 
 
9
  /**
10
  * Internal block libraries
11
  */
12
  const { __ } = wp.i18n;
13
  const {
14
+ registerBlockType
 
 
 
15
  } = wp.blocks;
 
 
 
 
 
 
 
 
 
 
16
 
17
  /**
18
  * Register block
33
  },
34
  attributes: {
35
  },
36
+ edit() {
 
37
  return [
38
+ <div className="pmpro-block-element">
39
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
40
+ <span className="pmpro-block-subtitle">{ __( 'Membership Account: Profile', 'paid-memberships-pro' ) }</span>
41
  </div>
42
  ];
43
  },
blocks/account-profile-section/editor.css DELETED
@@ -1,19 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-account-profile-section {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-account-profile-section span {
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 600;
11
- position: relative;
12
- text-transform: uppercase;
13
- }
14
- .edit-post-layout .wp-block-pmpro-account-profile-section span:first-child {
15
- font-size: 125%;
16
- font-weight: 300;
17
- letter-spacing: 1px;
18
- margin-bottom: 10px;
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/billing-page/block.js CHANGED
@@ -4,31 +4,14 @@
4
  * Displays the Membership Billing page and form.
5
  *
6
  */
7
- /**
8
- * Block dependencies
9
- */
10
- import './editor.css';
11
- import classnames from 'classnames';
12
  /**
13
  * Internal block libraries
14
  */
15
  const { __ } = wp.i18n;
16
  const {
17
- registerBlockType,
18
- AlignmentToolbar,
19
- BlockControls,
20
- BlockAlignmentToolbar,
21
  } = wp.blocks;
22
- const {
23
- PanelBody,
24
- PanelRow,
25
- TextControl,
26
- } = wp.components;
27
-
28
- const {
29
- RichText,
30
- InspectorControls,
31
- } = wp.editor;
32
 
33
  /**
34
  * Register block
@@ -49,12 +32,11 @@ const {
49
  },
50
  attributes: {
51
  },
52
- edit: props => {
53
- const { className } = props;
54
  return [
55
- <div className={ className }>
56
- <span>Paid Memberships Pro</span>
57
- <span>Membership Billing Page</span>
58
  </div>
59
  ];
60
  },
4
  * Displays the Membership Billing page and form.
5
  *
6
  */
7
+
 
 
 
 
8
  /**
9
  * Internal block libraries
10
  */
11
  const { __ } = wp.i18n;
12
  const {
13
+ registerBlockType
 
 
 
14
  } = wp.blocks;
 
 
 
 
 
 
 
 
 
 
15
 
16
  /**
17
  * Register block
32
  },
33
  attributes: {
34
  },
35
+ edit() {
 
36
  return [
37
+ <div className="pmpro-block-element">
38
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
39
+ <span className="pmpro-block-subtitle">{ __( 'Membership Billing Page', 'paid-memberships-pro' ) }</span>
40
  </div>
41
  ];
42
  },
blocks/billing-page/editor.css DELETED
@@ -1,19 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-billing-page {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-billing-page span {
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 600;
11
- position: relative;
12
- text-transform: uppercase;
13
- }
14
- .edit-post-layout .wp-block-pmpro-billing-page span:first-child {
15
- font-size: 125%;
16
- font-weight: 300;
17
- letter-spacing: 1px;
18
- margin-bottom: 10px;
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/blocks.js CHANGED
@@ -19,3 +19,93 @@ import './confirmation-page/block.js';
19
  import './invoice-page/block.js';
20
  import './levels-page/block.js';
21
  import './membership/block.js';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  import './invoice-page/block.js';
20
  import './levels-page/block.js';
21
  import './membership/block.js';
22
+ import './member-profile-edit/block.js';
23
+ import './login/block.js';
24
+
25
+ ( function() {
26
+ const PMProSVG = <svg version="1.1" id="Layer_1" x="0px" y="0px"
27
+ viewBox="0 0 18 18">
28
+ <path d="M17.99,4.53c-0.35,0.12-0.7,0.26-1.06,0.4c-0.35,0.14-0.7,0.3-1.05,0.46c-0.35,0.16-0.69,0.33-1.03,0.51
29
+ c-0.34,0.18-0.68,0.37-1.02,0.56c-0.15,0.09-0.31,0.18-0.46,0.27c-0.15,0.09-0.3,0.19-0.45,0.28c-0.15,0.1-0.3,0.19-0.45,0.29
30
+ c-0.15,0.1-0.3,0.2-0.44,0.3c-0.08,0.05-0.16,0.11-0.23,0.16c-0.08,0.05-0.16,0.11-0.23,0.17c-0.08,0.06-0.15,0.11-0.23,0.17
31
+ c-0.08,0.06-0.15,0.11-0.23,0.17c-0.07,0.05-0.13,0.1-0.2,0.15c-0.07,0.05-0.13,0.1-0.2,0.15c-0.07,0.05-0.13,0.1-0.2,0.15
32
+ c-0.07,0.05-0.13,0.1-0.2,0.16c-0.04,0.03-0.09,0.07-0.13,0.1c-0.04,0.03-0.09,0.07-0.13,0.1C10,9.13,9.95,9.17,9.91,9.2
33
+ C9.87,9.24,9.83,9.27,9.79,9.31C9.77,9.32,9.75,9.33,9.74,9.35C9.72,9.36,9.71,9.37,9.69,9.39C9.67,9.4,9.66,9.42,9.64,9.43
34
+ C9.63,9.44,9.61,9.46,9.59,9.47C9.54,9.52,9.49,9.56,9.43,9.61C9.38,9.65,9.33,9.7,9.27,9.74C9.22,9.79,9.17,9.84,9.11,9.88
35
+ c-0.05,0.05-0.11,0.09-0.16,0.14c-0.27,0.24-0.54,0.49-0.81,0.75c-0.26,0.25-0.53,0.51-0.78,0.78c-0.26,0.26-0.51,0.53-0.76,0.81
36
+ c-0.25,0.27-0.49,0.55-0.73,0.84c-0.03,0.04-0.07,0.08-0.1,0.12c-0.03,0.04-0.07,0.08-0.1,0.12c-0.03,0.04-0.07,0.08-0.1,0.12
37
+ c-0.03,0.04-0.07,0.08-0.1,0.12c-0.03,0.04-0.07,0.08-0.1,0.12c-0.03,0.04-0.06,0.08-0.1,0.12c-0.03,0.04-0.06,0.08-0.1,0.12
38
+ c-0.03,0.04-0.06,0.08-0.1,0.12c0,0.01-0.01,0.01-0.01,0.02c0,0.01-0.01,0.01-0.01,0.02c0,0.01-0.01,0.01-0.01,0.02
39
+ c0,0.01-0.01,0.01-0.01,0.02c-0.03,0.03-0.05,0.07-0.08,0.1c-0.03,0.03-0.05,0.07-0.08,0.1c-0.03,0.03-0.05,0.07-0.08,0.11
40
+ c-0.03,0.03-0.05,0.07-0.08,0.11c-0.03,0.04-0.06,0.08-0.09,0.12c-0.03,0.04-0.06,0.08-0.09,0.12C4.5,14.96,4.47,15,4.44,15.05
41
+ c-0.03,0.04-0.06,0.08-0.09,0.13c0,0-0.01,0.01-0.01,0.01c0,0-0.01,0.01-0.01,0.01c0,0-0.01,0.01-0.01,0.01c0,0-0.01,0.01-0.01,0.01
42
+ c-0.15,0.22-0.31,0.44-0.46,0.67c-0.15,0.22-0.3,0.45-0.44,0.68c-0.14,0.23-0.29,0.46-0.43,0.7C2.85,17.52,2.71,17.76,2.58,18
43
+ c-0.08-0.19-0.16-0.38-0.23-0.56c-0.07-0.18-0.14-0.35-0.21-0.51c-0.07-0.16-0.13-0.32-0.19-0.47c-0.06-0.15-0.12-0.3-0.18-0.45
44
+ l-0.01,0.01l0.01-0.03c-0.01-0.03-0.02-0.05-0.03-0.08c-0.01-0.02-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07
45
+ c-0.01-0.02-0.02-0.05-0.03-0.07c0-0.01-0.01-0.02-0.01-0.02c0-0.01-0.01-0.02-0.01-0.02c0-0.01-0.01-0.02-0.01-0.02
46
+ c0-0.01-0.01-0.02-0.01-0.02c-0.01-0.02-0.01-0.04-0.02-0.05c-0.01-0.02-0.01-0.04-0.02-0.05c-0.01-0.02-0.01-0.04-0.02-0.05
47
+ c-0.01-0.02-0.01-0.04-0.02-0.05c-0.01-0.03-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07
48
+ c-0.01-0.02-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07
49
+ c-0.01-0.02-0.02-0.05-0.03-0.07c-0.02-0.05-0.04-0.1-0.06-0.16c-0.02-0.05-0.04-0.1-0.06-0.16c-0.02-0.05-0.04-0.11-0.06-0.16
50
+ c-0.02-0.05-0.04-0.11-0.06-0.16c-0.08-0.23-0.16-0.47-0.25-0.72c-0.08-0.25-0.17-0.5-0.26-0.77c-0.09-0.27-0.18-0.55-0.27-0.84
51
+ c-0.09-0.29-0.19-0.6-0.29-0.93c0.05,0.07,0.1,0.15,0.15,0.22c0.05,0.07,0.1,0.14,0.14,0.2c0.05,0.07,0.09,0.13,0.14,0.19
52
+ c0.04,0.06,0.09,0.12,0.13,0.18c0.09,0.13,0.18,0.24,0.27,0.35c0.09,0.11,0.17,0.21,0.24,0.3c0.08,0.09,0.15,0.18,0.23,0.27
53
+ c0.07,0.09,0.15,0.17,0.22,0.25c0.02,0.02,0.03,0.04,0.05,0.06c0.02,0.02,0.03,0.04,0.05,0.06c0.02,0.02,0.03,0.04,0.05,0.06
54
+ c0.02,0.02,0.03,0.04,0.05,0.06c0.07,0.07,0.13,0.14,0.2,0.22c0.07,0.08,0.14,0.16,0.22,0.24c0.08,0.08,0.16,0.17,0.24,0.27
55
+ c0.09,0.1,0.18,0.2,0.27,0.31c0.01,0.01,0.02,0.02,0.03,0.03c0.01,0.01,0.02,0.02,0.03,0.03c0.01,0.01,0.02,0.02,0.03,0.04
56
+ c0.01,0.01,0.02,0.02,0.03,0.04c0.02-0.02,0.04-0.05,0.06-0.07c0.02-0.02,0.04-0.05,0.06-0.07c0.02-0.02,0.04-0.05,0.06-0.07
57
+ C2.96,14.03,2.98,14,3,13.98c0.03-0.03,0.05-0.06,0.08-0.09c0.03-0.03,0.05-0.06,0.08-0.09c0.03-0.03,0.05-0.06,0.08-0.09
58
+ c0.03-0.03,0.05-0.06,0.08-0.09c0.28-0.33,0.58-0.65,0.88-0.97c0.31-0.32,0.63-0.62,0.95-0.92c0.33-0.3,0.67-0.6,1.02-0.88
59
+ c0.35-0.29,0.72-0.57,1.09-0.84c0.06-0.04,0.11-0.08,0.17-0.12C7.49,9.83,7.55,9.79,7.6,9.75c0.06-0.04,0.11-0.08,0.17-0.12
60
+ c0.06-0.04,0.12-0.08,0.17-0.12C7.97,9.5,7.98,9.49,8,9.48c0.02-0.01,0.03-0.02,0.05-0.03C8.06,9.43,8.08,9.42,8.1,9.41
61
+ C8.11,9.4,8.13,9.38,8.14,9.37c0.05-0.03,0.1-0.06,0.14-0.1c0.05-0.03,0.1-0.06,0.14-0.1c0.05-0.03,0.1-0.06,0.14-0.1
62
+ c0.05-0.03,0.1-0.06,0.15-0.09C8.79,8.94,8.87,8.9,8.94,8.85C9.01,8.8,9.09,8.76,9.16,8.71c0.07-0.05,0.15-0.09,0.22-0.14
63
+ c0.07-0.05,0.15-0.09,0.22-0.14c0.09-0.05,0.17-0.11,0.26-0.16c0.09-0.05,0.17-0.1,0.26-0.16c0.09-0.05,0.18-0.1,0.27-0.15
64
+ c0.09-0.05,0.18-0.1,0.27-0.15c0.25-0.14,0.51-0.28,0.76-0.42c0.26-0.14,0.52-0.27,0.78-0.41c0.26-0.13,0.53-0.27,0.79-0.4
65
+ c0.27-0.13,0.54-0.26,0.81-0.38c0.01,0,0.02-0.01,0.03-0.01c0.01,0,0.02-0.01,0.03-0.01c0.01,0,0.02-0.01,0.03-0.01
66
+ c0.01,0,0.02-0.01,0.03-0.01c0.33-0.15,0.67-0.3,1-0.44c0.34-0.15,0.68-0.29,1.02-0.42c0.34-0.14,0.69-0.27,1.03-0.4
67
+ C17.31,4.77,17.65,4.64,17.99,4.53z M15.73,9.59l0.65,4.56l-10.4-0.05c-0.02,0.02-0.04,0.04-0.05,0.07
68
+ c-0.02,0.02-0.04,0.04-0.05,0.07c-0.02,0.02-0.04,0.04-0.05,0.07c-0.02,0.02-0.04,0.04-0.05,0.07c-0.02,0.02-0.03,0.04-0.05,0.06
69
+ c-0.02,0.02-0.03,0.04-0.05,0.06c-0.02,0.02-0.03,0.04-0.05,0.06c-0.02,0.02-0.03,0.04-0.05,0.06l11.23,0.2l-0.78-5.24L15.73,9.59z
70
+ M6.75,13.2c-0.04,0.04-0.08,0.09-0.11,0.13c-0.04,0.04-0.08,0.09-0.11,0.13c-0.04,0.04-0.07,0.09-0.11,0.13l9.22-0.07L15.04,9.1
71
+ l-0.07-0.53l-0.39,0.04l0.55,4.3l-8.27,0.17C6.83,13.12,6.79,13.16,6.75,13.2z M13.78,7.66l-0.59,0.08
72
+ c-0.06,0.04-0.12,0.08-0.18,0.12c-0.06,0.04-0.12,0.08-0.18,0.12c-0.06,0.04-0.12,0.08-0.18,0.12c-0.06,0.04-0.12,0.08-0.18,0.12
73
+ c-0.08,0.05-0.16,0.11-0.24,0.16c-0.08,0.06-0.16,0.11-0.24,0.17c-0.08,0.06-0.16,0.11-0.24,0.17c-0.08,0.06-0.16,0.11-0.24,0.17
74
+ c-0.07,0.05-0.14,0.1-0.21,0.15c-0.07,0.05-0.14,0.1-0.21,0.15c-0.07,0.05-0.14,0.1-0.2,0.16c-0.07,0.05-0.14,0.11-0.2,0.16
75
+ c-0.04,0.03-0.09,0.07-0.13,0.1c-0.04,0.03-0.09,0.07-0.13,0.1c-0.04,0.04-0.09,0.07-0.13,0.11c-0.04,0.04-0.09,0.07-0.13,0.11
76
+ c-0.02,0.01-0.03,0.03-0.05,0.04c-0.02,0.01-0.03,0.03-0.05,0.04c-0.02,0.01-0.03,0.03-0.05,0.04c-0.02,0.01-0.03,0.03-0.05,0.04
77
+ c-0.06,0.05-0.11,0.09-0.16,0.14c-0.05,0.05-0.11,0.09-0.16,0.14c-0.05,0.05-0.11,0.09-0.16,0.14c-0.05,0.05-0.11,0.09-0.16,0.14
78
+ c-0.17,0.15-0.34,0.3-0.51,0.46c-0.17,0.16-0.33,0.31-0.5,0.47c-0.16,0.16-0.33,0.32-0.49,0.48c-0.16,0.16-0.32,0.33-0.48,0.49
79
+ l6.98-0.23l-0.48-4.16L13.78,7.66z M13.32,5.73c-0.06,0.03-0.11,0.05-0.17,0.08c-0.06,0.03-0.12,0.06-0.17,0.09
80
+ c-0.03,0.01-0.06,0.03-0.08,0.04c0,0,0,0,0,0c-0.02-0.01-0.04-0.03-0.06-0.04c-0.06-0.04-0.13-0.07-0.21-0.09
81
+ c-0.07-0.02-0.15-0.04-0.23-0.04c-0.08,0-0.16,0-0.24,0.01l-0.14,0.02c0.07-0.04,0.13-0.08,0.18-0.14c0.05-0.05,0.1-0.11,0.14-0.18
82
+ c0.04-0.06,0.06-0.13,0.08-0.2c0.02-0.07,0.02-0.15,0.01-0.22c-0.01-0.1-0.04-0.18-0.08-0.26c-0.05-0.08-0.11-0.14-0.18-0.19
83
+ c-0.07-0.05-0.16-0.08-0.25-0.1c-0.09-0.02-0.19-0.02-0.29,0c-0.1,0.02-0.19,0.06-0.27,0.11c-0.08,0.05-0.15,0.11-0.21,0.19
84
+ C11.08,4.9,11.03,4.98,11,5.07c-0.03,0.09-0.04,0.18-0.03,0.27c0.01,0.07,0.02,0.14,0.05,0.2c0.03,0.06,0.06,0.12,0.11,0.17
85
+ c0.05,0.05,0.1,0.09,0.16,0.12c0.06,0.03,0.13,0.06,0.2,0.07l-0.17,0.03C11.18,5.96,11.06,6,10.94,6.07
86
+ c-0.11,0.07-0.21,0.15-0.29,0.25c-0.08,0.1-0.14,0.21-0.19,0.33c-0.04,0.12-0.06,0.25-0.05,0.38l0.02,0.33
87
+ c-0.09,0.05-0.17,0.1-0.26,0.16c-0.02,0-0.05,0-0.07,0c0.02-0.01,0.04-0.02,0.06-0.03c-0.06-0.06-0.13-0.11-0.21-0.16
88
+ c-0.07-0.04-0.15-0.08-0.24-0.1C9.63,7.2,9.54,7.18,9.45,7.18c-0.09-0.01-0.18,0-0.27,0.01L9.01,7.21c0.08-0.05,0.16-0.1,0.23-0.17
89
+ C9.3,6.97,9.36,6.9,9.41,6.81C9.46,6.73,9.5,6.64,9.52,6.55c0.02-0.09,0.03-0.19,0.03-0.29C9.54,6.13,9.51,6.02,9.46,5.92
90
+ c-0.05-0.1-0.12-0.18-0.21-0.25C9.17,5.6,9.07,5.56,8.96,5.53c-0.11-0.02-0.22-0.03-0.34,0C8.5,5.55,8.39,5.6,8.29,5.66
91
+ C8.19,5.72,8.1,5.81,8.02,5.9C7.95,5.99,7.89,6.1,7.85,6.21C7.81,6.32,7.79,6.44,7.79,6.56c0,0.09,0.02,0.18,0.05,0.26
92
+ c0.03,0.08,0.07,0.16,0.12,0.22c0.05,0.07,0.11,0.12,0.18,0.17c0.07,0.04,0.15,0.08,0.23,0.1l-0.2,0.03
93
+ C8.01,7.37,7.85,7.42,7.72,7.51C7.58,7.59,7.46,7.7,7.35,7.82C7.25,7.95,7.17,8.1,7.11,8.25c-0.06,0.16-0.09,0.33-0.08,0.5
94
+ l0.01,0.74C6.98,9.53,6.93,9.58,6.88,9.62C6.81,9.49,6.74,9.38,6.65,9.28c-0.1-0.11-0.21-0.2-0.33-0.27
95
+ C6.2,8.94,6.07,8.89,5.93,8.87C5.8,8.84,5.66,8.83,5.51,8.85L5.3,8.88c0.1-0.06,0.2-0.13,0.29-0.22c0.09-0.09,0.16-0.19,0.23-0.3
96
+ c0.06-0.11,0.12-0.23,0.15-0.35C6,7.88,6.02,7.75,6.02,7.62c0-0.17-0.03-0.32-0.08-0.46C5.88,7.03,5.8,6.91,5.71,6.82
97
+ C5.61,6.73,5.5,6.67,5.37,6.63c-0.12-0.04-0.26-0.04-0.4-0.02c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0
98
+ c-0.14,0.03-0.28,0.08-0.4,0.16c-0.12,0.08-0.23,0.18-0.33,0.3C4.14,7.2,4.07,7.33,4.01,7.48c-0.06,0.15-0.09,0.3-0.1,0.46
99
+ c0,0.12,0.01,0.24,0.03,0.35c0.03,0.11,0.07,0.21,0.12,0.3c0.05,0.09,0.12,0.17,0.2,0.23c0.08,0.06,0.17,0.11,0.27,0.14L4.3,9
100
+ C4.1,9.03,3.92,9.09,3.75,9.2C3.58,9.3,3.43,9.44,3.3,9.6c-0.13,0.16-0.24,0.35-0.32,0.56c-0.08,0.21-0.13,0.43-0.14,0.67
101
+ l-0.12,2.26l-0.53-0.6l0.49-6.3C2.68,6.09,2.71,6,2.74,5.91c0.04-0.09,0.08-0.17,0.14-0.24c0.06-0.07,0.12-0.14,0.2-0.19
102
+ C3.15,5.44,3.23,5.4,3.32,5.38l0.71-0.17l0-0.02l0.18-0.04l0.06-1.19C4.3,3.56,4.39,3.15,4.55,2.77c0.16-0.38,0.37-0.75,0.64-1.08
103
+ C5.45,1.35,5.76,1.05,6.11,0.8c0.35-0.26,0.74-0.47,1.16-0.61C7.7,0.05,8.12-0.01,8.51,0c0.4,0.02,0.77,0.12,1.1,0.29
104
+ c0.33,0.18,0.62,0.43,0.83,0.75c0.21,0.33,0.35,0.73,0.38,1.19l0.1,1.36l0.3-0.07l0,0.02l0.89-0.21c0.13-0.03,0.25-0.03,0.36-0.02
105
+ c0.12,0.02,0.22,0.05,0.32,0.11c0.09,0.05,0.17,0.13,0.23,0.21c0.06,0.09,0.1,0.19,0.11,0.31L13.32,5.73z M9.46,3.96L9.4,2.61
106
+ C9.39,2.33,9.31,2.09,9.19,1.88C9.07,1.68,8.91,1.51,8.71,1.4C8.52,1.28,8.29,1.21,8.05,1.19C7.81,1.17,7.55,1.2,7.28,1.28
107
+ C7.01,1.37,6.76,1.49,6.53,1.65c-0.22,0.16-0.43,0.35-0.6,0.57C5.77,2.43,5.63,2.67,5.53,2.91c-0.1,0.25-0.16,0.5-0.17,0.76
108
+ L5.33,4.91L9.46,3.96z"/>
109
+ </svg>;
110
+ wp.blocks.updateCategory( 'pmpro', { icon: PMProSVG } );
111
+ } )();
blocks/blocks.php CHANGED
@@ -22,6 +22,8 @@ require_once( 'confirmation-page/block.php' );
22
  require_once( 'invoice-page/block.php' );
23
  require_once( 'levels-page/block.php' );
24
  require_once( 'membership/block.php' );
 
 
25
 
26
  /**
27
  * Add PMPro block category
@@ -46,7 +48,7 @@ function pmpro_block_editor_scripts() {
46
  // Enqueue the bundled block JS file.
47
  wp_enqueue_script(
48
  'pmpro-blocks-editor-js',
49
- plugins_url( 'js/editor.blocks.js', PMPRO_BASE_FILE ),
50
  array('wp-i18n', 'wp-element', 'wp-blocks', 'wp-components', 'wp-api', 'wp-editor', 'pmpro_admin'),
51
  PMPRO_VERSION
52
  );
@@ -58,5 +60,10 @@ function pmpro_block_editor_scripts() {
58
  array(),
59
  PMPRO_VERSION
60
  );
 
 
 
 
 
61
  }
62
  add_action( 'enqueue_block_editor_assets', 'pmpro_block_editor_scripts' );
22
  require_once( 'invoice-page/block.php' );
23
  require_once( 'levels-page/block.php' );
24
  require_once( 'membership/block.php' );
25
+ require_once( 'member-profile-edit/block.php' );
26
+ require_once( 'login/block.php' );
27
 
28
  /**
29
  * Add PMPro block category
48
  // Enqueue the bundled block JS file.
49
  wp_enqueue_script(
50
  'pmpro-blocks-editor-js',
51
+ plugins_url( 'js/blocks.build.js', PMPRO_BASE_FILE ),
52
  array('wp-i18n', 'wp-element', 'wp-blocks', 'wp-components', 'wp-api', 'wp-editor', 'pmpro_admin'),
53
  PMPRO_VERSION
54
  );
60
  array(),
61
  PMPRO_VERSION
62
  );
63
+
64
+ // Adding translation functionality to Gutenberg blocks/JS.
65
+ if ( function_exists( 'wp_set_script_translations' ) ) {
66
+ wp_set_script_translations( 'pmpro-blocks-editor-js', 'paid-memberships-pro' );
67
+ }
68
  }
69
  add_action( 'enqueue_block_editor_assets', 'pmpro_block_editor_scripts' );
blocks/cancel-page/block.js CHANGED
@@ -4,31 +4,14 @@
4
  * Displays the Membership Cancel page.
5
  *
6
  */
7
- /**
8
- * Block dependencies
9
- */
10
- import './editor.css';
11
- import classnames from 'classnames';
12
  /**
13
  * Internal block libraries
14
  */
15
  const { __ } = wp.i18n;
16
  const {
17
- registerBlockType,
18
- AlignmentToolbar,
19
- BlockControls,
20
- BlockAlignmentToolbar,
21
  } = wp.blocks;
22
- const {
23
- PanelBody,
24
- PanelRow,
25
- TextControl,
26
- } = wp.components;
27
-
28
- const {
29
- RichText,
30
- InspectorControls,
31
- } = wp.editor;
32
 
33
  /**
34
  * Register block
@@ -49,12 +32,11 @@ const {
49
  },
50
  attributes: {
51
  },
52
- edit: props => {
53
- const { className } = props;
54
  return [
55
- <div className={ className }>
56
- <span>Paid Memberships Pro</span>
57
- <span>Membership Cancel Page</span>
58
  </div>
59
  ];
60
  },
4
  * Displays the Membership Cancel page.
5
  *
6
  */
7
+
 
 
 
 
8
  /**
9
  * Internal block libraries
10
  */
11
  const { __ } = wp.i18n;
12
  const {
13
+ registerBlockType
 
 
 
14
  } = wp.blocks;
 
 
 
 
 
 
 
 
 
 
15
 
16
  /**
17
  * Register block
32
  },
33
  attributes: {
34
  },
35
+ edit(){
 
36
  return [
37
+ <div className="pmpro-block-element">
38
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
39
+ <span className="pmpro-block-subtitle">{ __( 'Membership Cancel Page', 'paid-memberships-pro' ) }</span>
40
  </div>
41
  ];
42
  },
blocks/cancel-page/editor.css DELETED
@@ -1,19 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-cancel-page {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-cancel-page span {
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 600;
11
- position: relative;
12
- text-transform: uppercase;
13
- }
14
- .edit-post-layout .wp-block-pmpro-cancel-page span:first-child {
15
- font-size: 125%;
16
- font-weight: 300;
17
- letter-spacing: 1px;
18
- margin-bottom: 10px;
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/checkout-button/block.js CHANGED
@@ -8,8 +8,6 @@
8
  /**
9
  * Block dependencies
10
  */
11
- import './editor.css';
12
- import classnames from 'classnames';
13
  import Inspector from './inspector';
14
 
15
  /**
@@ -18,16 +16,11 @@ import Inspector from './inspector';
18
  const { __ } = wp.i18n;
19
  const {
20
  registerBlockType,
21
- BlockControls,
22
  } = wp.blocks;
23
  const {
24
- PanelBody,
25
  TextControl,
26
  SelectControl,
27
  } = wp.components;
28
- const {
29
- InspectorControls,
30
- } = wp.editor;
31
 
32
  /**
33
  * Register block
@@ -67,20 +60,17 @@ export default registerBlockType(
67
  const { attributes: { text, level, css_class}, className, setAttributes, isSelected } = props;
68
  return [
69
  isSelected && <Inspector { ...{ setAttributes, ...props} } />,
70
- <div
71
- className={ className }
72
- >
73
  <a class={css_class} >{text}</a>
74
  </div>,
75
- isSelected && <div>
76
- <br/>
77
  <TextControl
78
  label={ __( 'Button Text', 'paid-memberships-pro' ) }
79
  value={ text }
80
  onChange={ text => setAttributes( { text } ) }
81
  />
82
  <SelectControl
83
- label={ __( 'Level ID', 'paid-memberships-pro' ) }
84
  value={ level }
85
  onChange={ level => setAttributes( { level } ) }
86
  options={ window.pmpro.all_level_values_and_labels }
@@ -97,4 +87,4 @@ export default registerBlockType(
97
  return null;
98
  },
99
  }
100
- );
8
  /**
9
  * Block dependencies
10
  */
 
 
11
  import Inspector from './inspector';
12
 
13
  /**
16
  const { __ } = wp.i18n;
17
  const {
18
  registerBlockType,
 
19
  } = wp.blocks;
20
  const {
 
21
  TextControl,
22
  SelectControl,
23
  } = wp.components;
 
 
 
24
 
25
  /**
26
  * Register block
60
  const { attributes: { text, level, css_class}, className, setAttributes, isSelected } = props;
61
  return [
62
  isSelected && <Inspector { ...{ setAttributes, ...props} } />,
63
+ <div className={ className }>
 
 
64
  <a class={css_class} >{text}</a>
65
  </div>,
66
+ isSelected && <div className="pmpro-block-element">
 
67
  <TextControl
68
  label={ __( 'Button Text', 'paid-memberships-pro' ) }
69
  value={ text }
70
  onChange={ text => setAttributes( { text } ) }
71
  />
72
  <SelectControl
73
+ label={ __( 'Membership Level', 'paid-memberships-pro' ) }
74
  value={ level }
75
  onChange={ level => setAttributes( { level } ) }
76
  options={ window.pmpro.all_level_values_and_labels }
87
  return null;
88
  },
89
  }
90
+ );
blocks/checkout-button/editor.css DELETED
@@ -1,27 +0,0 @@
1
- .pmpro_btn {
2
- background-color: #EFEFEF;
3
- background-image: none;
4
- border: 1px solid #D6D6D6;
5
- -webkit-border-radius: 4px;
6
- -moz-border-radius: 4px;
7
- border-radius: 4px;
8
- -webkit-box-shadow: none;
9
- box-shadow: none;
10
- color: #444;
11
- cursor: pointer;
12
- display: inline-block;
13
- font-size: 12px;
14
- font-weight: 700;
15
- margin: 0;
16
- padding: 6px 12px;
17
- text-align: center;
18
- text-decoration: none;
19
- text-transform: none;
20
- -webkit-user-select: none;
21
- -moz-user-select: none;
22
- -ms-user-select: none;
23
- -o-user-select: none;
24
- user-select: none;
25
- vertical-align: middle;
26
- white-space: nowrap;
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/checkout-button/inspector.js CHANGED
@@ -5,13 +5,12 @@ const { __ } = wp.i18n;
5
  const { Component } = wp.element;
6
  const {
7
  PanelBody,
8
- PanelRow,
9
  TextControl,
10
  SelectControl,
11
  } = wp.components;
12
  const {
13
  InspectorControls,
14
- } = wp.editor;
15
 
16
  /**
17
  * Create an Inspector Controls wrapper Component
@@ -37,8 +36,8 @@ export default class Inspector extends Component {
37
  </PanelBody>
38
  <PanelBody>
39
  <SelectControl
40
- label={ __( 'Level ID', 'paid-memberships-pro' ) }
41
- help={ __( 'Level id to check out', 'paid-memberships-pro' ) }
42
  value={ level }
43
  onChange={ level => setAttributes( { level } ) }
44
  options={ window.pmpro.all_level_values_and_labels }
@@ -47,7 +46,7 @@ export default class Inspector extends Component {
47
  <PanelBody>
48
  <TextControl
49
  label={ __( 'CSS Class', 'paid-memberships-pro' ) }
50
- help={ __( 'Additional Styling for Button', 'paid-memberships-pro' ) }
51
  value={ css_class }
52
  onChange={ css_class => setAttributes( { css_class } ) }
53
  />
5
  const { Component } = wp.element;
6
  const {
7
  PanelBody,
 
8
  TextControl,
9
  SelectControl,
10
  } = wp.components;
11
  const {
12
  InspectorControls,
13
+ } = wp.blockEditor;
14
 
15
  /**
16
  * Create an Inspector Controls wrapper Component
36
  </PanelBody>
37
  <PanelBody>
38
  <SelectControl
39
+ label={ __( 'Level', 'paid-memberships-pro' ) }
40
+ help={ __( 'The level to link to for checkout button', 'paid-memberships-pro' ) }
41
  value={ level }
42
  onChange={ level => setAttributes( { level } ) }
43
  options={ window.pmpro.all_level_values_and_labels }
46
  <PanelBody>
47
  <TextControl
48
  label={ __( 'CSS Class', 'paid-memberships-pro' ) }
49
+ help={ __( 'Additional styling for checkout button', 'paid-memberships-pro' ) }
50
  value={ css_class }
51
  onChange={ css_class => setAttributes( { css_class } ) }
52
  />
blocks/checkout-page/block.js CHANGED
@@ -7,28 +7,18 @@
7
  /**
8
  * Block dependencies
9
  */
10
- import './editor.css';
11
- import classnames from 'classnames';
12
  import Inspector from './inspector';
13
  /**
14
  * Internal block libraries
15
  */
16
  const { __ } = wp.i18n;
17
  const {
18
- registerBlockType,
19
- AlignmentToolbar,
20
- BlockControls,
21
- BlockAlignmentToolbar,
22
  } = wp.blocks;
23
  const {
24
- PanelBody,
25
  SelectControl,
26
  } = wp.components;
27
 
28
- const {
29
- InspectorControls,
30
- } = wp.editor;
31
-
32
  /**
33
  * Register block
34
  */
@@ -57,9 +47,10 @@ const {
57
  const { attributes: { pmpro_default_level }, className, setAttributes, isSelected } = props;
58
  return [
59
  isSelected && <Inspector { ...{ setAttributes, ...props} } />,
60
- <div className={ className }>
61
- <span>Paid Memberships Pro</span>
62
- <span>Membership Checkout Form</span>
 
63
  <SelectControl
64
  label={ __( 'Membership Level', 'paid-memberships-pro' ) }
65
  value={ pmpro_default_level }
7
  /**
8
  * Block dependencies
9
  */
 
 
10
  import Inspector from './inspector';
11
  /**
12
  * Internal block libraries
13
  */
14
  const { __ } = wp.i18n;
15
  const {
16
+ registerBlockType
 
 
 
17
  } = wp.blocks;
18
  const {
 
19
  SelectControl,
20
  } = wp.components;
21
 
 
 
 
 
22
  /**
23
  * Register block
24
  */
47
  const { attributes: { pmpro_default_level }, className, setAttributes, isSelected } = props;
48
  return [
49
  isSelected && <Inspector { ...{ setAttributes, ...props} } />,
50
+ <div className="pmpro-block-element">
51
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
52
+ <span className="pmpro-block-subtitle">{ __( 'Membership Checkout Form', 'paid-memberships-pro' ) }</span>
53
+ <hr />
54
  <SelectControl
55
  label={ __( 'Membership Level', 'paid-memberships-pro' ) }
56
  value={ pmpro_default_level }
blocks/checkout-page/editor.css DELETED
@@ -1,22 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-checkout-page {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-checkout-page .components-base-control {
7
- text-align: left;
8
- }
9
- .edit-post-layout .wp-block-pmpro-checkout-page span {
10
- color: #AAA;
11
- display: block;
12
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
13
- font-weight: 600;
14
- position: relative;
15
- text-transform: uppercase;
16
- }
17
- .edit-post-layout .wp-block-pmpro-checkout-page span:first-child {
18
- font-size: 125%;
19
- font-weight: 300;
20
- letter-spacing: 1px;
21
- margin-bottom: 10px;
22
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/checkout-page/inspector.js CHANGED
@@ -10,7 +10,7 @@ const {
10
  } = wp.components;
11
  const {
12
  InspectorControls,
13
- } = wp.editor;
14
 
15
  /**
16
  * Create an Inspector Controls wrapper Component
10
  } = wp.components;
11
  const {
12
  InspectorControls,
13
+ } = wp.blockEditor;
14
 
15
  /**
16
  * Create an Inspector Controls wrapper Component
blocks/confirmation-page/block.js CHANGED
@@ -4,31 +4,14 @@
4
  * Displays the Membership Confirmation template.
5
  *
6
  */
7
- /**
8
- * Block dependencies
9
- */
10
- import './editor.css';
11
- import classnames from 'classnames';
12
  /**
13
  * Internal block libraries
14
  */
15
  const { __ } = wp.i18n;
16
  const {
17
- registerBlockType,
18
- AlignmentToolbar,
19
- BlockControls,
20
- BlockAlignmentToolbar,
21
  } = wp.blocks;
22
- const {
23
- PanelBody,
24
- PanelRow,
25
- TextControl,
26
- } = wp.components;
27
-
28
- const {
29
- RichText,
30
- InspectorControls,
31
- } = wp.editor;
32
 
33
  /**
34
  * Register block
@@ -49,12 +32,11 @@ const {
49
  },
50
  attributes: {
51
  },
52
- edit: props => {
53
- const { className } = props;
54
  return [
55
- <div className={ className }>
56
- <span>Paid Memberships Pro</span>
57
- <span>Membership Confirmation Page</span>
58
  </div>
59
  ];
60
  },
4
  * Displays the Membership Confirmation template.
5
  *
6
  */
7
+
 
 
 
 
8
  /**
9
  * Internal block libraries
10
  */
11
  const { __ } = wp.i18n;
12
  const {
13
+ registerBlockType
 
 
 
14
  } = wp.blocks;
 
 
 
 
 
 
 
 
 
 
15
 
16
  /**
17
  * Register block
32
  },
33
  attributes: {
34
  },
35
+ edit(){
 
36
  return [
37
+ <div className="pmpro-block-element">
38
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
39
+ <span className="pmpro-block-subtitle">{ __( 'Membership Confirmation Page', 'paid-memberships-pro' ) }</span>
40
  </div>
41
  ];
42
  },
blocks/confirmation-page/editor.css DELETED
@@ -1,19 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-confirmation-page {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-confirmation-page span {
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 600;
11
- position: relative;
12
- text-transform: uppercase;
13
- }
14
- .edit-post-layout .wp-block-pmpro-confirmation-page span:first-child {
15
- font-size: 125%;
16
- font-weight: 300;
17
- letter-spacing: 1px;
18
- margin-bottom: 10px;
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/invoice-page/block.js CHANGED
@@ -4,31 +4,14 @@
4
  * Displays the Membership Invoices template.
5
  *
6
  */
7
- /**
8
- * Block dependencies
9
- */
10
- import './editor.css';
11
- import classnames from 'classnames';
12
  /**
13
  * Internal block libraries
14
  */
15
  const { __ } = wp.i18n;
16
  const {
17
- registerBlockType,
18
- AlignmentToolbar,
19
- BlockControls,
20
- BlockAlignmentToolbar,
21
  } = wp.blocks;
22
- const {
23
- PanelBody,
24
- PanelRow,
25
- TextControl,
26
- } = wp.components;
27
-
28
- const {
29
- RichText,
30
- InspectorControls,
31
- } = wp.editor;
32
 
33
  /**
34
  * Register block
@@ -49,12 +32,11 @@ const {
49
  },
50
  attributes: {
51
  },
52
- edit: props => {
53
- const { className } = props;
54
  return [
55
- <div className={ className }>
56
- <span>Paid Memberships Pro</span>
57
- <span>Membership Invoices</span>
58
  </div>
59
  ];
60
  },
4
  * Displays the Membership Invoices template.
5
  *
6
  */
7
+
 
 
 
 
8
  /**
9
  * Internal block libraries
10
  */
11
  const { __ } = wp.i18n;
12
  const {
13
+ registerBlockType
 
 
 
14
  } = wp.blocks;
 
 
 
 
 
 
 
 
 
 
15
 
16
  /**
17
  * Register block
32
  },
33
  attributes: {
34
  },
35
+ edit(){
 
36
  return [
37
+ <div className="pmpro-block-element">
38
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
39
+ <span className="pmpro-block-subtitle">{ __( 'Membership Invoices', 'paid-memberships-pro' ) }</span>
40
  </div>
41
  ];
42
  },
blocks/invoice-page/editor.css DELETED
@@ -1,19 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-invoice-page {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-invoice-page span {
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 600;
11
- position: relative;
12
- text-transform: uppercase;
13
- }
14
- .edit-post-layout .wp-block-pmpro-invoice-page span:first-child {
15
- font-size: 125%;
16
- font-weight: 300;
17
- letter-spacing: 1px;
18
- margin-bottom: 10px;
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/levels-page/block.js CHANGED
@@ -4,31 +4,14 @@
4
  * Displays the Membership Levels template.
5
  *
6
  */
7
- /**
8
- * Block dependencies
9
- */
10
- import './editor.css';
11
- import classnames from 'classnames';
12
  /**
13
  * Internal block libraries
14
  */
15
  const { __ } = wp.i18n;
16
  const {
17
- registerBlockType,
18
- AlignmentToolbar,
19
- BlockControls,
20
- BlockAlignmentToolbar,
21
  } = wp.blocks;
22
- const {
23
- PanelBody,
24
- PanelRow,
25
- TextControl,
26
- } = wp.components;
27
-
28
- const {
29
- RichText,
30
- InspectorControls,
31
- } = wp.editor;
32
 
33
  /**
34
  * Register block
@@ -49,12 +32,11 @@ const {
49
  },
50
  attributes: {
51
  },
52
- edit: props => {
53
- const { className } = props;
54
  return [
55
- <div className={ className }>
56
- <span>Paid Memberships Pro</span>
57
- <span>Membership Levels List</span>
58
  </div>
59
  ];
60
  },
4
  * Displays the Membership Levels template.
5
  *
6
  */
7
+
 
 
 
 
8
  /**
9
  * Internal block libraries
10
  */
11
  const { __ } = wp.i18n;
12
  const {
13
+ registerBlockType
 
 
 
14
  } = wp.blocks;
 
 
 
 
 
 
 
 
 
 
15
 
16
  /**
17
  * Register block
32
  },
33
  attributes: {
34
  },
35
+ edit() {
 
36
  return [
37
+ <div className="pmpro-block-element">
38
+ <span className="pmpro-block-title">{ __( 'Paid Memberships Pro', 'paid-memberships-pro' ) }</span>
39
+ <span className="pmpro-block-subtitle">{ __( 'Membership Levels List', 'paid-memberships-pro' ) }</span>
40
  </div>
41
  ];
42
  },
blocks/levels-page/editor.css DELETED
@@ -1,19 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-levels-page {
2
- background: #FAFAFA;
3
- padding: 20px;
4
- text-align: center;
5
- }
6
- .edit-post-layout .wp-block-pmpro-levels-page span {
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 600;
11
- position: relative;
12
- text-transform: uppercase;
13
- }
14
- .edit-post-layout .wp-block-pmpro-levels-page span:first-child {
15
- font-size: 125%;
16
- font-weight: 300;
17
- letter-spacing: 1px;
18
- margin-bottom: 10px;
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
blocks/login/block.js ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Block: PMPro Login Form
3
+ *
4
+ * Add a login form to any page or post.
5
+ *
6
+ */
7
+
8
+ /**
9
+ * Block dependencies
10
+ */
11
+ import Inspector from "./inspector";
12
+
13
+ /**
14
+ * Internal block libraries
15
+ */
16
+ const { __ } = wp.i18n;
17
+ const { registerBlockType } = wp.blocks;
18
+ const { Fragment } = wp.element;
19
+ /**
20
+ * Register block
21
+ */
22
+ export default registerBlockType("pmpro/login-form", {
23
+ title: __("Log in Form", "paid-memberships-pro"),
24
+ description: __(
25
+ "Displays a Log In Form for Paid Memberships Pro.",
26
+ "paid-memberships-pro"
27
+ ),
28
+ category: "pmpro",
29
+ icon: {
30
+ background: "#2997c8",
31
+ foreground: "#ffffff",
32
+ src: "unlock",
33
+ },
34
+ keywords: [
35
+ __("pmpro", "paid-memberships-pro"),
36
+ __("login", "paid-memberships-pro"),
37
+ __("form", "paid-memberships-pro"),
38
+ __("log in", "paid-memberships-pro"),
39
+ ],
40
+ supports: {},
41
+ edit: (props) => {
42
+ return [
43
+ <Fragment>
44
+ <Inspector {...props} />
45
+ <div className="pmpro-block-element">
46
+ <span className="pmpro-block-title">{__("Paid Memberships Pro", "paid-memberships-pro")}</span>
47
+ <span className="pmpro-block-subtitle">{__("Log in Form", "paid-memberships-pro")}</span>
48
+ </div>
49
+ </Fragment>,
50
+ ];
51
+ },
52
+ save() {
53
+ return null;
54
+ },
55
+ });
blocks/login/block.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Sets up login form.
4
+ *
5
+ * @package blocks/login
6
+ **/
7
+
8
+ namespace PMPro\blocks\login_form;
9
+
10
+ defined( 'ABSPATH' ) || die( 'File cannot be accessed directly' );
11
+
12
+ // Only load if Gutenberg is available.
13
+ if ( ! function_exists( 'register_block_type' ) ) {
14
+ return;
15
+ }
16
+
17
+ add_action( 'init', __NAMESPACE__ . '\register_dynamic_block' );
18
+ /**
19
+ * Register the dynamic block.
20
+ *
21
+ * @since 2.3.0
22
+ *
23
+ * @return void
24
+ */
25
+ function register_dynamic_block() {
26
+
27
+ // Hook server side rendering into render callback.
28
+ register_block_type(
29
+ 'pmpro/login-form',
30
+ array(
31
+ 'attributes' => array(
32
+ 'display_if_logged_in' => array(
33
+ 'type' => 'boolean',
34
+ 'default' => true,
35
+ ),
36
+ 'show_menu' => array(
37
+ 'type' => 'boolean',
38
+ 'default' => true,
39
+ ),
40
+ 'show_logout_link' => array(
41
+ 'type' => 'boolean',
42
+ 'default' => true,
43
+ ),
44
+ ),
45
+ 'render_callback' => __NAMESPACE__ . '\render_dynamic_block',
46
+ )
47
+ );
48
+ }
49
+
50
+ /**
51
+ * Server rendering for login block.
52
+ *
53
+ * @param array $attributes contains text, level, and css_class strings.
54
+ * @return string
55
+ **/
56
+ function render_dynamic_block( $attributes ) {
57
+ $attributes['display_if_logged_in'] = filter_var( $attributes['display_if_logged_in'], FILTER_VALIDATE_BOOLEAN );
58
+ $attributes['show_menu'] = filter_var( $attributes['show_menu'], FILTER_VALIDATE_BOOLEAN );
59
+ $attributes['show_logout_link'] = filter_var( $attributes['show_logout_link'], FILTER_VALIDATE_BOOLEAN );
60
+
61
+ return( pmpro_login_forms_handler( $attributes['show_menu'], $attributes['show_logout_link'], $attributes['display_if_logged_in'], '', false ) );
62
+ }
blocks/login/inspector.js ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Internal block libraries
3
+ */
4
+ const { __ } = wp.i18n;
5
+ const { Component } = wp.element;
6
+ const { PanelBody, SelectControl, ToggleControl } = wp.components;
7
+ const { InspectorControls } = wp.blockEditor;
8
+
9
+ /**
10
+ * Create an Inspector Controls wrapper Component
11
+ */
12
+ export default class Inspector extends Component {
13
+ constructor() {
14
+ super(...arguments);
15
+ }
16
+
17
+ render() {
18
+ const { attributes, setAttributes } = this.props;
19
+ const {
20
+ display_if_logged_in,
21
+ show_menu,
22
+ show_logout_link,
23
+ location,
24
+ } = attributes;
25
+ return (
26
+ <InspectorControls>
27
+ <PanelBody>
28
+ <ToggleControl
29
+ label={__("Display 'Welcome' content when logged in.", "paid-memberships-pro")}
30
+ checked={display_if_logged_in}
31
+ onChange={(value) => {
32
+ this.props.setAttributes({
33
+ display_if_logged_in: value,
34
+ });
35
+ }}
36
+ />
37
+ <ToggleControl
38
+ label={__("Display the 'Log In Widget' menu.", "paid-memberships-pro")}
39
+ help={__("Assign the menu under Appearance > Menus.")}
40
+ checked={show_menu}
41
+ onChange={(value) => {
42
+ this.props.setAttributes({
43
+ show_menu: value,
44
+ });
45
+ }}
46
+ />
47
+ <ToggleControl
48
+ label={__("Display a 'Log Out' link.", "paid-memberships-pro")}
49
+ checked={show_logout_link}
50
+ onChange={(value) => {
51
+ this.props.setAttributes({
52
+ show_logout_link: value,
53
+ });
54
+ }}
55
+ />
56
+ </PanelBody>
57
+ </InspectorControls>
58
+ );
59
+ }
60
+ }
blocks/member-profile-edit/block.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Block: PMPro Member Profile Edit
3
+ *
4
+ *
5
+ */
6
+
7
+ /**
8
+ * Internal block libraries
9
+ */
10
+ const { __ } = wp.i18n;
11
+ const { registerBlockType } = wp.blocks;
12
+
13
+ /**
14
+ * Register block
15
+ */
16
+ export default registerBlockType("pmpro/member-profile-edit", {
17
+ title: __("Member Profile Edit", "paid-memberships-pro"),
18
+ description: __("Allow member profile editing.", "paid-memberships-pro"),
19
+ category: "pmpro",
20
+ icon: {
21
+ background: "#2997c8",
22
+ foreground: "#ffffff",
23
+ src: "admin-users",
24
+ },
25
+ keywords: [
26
+ __("pmpro", "paid-memberships-pro"),
27
+ __("member", "paid-memberships-pro"),
28
+ __("profile", "paid-memberships-pro"),
29
+ ],
30
+ edit: (props) => {
31
+ return (
32
+ <div className="pmpro-block-element">
33
+ <span className="pmpro-block-title">{__("Paid Memberships Pro", "paid-memberships-pro")}</span>
34
+ <span className="pmpro-block-subtitle">
35
+ {__("Member Profile Edit", "paid-memberships-pro")}
36
+ </span>
37
+ </div>
38
+ );
39
+ },
40
+ save() {
41
+ return null;
42
+ },
43
+ });
blocks/member-profile-edit/block.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Sets up Membership Profile Edit block.
4
+ *
5
+ * @package blocks/membership
6
+ **/
7
+
8
+ namespace PMPro\blocks\membership_profile_edit;
9
+
10
+ defined( 'ABSPATH' ) || die( 'File cannot be accessed directly' );
11
+
12
+ // Only load if Gutenberg is available.
13
+ if ( ! function_exists( 'register_block_type' ) ) {
14
+ return;
15
+ }
16
+
17
+ add_action( 'init', __NAMESPACE__ . '\register_dynamic_block' );
18
+ /**
19
+ * Register the dynamic block.
20
+ *
21
+ * @since 2.1.0
22
+ *
23
+ * @return void
24
+ */
25
+ function register_dynamic_block() {
26
+
27
+ // Hook server side rendering into render callback.
28
+ register_block_type(
29
+ 'pmpro/member-profile-edit',
30
+ array(
31
+ 'render_callback' => __NAMESPACE__ . '\render_dynamic_block',
32
+ )
33
+ );
34
+ }
35
+
36
+ /**
37
+ * Server rendering for member profile edit block.
38
+ *
39
+ * @param array $attributes contains text, level, and css_class strings.
40
+ * @return string
41
+ **/
42
+ function render_dynamic_block( $attributes ) {
43
+ if ( function_exists( 'apply_shortcodes' ) ) {
44
+ return apply_shortcodes( '[pmpro_member_profile_edit]' );
45
+ } else {
46
+ return do_shortcode( '[pmpro_member_profile_edit]' );
47
+ }
48
+ }
blocks/membership/block.js CHANGED
@@ -3,11 +3,6 @@
3
  *
4
  *
5
  */
6
- /**
7
- * Block dependencies
8
- */
9
- import './editor.css';
10
- import classnames from 'classnames';
11
 
12
  /**
13
  * Internal block libraries
@@ -15,22 +10,16 @@
15
  const { __ } = wp.i18n;
16
  const {
17
  registerBlockType,
18
- AlignmentToolbar,
19
- BlockControls,
20
- BlockAlignmentToolbar,
21
  } = wp.blocks;
22
  const {
23
  PanelBody,
24
- PanelRow,
25
- TextControl,
26
  SelectControl,
27
  } = wp.components;
28
 
29
  const {
30
- RichText,
31
  InspectorControls,
32
  InnerBlocks,
33
- } = wp.editor;
34
 
35
  const all_levels = [{ value: 0, label: "Non-Members" }].concat( pmpro.all_level_values_and_labels );
36
 
@@ -60,7 +49,7 @@ const all_levels = [{ value: 0, label: "Non-Members" }].concat( pmpro.all_level_
60
  },
61
  },
62
  edit: props => {
63
- const { attributes: {levels, uid}, className, setAttributes, isSelected } = props;
64
  if( uid=='' ) {
65
  var rand = Math.random()+"";
66
  setAttributes( { uid:rand } );
@@ -70,34 +59,44 @@ const all_levels = [{ value: 0, label: "Non-Members" }].concat( pmpro.all_level_
70
  <PanelBody>
71
  <SelectControl
72
  multiple
73
- label={ __( 'Select levels to show content to:' ) }
74
  value={ levels }
75
  onChange={ levels => { setAttributes( { levels } ) } }
76
  options={ all_levels }
77
  />
78
  </PanelBody>
79
  </InspectorControls>,
80
- isSelected && <div className={ className } >
81
- <span class="pmpro-membership-title">Require Membership</span>
82
  <PanelBody>
83
  <SelectControl
84
  multiple
85
- label={ __( 'Select levels to show content to:' ) }
86
  value={ levels }
87
  onChange={ levels => { setAttributes( { levels } ) } }
88
  options={ all_levels }
89
  />
90
  </PanelBody>
91
- <InnerBlocks templateLock={ false } />
 
 
 
 
 
92
  </div>,
93
- ! isSelected && <div className={ className } >
94
- <span class="pmpro-membership-title">Require Membership: { levels }</span>
95
- <InnerBlocks templateLock={ false } />
 
 
 
 
 
96
  </div>,
97
  ];
98
  },
99
  save: props => {
100
- const { attributes: {levels, uid}, className, isSelected } = props;
101
  return (
102
  <div className={ className }>
103
  <InnerBlocks.Content />
3
  *
4
  *
5
  */
 
 
 
 
 
6
 
7
  /**
8
  * Internal block libraries
10
  const { __ } = wp.i18n;
11
  const {
12
  registerBlockType,
 
 
 
13
  } = wp.blocks;
14
  const {
15
  PanelBody,
 
 
16
  SelectControl,
17
  } = wp.components;
18
 
19
  const {
 
20
  InspectorControls,
21
  InnerBlocks,
22
+ } = wp.blockEditor;
23
 
24
  const all_levels = [{ value: 0, label: "Non-Members" }].concat( pmpro.all_level_values_and_labels );
25
 
49
  },
50
  },
51
  edit: props => {
52
+ const { attributes: {levels, uid}, setAttributes, isSelected } = props;
53
  if( uid=='' ) {
54
  var rand = Math.random()+"";
55
  setAttributes( { uid:rand } );
59
  <PanelBody>
60
  <SelectControl
61
  multiple
62
+ label={ __( 'Select levels to show content to:', 'paid-memberships-pro' ) }
63
  value={ levels }
64
  onChange={ levels => { setAttributes( { levels } ) } }
65
  options={ all_levels }
66
  />
67
  </PanelBody>
68
  </InspectorControls>,
69
+ isSelected && <div className="pmpro-block-require-membership-element" >
70
+ <span className="pmpro-block-title">{ __( 'Require Membership', 'paid-memberships-pro' ) }</span>
71
  <PanelBody>
72
  <SelectControl
73
  multiple
74
+ label={ __( 'Select levels to show content to:', 'paid-memberships-pro' ) }
75
  value={ levels }
76
  onChange={ levels => { setAttributes( { levels } ) } }
77
  options={ all_levels }
78
  />
79
  </PanelBody>
80
+ <InnerBlocks
81
+ renderAppender={ () => (
82
+ <InnerBlocks.ButtonBlockAppender />
83
+ ) }
84
+ templateLock={ false }
85
+ />
86
  </div>,
87
+ ! isSelected && <div className="pmpro-block-require-membership-element" >
88
+ <span className="pmpro-block-title">{ __( 'Require Membership', 'paid-memberships-pro' ) }</span>
89
+ <InnerBlocks
90
+ renderAppender={ () => (
91
+ <InnerBlocks.ButtonBlockAppender />
92
+ ) }
93
+ templateLock={ false }
94
+ />
95
  </div>,
96
  ];
97
  },
98
  save: props => {
99
+ const { className } = props;
100
  return (
101
  <div className={ className }>
102
  <InnerBlocks.Content />
blocks/membership/editor.css DELETED
@@ -1,14 +0,0 @@
1
- .edit-post-layout .wp-block-pmpro-membership {
2
- border: 1px dashed #CCC;
3
- padding: 10px;
4
- }
5
- .edit-post-layout .wp-block-pmpro-membership span.pmpro-membership-title {
6
- background: #FAFAFA;
7
- color: #AAA;
8
- display: block;
9
- font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
10
- font-weight: 600;
11
- padding: 10px;
12
- position: relative;
13
- text-transform: uppercase;
14
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/class-pmpro-admin-activity-email.php ADDED
@@ -0,0 +1,418 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Make sure PMPro is loaded.
4
+ if ( ! class_exists( 'PMProEmail' ) ) {
5
+ return;
6
+ }
7
+
8
+ /**
9
+ * Class to send Admin Activity Email
10
+ */
11
+ class PMPro_Admin_Activity_Email extends PMProEmail {
12
+ private static $instance;
13
+
14
+ public static function get_instance() {
15
+ if ( ! isset( self::$instance ) ) {
16
+ self::$instance = new PMPro_Admin_Activity_Email();
17
+ }
18
+
19
+ return self::$instance;
20
+ }
21
+
22
+ /**
23
+ * Send admin an email summarizing membership site activity.
24
+ *
25
+ * @param string $frequency to send emails at. Determines length of time reported.
26
+ */
27
+ public function sendAdminActivity( $frequency = '' ) {
28
+ global $wpdb, $pmpro_levels;
29
+
30
+ if ( ! in_array( $frequency, array( 'day', 'week', 'month', 'never' ), true ) ) {
31
+ $frequency = pmpro_getOption( 'activity_email_frequency' );
32
+ }
33
+
34
+ if ( 'never' === $frequency ) {
35
+ return;
36
+ }
37
+
38
+ if ( empty( $frequency ) ) {
39
+ $frequency = 'week';
40
+ }
41
+
42
+ $term_list = array(
43
+ 'day' => __( 'yesterday', 'paid-memberships-pro' ),
44
+ 'week' => __( 'last week', 'paid-memberships-pro' ),
45
+ 'month' => __( 'last month', 'paid-memberships-pro' ),
46
+ );
47
+ $term = $term_list[ $frequency ];
48
+
49
+ // Get dates that the report covers
50
+ // Start and end dates in YYYY-MM-DD formats.
51
+ if ( 'day' === $frequency ) {
52
+ $report_start_date = date( 'Y-m-d', strtotime( 'yesterday' ) );
53
+ $report_end_date = $report_start_date;
54
+ } elseif ( 'week' === $frequency ) {
55
+ $report_start_date = date( 'Y-m-d', strtotime( '-7 day' ) );
56
+ $report_end_date = date( 'Y-m-d', strtotime( '-1 day' ) );
57
+ } elseif ( 'month' === $frequency ) {
58
+ $report_start_date = date( 'Y-m-d', strtotime( 'first day of last month' ) );
59
+ $report_end_date = date( 'Y-m-d', strtotime( 'last day of last month' ) );
60
+ }
61
+ $date_range = date_i18n( get_option( 'date_format' ), strtotime( $report_start_date ) );
62
+ if ( $report_start_date !== $report_end_date ) {
63
+ $date_range .= ' - ' . date_i18n( get_option( 'date_format' ), strtotime( $report_end_date ) );
64
+ }
65
+
66
+ $gateway_environment = pmpro_getOption( 'gateway_environment' );
67
+
68
+ $email_sections = array();
69
+
70
+ ob_start();
71
+ ?>
72
+ <div style="margin:0;padding:0px 30px 0px 30px;width:100%;background-color:#999999;">
73
+ <center>
74
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse:collapse;border:0;max-width:600px!important;background-color:#FFFFFF;">
75
+ <tbody>
76
+ <?php
77
+ $email_sections['pre_content'] = ob_get_contents();
78
+ ob_clean();
79
+ ?>
80
+ <tr>
81
+ <td valign="top" style="background:#FFFFFF;font-family:Helvetica,Arial,sans-serif;font-size:16px;line-height:25px;color:#222222;padding:30px;text-align:center;">
82
+ <h2 style="color:#2997c8;font-size:30px;margin:0px 0px 20px 0px;padding:0px;"><?php get_bloginfo( 'name' ); ?></h2>
83
+ <p style="font-size:20px;line-height:30px;margin:0px;padding:0px;"><?php printf( __( "Here's a summary of what happened in your Paid Memberships Pro site %s.", 'paid-memberships-pro' ), esc_html( $term ) ); ?></p>
84
+ </td>
85
+ </tr>
86
+ <tr>
87
+ <td valign="top" style="background:#F1F1F1;font-family:Helvetica,Arial,sans-serif;font-size:20px;line-height:30px;color:#222222;padding:15px;text-align:center;">
88
+ <p style="margin:0px;padding:0px;"><strong><?php esc_html_e( $date_range ); ?></strong></p>
89
+ </td>
90
+ </tr>
91
+ <?php
92
+ $email_sections['header'] = ob_get_contents();
93
+ ob_clean();
94
+ ?>
95
+ <tr>
96
+ <td valign="top" style="background:#FFFFFF;font-family:Helvetica,Arial,sans-serif;font-size:16px;line-height:25px;color:#222222;padding:30px;text-align:center;">
97
+ <?php
98
+ $revenue = pmpro_get_revenue_between_dates( $report_start_date, $report_end_date );
99
+ if ( $revenue > 0 ) {
100
+ ?>
101
+ <h3 style="color:#2997c8;font-size:20px;line-height:30px;margin:0px 0px 15px 0px;padding:0px;"><?php esc_html_e( 'Sales and Revenue', 'paid-memberships-pro' ); ?></h3>
102
+ <p style="margin:0px 0px 15px 0px;padding:0px;"><?php printf( __( 'Your membership site made <strong>%1$s</strong> in revenue %2$s.', 'paid-memberships-pro' ), esc_html( pmpro_formatPrice( $revenue ) ), esc_html( $term ) ); ?></p>
103
+ <?php } else { ?>
104
+ <h3 style="color:#2997c8;font-size:20px;line-height:30px;margin:0px 0px 15px 0px;padding:0px;"><?php esc_html_e( 'Signups and Cancellations', 'paid-memberships-pro' ); ?></h3>
105
+ <?php } ?>
106
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border:0;background-color:#FFFFFF;text-align:center;font-family:Helvetica,Arial,sans-serif;font-size:16px;line-height:25px;color:#222222;">
107
+ <tr>
108
+ <?php
109
+ $num_joined = $wpdb->get_var( "SELECT COUNT( DISTINCT user_id ) FROM {$wpdb->pmpro_memberships_users} WHERE startdate >= '" . esc_sql( $report_start_date ) . " 00:00:00' AND startdate <= '" . esc_sql( $report_end_date ) . " 23:59:59'" );
110
+ $num_expired = $wpdb->get_var( "SELECT COUNT( DISTINCT user_id ) FROM {$wpdb->pmpro_memberships_users} WHERE status IN ('expired') AND enddate >= '" . esc_sql( $report_start_date ) . " 00:00:00' AND enddate <= '" . esc_sql( $report_end_date ) . " 23:59:59'" );
111
+ $num_cancelled = $wpdb->get_var( "SELECT COUNT( DISTINCT user_id ) FROM {$wpdb->pmpro_memberships_users} WHERE status IN ('inactive', 'cancelled', 'admin_cancelled') AND enddate >= '" . esc_sql( $report_start_date ) . " 00:00:00' AND enddate <= '" . esc_sql( $report_end_date ) . " 23:59:59'" );
112
+
113
+ $num_joined_link = admin_url( 'admin.php?page=pmpro-memberslist' );
114
+ $num_expired_link = admin_url( 'admin.php?page=pmpro-memberslist&l=expired' );
115
+ $num_cancelled_link = admin_url( 'admin.php?page=pmpro-memberslist&l=cancelled' );
116
+ ?>
117
+ <td width="33%"><div style="border:8px solid #dff0d8;color:#3c763d;margin:5px;padding:10px;"><a style="color:#3c763d;display:block;text-decoration:none;" href="<?php echo( esc_url( $num_joined_link ) ); ?>" target="_blank"><div style="font-size:50px;font-weight:900;line-height:65px;"><?php esc_html_e( number_format_i18n( $num_joined ) ); ?></div>Joined</a></div></td>
118
+ <td width="33%"><div style="border:8px solid #fcf8e3;color:#8a6d3b;margin:5px;padding:10px;"><a style="color:#8a6d3b;display:block;text-decoration:none;" href="<?php echo( esc_url( $num_expired_link ) ); ?>" target="_blank"><div style="font-size:50px;font-weight:900;line-height:65px;"><?php esc_html_e( number_format_i18n( $num_expired ) ); ?></div>Expired</a></div></td>
119
+ <td width="33%"><div style="border:8px solid #f2dede;color:#a94442;margin:5px;padding:10px;"><a style="color:#a94442;display:block;text-decoration:none;" href="<?php echo( esc_url( $num_cancelled_link ) ); ?>" target="_blank"><div style="font-size:50px;font-weight:900;line-height:65px;"><?php esc_html_e( number_format_i18n( $num_cancelled ) ); ?></div>Cancelled</a></div></td>
120
+ </tr>
121
+ </table>
122
+ </td>
123
+ </tr>
124
+ <?php
125
+ $email_sections['sales_revenue'] = ob_get_contents();
126
+ ob_clean();
127
+ ?>
128
+ <tr>
129
+ <td valign="top" style="background:#F1F1F1;font-family:Helvetica,Arial,sans-serif;font-size:16px;line-height:25px;color:#222222;padding:30px;text-align:left;">
130
+ <?php
131
+ $total_members = $wpdb->get_var( "SELECT COUNT( DISTINCT user_id ) FROM {$wpdb->pmpro_memberships_users} WHERE status IN ('active')" );
132
+ ?>
133
+ <h3 style="color:#2997c8;font-size:20px;line-height:30px;margin:0px 0px 5px 0px;padding:0px;"><span style="background:#2997c8;color:#FFFFFF;padding:5px 10px 5px 10px;"><?php esc_html_e( number_format_i18n( $total_members ) ); ?></span><?php esc_html_e( ' Total Members&mdash;great work!', 'paid-memberships-pro' ); ?></h3>
134
+ <?php
135
+ $members_per_level = $wpdb->get_results(
136
+ "
137
+ SELECT ml.name, COUNT(mu.id) as num_members
138
+ FROM $wpdb->pmpro_membership_levels ml
139
+ LEFT JOIN $wpdb->pmpro_memberships_users mu
140
+ ON ml.id = mu.membership_id
141
+ WHERE mu.status = 'active'
142
+ GROUP BY ml.name
143
+ ORDER BY num_members DESC
144
+ "
145
+ );
146
+
147
+ $num_levels_to_show = 5;
148
+ if ( count( $members_per_level ) > $num_levels_to_show ) {
149
+ echo( '<p>' . sprintf( __( 'Here is a summary of your top %s most popular levels:</p>', 'paid-memberships-pro' ), esc_html( $num_levels_to_show ) ) . '</p>' );
150
+ }
151
+ ?>
152
+ <ul>
153
+ <?php
154
+ $levels_outputted = 0;
155
+ foreach ( $members_per_level as $members_per_level_element ) {
156
+ echo( '<li>' . esc_html( $members_per_level_element->name ) . ': ' . esc_html( number_format_i18n( $members_per_level_element->num_members ) ) . '</li>' );
157
+ if ( ++$levels_outputted >= $num_levels_to_show ) {
158
+ break;
159
+ }
160
+ }
161
+ ?>
162
+ </ul>
163
+ <p style="margin:0px;padding:0px;"><a style="color:#2997c8;" href="<?php echo( esc_url( admin_url( 'admin.php?page=pmpro-reports&report=memberships' ) ) ); ?>" target="_blank"><?php esc_html_e( 'View Signups and Cancellations Report &raquo;', 'paid-memberships-pro' ); ?></a></p>
164
+ </td>
165
+ </tr>
166
+ <?php
167
+ $email_sections['total_members'] = ob_get_contents();
168
+ ob_clean();
169
+ ?>
170
+ <tr>
171
+ <td valign="top" style="background:#FFFFFF;font-family:Helvetica,Arial,sans-serif;font-size:16px;line-height:25px;color:#222222;padding:30px;text-align:left;">
172
+ <div style="border:8px dashed #F1F1F1;padding:30px;margin:0px;text-align:center;">
173
+ <h3 style="color:#2997c8;font-size:20px;line-height:30px;margin:0px 0px 15px 0px;padding:0px;"><?php esc_html_e( 'Discount Code Usage', 'paid-memberships-pro' ); ?></h3>
174
+ <?php
175
+ $sqlQuery = "SELECT mo.id
176
+ FROM $wpdb->pmpro_membership_orders mo, $wpdb->pmpro_discount_codes_uses dcu
177
+ WHERE mo.id = dcu.order_id
178
+ AND mo.status NOT IN ('refunded', 'review', 'token', 'error')
179
+ AND mo.gateway_environment = '" . esc_sql( $gateway_environment ) . "'
180
+ AND mo.timestamp >= '" . esc_sql( $report_start_date ) . " 00:00:00'
181
+ AND mo.timestamp <= '" . esc_sql( $report_end_date ) . " 23:59:59'";
182
+ $order_ids_with_discount_code = $wpdb->get_col( $sqlQuery );
183
+ $num_orders_with_discount_code = count( $order_ids_with_discount_code );
184
+ if ( $num_orders_with_discount_code > 0 ) {
185
+ $orders_per_discount_code = $wpdb->get_results(
186
+ "
187
+ SELECT dc.code, COUNT(dcu.id) as uses
188
+ FROM $wpdb->pmpro_discount_codes dc
189
+ LEFT JOIN $wpdb->pmpro_discount_codes_uses dcu
190
+ ON dc.id = dcu.code_id
191
+ LEFT JOIN $wpdb->pmpro_membership_orders mo
192
+ ON dcu.order_id = mo.id
193
+ WHERE dcu.order_id IN(" . implode(",", $order_ids_with_discount_code ) . ")
194
+ AND mo.status NOT IN('refunded', 'review', 'token', 'error')
195
+ AND mo.gateway_environment = '" . esc_sql( $gateway_environment ) . "'
196
+ GROUP BY dc.code
197
+ ORDER BY uses DESC
198
+ "
199
+ );
200
+ ?>
201
+ <p style="margin:0px 0px 15px 0px;padding:0px;">
202
+ <?php
203
+ if ( $num_orders_with_discount_code == 1 ) {
204
+ printf( __( '<strong>%1$d order</strong> used a <a %2$s>Discount Code</a> at checkout:', 'paid-memberships-pro' ), esc_html( number_format_i18n( $num_orders_with_discount_code ) ), 'style="color:#2997c8;" target="_blank" href="' . esc_url( admin_url( 'admin.php?page=pmpro-discountcodes' ) ) . '"' );
205
+ } else {
206
+ printf( __( '<strong>%1$d orders</strong> used a <a %2$s>Discount Code</a> at checkout. Here is a breakdown of your most used codes:', 'paid-memberships-pro' ), esc_html( number_format_i18n( $num_orders_with_discount_code ) ), 'style="color:#2997c8;" target="_blank" href="' . esc_url( admin_url( 'admin.php?page=pmpro-discountcodes' ) ) . '"' );
207
+ }
208
+ ?>
209
+ </p>
210
+ <?php
211
+ $codes_left_to_show = 5;
212
+ foreach ( $orders_per_discount_code as $orders_per_discount_code_element ) {
213
+ if ( $codes_left_to_show <= 0 || $orders_per_discount_code_element->uses <= 0 ) {
214
+ break;
215
+ }
216
+ if ( $orders_per_discount_code_element->uses == 1 ) {
217
+ $orders_string = esc_html( __( 'Order', 'paid-memberships-pro' ) );
218
+ } else {
219
+ $orders_string = esc_html( __( 'Orders', 'paid-memberships-pro' ) );
220
+ }
221
+ echo( '<p style="margin:0px 0px 15px 0px;padding:0;"><span style="background-color:#fcf8e3;font-weight:900;padding:5px;">' . esc_html( $orders_per_discount_code_element->code ) . '</span> ' . esc_html( number_format_i18n( $orders_per_discount_code_element->uses ) ) . ' ' . $orders_string . '</p>' );
222
+ $codes_left_to_show--;
223
+ }
224
+ } else {
225
+ ?>
226
+ <p style="margin:0px;padding:0px;"><?php printf( __( 'No <a %1$s>Discount Codes</a> were used %2$s.', 'paid-memberships-pro' ), 'style="color:#2997c8;" target="_blank" href="' . esc_url( admin_url( 'admin.php?page=pmpro-discountcodes' ) ) . '"', esc_html( $term ) ); ?></p>
227
+ <?php
228
+ }
229
+ ?>
230
+ </div>
231
+ </td>
232
+ </tr>
233
+ <?php
234
+ $email_sections['discount_code_uses'] = ob_get_contents();
235
+ ob_clean();
236
+ ?>
237
+ <tr>
238
+ <td valign="top" style="background:#F1F1F1;font-family:Helvetica,Arial,sans-serif;font-size:16px;line-height:25px;color:#222222;padding:30px;text-align:center;">
239
+ <h3 style="color:#2997c8;font-size:20px;line-height:30px;margin:0px 0px 15px 0px;padding:0px;"><?php esc_html_e( 'Active Add Ons', 'paid-memberships-pro' ); ?></h3>
240
+ <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="border:0;background-color:#F1F1F1;text-align:center;font-family:Helvetica,Arial,sans-serif;font-size:16px;line-height:25px;color:#222222;">
241
+ <tr>
242
+ <?php
243
+ // Get addon statistics.
244
+ $free_addons = 0;
245
+ $plus_addons = 0;
246
+ $update_addons = 0;
247
+ require_once( PMPRO_DIR . '/includes/addons.php' );
248
+ $addons = pmpro_getAddons();
249
+ $plugin_info = get_site_transient( 'update_plugins' );
250
+ foreach ( $addons as $addon ) {
251
+ $plugin_file = $addon['Slug'] . '/' . $addon['Slug'] . '.php';
252
+ $plugin_file_abs = ABSPATH . 'wp-content/plugins/' . $plugin_file;
253
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); // To load is_plugin_active().
254
+ if ( is_plugin_active( $plugin_file ) ) {
255
+ if ( 'plus' === $addon['License'] ) {
256
+ $plus_addons++;
257
+ } else {
258
+ $free_addons++;
259
+ }
260
+ }
261
+ if ( isset( $plugin_info->response[ $plugin_file ] ) ) {
262
+ $update_addons++;
263
+ }
264
+ }
265
+ $addon_updates_box_color = $update_addons ? '#f2dede' : '#FFFFFF';
266
+ $addon_updates_text_color = $update_addons ? '#a94442' : '#222222';
267
+ ?>
268
+ <td width="33%"><div style="background:#FFFFFF;margin:5px;padding:10px;"><div style="font-size:50px;font-weight:900;line-height:65px;"><?php esc_html_e( number_format_i18n( $free_addons ) ); ?></div><?php esc_html_e( 'Free Add Ons', 'paid-memberships-pro' ); ?></div></td>
269
+ <td width="33%"><div style="background:#FFFFFF;margin:5px;padding:10px;"><div style="font-size:50px;font-weight:900;line-height:65px;"><?php esc_html_e( number_format_i18n( $plus_addons ) ); ?></div><?php esc_html_e( 'Plus Add Ons', 'paid-memberships-pro' ); ?></div></td>
270
+ <td width="33%"><div style="background:<?php echo $addon_updates_box_color; ?>;color:<?php echo $addon_updates_text_color; ?>;margin:5px;padding:10px;"><a style="color:<?php echo $addon_updates_text_color; ?>;display:block;text-decoration:none;" href="<?php echo( esc_url( admin_url( 'admin.php?page=pmpro-addons&plugin_status=update' ) ) ); ?>" target="_blank"><div style="font-size:50px;font-weight:900;line-height:65px;"><?php esc_html_e( number_format_i18n( $update_addons ) ); ?></div><?php esc_html_e( 'Required Updates', 'paid-memberships-pro' ); ?></a></div></td>
271
+ </tr>
272
+ </table>
273
+ <p style="margin:15px 0px 0px 0px;padding:0px;"><?php printf( __( 'It is important to keep all Add Ons up to date to take advantage of security improvements, bug fixes, and expanded features. Add On updates can be made <a href="%s" style="color:#2997c8;" target="_blank">via the WordPress Dashboard</a>.', 'paid-memberships-pro' ), esc_url( admin_url( 'update-core.php' ) ) ); ?></p>
274
+ </td>
275
+ </tr>
276
+ <?php
277
+ $email_sections['add_ons'] = ob_get_contents();
278
+ ob_clean();
279
+ ?>
280
+ <tr>
281
+ <td valign="top" style="background:#FFFFFF;font-family:Helvetica,Arial,sans-serif;font-size:16px;line-height:25px;color:#222222;padding:30px 30px 15px 30px;text-align:left;">
282
+ <h3 style="color:#2997c8;font-size:20px;line-height:30px;margin:0px 0px 15px 0px;padding:0px;"><?php esc_html_e( 'Membership Site Administration', 'paid-memberships-pro' ); ?></h3>
283
+ <ul>
284
+ <?php
285
+ $roles_to_list = array(
286
+ 'administrator' => __( 'Administrators', 'paid-memberships-pro' ),
287
+ 'pmpro_membership_manager' => __( 'Membership Managers', 'paid-memberships-pro' ),
288
+ );
289
+ foreach ( $roles_to_list as $role => $role_name ) {
290
+ $users_with_role = get_users(
291
+ array(
292
+ 'role' => $role,
293
+ )
294
+ );
295
+ if ( 0 < count( $users_with_role ) ) {
296
+ echo( '<li>' . count( $users_with_role ) . ' ' . esc_html( $role_name ) . ': ' );
297
+ $users_with_role_formatted = array();
298
+ foreach ( $users_with_role as $user_with_role ) {
299
+ $users_with_role_formatted[] = '<a target="_blank" style="color:#2997c8;" href="' . admin_url( 'user-edit.php?user_id=' . $user_with_role->ID ) . '">' . $user_with_role->data->user_login . '</a>';
300
+ }
301
+ echo( implode( ', ', $users_with_role_formatted ) );
302
+ }
303
+ }
304
+ ?>
305
+ </ul>
306
+ <p style="margin:0px;padding:0px;"><?php esc_html_e( 'Note: It is important to review users with access to your membership site data since they control settings and can modify member accounts.', 'paid-memberships-pro' ); ?></p>
307
+
308
+ <?php
309
+ $key = get_option( 'pmpro_license_key', '' );
310
+ if ( ! pmpro_license_isValid( $key, null ) ) {
311
+ ?>
312
+ <hr style="background-color:#F1F1F1;border:0;height:4px;margin:30px 0px 30px 0px;" />
313
+ <h3 style="color:#2997c8;font-size:20px;line-height:30px;margin:0px 0px 15px 0px;padding:0px;"><?php esc_html_e( 'License Status: None', 'paid-memberships-pro' ); ?></h3>
314
+ <p style="margin:0px;padding:0px;"><?php printf( __( '...and that is perfectly OK! PMPro is free to use for as long as you want for membership sites of all sizes. Interested in unlimited support, access to over 70 featured-enhancing Add Ons and instant installs and updates? <a %s>Check out our paid plans to learn more</a>.', 'paid-memberships-pro' ), ' style="color:#2997c8;" href="https://www.paidmembershipspro.com/pricing/?utm_source=plugin&utm_medium=pmpro-admin-activity-email&utm_campaign=pricing&utm_content=license-section" target="_blank"' ); ?></p>
315
+ <?php
316
+ }
317
+ ?>
318
+ </td>
319
+ </tr>
320
+ <?php
321
+ $email_sections['admins'] = ob_get_contents();
322
+ ob_clean();
323
+ ?>
324
+ <tr>
325
+ <td valign="top" style="background-color:#FFFFFF;font-family:Helvetica,Arial,sans-serif;font-size:16px;line-height:25px;color:#222222;padding:0;text-align:left;">
326
+ <table align="center" border="0" cellpadding="0" cellspacing="10" width="100%" style="border:0;background-color:#FFFFFF;text-align:left;font-family:Helvetica,Arial,sans-serif;font-size:16px;line-height:25px;color:#222222;">
327
+ <tr valign="top">
328
+ <td width="60%" style="background-color:#F1F1F1;padding:15px;">
329
+ <h3 style="color:#2997c8;font-size:20px;line-height:30px;margin:0px;padding:0px;"><?php _e( 'PMPro News and Updates'); ?></h3>
330
+ <?php
331
+ // Get RSS Feed(s).
332
+ include_once ABSPATH . WPINC . '/feed.php';
333
+
334
+ // Get a SimplePie feed object from the specified feed source.
335
+ $rss = fetch_feed( 'https://www.paidmembershipspro.com/feed/' );
336
+ $max_items = 0;
337
+ if ( ! is_wp_error( $rss ) ) { // Checks that the object is created correctly
338
+ // Figure out how many total items there are, but limit it to 3.
339
+ $max_items = $rss->get_item_quantity( 3 );
340
+ // Build an array of all the items, starting with element 0 (first element).
341
+ $rss_items = $rss->get_items( 0, $max_items );
342
+ }
343
+ if ( $max_items <= 0 ) {
344
+ echo( '<p style="margin:15px 0px 0px 0px;padding:0;">' . __( 'No news found.', 'paid-memberships-pro' ) . '</p>' );
345
+ } else {
346
+ foreach ( $rss_items as $item ) {
347
+ echo( '<p style="margin:15px 0px 0px 0px;padding:0;"><a style="color:#2997c8;" href=" ' . esc_url( $item->get_permalink() ) . ' " target="_blank">' . esc_html( $item->get_title() ) . '</a> ' . esc_html( $item->get_date( get_option( 'date_format' ) ) ) . '</p>' );
348
+ }
349
+ }
350
+ ?>
351
+ </td>
352
+ <td width="40%" style="background-color:#F1F1F1;padding:15px;">
353
+ <p style="margin:0px;padding:0px;text-align:center;"><a style="color:#2997c8;" href="https://www.paidmembershipspro.com" target="_blank"><img style="width:100px;height:100px;" src="<?php echo esc_url( plugins_url( 'images/Paid-Memberships-Pro_icon.png', PMPRO_BASE_FILE ) ); ?>" alt="<?php esc_html_e( 'Paid Memberships Pro', 'paid-memberships-pro' ); ?>" /></a></p>
354
+ <p style="margin:0px 0px 15px 0px;padding:0px;"><a style="color:#2997c8;" href="https://www.paidmembershipspro.com/support/" target="_blank"><?php esc_html_e( 'Get Support', 'paid-memberships-pro' ); ?></a></p>
355
+ <p style="margin:0px 0px 15px 0px;padding:0px;"><a style="color:#2997c8;" href="https://twitter.com/pmproplugin" target="_blank"><?php esc_html_e( 'Follow @pmproplugin on Twitter', 'paid-memberships-pro' ); ?></a></p>
356
+ <p style="margin:0px 0px 15px 0px;padding:0px;"><a style="color:#2997c8;" href="https://www.facebook.com/PaidMembershipsPro/" target="_blank"><?php esc_html_e( 'Like us on Facebook', 'paid-memberships-pro' ); ?></p></p>
357
+ <p style="margin:0px;padding:0px;"><a style="color:#2997c8;" href="https://www.youtube.com/user/strangerstudiostv" target="_blank"><?php esc_html_e( 'Subscribe to our YouTube Channel', 'paid-memberships-pro' ); ?></a></p>
358
+ </td>
359
+ </tr>
360
+ </table>
361
+ </td>
362
+ </tr>
363
+ <?php
364
+ $email_sections['articles_stats'] = ob_get_contents();
365
+ ob_clean();
366
+ ?>
367
+ <tr>
368
+ <td valign="top" style="background:#333333;font-family:Helvetica,Arial,sans-serif;font-size:20px;line-height:30px;color:#FFFFFF;padding:30px;text-align:center;">
369
+ <p style="margin:0px 0px 15px 0px;padding:0px;"><?php esc_html_e( 'This email is automatically generated by your WordPress site and sent to your Administration Email Address set under Settings > General in your WordPress dashboard.', 'paid-memberships-pro' ); ?></p>
370
+ <p style="margin:0px;padding:0px;"><?php printf( __( 'To adjust the frequency of this message or disable these emails completely, you can <a %s>update the "Activity Email Frequency" setting here</a>.', 'paid-memberships-pro' ), ' style="color:#FFFFFF;" href="' . admin_url( 'admin.php?page=pmpro-advancedsettings' ) . '" target="_blank"' ); ?></p>
371
+ </td>
372
+ </tr>
373
+ <?php
374
+ $email_sections['footer'] = ob_get_contents();
375
+ ob_clean();
376
+ ?>
377
+ </tbody>
378
+ </table>
379
+ </center>
380
+ </div>
381
+ <?php
382
+ $email_sections['post_content'] = ob_get_contents();
383
+ ob_end_clean();
384
+
385
+ /**
386
+ * Filter the Admin Activity Email sections.
387
+ *
388
+ * @since 2.3
389
+ *
390
+ * @param array $email_sections Current sections of the email to be sent.
391
+ * @param string $frequency Time period that this email will cover.
392
+ * @param string $term Wording being used to convey $frequency throughout email.
393
+ * @param string $report_start_date First date of data that report looks at (YYYY-MM-DD).
394
+ * @param string $report_end_date Last date of data that report looks at (YYYY-MM-DD).
395
+ * @param string $date_range Formatted date range based on site date format settings.
396
+ */
397
+ $email_sections = apply_filters( 'pmpro_admin_activity_email_sections', $email_sections, $frequency, $term, $report_start_date, $report_end_date, $date_range );
398
+ $admin_activity_email_body = '';
399
+ foreach ( $email_sections as $section => $content ) {
400
+ $admin_activity_email_body .= $content;
401
+ }
402
+
403
+ $this->email = get_bloginfo( 'admin_email' );
404
+ $this->subject = sprintf( __( '[%1$s] Paid Memberships Pro Activity for %2$s: %3$s', 'paid-memberships-pro' ), get_bloginfo( 'name' ), ucwords( $term ), $date_range );
405
+ $this->template = 'admin_activity_email';
406
+ $this->body = $admin_activity_email_body;
407
+ $this->from = pmpro_getOption( 'from' );
408
+ $this->fromname = pmpro_getOption( 'from_name' );
409
+ add_filter( 'pmpro_email_body_header', '__return_false', 99 );
410
+ add_filter( 'pmpro_email_body_footer', '__return_false', 99 );
411
+ $response = $this->sendEmail();
412
+ remove_filter( 'pmpro_email_body_header', '__return_false', 99 );
413
+ remove_filter( 'pmpro_email_body_footer', '__return_false', 99 );
414
+ return $response;
415
+ }
416
+
417
+ }
418
+ PMPro_Admin_Activity_Email::get_instance();
classes/class-pmpro-discount-codes.php ADDED
@@ -0,0 +1,285 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class PMPro_Discount_Code{
4
+
5
+ function __construct( $code = NULL ) {
6
+
7
+ if ( $code ) {
8
+
9
+ if ( is_numeric( $code ) ) {
10
+ return $this->get_discount_code_by_id( $code );
11
+ } else {
12
+ return $this->get_discount_code_by_code( $code );
13
+ }
14
+
15
+ } else {
16
+ return $this->get_empty_discount_code();
17
+ }
18
+ }
19
+
20
+ /**
21
+ * Get an empty (but complete) discount code object.
22
+ * @since 2.3
23
+ */
24
+ function get_empty_discount_code() {
25
+
26
+ $discount_code = new stdClass();
27
+ $discount_code->id = '';
28
+ $discount_code->code = pmpro_getDiscountCode();
29
+ $discount_code->starts = date( 'Y-m-d' );
30
+ $discount_code->expires = date( 'Y-m-d', time() + 86400 );
31
+ $discount_code->uses = '';
32
+ $discount_code->levels = array(
33
+ // 1 => array(
34
+ // 'initial_payment' => '',
35
+ // 'billing_amount' => '',
36
+ // 'cycle_number' => '',
37
+ // 'cycle_period' => 'Month',
38
+ // 'billing_limit' => '',
39
+ // 'custom_trial' => 0,
40
+ // 'trial_amount' => '',
41
+ // 'trial_limit' => '',
42
+ // 'expiration_number' => '',
43
+ // 'expiration_period' => ''
44
+ // )
45
+ );
46
+ return $discount_code;
47
+ }
48
+
49
+ /**
50
+ * Get discount code object.
51
+ * @since 2.3
52
+ * @return $dcobj object The discount code object.
53
+ */
54
+ function get_discount_code_object( $code ) {
55
+ global $wpdb;
56
+
57
+ // Get the discount code object.
58
+ $dcobj = $wpdb->get_row(
59
+ $wpdb->prepare(
60
+ "SELECT *
61
+ FROM $wpdb->pmpro_discount_codes
62
+ WHERE code = %s",
63
+ $code
64
+ ),
65
+ OBJECT
66
+ );
67
+
68
+ return $dcobj;
69
+ }
70
+
71
+ /**
72
+ * Get levels and level billing settings by discount code.
73
+ * @since 2.3
74
+ * @return $levels obj levels that are tied to a discount code.
75
+ */
76
+ function get_discount_code_billing( $code ) {
77
+ global $wpdb;
78
+
79
+ $levels = $wpdb->get_results(
80
+ $wpdb->prepare(
81
+ "SELECT cl.*
82
+ FROM $wpdb->pmpro_discount_codes_levels cl
83
+ LEFT JOIN $wpdb->pmpro_discount_codes cd
84
+ ON cl.code_id = cd.id
85
+ WHERE cd.code = %s",
86
+ $code
87
+ ),
88
+ OBJECT
89
+ );
90
+
91
+ return $levels;
92
+ }
93
+
94
+ /**
95
+ * Get discount code by code
96
+ * @since 2.3
97
+ */
98
+ function get_discount_code_by_code( $code ) {
99
+
100
+ // Get discount code object and levels linked to the code object..
101
+ $dcobj = $this->get_discount_code_object( $code );
102
+ $levels = $this->get_discount_code_billing( $code );
103
+
104
+ if ( ! empty( $dcobj ) ) {
105
+ // Setup the discount code object.
106
+ $this->id = $dcobj->id;
107
+ $this->starts = $dcobj->starts;
108
+ $this->expires = $dcobj->expires;
109
+ $this->uses = $dcobj->uses;
110
+
111
+ foreach( $levels as $level ) {
112
+ $this->levels[$level->level_id] = array(
113
+ 'initial_payment' => $level->initial_payment,
114
+ 'billing_amount' => $level->billing_amount,
115
+ 'cycle_number' => $level->cycle_number,
116
+ 'cycle_period' => $level->cycle_period,
117
+ 'billing_limit' => $level->billing_limit,
118
+ 'custom_trial' => ! isset( $level->custom_trial ) ? 0 : $level->custom_trial,
119
+ 'trial_amount' => $level->trial_amount,
120
+ 'trial_limit' => $level->trial_limit,
121
+ 'expiration_number' => $level->expiration_number,
122
+ 'expiration_period' => $level->expiration_period
123
+ );
124
+ }
125
+
126
+ return $this;
127
+ } else {
128
+ return false;
129
+ }
130
+ }
131
+
132
+ /**
133
+ * Get discount code by ID
134
+ * @since 2.3
135
+ */
136
+ function get_discount_code_by_id( $id ) {
137
+ global $wpdb;
138
+ // Get the discount code by code, then call function
139
+ $id = intval( $id );
140
+
141
+ $code = $wpdb->get_var("SELECT code FROM $wpdb->pmpro_discount_codes WHERE `id` =" . $id );
142
+
143
+ return $this->get_discount_code_by_code( $code );
144
+
145
+ }
146
+
147
+ function save() {
148
+ global $wpdb;
149
+
150
+ $sql_okay = false;
151
+ // See if code exists;
152
+ if ( isset( $this->code ) && ! empty( $this->code ) ) {
153
+ // see if row exists.
154
+ $results = $wpdb->get_row( "SELECT * FROM $wpdb->pmpro_discount_codes WHERE code = '" . $this->code . "' LIMIT 1" );
155
+
156
+ if ( $results ) {
157
+
158
+ if ( ! isset( $this->id ) ) {
159
+ $this->id = $results->id;
160
+ }
161
+
162
+ if ( ! isset( $this->starts ) ) {
163
+ $this->starts = $results->starts;
164
+ }
165
+
166
+ if ( ! isset( $this->expires ) ) {
167
+ $this->expires = $results->expires;
168
+ }
169
+
170
+ if ( ! isset( $this->uses ) ) {
171
+ $this->uses = $results->uses;
172
+ }
173
+
174
+ }
175
+
176
+ } else {
177
+
178
+ $this->code = pmpro_getDiscountCode();
179
+
180
+ if ( ! isset( $this->starts ) || empty( $this->starts ) ) {
181
+ $this->starts = date( 'Y-m-d' );
182
+ }
183
+
184
+ if ( ! isset( $this->expires ) || empty( $this->expires ) ) {
185
+ $this->expires = date( 'Y-m-d', time() + 86400 );
186
+ }
187
+
188
+ if ( ! isset( $this->uses ) || empty( $this->uses) ) {
189
+ $this->uses = 0;
190
+ }
191
+ }
192
+
193
+ // If the code doesn't exist, create it otherwise update it.
194
+ if ( empty( $this->id ) ) {
195
+
196
+ $before_action = 'pmpro_add_discount_code';
197
+ $after_action = 'pmpro_added_discount_code';
198
+
199
+ $this->sqlQuery = "INSERT INTO $wpdb->pmpro_discount_codes ( `code`, `starts`, `expires`, `uses` )
200
+ VALUES ('" . $this->code . "',
201
+ '" . $this->starts ."',
202
+ '" . $this->expires ."',
203
+ " . intval( $this->uses ) ."
204
+ )";
205
+ } else {
206
+
207
+ $before_action = 'pmpro_update_discount_code';
208
+ $after_action = 'pmpro_updated_discount_code';
209
+
210
+ $this->sqlQuery = "UPDATE $wpdb->pmpro_discount_codes
211
+ SET `code` = '" . $this->code ."',
212
+ `starts` = '" . $this->starts . "',
213
+ `expires` = '" . $this->expires . "',
214
+ `uses` = " . intval( $this->uses ) . "
215
+ WHERE code = '" . $this->code . "'
216
+ LIMIT 1";
217
+ }
218
+
219
+ // Make sure query ran okay.
220
+ do_action( $before_action, $this );
221
+ if ( $wpdb->query( $this->sqlQuery ) !== false ) {
222
+ if ( empty ( $this->id ) ) {
223
+ $this->id = $wpdb->insert_id;
224
+ }
225
+ }
226
+
227
+ // Delete levels if 0 or false is passed through.
228
+ if ( isset( $this->levels ) && ( $this->levels == 0 || $this->levels == false ) ) {
229
+ $wpdb->delete( $wpdb->pmpro_discount_codes_levels, array( 'code_id' => $this->id ), array( '%d' ) );
230
+ }
231
+
232
+ // Insert discount code level/billing data if it's set in the discount code object.
233
+ if ( isset( $this->levels ) && is_array( $this->levels ) ) {
234
+
235
+ // Nuke the levels table and rebuild it.
236
+ $wpdb->delete( $wpdb->pmpro_discount_codes_levels, array( 'code_id' => $this->id ), array( '%d' ) );
237
+
238
+ foreach ( $this->levels as $key => $data ) {
239
+ $level_id = intval( $key );
240
+ $initial_payment = $data['initial_payment'];
241
+ $billing_amount = $data['billing_amount'];
242
+ $cycle_number = $data['cycle_number'];
243
+ $cycle_period = $data['cycle_period'];
244
+ $billing_limit = $data['billing_limit'];
245
+ $trial_amount = $data['trial_amount'];
246
+ $trial_limit = $data['trial_limit'];
247
+ $expiration_number = $data['expiration_number'];
248
+ $expiration_period = $data['expiration_period'];
249
+
250
+ $this->sqlQuery = "INSERT INTO $wpdb->pmpro_discount_codes_levels
251
+ ( `code_id`, `level_id`, `initial_payment`, `billing_amount`, `cycle_number`, `cycle_period`, `billing_limit`, `trial_amount`, `trial_limit`, `expiration_number`, `expiration_period`)
252
+ VALUES ( " . intval( $this->id ) . ",
253
+ " . intval( $level_id ) . ",
254
+ " . floatval( $initial_payment ) . ",
255
+ " . floatval( $billing_amount ) . ",
256
+ " . intval( $cycle_number ) . ",
257
+ '" . $cycle_period . "',
258
+ " . intval( $billing_limit ) . ",
259
+ " . floatval( $trial_amount ) . ",
260
+ " . intval( $trial_limit ) . ",
261
+ " . intval( $expiration_number ) . ",
262
+ '" . $expiration_period . "'
263
+ )";
264
+
265
+ // Run the query here.
266
+ if ( $wpdb->query( $this->sqlQuery ) !== false ) {
267
+ $sql_okay = true;
268
+ }
269
+ }
270
+ }
271
+
272
+ do_action( $after_action, $this );
273
+
274
+ unset( $this->sqlQuery ); //remove SQL query.
275
+
276
+ // Return values once updated/inserted.
277
+ if ( $sql_okay == true ) {
278
+ return $this->get_discount_code_by_id( $this->id );
279
+ } else {
280
+ return false;
281
+ }
282
+
283
+ }
284
+
285
+ } // end of class.
classes/class-pmpro-levels.php ADDED
@@ -0,0 +1,262 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class PMPro_Membership_Level{
4
+
5
+ function __construct( $id = NULL ) {
6
+ if ( $id ) {
7
+ return $this->get_membership_level( $id );
8
+ } else {
9
+ return $this->get_empty_membership_level();
10
+ }
11
+ }
12
+
13
+ function __get( $key ) {
14
+ if ( isset( $this->$key ) ) {
15
+ $value = $this->$key;
16
+ } else {
17
+ $value = get_pmpro_membership_level_meta( $this->ID, $key, true );
18
+ }
19
+
20
+ return $value;
21
+ }
22
+
23
+ function get_empty_membership_level() {
24
+
25
+ $this->ID = ''; // for backwards compatibility.
26
+ $this->id = '';
27
+ $this->name ='';
28
+ $this->description = '';
29
+ $this->confirmation = '';
30
+ $this->initial_payment = '';
31
+ $this->billing_amount = '';
32
+ $this->cycle_number = '';
33
+ $this->cycle_period = '';
34
+ $this->billing_limit = '';
35
+ $this->trial_amount = '';
36
+ $this->trial_limit = '';
37
+ $this->allow_signups = '';
38
+ $this->expiration_number = '';
39
+ $this->expiration_period = '';
40
+ $this->categories = array(); // example array(1,2,4,6);
41
+
42
+ return $this;
43
+
44
+ }
45
+
46
+ /**
47
+ * Function to get the membership level object by ID.
48
+ * @since 2.3
49
+ */
50
+ function get_membership_level( $id ) {
51
+
52
+ $dblobj = $this->get_membership_level_object( $id );
53
+ $categories = $this->get_membership_level_categories( $id );
54
+
55
+ if ( ! empty( $dblobj ) ) {
56
+ $this->ID = $dblobj->id;
57
+ $this->id = $dblobj->id;
58
+ $this->name = $dblobj->name;
59
+ $this->description = $dblobj->description;
60
+ $this->confirmation = $dblobj->confirmation;
61
+ $this->initial_payment = $dblobj->initial_payment;
62
+ $this->billing_amount = $dblobj->billing_amount;
63
+ $this->cycle_number = $dblobj->cycle_number;
64
+ $this->cycle_period = $dblobj->cycle_period;
65
+ $this->billing_limit = $dblobj->billing_limit;
66
+ $this->trial_amount = $dblobj->trial_amount;
67
+ $this->trial_limit = $dblobj->trial_limit;
68
+ $this->allow_signups = $dblobj->allow_signups;
69
+ $this->expiration_number = $dblobj->expiration_number;
70
+ $this->expiration_period = $dblobj->expiration_period;
71
+ $this->categories = $categories;
72
+ } else {
73
+ return false;
74
+ }
75
+
76
+ return $this;
77
+ }
78
+
79
+ /**
80
+ * Get a list of category ID's that belong to a membership level.
81
+ * @since 2.3
82
+ * @return array An array of category ID's.
83
+ */
84
+ function get_membership_level_categories( $id ) {
85
+ global $wpdb;
86
+
87
+ $dblc = $wpdb->get_results( "SELECT * FROM $wpdb->pmpro_memberships_categories WHERE membership_id = " . $id . "", ARRAY_A );
88
+
89
+ $category_array = array();
90
+
91
+ foreach( $dblc as $category ) {
92
+ $category_array[] = intval( $category['category_id'] );
93
+ }
94
+
95
+ return $category_array;
96
+ }
97
+
98
+ /**
99
+ * Get the object of a membership level from the database.
100
+ * @since 2.3
101
+ * @return object The level object.
102
+ */
103
+ function get_membership_level_object( $id ) {
104
+ global $wpdb;
105
+
106
+ // Get the discount code object.
107
+ $dcobj = $wpdb->get_row(
108
+ $wpdb->prepare(
109
+ "SELECT *
110
+ FROM $wpdb->pmpro_membership_levels
111
+ WHERE id = %s",
112
+ $id
113
+ ),
114
+ OBJECT
115
+ );
116
+
117
+ return $dcobj;
118
+ }
119
+
120
+ /**
121
+ * Save or update an existing level if the level exists.
122
+ * @since 2.3
123
+ */
124
+ function save() {
125
+ global $wpdb;
126
+
127
+ if ( empty( $this->id ) ) {
128
+ $before_action = 'pmpro_add_membership_level';
129
+ $after_action = 'pmpro_added_membership_level';
130
+ } else {
131
+ $before_action = 'pmpro_update_membership_level';
132
+ $after_action = 'pmpro_updated_membership_level';
133
+ }
134
+
135
+ do_action( $before_action, $this );
136
+
137
+ $wpdb->replace(
138
+ $wpdb->pmpro_membership_levels,
139
+ array(
140
+ 'id'=> $this->id,
141
+ 'name' => $this->name,
142
+ 'description' => $this->description,
143
+ 'confirmation' => $this->confirmation,
144
+ 'initial_payment' => $this->initial_payment,
145
+ 'billing_amount' => $this->billing_amount,
146
+ 'cycle_number' => $this->cycle_number,
147
+ 'cycle_period' => $this->cycle_period,
148
+ 'billing_limit' => $this->billing_limit,
149
+ 'trial_amount' => $this->trial_amount,
150
+ 'trial_limit' => $this->trial_limit,
151
+ 'expiration_number' => $this->expiration_number,
152
+ 'expiration_period' => $this->expiration_period,
153
+ 'allow_signups' => $this->allow_signups
154
+ ),
155
+ array(
156
+ '%d', //id
157
+ '%s', //name
158
+ '%s', //description
159
+ '%s', //confirmation
160
+ '%f', //initial_payment
161
+ '%f', //billing_amount
162
+ '%d', //cycle_number
163
+ '%s', //cycle_period
164
+ '%d', //billing_limit
165
+ '%f', //trial_amount
166
+ '%d', //trial_limit
167
+ '%d', //expiration_number
168
+ '%s', //expiration_period
169
+ '%d', //allow_signups
170
+ )
171
+ );
172
+
173
+ if ( $wpdb->insert_id ) {
174
+ $this->id = $wpdb->insert_id;
175
+ }
176
+
177
+ // Drop all categories if there are categories set from $this.
178
+ if ( isset( $this->categories ) && is_array( $this->categories ) ) {
179
+
180
+ // Delete categories for membership ID so we can add them back again.
181
+ $wpdb->delete( $wpdb->pmpro_memberships_categories, array('membership_id' => $this->id), array('%d') );
182
+
183
+ foreach( $this->categories as $key => $category ) {
184
+ if ( term_exists( get_cat_name( $category ), 'category' ) ) {
185
+ $wpdb->insert( $wpdb->pmpro_memberships_categories, array( 'membership_id' => $this->id, 'category_id' => $category ), array( '%d', '%d' ) );
186
+ }
187
+ }
188
+ }
189
+
190
+ do_action( $after_action, $this );
191
+ }
192
+ /**
193
+ * Delete a membership level and categories.
194
+ * @since 2.3
195
+ */
196
+ function delete() {
197
+
198
+ if ( empty( $this->id ) ) {
199
+ return false;
200
+ }
201
+
202
+ global $wpdb;
203
+ $r1 = false; // Remove level.
204
+ $r2 = false; // Remove categories from level.
205
+ $r3 = true; // Remove users from level.
206
+
207
+ if ( $wpdb->delete( $wpdb->pmpro_membership_levels, array('id' => $this->id), array('%d') ) ) {
208
+ $r1 = true;
209
+ }
210
+
211
+ if ( $wpdb->delete( $wpdb->pmpro_memberships_categories, array('membership_id' => $this->id), array('%d') ) ) {
212
+ $r2 = true;
213
+ }
214
+
215
+ // Try to remove users from the level too
216
+ $user_ids = $wpdb->get_col( $wpdb->prepare( "
217
+ SELECT user_id FROM $wpdb->pmpro_memberships_users
218
+ WHERE membership_id = %d
219
+ AND status = 'active'",
220
+ $this->id
221
+ ) );
222
+
223
+
224
+ foreach($user_ids as $user_id) {
225
+ //change there membership level to none. that will handle the cancel
226
+ if(pmpro_changeMembershipLevel(0, $user_id)) {
227
+ //okay
228
+ } else {
229
+ //couldn't delete the subscription
230
+ //we should probably notify the admin
231
+ $pmproemail = new PMProEmail();
232
+ $pmproemail->data = array("body"=>"<p>" . sprintf(__("There was an error canceling the subscription for user with ID=%d. You will want to check your payment gateway to see if their subscription is still active.", 'paid-memberships-pro' ), $user_id) . "</p>");
233
+ $last_order = $wpdb->get_row( $wpdb->prepare( "
234
+ SELECT * FROM $wpdb->pmpro_membership_orders
235
+ WHERE user_id = %d
236
+ ORDER BY timestamp DESC LIMIT 1",
237
+ $user_id
238
+ ) );
239
+ if($last_order)
240
+ $pmproemail->data["body"] .= "<p>" . __("Last Invoice", 'paid-memberships-pro' ) . ":<br />" . nl2br(var_export($last_order, true)) . "</p>";
241
+ $pmproemail->sendEmail(get_bloginfo("admin_email"));
242
+
243
+ $r3 = false; // Set it to false if it couldn't delete the subscription.
244
+ }
245
+ }
246
+
247
+
248
+ if ( $r1 == true && $r2 == true && $r3 == true ) {
249
+ return true;
250
+ } elseif ( $r1 == true && $r2 == false && $r3 == false ) {
251
+ return 'Only the level was deleted. Users may still be assigned to this level';
252
+ } elseif ( $r1 == false && $r2 == true && $r3 == false ) {
253
+ return 'Only categories were deleted. Users may still be assigned to this level.';
254
+ } elseif( $r1 == false && $r2 == false && $r3 == true ) {
255
+ return 'Only users were removed from this level.';
256
+ } else {
257
+ return false;
258
+ }
259
+
260
+ }
261
+
262
+ } // end of class
classes/class-pmpro-members-list-table.php CHANGED
@@ -47,7 +47,6 @@ class PMPro_Members_List_Table extends WP_List_Table {
47
  */
48
  public function prepare_items() {
49
  $this->_column_headers = $this->get_column_info();
50
- $this->handle_table_actions();
51
  $this->items = $this->sql_table_data();
52
 
53
  // set the pagination arguments
@@ -103,6 +102,8 @@ class PMPro_Members_List_Table extends WP_List_Table {
103
  $columns['enddate'] = 'Cancelled';
104
  }
105
 
 
 
106
  $columns = apply_filters( 'pmpro_memberslist_extra_cols', $columns );
107
 
108
  // Re-implementing old hook, will be deprecated.
@@ -116,6 +117,12 @@ class PMPro_Members_List_Table extends WP_List_Table {
116
  $custom_field_num++;
117
  }
118
 
 
 
 
 
 
 
119
  return $columns;
120
  }
121
 
@@ -197,39 +204,6 @@ class PMPro_Members_List_Table extends WP_List_Table {
197
  );
198
  }
199
 
200
- /**
201
- * Allows you to sort the data by the variables set in the $_GET
202
- *
203
- * @return Mixed
204
- */
205
- private function sort_data( $a, $b ) {
206
- // Set defaults
207
- $orderby = 'ID';
208
- $order = 'desc';
209
-
210
- // If orderby is set, use this as the sort column
211
- if ( ! empty( $_GET['orderby'] ) ) {
212
- $orderby = $_GET['orderby'];
213
- }
214
-
215
- // If order is set use this as the order
216
- if ( ! empty( $_GET['order'] ) ) {
217
- $order = $_GET['order'];
218
- }
219
-
220
- if ( is_numeric( $a[ $orderby ] ) && is_numeric( $b[ $orderby ] ) ) {
221
- $result = intval( $a[ $orderby ] ) > intval( $b[ $orderby ] ) ? 1 : -1;
222
- } else {
223
- $result = strcmp( $a[ $orderby ], $b[ $orderby ] );
224
- }
225
-
226
- if ( $order === 'asc' ) {
227
- return $result;
228
- }
229
-
230
- return -$result;
231
- }
232
-
233
  /**
234
  * Text displayed when no user data is available
235
  *
@@ -412,31 +386,6 @@ class PMPro_Members_List_Table extends WP_List_Table {
412
  return $orderby;
413
  }
414
 
415
- /**
416
- * Filter the table data based on the user search key
417
- *
418
- * @since 2.2.0
419
- *
420
- * @param array $table_data
421
- * @param string $search_key
422
- * @return array
423
- */
424
- public function filter_table_data( $table_data, $search_key ) {
425
- $filtered_table_data = array_values(
426
- array_filter(
427
- $table_data,
428
- function( $row ) use ( $search_key ) {
429
- foreach ( $row as $row_val ) {
430
- if ( stripos( $row_val, $search_key ) !== false ) {
431
- return true;
432
- }
433
- }
434
- }
435
- )
436
- );
437
- return $filtered_table_data;
438
- }
439
-
440
  /**
441
  * Render a column when no column specific method exists.
442
  *
@@ -447,113 +396,69 @@ class PMPro_Members_List_Table extends WP_List_Table {
447
  */
448
  public function column_default( $item, $column_name ) {
449
  $item = (array) apply_filters( 'pmpro_members_list_user', (object) $item );
450
- switch ( $column_name ) {
451
- case 'ID':
452
- case 'display_name':
453
- case 'user_email':
454
- case 'membership':
455
- case 'membership_id':
456
- case 'cycle_period':
457
- case 'cycle_number':
458
- return $item[ $column_name ];
459
- case 'username':
460
- $avatar = get_avatar( $item['ID'], 32 );
461
- $userlink = '<a href="user-edit.php?user_id=' . $item['ID'] . '">' . $item['user_login'] . '</a>';
462
- $userlink = apply_filters( 'pmpro_members_list_user_link', $userlink, get_userdata( $item['ID'] ) );
463
- $output = $avatar . ' <strong>' . $userlink . '</strong><br />';
464
-
465
- // Set up the hover actions for this user
466
- $actions = apply_filters( 'pmpro_memberslist_user_row_actions', array(), (object) $item );
467
- $action_count = count( $actions );
468
- $i = 0;
469
- if ( $action_count ) {
470
- $output .= '<div class="row-actions">';
471
- foreach ( $actions as $action => $link ) {
472
- ++$i;
473
- ( $i == $action_count ) ? $sep = '' : $sep = ' | ';
474
- $output .= "<span class='$action'>$link$sep</span>";
475
- }
476
- $output .= '</div>';
477
- }
478
- return $output;
479
- case 'fee':
480
- $fee = '';
481
- // If there is no payment for the level, show a dash.
482
- if ( (float)$item['initial_payment'] <= 0 && (float)$item['billing_amount'] <= 0 ) {
483
- $fee .= esc_html_e( '&#8212;', 'paid-memberships-pro' );
484
- } else {
485
- // Display the member's initial payment.
486
- if ( (float)$item['initial_payment'] > 0 ) {
487
- $fee .= pmpro_formatPrice( $item['initial_payment'] );
488
- }
489
- // If there is a recurring payment, show a plus sign.
490
- if ( (float)$item['initial_payment'] > 0 && (float)$item['billing_amount'] > 0 ) {
491
- $fee .= esc_html( ' + ', 'paid-memberships-pro' );
492
- }
493
- // If there is a recurring payment, show the recurring payment amount and cycle.
494
- if ( (float)$item['billing_amount'] > 0 ) {
495
- $fee .= pmpro_formatPrice( $item['billing_amount'] );
496
- $fee .= esc_html( ' per ', 'paid-memberships-pro' );
497
- if ( $item['cycle_number'] > 1 ) {
498
- $fee .= $item['cycle_number'] . " " . $item['cycle_period'] . "s";
499
- } else {
500
- $fee .= $item['cycle_period'];
501
- }
502
- }
503
- }
504
- return $fee;
505
- case 'joindate':
506
- $joindate = $item[ $column_name ];
507
- return date_i18n( get_option('date_format'), $joindate );
508
- case 'startdate':
509
- $startdate = $item[ $column_name ];
510
- return date_i18n( get_option('date_format'), $startdate );
511
- case 'enddate':
512
- $user_object = get_userdata( $item['ID'] );
513
- if ( 0 == $item['enddate'] ) {
514
- return __( apply_filters( 'pmpro_memberslist_expires_column', 'Never', $user_object ), 'paid-memberships-pro');
515
- } else {
516
- return apply_filters( 'pmpro_memberslist_expires_column', date_i18n( get_option('date_format'), $item['enddate'] ), $user_object );
517
- }
518
- default:
519
- if ( isset( $item[$column_name] ) ) {
520
- return $item[$column_name];
521
- } elseif ( 0 === strpos( $column_name, 'custom_field_' ) ) {
522
- // Re-implementing old hook, will be deprecated.
523
- $user_object = get_userdata( $item['ID'] );
524
- ob_start();
525
- do_action( 'pmpro_memberslist_extra_cols_body', $user_object );
526
- $extra_cols = ob_get_clean();
527
- preg_match_all( '/<td>(.*?)<\/td>/s', $extra_cols, $matches );
528
- $custom_field_num = explode( 'custom_field_', $column_name )[1];
529
- if ( is_numeric( $custom_field_num ) && isset( $matches[1][ intval( $custom_field_num ) ] ) ) {
530
- return $matches[1][ intval( $custom_field_num ) ];
531
- }
532
- }
533
  }
534
  }
535
 
536
  /**
537
- * Get value for checkbox column.
538
  *
539
- * The special 'cb' column
 
 
 
 
 
 
 
 
540
  *
541
- * @param object $item A row's data
542
  * @return string Text to be placed inside the column <td>.
543
  */
544
- protected function column_cb( $item ) {
545
- return sprintf(
546
- '<label class="screen-reader-text" for="user_' . $item['ID'] . '">' . sprintf( __( 'Select %s' ), $item['user_login'] ) . '</label>'
547
- . "<input type='checkbox' name='users[]' id='user_{$item['ID']}' value='{$item['ID']}' />"
548
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
549
  }
550
 
551
  /**
552
  * Get value for first name column.
553
  *
554
- * The special 'first_name' column
555
- *
556
- * @param object $item A row's data
557
  * @return string Text to be placed inside the column <td>.
558
  */
559
  public function column_first_name( $item ) {
@@ -564,9 +469,7 @@ class PMPro_Members_List_Table extends WP_List_Table {
564
  /**
565
  * Get value for last name column.
566
  *
567
- * The special 'last_name' column
568
- *
569
- * @param object $item A row's data
570
  * @return string Text to be placed inside the column <td>.
571
  */
572
  public function column_last_name( $item ) {
@@ -575,72 +478,125 @@ class PMPro_Members_List_Table extends WP_List_Table {
575
  }
576
 
577
  /**
578
- * Get value for Address column.
579
  *
580
- * The special 'address' column
 
 
 
 
 
 
 
 
581
  *
582
- * @param object $item A row's data
 
 
 
 
 
 
 
 
 
 
583
  * @return string Text to be placed inside the column <td>.
584
  */
585
  public function column_address( $item ) {
586
  $user_object = get_userdata( $item['ID'] );
587
  return pmpro_formatAddress( trim( $user_object->pmpro_bfirstname . ' ' . $user_object->pmpro_blastname ), $user_object->pmpro_baddress1, $user_object->pmpro_baddress2, $user_object->pmpro_bcity, $user_object->pmpro_bstate, $user_object->pmpro_bzipcode, $user_object->pmpro_bcountry, $user_object->pmpro_bphone );
588
- // return ( $user_object->last_name ?: '---' );
589
  }
590
 
591
- public function get_some_actions() {
592
- if ( isset( $_REQUEST['l'] ) ) {
593
- $l = sanitize_text_field( $_REQUEST['l'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
594
  } else {
595
- $l = false;
596
- }
597
- ?>
598
- <ul class="subsubsub">
599
- <li>
600
- <?php _e( 'Show', 'paid-memberships-pro' ); ?>
601
- <select name="l" onchange="jQuery('#posts-filter').submit();">
602
- <option value=""
603
- <?php
604
- if ( ! $l ) {
605
- ?>
606
- selected="selected"<?php } ?>><?php _e( 'All Levels', 'paid-memberships-pro' ); ?></option>
607
- <?php
608
- $levels = $wpdb->get_results(
609
- "
610
- SELECT id, name
611
- FROM $wpdb->pmpro_membership_levels
612
- ORDER BY name
613
- "
614
- );
615
- foreach ( $levels as $level ) {
616
- ?>
617
- <option value="<?php echo $level->id; ?>"
618
- <?php
619
- if ( $l == $level->id ) {
620
- ?>
621
- selected="selected"<?php } ?>><?php echo $level->name; ?></option>
622
- <?php
623
  }
624
- ?>
625
- <option value="cancelled"
626
- <?php
627
- if ( $l == 'cancelled' ) {
628
- ?>
629
- selected="selected"<?php } ?>><?php _e( 'Cancelled Members', 'paid-memberships-pro' ); ?></option>
630
- <option value="expired"
631
- <?php
632
- if ( $l == 'expired' ) {
633
- ?>
634
- selected="selected"<?php } ?>><?php _e( 'Expired Members', 'paid-memberships-pro' ); ?></option>
635
- <option value="oldmembers"
636
- <?php
637
- if ( $l == 'oldmembers' ) {
638
- ?>
639
- selected="selected"<?php } ?>><?php _e( 'Old Members', 'paid-memberships-pro' ); ?></option>
640
- </select>
641
- </li>
642
- </ul>
643
- <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
644
  }
645
 
646
  /**
@@ -679,77 +635,4 @@ class PMPro_Members_List_Table extends WP_List_Table {
679
  // The code that goes after the table is there
680
  }
681
  }
682
-
683
- /**
684
- * Process actions triggered by the user
685
- *
686
- * @since 2.2.0
687
- */
688
- public function handle_table_actions() {
689
- /**
690
- * Note: Table bulk_actions can be identified by checking $_REQUEST['action'] and $_REQUEST['action2']
691
- *
692
- * action - is set if checkbox from top-most select-all is set, otherwise returns -1
693
- * action2 - is set if checkbox the bottom-most select-all checkbox is set, otherwise returns -1
694
- */
695
-
696
- // check for individual row actions
697
- $the_table_action = $this->current_action();
698
-
699
- if ( 'view_usermeta' === $the_table_action ) {
700
- $nonce = wp_unslash( $_REQUEST['_wpnonce'] );
701
- // verify the nonce.
702
- if ( ! wp_verify_nonce( $nonce, 'view_usermeta_nonce' ) ) {
703
- $this->invalid_nonce_redirect();
704
- } else {
705
- $this->graceful_exit();
706
- }
707
- }
708
-
709
- // check for table bulk actions
710
- if ( ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] === 'bulk-download' ) || ( isset( $_REQUEST['action2'] ) && $_REQUEST['action2'] === 'bulk-download' ) ) {
711
-
712
- // verify the nonce.
713
- $nonce = wp_unslash( $_REQUEST['_wpnonce'] );
714
- /**
715
- * Note: the nonce field is set by the parent class
716
- * wp_nonce_field( 'bulk-' . $this->_args['plural'] );
717
- */
718
- if ( ! wp_verify_nonce( $nonce, 'bulk-users' ) ) {
719
- $this->invalid_nonce_redirect();
720
- } else {
721
- $this->page_bulk_download( $_REQUEST['users'] );
722
- $this->graceful_exit();
723
- }
724
- }
725
- }
726
-
727
- /**
728
- * Stop execution and exit
729
- *
730
- * @since 2.2.0
731
- *
732
- * @return void
733
- */
734
- public function graceful_exit() {
735
- exit;
736
- }
737
-
738
- /**
739
- * Die when the nonce check fails.
740
- *
741
- * @since 2.2.0
742
- *
743
- * @return void
744
- */
745
- public function invalid_nonce_redirect() {
746
- wp_die(
747
- __( 'Invalid Nonce', $this->plugin_text_domain ),
748
- __( 'Error', $this->plugin_text_domain ),
749
- array(
750
- 'response' => 403,
751
- 'back_link' => esc_url( add_query_arg( array( 'page' => wp_unslash( $_REQUEST['page'] ) ), admin_url( 'pmpro-membershiplevels' ) ) ),
752
- )
753
- );
754
- }
755
  }
47
  */
48
  public function prepare_items() {
49
  $this->_column_headers = $this->get_column_info();
 
50
  $this->items = $this->sql_table_data();
51
 
52
  // set the pagination arguments
102
  $columns['enddate'] = 'Cancelled';
103
  }
104
 
105
+ // Should be deprecated in favor of "pmpro_manage_memberslist_columns".
106
+ // Is applied to all members lists, regardless of screen.
107
  $columns = apply_filters( 'pmpro_memberslist_extra_cols', $columns );
108
 
109
  // Re-implementing old hook, will be deprecated.
117
  $custom_field_num++;
118
  }
119
 
120
+ // Shortcut for editing columns in default memberslist location.
121
+ $current_screen = get_current_screen();
122
+ if ( ! empty( $current_screen ) && 'memberships_page_pmpro-memberslist' === $current_screen->id ) {
123
+ $columns = apply_filters( 'pmpro_manage_memberslist_columns', $columns );
124
+ }
125
+
126
  return $columns;
127
  }
128
 
204
  );
205
  }
206
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
207
  /**
208
  * Text displayed when no user data is available
209
  *
386
  return $orderby;
387
  }
388
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
389
  /**
390
  * Render a column when no column specific method exists.
391
  *
396
  */
397
  public function column_default( $item, $column_name ) {
398
  $item = (array) apply_filters( 'pmpro_members_list_user', (object) $item );
399
+ if ( isset( $item[ $column_name ] ) ) {
400
+ // If the user is adding content via the "pmpro_members_list_user" filter.
401
+ echo( esc_html( $item[ $column_name ] ) );
402
+ } elseif ( 0 === strpos( $column_name, 'custom_field_' ) ) {
403
+ // If the user is adding content via the "pmpro_memberslist_extra_cols_body" hook.
404
+ // Re-implementing old hook, will be deprecated.
405
+ $user_object = get_userdata( $item['ID'] );
406
+ ob_start();
407
+ do_action( 'pmpro_memberslist_extra_cols_body', $user_object );
408
+ $extra_cols = ob_get_clean();
409
+ preg_match_all( '/<td>(.*?)<\/td>/s', $extra_cols, $matches );
410
+ $custom_field_num = explode( 'custom_field_', $column_name )[1];
411
+ if ( is_numeric( $custom_field_num ) && isset( $matches[1][ intval( $custom_field_num ) ] ) ) {
412
+ echo( $matches[1][ intval( $custom_field_num ) ] );
413
+ }
414
+ } else {
415
+ // The preferred ways of doing things.
416
+ do_action( 'pmpro_manage_memberslist_custom_column', $column_name, $item['ID'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
417
  }
418
  }
419
 
420
  /**
421
+ * Get value for ID column.
422
  *
423
+ * @param object $item A row's data.
424
+ * @return string Text to be placed inside the column <td>.
425
+ */
426
+ public function column_ID( $item ) {
427
+ return $item['ID'];
428
+ }
429
+
430
+ /**
431
+ * Get value for username column.
432
  *
433
+ * @param object $item A row's data.
434
  * @return string Text to be placed inside the column <td>.
435
  */
436
+ public function column_username( $item ) {
437
+ $avatar = get_avatar( $item['ID'], 32 );
438
+ $userlink = '<a href="user-edit.php?user_id=' . $item['ID'] . '">' . $item['user_login'] . '</a>';
439
+ $userlink = apply_filters( 'pmpro_members_list_user_link', $userlink, get_userdata( $item['ID'] ) );
440
+ $output = $avatar . ' <strong>' . $userlink . '</strong><br />';
441
+
442
+ // Set up the hover actions for this user.
443
+ $actions = apply_filters( 'pmpro_memberslist_user_row_actions', array(), (object) $item );
444
+ $action_count = count( $actions );
445
+ $i = 0;
446
+ if ( $action_count ) {
447
+ $output .= '<div class="row-actions">';
448
+ foreach ( $actions as $action => $link ) {
449
+ ++$i;
450
+ ( $i == $action_count ) ? $sep = '' : $sep = ' | ';
451
+ $output .= "<span class='$action'>$link$sep</span>";
452
+ }
453
+ $output .= '</div>';
454
+ }
455
+ return $output;
456
  }
457
 
458
  /**
459
  * Get value for first name column.
460
  *
461
+ * @param object $item A row's data.
 
 
462
  * @return string Text to be placed inside the column <td>.
463
  */
464
  public function column_first_name( $item ) {
469
  /**
470
  * Get value for last name column.
471
  *
472
+ * @param object $item A row's data.
 
 
473
  * @return string Text to be placed inside the column <td>.
474
  */
475
  public function column_last_name( $item ) {
478
  }
479
 
480
  /**
481
+ * Get value for display_name column.
482
  *
483
+ * @param object $item A row's data.
484
+ * @return string Text to be placed insdisplay_namee the column <td>.
485
+ */
486
+ public function column_display_name( $item ) {
487
+ return $item['display_name'];
488
+ }
489
+
490
+ /**
491
+ * Get value for user_email column.
492
  *
493
+ * @param object $item A row's data.
494
+ * @return string Text to be placed insuser_emaile the column <td>.
495
+ */
496
+ public function column_user_email( $item ) {
497
+ return $item['user_email'];
498
+ }
499
+
500
+ /**
501
+ * Get value for Address column.
502
+ *
503
+ * @param object $item A row's data.
504
  * @return string Text to be placed inside the column <td>.
505
  */
506
  public function column_address( $item ) {
507
  $user_object = get_userdata( $item['ID'] );
508
  return pmpro_formatAddress( trim( $user_object->pmpro_bfirstname . ' ' . $user_object->pmpro_blastname ), $user_object->pmpro_baddress1, $user_object->pmpro_baddress2, $user_object->pmpro_bcity, $user_object->pmpro_bstate, $user_object->pmpro_bzipcode, $user_object->pmpro_bcountry, $user_object->pmpro_bphone );
 
509
  }
510
 
511
+ /**
512
+ * Get value for membership column.
513
+ *
514
+ * @param object $item A row's data.
515
+ * @return string Text to be placed insmembershipe the column <td>.
516
+ */
517
+ public function column_membership( $item ) {
518
+ return $item['membership'];
519
+ }
520
+
521
+ /**
522
+ * Get value for membership_id column.
523
+ *
524
+ * @param object $item A row's data.
525
+ * @return string Text to be placed insmembership_ide the column <td>.
526
+ */
527
+ public function column_membership_id( $item ) {
528
+ return $item['membership_id'];
529
+ }
530
+
531
+ /**
532
+ * Get value for fee column.
533
+ *
534
+ * @param object $item A row's data.
535
+ * @return string Text to be placed inside the column <td>.
536
+ */
537
+ public function column_fee( $item ) {
538
+ $fee = '';
539
+ // If there is no payment for the level, show a dash.
540
+ if ( (float)$item['initial_payment'] <= 0 && (float)$item['billing_amount'] <= 0 ) {
541
+ $fee .= esc_html_e( '&#8212;', 'paid-memberships-pro' );
542
  } else {
543
+ // Display the member's initial payment.
544
+ if ( (float)$item['initial_payment'] > 0 ) {
545
+ $fee .= pmpro_formatPrice( $item['initial_payment'] );
546
+ }
547
+ // If there is a recurring payment, show a plus sign.
548
+ if ( (float)$item['initial_payment'] > 0 && (float)$item['billing_amount'] > 0 ) {
549
+ $fee .= esc_html( ' + ', 'paid-memberships-pro' );
550
+ }
551
+ // If there is a recurring payment, show the recurring payment amount and cycle.
552
+ if ( (float)$item['billing_amount'] > 0 ) {
553
+ $fee .= pmpro_formatPrice( $item['billing_amount'] );
554
+ $fee .= esc_html( ' per ', 'paid-memberships-pro' );
555
+ if ( $item['cycle_number'] > 1 ) {
556
+ $fee .= $item['cycle_number'] . " " . $item['cycle_period'] . "s";
557
+ } else {
558
+ $fee .= $item['cycle_period'];
 
 
 
 
 
 
 
 
 
 
 
 
559
  }
560
+ }
561
+ }
562
+ return $fee;
563
+ }
564
+
565
+ /**
566
+ * Get value for joindate column.
567
+ *
568
+ * @param object $item A row's data
569
+ * @return string Text to be placed inside the column <td>.
570
+ */
571
+ public function column_joindate( $item ) {
572
+ $joindate = $item[ 'joindate' ];
573
+ return date_i18n( get_option('date_format'), $joindate );
574
+ }
575
+
576
+ /**
577
+ * Get value for startdate column.
578
+ *
579
+ * @param object $item A row's data
580
+ * @return string Text to be placed inside the column <td>.
581
+ */
582
+ public function column_startdate( $item ) {
583
+ $startdate = $item[ 'startdate' ];
584
+ return date_i18n( get_option('date_format'), $startdate );
585
+ }
586
+
587
+ /**
588
+ * Get value for enddate column.
589
+ *
590
+ * @param object $item A row's data
591
+ * @return string Text to be placed inside the column <td>.
592
+ */
593
+ public function column_enddate( $item ) {
594
+ $user_object = get_userdata( $item['ID'] );
595
+ if ( 0 == $item['enddate'] ) {
596
+ return __( apply_filters( 'pmpro_memberslist_expires_column', 'Never', $user_object ), 'paid-memberships-pro');
597
+ } else {
598
+ return apply_filters( 'pmpro_memberslist_expires_column', date_i18n( get_option('date_format'), $item['enddate'] ), $user_object );
599
+ }
600
  }
601
 
602
  /**
635
  // The code that goes after the table is there
636
  }
637
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
638
  }
classes/class.memberorder.php CHANGED
@@ -77,8 +77,7 @@
77
  if(!$id)
78
  return false;
79
 
80
- $gmt_offset = get_option('gmt_offset');
81
- $dbobj = $wpdb->get_row("SELECT *, UNIX_TIMESTAMP(timestamp) + " . ($gmt_offset * 3600) . " as timestamp FROM $wpdb->pmpro_membership_orders WHERE id = '$id' LIMIT 1");
82
 
83
  if($dbobj)
84
  {
@@ -142,6 +141,9 @@
142
  $this->notes = $dbobj->notes;
143
  $this->checkout_id = $dbobj->checkout_id;
144
 
 
 
 
145
  //reset the gateway
146
  if(empty($this->nogateway))
147
  $this->setGateway();
@@ -369,8 +371,14 @@
369
  if(!empty($this->user))
370
  return $this->user;
371
 
372
- $gmt_offset = get_option('gmt_offset');
373
- $this->user = $wpdb->get_row("SELECT *, UNIX_TIMESTAMP(user_registered) + " . ($gmt_offset * 3600) . " as user_registered FROM $wpdb->users WHERE ID = '" . $this->user_id . "' LIMIT 1");
 
 
 
 
 
 
374
  return $this->user;
375
  }
376
 
@@ -518,17 +526,21 @@
518
  }
519
 
520
  /**
521
- * Change the timestamp of an order by passing in year, month, day, time
 
 
522
  */
523
  function updateTimestamp($year, $month, $day, $time = NULL)
524
  {
525
  if(empty($this->id))
526
  return false; //need a saved order
527
 
528
- if(empty($time))
529
- $time = "00:00:00";
530
-
531
- $date = $year . "-" . $month . "-" . $day . " " . $time;
 
 
532
 
533
  global $wpdb;
534
  $this->sqlQuery = "UPDATE $wpdb->pmpro_membership_orders SET timestamp = '" . $date . "' WHERE id = '" . $this->id . "' LIMIT 1";
@@ -617,7 +629,7 @@
617
  $this->gateway = pmpro_getOption("gateway");
618
  if(empty($this->gateway_environment))
619
  $this->gateway_environment = pmpro_getOption("gateway_environment");
620
-
621
  if(empty($this->datetime) && empty($this->timestamp))
622
  $this->datetime = date("Y-m-d H:i:s", time());
623
  elseif(empty($this->datetime) && !empty($this->timestamp) && is_numeric($this->timestamp))
77
  if(!$id)
78
  return false;
79
 
80
+ $dbobj = $wpdb->get_row("SELECT * FROM $wpdb->pmpro_membership_orders WHERE id = '$id' LIMIT 1");
 
81
 
82
  if($dbobj)
83
  {
141
  $this->notes = $dbobj->notes;
142
  $this->checkout_id = $dbobj->checkout_id;
143
 
144
+ // Fix the timestamp for local time
145
+ $this->timestamp = strtotime( get_date_from_gmt( $this->timestamp, 'Y-m-d H:i:s' ) );
146
+
147
  //reset the gateway
148
  if(empty($this->nogateway))
149
  $this->setGateway();
371
  if(!empty($this->user))
372
  return $this->user;
373
 
374
+
375
+ $this->user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE ID = '" . $this->user_id . "' LIMIT 1");
376
+
377
+ // Fix the timestamp for local time
378
+ if ( ! empty( $this->user ) && ! empty( $this->user->user_registered ) ) {
379
+ $this->user->user_registered = strtotime( get_date_from_gmt( $this->user->user_registered, 'Y-m-d H:i:s' ) );
380
+ }
381
+
382
  return $this->user;
383
  }
384
 
526
  }
527
 
528
  /**
529
+ * Change the timestamp of an order by passing in year, month, day, time.
530
+ *
531
+ * $time should be adjusted for local timezone.
532
  */
533
  function updateTimestamp($year, $month, $day, $time = NULL)
534
  {
535
  if(empty($this->id))
536
  return false; //need a saved order
537
 
538
+ if ( empty( $time ) ) {
539
+ // Just save the order date.
540
+ $date = $year . '-' . $month . '-' . $day . ' 00:00:00';
541
+ } else {
542
+ $date = get_gmt_from_date( $year . '-' . $month . '-' . $day . ' ' . $time, 'Y-m-d H:i:s' );
543
+ }
544
 
545
  global $wpdb;
546
  $this->sqlQuery = "UPDATE $wpdb->pmpro_membership_orders SET timestamp = '" . $date . "' WHERE id = '" . $this->id . "' LIMIT 1";
629
  $this->gateway = pmpro_getOption("gateway");
630
  if(empty($this->gateway_environment))
631
  $this->gateway_environment = pmpro_getOption("gateway_environment");
632
+
633
  if(empty($this->datetime) && empty($this->timestamp))
634
  $this->datetime = date("Y-m-d H:i:s", time());
635
  elseif(empty($this->datetime) && !empty($this->timestamp) && is_numeric($this->timestamp))
classes/class.pmproemail.php CHANGED
@@ -203,7 +203,7 @@
203
  $this->email = get_bloginfo("admin_email");
204
  $this->subject = sprintf(__("Membership for %s at %s has been CANCELLED", 'paid-memberships-pro'), $user->user_login, get_option("blogname"));
205
 
206
- $this->data = array("user_login" => $user->user_login, "user_email" => $user->user_email, "display_name" => $user->display_name, "sitename" => get_option("blogname"), "siteemail" => pmpro_getOption("from_email"), "login_link" => wp_login_url());
207
 
208
  if(!empty($old_level_id)) {
209
  if(!is_array($old_level_id))
@@ -264,7 +264,7 @@
264
  "membership_level_name" => $user->membership_level->name,
265
  "membership_level_confirmation_message" => $confirmation_message,
266
  "membership_cost" => pmpro_getLevelCost($user->membership_level),
267
- "login_link" => wp_login_url(pmpro_url("account")),
268
  "display_name" => $user->display_name,
269
  "user_email" => $user->user_email,
270
  );
@@ -368,7 +368,7 @@
368
  "membership_id" => $user->membership_level->id,
369
  "membership_level_name" => $user->membership_level->name,
370
  "membership_cost" => pmpro_getLevelCost($user->membership_level),
371
- "login_link" => wp_login_url(pmpro_url("account")),
372
  "display_name" => $user->display_name,
373
  "user_email" => $user->user_email,
374
  );
@@ -471,7 +471,7 @@
471
  "accountnumber" => hideCardNumber($invoice->accountnumber),
472
  "expirationmonth" => $invoice->expirationmonth,
473
  "expirationyear" => $invoice->expirationyear,
474
- "login_link" => wp_login_url(pmpro_url("account"))
475
  );
476
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
477
  $invoice->billing->street,
@@ -525,7 +525,7 @@
525
  "accountnumber" => hideCardNumber($invoice->accountnumber),
526
  "expirationmonth" => $invoice->expirationmonth,
527
  "expirationyear" => $invoice->expirationyear,
528
- "login_link" => wp_login_url()
529
  );
530
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
531
  $invoice->billing->street,
@@ -574,7 +574,7 @@
574
  "accountnumber" => hideCardNumber($invoice->accountnumber),
575
  "expirationmonth" => $invoice->expirationmonth,
576
  "expirationyear" => $invoice->expirationyear,
577
- "login_link" => wp_login_url(pmpro_url("billing"))
578
  );
579
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
580
  $invoice->billing->street,
@@ -621,7 +621,7 @@
621
  "accountnumber" => hideCardNumber($invoice->accountnumber),
622
  "expirationmonth" => $invoice->expirationmonth,
623
  "expirationyear" => $invoice->expirationyear,
624
- "login_link" => wp_login_url( get_edit_user_link( $user->ID ) )
625
  );
626
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
627
  $invoice->billing->street,
@@ -669,7 +669,7 @@
669
  "accountnumber" => hideCardNumber($invoice->accountnumber),
670
  "expirationmonth" => $invoice->expirationmonth,
671
  "expirationyear" => $invoice->expirationyear,
672
- "login_link" => wp_login_url(pmpro_url("billing"))
673
  );
674
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
675
  $invoice->billing->street,
@@ -723,8 +723,8 @@
723
  "accountnumber" => hideCardNumber($invoice->accountnumber),
724
  "expirationmonth" => $invoice->expirationmonth,
725
  "expirationyear" => $invoice->expirationyear,
726
- "login_link" => wp_login_url(pmpro_url("account")),
727
- "invoice_link" => wp_login_url(pmpro_url("invoice", "?invoice=" . $invoice->code)
728
  ));
729
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
730
  $invoice->billing->street,
@@ -784,7 +784,7 @@
784
  "membership_id" => $user->membership_level->id,
785
  "membership_level_name" => $user->membership_level->name,
786
  "siteemail" => pmpro_getOption("from_email"),
787
- "login_link" => wp_login_url(),
788
  "display_name" => $user->display_name,
789
  "user_email" => $user->user_email,
790
  "billing_amount" => pmpro_formatPrice($user->membership_level->billing_amount),
@@ -812,7 +812,7 @@
812
  $this->email = $user->user_email;
813
  $this->subject = sprintf(__("Your membership at %s has ended", "paid-memberships-pro"), get_option("blogname"));
814
 
815
- $this->data = array("subject" => $this->subject, "name" => $user->display_name, "user_login" => $user->user_login, "sitename" => get_option("blogname"), "siteemail" => pmpro_getOption("from_email"), "login_link" => wp_login_url(), "display_name" => $user->display_name, "user_email" => $user->user_email, "levels_link" => pmpro_url("levels"));
816
 
817
  $this->template = apply_filters("pmpro_email_template", "membership_expired", $this);
818
 
@@ -839,7 +839,7 @@
839
  $this->email = $user->user_email;
840
  $this->subject = sprintf(__("Your membership at %s will end soon", "paid-memberships-pro"), get_option("blogname"));
841
 
842
- $this->data = array("subject" => $this->subject, "name" => $user->display_name, "user_login" => $user->user_login, "sitename" => get_option("blogname"), "membership_id" => $user->membership_level->id, "membership_level_name" => $user->membership_level->name, "siteemail" => pmpro_getOption("from_email"), "login_link" => wp_login_url(), "enddate" => date_i18n(get_option('date_format'), $user->membership_level->enddate), "display_name" => $user->display_name, "user_email" => $user->user_email);
843
 
844
  $this->template = apply_filters("pmpro_email_template", "membership_expiring", $this);
845
 
@@ -869,7 +869,7 @@
869
  $this->email = $user->user_email;
870
  $this->subject = sprintf(__("Your membership at %s has been changed", "paid-memberships-pro"), get_option("blogname"));
871
 
872
- $this->data = array("subject" => $this->subject, "name" => $user->display_name, "display_name" => $user->display_name, "user_login" => $user->user_login, "user_email" => $user->user_email, "sitename" => get_option("blogname"), "membership_id" => $membership_level_id, "membership_level_name" => $membership_level_name, "siteemail" => pmpro_getOption("from_email"), "login_link" => wp_login_url());
873
 
874
  if(!empty($user->membership_level) && !empty($user->membership_level->ID)) {
875
  $this->data["membership_change"] = sprintf(__("The new level is %s", 'paid-memberships-pro' ), $user->membership_level->name);
@@ -919,7 +919,7 @@
919
  $this->email = get_bloginfo("admin_email");
920
  $this->subject = sprintf(__("Membership for %s at %s has been changed", "paid-memberships-pro"), $user->user_login, get_option("blogname"));
921
 
922
- $this->data = array("subject" => $this->subject, "name" => $user->display_name, "display_name" => $user->display_name, "user_login" => $user->user_login, "user_email" => $user->user_email, "sitename" => get_option("blogname"), "membership_id" => $membership_level_id, "membership_level_name" => $membership_level_name, "siteemail" => get_bloginfo("admin_email"), "login_link" => wp_login_url());
923
 
924
  if(!empty($user->membership_level) && !empty($user->membership_level->ID)) {
925
  $this->data["membership_change"] = sprintf(__("The new level is %s", 'paid-memberships-pro' ), $user->membership_level->name);
@@ -983,8 +983,8 @@
983
 
984
  $this->data = array(
985
  'order_code' => $order->code,
986
- 'login_link' => wp_login_url(pmpro_url("account")),
987
- 'invoice_link' => wp_login_url(pmpro_url("invoice", "?invoice=" . $order->code)),
988
  'invoice' => $invoice
989
  );
990
 
203
  $this->email = get_bloginfo("admin_email");
204
  $this->subject = sprintf(__("Membership for %s at %s has been CANCELLED", 'paid-memberships-pro'), $user->user_login, get_option("blogname"));
205
 
206
+ $this->data = array("user_login" => $user->user_login, "user_email" => $user->user_email, "display_name" => $user->display_name, "sitename" => get_option("blogname"), "siteemail" => pmpro_getOption("from_email"), "login_link" => pmpro_login_url());
207
 
208
  if(!empty($old_level_id)) {
209
  if(!is_array($old_level_id))
264
  "membership_level_name" => $user->membership_level->name,
265
  "membership_level_confirmation_message" => $confirmation_message,
266
  "membership_cost" => pmpro_getLevelCost($user->membership_level),
267
+ "login_link" => pmpro_login_url(),
268
  "display_name" => $user->display_name,
269
  "user_email" => $user->user_email,
270
  );
368
  "membership_id" => $user->membership_level->id,
369
  "membership_level_name" => $user->membership_level->name,
370
  "membership_cost" => pmpro_getLevelCost($user->membership_level),
371
+ "login_link" => pmpro_login_url(),
372
  "display_name" => $user->display_name,
373
  "user_email" => $user->user_email,
374
  );
471
  "accountnumber" => hideCardNumber($invoice->accountnumber),
472
  "expirationmonth" => $invoice->expirationmonth,
473
  "expirationyear" => $invoice->expirationyear,
474
+ "login_link" => pmpro_login_url()
475
  );
476
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
477
  $invoice->billing->street,
525
  "accountnumber" => hideCardNumber($invoice->accountnumber),
526
  "expirationmonth" => $invoice->expirationmonth,
527
  "expirationyear" => $invoice->expirationyear,
528
+ "login_link" => pmpro_login_url()
529
  );
530
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
531
  $invoice->billing->street,
574
  "accountnumber" => hideCardNumber($invoice->accountnumber),
575
  "expirationmonth" => $invoice->expirationmonth,
576
  "expirationyear" => $invoice->expirationyear,
577
+ "login_link" => pmpro_login_url(pmpro_url("billing"))
578
  );
579
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
580
  $invoice->billing->street,
621
  "accountnumber" => hideCardNumber($invoice->accountnumber),
622
  "expirationmonth" => $invoice->expirationmonth,
623
  "expirationyear" => $invoice->expirationyear,
624
+ "login_link" => pmpro_login_url( get_edit_user_link( $user->ID ) )
625
  );
626
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
627
  $invoice->billing->street,
669
  "accountnumber" => hideCardNumber($invoice->accountnumber),
670
  "expirationmonth" => $invoice->expirationmonth,
671
  "expirationyear" => $invoice->expirationyear,
672
+ "login_link" => pmpro_login_url(pmpro_url("billing"))
673
  );
674
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
675
  $invoice->billing->street,
723
  "accountnumber" => hideCardNumber($invoice->accountnumber),
724
  "expirationmonth" => $invoice->expirationmonth,
725
  "expirationyear" => $invoice->expirationyear,
726
+ "login_link" => pmpro_login_url(),
727
+ "invoice_link" => pmpro_login_url(pmpro_url("invoice", "?invoice=" . $invoice->code)
728
  ));
729
  $this->data["billing_address"] = pmpro_formatAddress($invoice->billing->name,
730
  $invoice->billing->street,
784
  "membership_id" => $user->membership_level->id,
785
  "membership_level_name" => $user->membership_level->name,
786
  "siteemail" => pmpro_getOption("from_email"),
787
+ "login_link" => pmpro_login_url(),
788
  "display_name" => $user->display_name,
789
  "user_email" => $user->user_email,
790
  "billing_amount" => pmpro_formatPrice($user->membership_level->billing_amount),
812
  $this->email = $user->user_email;
813
  $this->subject = sprintf(__("Your membership at %s has ended", "paid-memberships-pro"), get_option("blogname"));
814
 
815
+ $this->data = array("subject" => $this->subject, "name" => $user->display_name, "user_login" => $user->user_login, "sitename" => get_option("blogname"), "siteemail" => pmpro_getOption("from_email"), "login_link" => pmpro_login_url(), "display_name" => $user->display_name, "user_email" => $user->user_email, "levels_link" => pmpro_url("levels"));
816
 
817
  $this->template = apply_filters("pmpro_email_template", "membership_expired", $this);
818
 
839
  $this->email = $user->user_email;
840
  $this->subject = sprintf(__("Your membership at %s will end soon", "paid-memberships-pro"), get_option("blogname"));
841
 
842
+ $this->data = array("subject" => $this->subject, "name" => $user->display_name, "user_login" => $user->user_login, "sitename" => get_option("blogname"), "membership_id" => $user->membership_level->id, "membership_level_name" => $user->membership_level->name, "siteemail" => pmpro_getOption("from_email"), "login_link" => pmpro_login_url(), "enddate" => date_i18n(get_option('date_format'), $user->membership_level->enddate), "display_name" => $user->display_name, "user_email" => $user->user_email);
843
 
844
  $this->template = apply_filters("pmpro_email_template", "membership_expiring", $this);
845
 
869
  $this->email = $user->user_email;
870
  $this->subject = sprintf(__("Your membership at %s has been changed", "paid-memberships-pro"), get_option("blogname"));
871
 
872
+ $this->data = array("subject" => $this->subject, "name" => $user->display_name, "display_name" => $user->display_name, "user_login" => $user->user_login, "user_email" => $user->user_email, "sitename" => get_option("blogname"), "membership_id" => $membership_level_id, "membership_level_name" => $membership_level_name, "siteemail" => pmpro_getOption("from_email"), "login_link" => pmpro_login_url());
873
 
874
  if(!empty($user->membership_level) && !empty($user->membership_level->ID)) {
875
  $this->data["membership_change"] = sprintf(__("The new level is %s", 'paid-memberships-pro' ), $user->membership_level->name);
919
  $this->email = get_bloginfo("admin_email");
920
  $this->subject = sprintf(__("Membership for %s at %s has been changed", "paid-memberships-pro"), $user->user_login, get_option("blogname"));
921
 
922
+ $this->data = array("subject" => $this->subject, "name" => $user->display_name, "display_name" => $user->display_name, "user_login" => $user->user_login, "user_email" => $user->user_email, "sitename" => get_option("blogname"), "membership_id" => $membership_level_id, "membership_level_name" => $membership_level_name, "siteemail" => get_bloginfo("admin_email"), "login_link" => pmpro_login_url());
923
 
924
  if(!empty($user->membership_level) && !empty($user->membership_level->ID)) {
925
  $this->data["membership_change"] = sprintf(__("The new level is %s", 'paid-memberships-pro' ), $user->membership_level->name);
983
 
984
  $this->data = array(
985
  'order_code' => $order->code,
986
+ 'login_link' => pmpro_login_url(),
987
+ 'invoice_link' => pmpro_login_url(pmpro_url("invoice", "?invoice=" . $order->code)),
988
  'invoice' => $invoice
989
  );
990
 
classes/gateways/class.pmprogateway_paypalexpress.php CHANGED
@@ -760,12 +760,13 @@
760
  // Always cancel the order locally even if PayPal might fail
761
  $order->updateStatus("cancelled");
762
 
763
- // If we're processing an IPN request for this subscription, it's already cancelled at PayPal.
764
- if (
765
- ( ! empty( $_POST['subscr_id'] ) && $_POST['subscr_id'] == $order->subscription_transaction_id ) ||
766
- ( ! empty( $_POST['recurring_payment_id'] ) && $_POST['recurring_payment_id'] == $order->subscription_transaction_id )
767
- ) {
768
- return true;
 
769
  }
770
 
771
  // Build the nvp string for PayPal API
760
  // Always cancel the order locally even if PayPal might fail
761
  $order->updateStatus("cancelled");
762
 
763
+ // If we're processing an IPN request for this subscription, it's already cancelled at PayPal.
764
+ if ( ( ! empty( $_POST['subscr_id'] ) && $_POST['subscr_id'] == $order->subscription_transaction_id ) ||
765
+ ( ! empty( $_POST['recurring_payment_id'] ) && $_POST['recurring_payment_id'] == $order->subscription_transaction_id ) ) {
766
+ // recurring_payment_failed transaction still need to be cancelled
767
+ if ( $_POST['txn_type'] !== 'recurring_payment_failed' ) {
768
+ return true;
769
+ }
770
  }
771
 
772
  // Build the nvp string for PayPal API
classes/gateways/class.pmprogateway_stripe.php CHANGED
@@ -1459,7 +1459,7 @@ class PMProGateway_stripe extends PMProGateway {
1459
  }
1460
 
1461
  //we really want to test against the order codes of all orders with the same subscription_transaction_id (customer id)
1462
- $codes = $wpdb->get_col( "SELECT code FROM $wpdb->pmpro_membership_orders WHERE user_id = '" . $order->user_id . "' AND subscription_transaction_id = '" . $order->subscription_transaction_id . "' AND status NOT IN('refunded', 'review', 'token', 'error')" );
1463
 
1464
  //find the one for this order
1465
  foreach ( $subscriptions->data as $sub ) {
@@ -1472,6 +1472,21 @@ class PMProGateway_stripe extends PMProGateway {
1472
  return false;
1473
  }
1474
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1475
  /**
1476
  * Create a new subscription with Stripe
1477
  *
1459
  }
1460
 
1461
  //we really want to test against the order codes of all orders with the same subscription_transaction_id (customer id)
1462
+ $codes = $wpdb->get_col( "SELECT code FROM $wpdb->pmpro_membership_orders WHERE user_id = '" . esc_sql( $order->user_id ) . "' AND subscription_transaction_id = '" . esc_sql( $order->subscription_transaction_id ) . "' AND status NOT IN('refunded', 'review', 'token', 'error')" );
1463
 
1464
  //find the one for this order
1465
  foreach ( $subscriptions->data as $sub ) {
1472
  return false;
1473
  }
1474
 
1475
+ /**
1476
+ * Get subscription status from the Gateway.
1477
+ *
1478
+ * @since 2.3
1479
+ */
1480
+ function getSubscriptionStatus( &$order ) {
1481
+ $subscription = $this->getSubscription( $order );
1482
+
1483
+ if ( ! empty( $subscription ) ) {
1484
+ return $subscription->status;
1485
+ } else {
1486
+ return false;
1487
+ }
1488
+ }
1489
+
1490
  /**
1491
  * Create a new subscription with Stripe
1492
  *
css/blocks.editor.css CHANGED
@@ -1,13 +1,87 @@
1
- .pmpro_btn{background-color:#EFEFEF;background-image:none;border:1px solid #D6D6D6;border-radius:4px;box-shadow:none;color:#444;cursor:pointer;display:inline-block;font-size:12px;font-weight:700;margin:0;padding:6px 12px;text-align:center;text-decoration:none;text-transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}
2
- .edit-post-layout .wp-block-pmpro-account-page{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-account-page span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-account-page span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
3
- .edit-post-layout .wp-block-pmpro-account-membership-section{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-account-membership-section span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-account-membership-section span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
4
- .edit-post-layout .wp-block-pmpro-account-profile-section{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-account-profile-section span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-account-profile-section span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
5
- .edit-post-layout .wp-block-pmpro-account-invoices-section{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-account-invoices-section span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:700;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-account-invoices-section span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
6
- .edit-post-layout .wp-block-pmpro-account-links-section{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-account-links-section span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-account-links-section span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
7
- .edit-post-layout .wp-block-pmpro-billing-page{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-billing-page span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-billing-page span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
8
- .edit-post-layout .wp-block-pmpro-cancel-page{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-cancel-page span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-cancel-page span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
9
- .edit-post-layout .wp-block-pmpro-checkout-page{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-checkout-page .components-base-control{text-align:left}.edit-post-layout .wp-block-pmpro-checkout-page span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-checkout-page span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
10
- .edit-post-layout .wp-block-pmpro-confirmation-page{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-confirmation-page span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-confirmation-page span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
11
- .edit-post-layout .wp-block-pmpro-invoice-page{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-invoice-page span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-invoice-page span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
12
- .edit-post-layout .wp-block-pmpro-levels-page{background:#FAFAFA;padding:20px;text-align:center}.edit-post-layout .wp-block-pmpro-levels-page span{color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;position:relative;text-transform:uppercase}.edit-post-layout .wp-block-pmpro-levels-page span:first-child{font-size:125%;font-weight:300;letter-spacing:1px;margin-bottom:10px}
13
- .edit-post-layout .wp-block-pmpro-membership{border:1px dashed #CCC;padding:10px}.edit-post-layout .wp-block-pmpro-membership span.pmpro-membership-title{background:#FAFAFA;color:#AAA;display:block;font-family:-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;font-weight:600;padding:10px;position:relative;text-transform:uppercase}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .pmpro-block-element {
2
+ background: rgba(237, 239, 240, 0.8);
3
+ padding: 20px;
4
+ }
5
+ .pmpro-block-element span.pmpro-block-title {
6
+ color: #555d66;
7
+ display: block;
8
+ font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
9
+ font-size: 22px;
10
+ font-weight: 300;
11
+ letter-spacing: 1px;
12
+ position: relative;
13
+ text-transform: uppercase;
14
+ }
15
+ .pmpro-block-element span.pmpro-block-subtitle {
16
+ color: #555d66;
17
+ display: block;
18
+ font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
19
+ font-size: 18px;
20
+ font-weight: 700;
21
+ position: relative;
22
+ text-transform: uppercase;
23
+ }
24
+ .pmpro-block-element .components-base-control {
25
+ margin-bottom: 16px;
26
+ }
27
+ .pmpro-block-element .components-base-control .components-base-control__label {
28
+ display: block;
29
+ }
30
+
31
+ /* Require Membership Block */
32
+ .pmpro-block-require-membership-element {
33
+ border-bottom: 5px solid #8d96a0;
34
+ border-top: 5px solid #8d96a0;
35
+ }
36
+ .pmpro-block-require-membership-element .pmpro-block-title {
37
+ background: rgba(237, 239, 240, 0.8);
38
+ color: #555d66;
39
+ display: block;
40
+ font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
41
+ font-weight: 600;
42
+ padding: 16px;
43
+ position: relative;
44
+ text-transform: uppercase;
45
+ }
46
+ .pmpro-block-require-membership-element .components-panel__body {
47
+ background: rgba(237, 239, 240, 0.8);
48
+ border-bottom: 0;
49
+ border-top: none;
50
+ padding-top: 0;
51
+ }
52
+ .pmpro-block-require-membership-element .block-editor-inner-blocks {
53
+ padding-left: 16px;
54
+ padding-right: 16px;
55
+ }
56
+
57
+ /* Checkout Button Block */
58
+ .wp-block-pmpro-checkout-button {
59
+ margin-bottom: 16px;
60
+ }
61
+ .wp-block-pmpro-checkout-button .pmpro_btn {
62
+ background-color: #EFEFEF;
63
+ background-image: none;
64
+ border: 1px solid #D6D6D6;
65
+ -webkit-border-radius: 4px;
66
+ -moz-border-radius: 4px;
67
+ border-radius: 4px;
68
+ -webkit-box-shadow: none;
69
+ box-shadow: none;
70
+ color: #444;
71
+ cursor: pointer;
72
+ display: inline-block;
73
+ font-size: 12px;
74
+ font-weight: 700;
75
+ margin: 0;
76
+ padding: 6px 12px;
77
+ text-align: center;
78
+ text-decoration: none;
79
+ text-transform: none;
80
+ -webkit-user-select: none;
81
+ -moz-user-select: none;
82
+ -ms-user-select: none;
83
+ -o-user-select: none;
84
+ user-select: none;
85
+ vertical-align: middle;
86
+ white-space: nowrap;
87
+ }
css/frontend.css CHANGED
@@ -104,10 +104,12 @@ input[type="button"]#other_discount_code_button:focus {
104
  /*---------------------------------------
105
  Forms
106
  ---------------------------------------*/
107
- form.pmpro_form .pmpro_checkout-fields div {
 
108
  margin: 0 0 1em 0;
109
  }
110
- form.pmpro_form label {
 
111
  font-weight: 700;
112
  display: block;
113
  margin: 0;
@@ -141,7 +143,9 @@ form.pmpro_form input[type=checkbox]#tos {
141
  }
142
  form.pmpro_form .input,
143
  form.pmpro_form textarea,
144
- form.pmpro_form select {
 
 
145
  display: inline-block;
146
  max-width: 90%;
147
  }
@@ -161,16 +165,41 @@ form.pmpro_form .pmpro_captcha div {
161
  clear: none;
162
  margin: 0;
163
  }
164
- form.pmpro_form .pmpro_submit{
165
  margin-top: 1em;
166
- text-align: right;
167
  }
168
  form.pmpro_form #pmpro_processing_message {
169
  color: #999;
170
  display: block;
171
  font-style: italic;
172
  margin: 1em 0 0 0;
173
- text-align: right;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  }
175
 
176
  /*--------------------------------------------------
@@ -220,8 +249,9 @@ textarea.pmpro_error {
220
  border-color: #faebcc;
221
  color: #8a6d3b;
222
  }
223
- .pmpro_content_message a {
224
- margin: 5px 5px 0 0;
 
225
  }
226
  .pmpro_message a {
227
  color: #245269;
@@ -242,6 +272,9 @@ input.pmpro_error {
242
  select.pmpro_error {
243
  background-image: none;
244
  }
 
 
 
245
 
246
  #pmpro_message_bottom {
247
  margin-bottom: 1em;
@@ -272,7 +305,7 @@ select.pmpro_error {
272
  display: grid;
273
  -ms-grid-columns: 3fr 1em 1fr;
274
  grid-template-columns: 3fr 1fr;
275
- grid-gap: 1em;
276
  }
277
  #pmpro_license {
278
  background: #FFF;
@@ -294,7 +327,7 @@ select.pmpro_error {
294
  "AccountNumber AccountNumber"
295
  "Expiry CVV"
296
  "DiscountCode DiscountCode";
297
- grid-gap: 1em;
298
  -ms-grid-columns: 1fr 1em 1fr;
299
  grid-template-columns: 1fr 1fr;
300
  }
@@ -397,7 +430,6 @@ select.pmpro_error {
397
 
398
  .pmpro_actionlinks a {
399
  display: inline-block;
400
- margin-right: .5rem;
401
  text-decoration: none;
402
  }
403
  .pmpro_actionlinks a:last-child {
@@ -412,6 +444,119 @@ li.pmpro_more {
412
  padding-left: 0;
413
  text-align: center;
414
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
415
  /*---------------------------------------
416
  Membership Levels
417
  ---------------------------------------*/
@@ -425,6 +570,24 @@ li.pmpro_more {
425
  /*---------------------------------------
426
  Misc
427
  ---------------------------------------*/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
428
  .pmpro_a-right {
429
  float: right;
430
  font-size: 11px;
@@ -480,16 +643,25 @@ li.pmpro_more {
480
  display: block;
481
  margin-bottom: 1em;
482
  }
483
- form.pmpro_form input[type=text].input, form.pmpro_form input[type=password].input {
 
 
 
484
  width: 90%;
485
  }
 
 
 
 
 
486
  form.pmpro_form input[type=text]#other_discount_code, form.pmpro_form input[type=text]#CVV, form.pmpro_form input[type=text]#discount_code {
487
  width: 40%;
488
  }
489
  #pmpro_payment_information_fields .pmpro_checkout-fields-display-seal {
490
  display: block;
491
  }
492
- form.pmpro_form .pmpro_btn {
 
493
  display: block;
494
  width: 100%;
495
  }
@@ -499,4 +671,4 @@ li.pmpro_more {
499
  .pmpro_invoice_details {
500
  display: block;
501
  }
502
- }
104
  /*---------------------------------------
105
  Forms
106
  ---------------------------------------*/
107
+ form.pmpro_form .pmpro_checkout-fields div,
108
+ #loginform p {
109
  margin: 0 0 1em 0;
110
  }
111
+ form.pmpro_form label,
112
+ #loginform label {
113
  font-weight: 700;
114
  display: block;
115
  margin: 0;
143
  }
144
  form.pmpro_form .input,
145
  form.pmpro_form textarea,
146
+ form.pmpro_form select,
147
+ #loginform input[type=text],
148
+ #loginform input[type=password] {
149
  display: inline-block;
150
  max-width: 90%;
151
  }
165
  clear: none;
166
  margin: 0;
167
  }
168
+ form.pmpro_form .pmpro_submit {
169
  margin-top: 1em;
 
170
  }
171
  form.pmpro_form #pmpro_processing_message {
172
  color: #999;
173
  display: block;
174
  font-style: italic;
175
  margin: 1em 0 0 0;
176
+ text-align: left;
177
+ }
178
+
179
+ /* Lot Password Frontend Form */
180
+ form.pmpro_form .pmpro_lost_password-fields div {
181
+ margin: 0 0 1em 0;
182
+ }
183
+
184
+ /* Member Profile Edit Frontend Form */
185
+ form.pmpro_form .pmpro_member_profile_edit-fields div {
186
+ margin: 0 0 1em 0;
187
+ }
188
+
189
+ /* Change Password Frontend Form */
190
+ form.pmpro_form .pmpro_change_password-fields div {
191
+ margin: 0 0 1em 0;
192
+ }
193
+
194
+ /* Password Strength Meter on Frontend Forms */
195
+ .pmpro_reset_password_wrap form.pmpro_form #pass-strength-result,
196
+ form.pmpro_form .pmpro_change_password-fields #pass-strength-result {
197
+ display: inline-block;
198
+ max-width: 150px;
199
+ }
200
+ .pmpro_reset_password_wrap form.pmpro_form .lite,
201
+ form.pmpro_form .pmpro_change_password-fields .lite {
202
+ margin-top: 10px;
203
  }
204
 
205
  /*--------------------------------------------------
249
  border-color: #faebcc;
250
  color: #8a6d3b;
251
  }
252
+ .pmpro_content_message a,
253
+ .pmpro_content_message a:link {
254
+ margin: 10px 10px 0 0;
255
  }
256
  .pmpro_message a {
257
  color: #245269;
272
  select.pmpro_error {
273
  background-image: none;
274
  }
275
+ .pmpro_message p:last-child {
276
+ margin-bottom: 0;
277
+ }
278
 
279
  #pmpro_message_bottom {
280
  margin-bottom: 1em;
305
  display: grid;
306
  -ms-grid-columns: 3fr 1em 1fr;
307
  grid-template-columns: 3fr 1fr;
308
+ grid-column-gap: 1em;
309
  }
310
  #pmpro_license {
311
  background: #FFF;
327
  "AccountNumber AccountNumber"
328
  "Expiry CVV"
329
  "DiscountCode DiscountCode";
330
+ grid-column-gap: 1em;
331
  -ms-grid-columns: 1fr 1em 1fr;
332
  grid-template-columns: 1fr 1fr;
333
  }
430
 
431
  .pmpro_actionlinks a {
432
  display: inline-block;
 
433
  text-decoration: none;
434
  }
435
  .pmpro_actionlinks a:last-child {
444
  padding-left: 0;
445
  text-align: center;
446
  }
447
+
448
+ /*---------------------------------------
449
+ Membership Billing Page
450
+ ---------------------------------------*/
451
+ .pmpro_billing_wrap {
452
+ margin-bottom: 1em;
453
+ }
454
+
455
+ /*---------------------------------------
456
+ Log In and Password Reset Pages
457
+ ---------------------------------------*/
458
+ .pmpro_login_wrap,
459
+ .pmpro_lost_password_wrap,
460
+ .pmpro_reset_password_wrap {
461
+ margin-bottom: 1em;
462
+ }
463
+
464
+ /*---------------------------------------
465
+ This section based on similar rules
466
+ in wp-admin/css/forms.css
467
+ ---------------------------------------*/
468
+ #pass-strength-result {
469
+ background-color: #eee;
470
+ border: 1px solid #ddd;
471
+ color: #23282d;
472
+ margin: -1px 1px 5px;
473
+ padding: 3px 5px;
474
+ text-align: center;
475
+ width: 25em;
476
+ box-sizing: border-box;
477
+ opacity: 0;
478
+ }
479
+
480
+ #pass-strength-result.short {
481
+ background-color: #f1adad;
482
+ border-color: #e35b5b;
483
+ opacity: 1;
484
+ }
485
+
486
+ #pass-strength-result.bad {
487
+ background-color: #fbc5a9;
488
+ border-color: #f78b53;
489
+ opacity: 1;
490
+ }
491
+
492
+ #pass-strength-result.good {
493
+ background-color: #ffe399;
494
+ border-color: #ffc733;
495
+ opacity: 1;
496
+ }
497
+
498
+ #pass-strength-result.strong {
499
+ background-color: #c1e1b9;
500
+ border-color: #83c373;
501
+ opacity: 1;
502
+ }
503
+
504
+ .pass1.short, .pass1-text.short {
505
+ border-color: #e35b5b;
506
+ }
507
+
508
+ .pass1.bad, .pass1-text.bad {
509
+ border-color: #f78b53;
510
+ }
511
+
512
+ .pass1.good, .pass1-text.good {
513
+ border-color: #ffc733;
514
+ }
515
+
516
+ .pass1.strong, .pass1-text.strong {
517
+ border-color: #83c373;
518
+ }
519
+
520
+ .pw-weak {
521
+ display: none;
522
+ }
523
+
524
+ .indicator-hint {
525
+ padding-top: 8px;
526
+ }
527
+
528
+ .wp-pwd [type="text"],
529
+ .wp-pwd [type="password"] {
530
+ margin-bottom: 0;
531
+ /* Same height as the buttons */
532
+ min-height: 30px;
533
+ }
534
+
535
+ /* Hide the Edge "reveal password" native button */
536
+ .wp-pwd input::-ms-reveal {
537
+ display: none;
538
+ }
539
+
540
+ .pass1-text,
541
+ .show-password #pass1 {
542
+ display: none;
543
+ }
544
+
545
+ .pass1-text::-ms-clear {
546
+ display: none;
547
+ }
548
+
549
+ .show-password #pass1-text {
550
+ display: inline-block;
551
+ }
552
+
553
+ /*---------------------------------------
554
+ Member Profile Edit Page
555
+ ---------------------------------------*/
556
+ .pmpro_member_profile_edit_wrap,
557
+ .pmpro_change_password_wrap {
558
+ margin-bottom: 1em;
559
+ }
560
  /*---------------------------------------
561
  Membership Levels
562
  ---------------------------------------*/
570
  /*---------------------------------------
571
  Misc
572
  ---------------------------------------*/
573
+ .pmpro_actions_nav {
574
+ text-align: center;
575
+ }
576
+ .pmpro_actions_nav-left {
577
+ display: block;
578
+ float: left;
579
+ width: 48%;
580
+ text-align: left;
581
+ }
582
+ .pmpro_actions_nav-right {
583
+ display: block;
584
+ float: right;
585
+ width: 48%;
586
+ text-align: right;
587
+ }
588
+ .pmpro-levels .pmpro_actions_nav {
589
+ text-align: left;
590
+ }
591
  .pmpro_a-right {
592
  float: right;
593
  font-size: 11px;
643
  display: block;
644
  margin-bottom: 1em;
645
  }
646
+ form.pmpro_form input[type=text].input,
647
+ form.pmpro_form input[type=password].input,
648
+ .pmpro_login_wrap form#loginform input[type=text].input,
649
+ .pmpro_login_wrap form#loginform input[type=password].input {
650
  width: 90%;
651
  }
652
+ /* Password Strength Meter on Frontend Forms */
653
+ .pmpro_reset_password_wrap form.pmpro_form #pass-strength-result,
654
+ form.pmpro_form .pmpro_change_password-fields #pass-strength-result {
655
+ max-width: 90%;
656
+ }
657
  form.pmpro_form input[type=text]#other_discount_code, form.pmpro_form input[type=text]#CVV, form.pmpro_form input[type=text]#discount_code {
658
  width: 40%;
659
  }
660
  #pmpro_payment_information_fields .pmpro_checkout-fields-display-seal {
661
  display: block;
662
  }
663
+ form.pmpro_form .pmpro_btn,
664
+ .pmpro_login_wrap #loginform input[type=submit] {
665
  display: block;
666
  width: 100%;
667
  }
671
  .pmpro_invoice_details {
672
  display: block;
673
  }
674
+ }
includes/admin.php CHANGED
@@ -25,31 +25,22 @@ function pmpro_admin_init_redirect_to_dashboard() {
25
  add_action( 'admin_init', 'pmpro_admin_init_redirect_to_dashboard' );
26
 
27
  /**
28
- * Runs only when the plugin is activated.
29
  *
30
- * @since 1.10
31
- */
32
- function pmpro_admin_notice_activation_hook() {
33
- // Create transient data.
34
- set_transient( 'pmpro-admin-notice', true, 5 );
35
- }
36
- //register_activation_hook( PMPRO_BASE_FILE, 'pmpro_admin_notice_activation_hook' );
37
-
38
- /**
39
- * Admin Notice on Activation.
40
- *
41
- * @since 1.10
42
  */
43
- function pmpro_admin_notice() {
44
- // Check transient, if available display notice.
45
- if ( get_transient( 'pmpro-admin-notice' ) ) { ?>
46
- <div id="message" class="updated notice">
47
- <p><?php _e( '<strong>Welcome to Paid Memberships Pro</strong> &mdash; We&lsquo;re here to help you #GetPaid.', 'paid-memberships-rpo' ); ?></p>
48
- <p class="submit"><a href="<?php echo esc_url( admin_url( 'admin.php?page=pmpro-dashboard' ) ); ?>" class="button-primary"><?php _e( 'Get Started Using Paid Memberships Pro', 'paid-memberships-pro' ); ?></a></p>
49
- </div>
50
- <?php
51
- // Delete transient, only display this notice once.
52
- delete_transient( 'pmpro-admin-notice' );
 
 
53
  }
54
  }
55
- //add_action( 'admin_notices', 'pmpro_admin_notice' );
25
  add_action( 'admin_init', 'pmpro_admin_init_redirect_to_dashboard' );
26
 
27
  /**
28
+ * Block Subscibers from accessing the WordPress Dashboard.
29
  *
30
+ * @since 2.3
 
 
 
 
 
 
 
 
 
 
 
31
  */
32
+ function pmpro_block_dashboard() {
33
+ global $current_user;
34
+ $block_dashboard = pmpro_getOption( 'block_dashboard' );
35
+ if ( ! wp_doing_ajax() && ! empty( $block_dashboard ) && in_array( 'subscriber', (array) $current_user->roles ) ) {
36
+ $block = true;
37
+ } else {
38
+ $block = false;
39
+ }
40
+ $block = apply_filters( 'pmpro_block_dashboard', $block );
41
+ if ( $block ) {
42
+ wp_redirect( pmpro_url( 'account' ) );
43
+ exit;
44
  }
45
  }
46
+ add_action( 'admin_init', 'pmpro_block_dashboard', 9 );
includes/adminpages.php CHANGED
@@ -344,7 +344,11 @@ function pmpro_display_post_states( $post_states, $post ) {
344
  }
345
 
346
  if ( intval( $pmpro_pages['levels'] ) === $post->ID ) {
347
- $post_states['pmpro_levels_page'] = __( 'Membership Levels Page', 'paid-memberships-pro' );
 
 
 
 
348
  }
349
 
350
  return $post_states;
344
  }
345
 
346
  if ( intval( $pmpro_pages['levels'] ) === $post->ID ) {
347
+ $post_states['pmpro_levels_page'] = __( 'Membership Levels Page', 'paid-memberships-pro' );
348
+ }
349
+
350
+ if ( intval( $pmpro_pages['member_profile_edit'] ) === $post->ID ) {
351
+ $post_states['pmpro_member_profile_edit_page'] = __( 'Member Profile Edit Page', 'paid-memberships-pro' );
352
  }
353
 
354
  return $post_states;
includes/compatibility.php CHANGED
@@ -21,6 +21,16 @@ function pmpro_compatibility_checker () {
21
  'check_type' => 'constant',
22
  'check_value' => 'FL_BUILDER_VERSION'
23
  ),
 
 
 
 
 
 
 
 
 
 
24
  );
25
 
26
  foreach ( $compat_checks as $key => $value ) {
21
  'check_type' => 'constant',
22
  'check_value' => 'FL_BUILDER_VERSION'
23
  ),
24
+ array(
25
+ 'file' => 'theme-my-login.php',
26
+ 'check_type' => 'class',
27
+ 'check_value' => 'Theme_My_Login'
28
+ ),
29
+ array(
30
+ 'file' => 'woocommerce.php',
31
+ 'check_type' => 'constant',
32
+ 'check_value' => 'WC_PLUGIN_FILE'
33
+ )
34
  );
35
 
36
  foreach ( $compat_checks as $key => $value ) {
includes/compatibility/beaver-builder.php CHANGED
@@ -8,3 +8,155 @@ function pmpro_beaver_builder_compatibility() {
8
  add_filter('the_content', 'pmpro_membership_content_filter', 15);
9
  }
10
  add_action( 'init', 'pmpro_beaver_builder_compatibility' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  add_filter('the_content', 'pmpro_membership_content_filter', 15);
9
  }
10
  add_action( 'init', 'pmpro_beaver_builder_compatibility' );
11
+
12
+ /**
13
+ * Add PMPro to row settings.
14
+ *
15
+ * @param array $form Row form settings.
16
+ * @param string $id The node/row ID.
17
+ *
18
+ * @return array Updated form settings.
19
+ */
20
+ function pmpro_beaver_builder_settings_form( $form, $id ) {
21
+ if ( 'row' !== $id ) {
22
+ return $form;
23
+ }
24
+ if ( ! defined( 'PMPRO_VERSION' ) ) {
25
+ return $form;
26
+ }
27
+ global $membership_levels;
28
+ $levels = array();
29
+ foreach ( $membership_levels as $level ) {
30
+ $levels[ $level->id ] = $level->name;
31
+ }
32
+ $row_settings_pmpro = array(
33
+ 'title' => __( 'PMPro', 'paid-memberships-pro' ),
34
+ 'sections' => array(
35
+ 'paid-memberships-pro' => array(
36
+ 'title' => __( 'General', 'paid-memberships-pro' ),
37
+ 'fields' => array(
38
+ 'pmpro_enable' => array(
39
+ 'type' => 'select',
40
+ 'label' => __( 'Enable Paid Memberships Pro module visibility?', 'paid-memberships-pro' ),
41
+ 'options' => array(
42
+ 'yes' => __( 'Yes', 'paid-memberships-pro' ),
43
+ 'no' => __( 'No', 'paid-memberships-pro' ),
44
+ ),
45
+ 'default' => 'no',
46
+ 'toggle' => array(
47
+ 'yes' => array(
48
+ 'fields' => array(
49
+ 'pmpro_memberships',
50
+ ),
51
+ ),
52
+ ),
53
+ ),
54
+ 'pmpro_memberships' => array(
55
+ 'label' => __( 'Select a level for module access', 'paid-memberships-pro' ),
56
+ 'type' => 'select',
57
+ 'options' => $levels,
58
+ 'multi-select' => true,
59
+ ),
60
+ ),
61
+ ),
62
+ ),
63
+ );
64
+
65
+ $form['tabs'] = array_merge(
66
+ array_slice( $form['tabs'], 0, 2 ),
67
+ array( 'PMPro' => $row_settings_pmpro ),
68
+ array_slice( $form['tabs'], 2 )
69
+ );
70
+ return $form;
71
+ }
72
+ add_filter( 'fl_builder_register_settings_form', 'pmpro_beaver_builder_settings_form', 10, 2 );
73
+
74
+ /**
75
+ * Determine if the node (row/module) should be visible based on membership level.
76
+ *
77
+ * @param bool $is_visible Whether the module/row is visible.
78
+ * @param object $node The node type.
79
+ *
80
+ * @return bool True if visible, false if not.
81
+ */
82
+ function pmpro_beaver_builder_check_field_connections( $is_visible, $node ) {
83
+ if ( ! defined( 'PMPRO_VERSION' ) ) {
84
+ return $is_visible;
85
+ }
86
+ if ( 'row' === $node->type ) {
87
+ if ( isset( $node->settings->pmpro_enable ) && 'yes' === $node->settings->pmpro_enable ) {
88
+ if ( pmpro_hasMembershipLevel( $node->settings->pmpro_memberships ) || empty( $node->settings->pmpro_memberships ) ) {
89
+ return $is_visible;
90
+ } else {
91
+ return false;
92
+ }
93
+ }
94
+ }
95
+ if ( isset( $node->settings->pmpro_enable ) && 'yes' === $node->settings->pmpro_enable ) {
96
+ if ( pmpro_hasMembershipLevel( $node->settings->pmpro_memberships ) || empty( $node->settings->pmpro_memberships ) ) {
97
+ return $is_visible;
98
+ } else {
99
+ return false;
100
+ }
101
+ }
102
+ return $is_visible;
103
+ }
104
+ add_filter( 'fl_builder_is_node_visible', 'pmpro_beaver_builder_check_field_connections', 200, 2 );
105
+
106
+ /**
107
+ * Add PMPro to all modules in Beaver Builder
108
+ *
109
+ * @param array $form The form to add a custom tab for.
110
+ * @param string $slug The module slug.
111
+ *
112
+ * @return array The updated form array.
113
+ */
114
+ function pmpro_beaver_builder_add_custom_tab_all_modules( $form, $slug ) {
115
+ if ( ! defined( 'PMPRO_VERSION' ) ) {
116
+ return $form;
117
+ }
118
+ $modules = FLBuilderModel::get_enabled_modules(); // * getting all active modules slug
119
+
120
+ if ( in_array( $slug, $modules, true ) ) {
121
+ global $membership_levels;
122
+ $levels = array();
123
+ foreach ( $membership_levels as $level ) {
124
+ $levels[ $level->id ] = $level->name;
125
+ }
126
+ $form['pmpro-bb'] = array(
127
+ 'title' => __( 'PMPro', 'paid-memberships-pro' ),
128
+ 'sections' => array(
129
+ 'memberships' => array(
130
+ 'title' => __( 'Membership Levels', 'paid-memberships-pro' ),
131
+ 'fields' => array(
132
+ 'pmpro_enable' => array(
133
+ 'type' => 'select',
134
+ 'label' => __( 'Enable Paid Memberships Pro module visibility?', 'paid-memberships-pro' ),
135
+ 'options' => array(
136
+ 'yes' => __( 'Yes', 'paid-memberships-pro' ),
137
+ 'no' => __( 'No', 'paid-memberships-pro' ),
138
+ ),
139
+ 'default' => 'no',
140
+ 'toggle' => array(
141
+ 'yes' => array(
142
+ 'fields' => array(
143
+ 'pmpro_memberships',
144
+ ),
145
+ ),
146
+ ),
147
+ ),
148
+ 'pmpro_memberships' => array(
149
+ 'label' => __( 'Select a level for module access', 'paid-memberships-pro' ),
150
+ 'type' => 'select',
151
+ 'options' => $levels,
152
+ 'multi-select' => true,
153
+ ),
154
+ ),
155
+ ),
156
+ ),
157
+ );
158
+ }
159
+
160
+ return $form;
161
+ }
162
+ add_filter( 'fl_builder_register_settings_form', 'pmpro_beaver_builder_add_custom_tab_all_modules', 10, 2 );
includes/compatibility/elementor/class-pmpro-elementor-content-restriction.php CHANGED
@@ -10,7 +10,9 @@ class PMPro_Elementor_Content_Restriction extends PMPro_Elementor {
10
  $this->register_controls();
11
 
12
  // Filter elementor render_content hook
13
- add_action( 'elementor/widget/render_content', array( $this, 'pmpro_elementor_filter_content' ), 10, 2 );
 
 
14
  }
15
 
16
  // Register controls to sections and widgets
@@ -42,28 +44,69 @@ class PMPro_Elementor_Content_Restriction extends PMPro_Elementor {
42
 
43
  }
44
 
45
- public function pmpro_elementor_filter_content( $content, $widget ){
 
 
 
 
 
 
46
 
47
- // Don't hide content in editor mode.
48
- if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
49
- return $content;
50
  }
51
 
52
- $widget_settings = $widget->get_active_settings();
53
 
54
- $restricted_levels = $widget_settings['pmpro_require_membership'];
 
55
 
56
- // Just return content if no setting is set for the current widget.
57
- if ( ! $restricted_levels ) {
 
 
 
 
 
 
 
58
  return $content;
59
  }
60
 
61
- if ( ! pmpro_hasMembershipLevel( $restricted_levels ) ) {
62
- $content = '';
63
- }
 
 
64
 
65
  return $content;
66
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  }
68
 
69
  new PMPro_Elementor_Content_Restriction;
10
  $this->register_controls();
11
 
12
  // Filter elementor render_content hook
13
+ add_action( 'elementor/widget/render_content', array( $this, 'pmpro_elementor_render_content' ), 10, 2 );
14
+ add_action( 'elementor/frontend/section/should_render', array( $this, 'pmpro_elementor_should_render' ), 10, 2 );
15
+
16
  }
17
 
18
  // Register controls to sections and widgets
44
 
45
  }
46
 
47
+ /**
48
+ * Filter sections to render content or not.
49
+ * If user doesn't have access, hide the section.
50
+ * @return boolean whether to show or hide section.
51
+ * @since 2.3
52
+ */
53
+ public function pmpro_elementor_should_render( $should_render, $element ) {
54
 
55
+ // Don't hide content in editor mode.
56
+ if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
57
+ return $should_render;
58
  }
59
 
60
+ $should_render = $this->pmpro_elementor_has_access( $element );
61
 
62
+ return apply_filters( 'pmpro_elementor_section_access', $should_render, $element );
63
+ }
64
 
65
+ /**
66
+ * Filter individual content for members.
67
+ * @return string Returns the content set from Elementor.
68
+ * @since 2.0
69
+ */
70
+ public function pmpro_elementor_render_content( $content, $widget ){
71
+
72
+ // Don't hide content in editor mode.
73
+ if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
74
  return $content;
75
  }
76
 
77
+ $show = $this->pmpro_elementor_has_access( $widget );
78
+
79
+ if ( ! $show ) {
80
+ $content = '';
81
+ }
82
 
83
  return $content;
84
  }
85
+
86
+ /**
87
+ * Figure out if the user has access to restricted content.
88
+ * @return bool True or false based if the user has access to the content or not.
89
+ * @since 2.3
90
+ */
91
+ public function pmpro_elementor_has_access( $element ) {
92
+
93
+ $element_settings = $element->get_active_settings();
94
+
95
+ $restricted_levels = $element_settings['pmpro_require_membership'];
96
+
97
+ // Just bail if the content isn't restricted at all.
98
+ if ( ! $restricted_levels ) {
99
+ return true;
100
+ }
101
+
102
+ if ( ! pmpro_hasMembershipLevel( $restricted_levels ) ) {
103
+ $access = false;
104
+ } else {
105
+ $access = true;
106
+ }
107
+
108
+ return apply_filters( 'pmpro_elementor_has_access', $access, $element, $restricted_levels );
109
+ }
110
  }
111
 
112
  new PMPro_Elementor_Content_Restriction;
includes/compatibility/elementor/class-pmpro-elementor.php CHANGED
@@ -14,6 +14,10 @@ class PMPro_Elementor {
14
  array(
15
  'element' => 'common',
16
  'action' => '_section_style',
 
 
 
 
17
  )
18
  );
19
  public $section_name = 'pmpro_elementor_section';
14
  array(
15
  'element' => 'common',
16
  'action' => '_section_style',
17
+ ),
18
+ array(
19
+ 'element' => 'section',
20
+ 'action' => 'section_advanced',
21
  )
22
  );
23
  public $section_name = 'pmpro_elementor_section';
includes/compatibility/theme-my-login.php ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Theme My Login Compatibility.
4
+ * Supports version 6.4 and latest only.
5
+ * @since 2.3
6
+ */
7
+
8
+ /**
9
+ * Force login redirect to go to TML page instead.
10
+ * @since 2.3
11
+ */
12
+ function pmpro_tml_login_redirect( $login_url, $redirect ) {
13
+
14
+ if ( function_exists( 'tml_get_action_url') ) {
15
+ $login_url = tml_get_action_url( 'login' ); // support 7.x
16
+ } else {
17
+ $login_url = Theme_My_Login::get_page_link( 'login' ); // support < 7.x
18
+ }
19
+
20
+ // add the redirect/referrer back into login URL.
21
+ if ( ! empty( $redirect ) ) {
22
+ $login_url = add_query_arg( 'redirect_to', urlencode( $redirect ), $login_url ) ;
23
+ }
24
+
25
+ return $login_url;
26
+ }
27
+ add_filter( 'wp_login_url', 'pmpro_tml_login_redirect', 55, 2 );
28
+
29
+ /**
30
+ * Remove frontend hooks from Paid Memberships Pro includes/login.php when TML is activated. Give preference to TML.
31
+ * @since 2.3
32
+ */
33
+ function pmpro_remove_frontend_login_hooks() {
34
+
35
+ if ( apply_filters( 'pmpro_remove_frontend_login_hooks', false ) ) {
36
+ remove_action( 'wp_login_failed', 'pmpro_login_failed', 10, 2 );
37
+ remove_filter( 'authenticate', 'pmpro_authenticate_username_password', 30, 3);
38
+ remove_filter( 'retrieve_password_message', 'pmpro_password_reset_email_filter', 10, 4 );
39
+ remove_action( 'login_form_rp', 'pmpro_do_password_reset' );
40
+ remove_action( 'login_form_resetpass', 'pmpro_do_password_reset' );
41
+ remove_action( 'login_form_rp', 'pmpro_reset_password_redirect' );
42
+ remove_action( 'login_form_resetpass', 'pmpro_reset_password_redirect' );
43
+ remove_action( 'login_form_lostpassword', 'pmpro_lost_password_redirect' );
44
+ remove_action( 'wp', 'pmpro_login_head' );
45
+ remove_action( 'login_init', 'pmpro_login_head' );
46
+ }
47
+
48
+ }
49
+ add_action( 'init', 'pmpro_remove_frontend_login_hooks' );
50
+
51
+ /**
52
+ * Adjust redirects when Theme My Login is active.
53
+ * @since 2.3
54
+ */
55
+ function pmpro_tml_login_head() {
56
+ global $pmpro_pages;
57
+ $login_redirect = apply_filters( "pmpro_login_redirect", true );
58
+
59
+ if ( ! is_user_logged_in() && pmpro_is_login_page() && ! empty( $pmpro_pages['account'] ) && is_page( $pmpro_pages['account'] ) ) {
60
+ if ( function_exists( 'tml_get_action_url') ) {
61
+ $login_url = tml_get_action_url( 'login' ); // support 7.x
62
+ } else {
63
+ $login_url = Theme_My_Login::get_page_link( 'login' ); // support < 7.x
64
+ }
65
+
66
+ wp_redirect( $login_url );
67
+ exit;
68
+ }
69
+
70
+ if ( class_exists("Theme_My_Login") && method_exists('Theme_My_Login', 'is_tml_page') && (Theme_My_Login::is_tml_page("register") || Theme_My_Login::is_tml_page("login")) ||
71
+ function_exists( 'tml_is_action' ) && ( tml_is_action( 'register' ) || tml_is_action( 'login' ) ) && $login_redirect ){
72
+
73
+ if ( isset($_REQUEST['action']) && $_REQUEST['action'] == "register" ||
74
+ isset($_REQUEST['registration']) && $_REQUEST['registration'] == "disabled" ||
75
+ !is_admin() && class_exists("Theme_My_Login") && method_exists('Theme_My_Login', 'is_tml_page') && Theme_My_Login::is_tml_page("register") ||
76
+ function_exists( 'tml_is_action' ) && tml_is_action( 'register' ) ) {
77
+
78
+ //redirect to levels page unless filter is set.
79
+ $link = apply_filters( "pmpro_register_redirect", pmpro_url( "levels" ) );
80
+ if ( ! empty( $link ) ) {
81
+ wp_redirect ( $link );
82
+ exit;
83
+ } else {
84
+ return; //don't redirect if pmpro_register_redirect filter returns false or a blank URL
85
+ }
86
+
87
+ }
88
+
89
+ // Redirect to frontend profile page.
90
+ if ( ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] == "profile" && is_user_logged_in() ) {
91
+ $link = get_permalink($GLOBALS['theme_my_login']->options->options['page_id']);
92
+ wp_redirect($link);
93
+ exit;
94
+ }
95
+ }
96
+ }
97
+ add_action('wp', 'pmpro_tml_login_head', 20);
98
+ add_action('login_init', 'pmpro_tml_login_head', 20);
includes/compatibility/woocommerce.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WooCommerce Compatibility
4
+ *
5
+ * This code resolves common conflicts between PMPro and WooCommerce.
6
+ * For more advanced integration, see the PMPro WooCommerce Add-On.
7
+ * https://www.paidmembershipspro.com/add-ons/pmpro-woocommerce/
8
+ *
9
+ * @since 2.3
10
+ */
11
+
12
+ /**
13
+ * Make sure the PMPro lost password form
14
+ * doesn't submit to the WC lost password form.
15
+ *
16
+ * @since 2.3
17
+ */
18
+ function pmpro_maybe_remove_wc_lostpassword_url_filter() {
19
+ global $pmpro_pages;
20
+
21
+ if ( ! empty( $pmpro_pages ) && ! empty( $pmpro_pages['login'] ) && is_page( $pmpro_pages['login'] ) ) {
22
+ remove_filter( 'lostpassword_url', 'wc_lostpassword_url', 10, 1 );
23
+ }
24
+ }
25
+ add_action( 'wp', 'pmpro_maybe_remove_wc_lostpassword_url_filter' );
includes/content.php CHANGED
@@ -359,9 +359,9 @@ function pmpro_membership_content_filter($content, $skipcheck = false)
359
  $pmpro_content_message_pre = '<div class="pmpro_content_message">';
360
  $pmpro_content_message_post = '</div>';
361
 
362
- $sr_search = array("!!levels!!", "!!referrer!!");
363
- $sr_replace = array(pmpro_implodeToEnglish($post_membership_levels_names), urlencode(site_url($_SERVER['REQUEST_URI'])));
364
-
365
  //get the correct message to show at the bottom
366
  if(is_feed())
367
  {
359
  $pmpro_content_message_pre = '<div class="pmpro_content_message">';
360
  $pmpro_content_message_post = '</div>';
361
 
362
+ $sr_search = array("!!levels!!", "!!referrer!!", "!!login_url!!", "!!login_page_url!!", "!!levels_url!!", "!!levels_page_url!!");
363
+ $sr_replace = array(pmpro_implodeToEnglish($post_membership_levels_names), urlencode(site_url($_SERVER['REQUEST_URI'])), esc_url( pmpro_login_url() ), esc_url( pmpro_login_url() ), esc_url( pmpro_url( 'levels' ) ), esc_url( pmpro_url( 'levels' ) ));
364
+
365
  //get the correct message to show at the bottom
366
  if(is_feed())
367
  {
includes/email.php CHANGED
@@ -102,7 +102,10 @@ function pmpro_send_html( $phpmailer ) {
102
  //wpautop header if needed
103
  if(!empty($footer) && $footer == strip_tags($footer))
104
  $footer = wpautop($footer);
105
-
 
 
 
106
  // Add header/footer to the email
107
  if(!empty($header))
108
  $phpmailer->Body = $header . "\n" . $phpmailer->Body;
102
  //wpautop header if needed
103
  if(!empty($footer) && $footer == strip_tags($footer))
104
  $footer = wpautop($footer);
105
+
106
+ $header = apply_filters( 'pmpro_email_body_header', $header, $phpmailer );
107
+ $footer = apply_filters( 'pmpro_email_body_footer', $footer, $phpmailer );
108
+
109
  // Add header/footer to the email
110
  if(!empty($header))
111
  $phpmailer->Body = $header . "\n" . $phpmailer->Body;
includes/functions.php CHANGED
@@ -42,11 +42,6 @@ function pmpro_setDBTables() {
42
  }
43
  pmpro_setDBTables();
44
 
45
- // from: http://stackoverflow.com/questions/5266945/wordpress-how-detect-if-current-page-is-the-login-page/5892694#5892694
46
- function pmpro_is_login_page() {
47
- return ( in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ) ) || is_page( 'login' ) );
48
- }
49
-
50
  // thanks: http://wordpress.org/support/topic/is_plugin_active
51
  function pmpro_is_plugin_active( $plugin ) {
52
  return in_array( $plugin, (array) get_option( 'active_plugins', array() ) );
@@ -1777,6 +1772,19 @@ function pmpro_text_limit( $text, $limit, $finish = '&hellip;' ) {
1777
  return $text;
1778
  }
1779
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1780
  /*
1781
  pmpro_getMembershipLevelForUser() returns the first active membership level for a user
1782
  *
@@ -2036,15 +2044,28 @@ function pmpro_getLevel( $level ) {
2036
  }
2037
 
2038
  /*
2039
- Function to populate pmpro_levels with all levels. We query the DB every time just to be sure we have the latest.
2040
- This should be called if you want to be sure you get all levels as $pmpro_levels may only have a subset of levels.
 
 
2041
  */
2042
  function pmpro_getAllLevels( $include_hidden = false, $force = false ) {
2043
  global $pmpro_levels, $wpdb;
2044
 
2045
- // just use what's cached (doesn't take into account include_hidden setting)
2046
- if ( ! empty( $pmpro_levels ) && ! $force ) {
2047
- return $pmpro_levels;
 
 
 
 
 
 
 
 
 
 
 
2048
  }
2049
 
2050
  // build query
@@ -2064,10 +2085,33 @@ function pmpro_getAllLevels( $include_hidden = false, $force = false ) {
2064
  $raw_level->trial_amount = pmpro_round_price( $raw_level->trial_amount );
2065
  $pmpro_levels[ $raw_level->id ] = $raw_level;
2066
  }
2067
-
 
 
 
 
 
 
2068
  return $pmpro_levels;
2069
  }
2070
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2071
  /**
2072
  * Get level at checkout and place into $pmpro_level global.
2073
  */
@@ -2846,10 +2890,16 @@ function pmpro_generatePages( $pages ) {
2846
  'ping_status' => 'closed',
2847
  );
2848
 
2849
- // make non-account pages a subpage of account
2850
- if ( $name != 'account' ) {
 
2851
  $insert['post_parent'] = $pmpro_pages['account'];
2852
  }
 
 
 
 
 
2853
 
2854
  // create the page
2855
  $pmpro_pages[ $name ] = wp_insert_post( $insert );
42
  }
43
  pmpro_setDBTables();
44
 
 
 
 
 
 
45
  // thanks: http://wordpress.org/support/topic/is_plugin_active
46
  function pmpro_is_plugin_active( $plugin ) {
47
  return in_array( $plugin, (array) get_option( 'active_plugins', array() ) );
1772
  return $text;
1773
  }
1774
 
1775
+ /**
1776
+ * Filters the separator used between action navigation links.
1777
+ *
1778
+ * @since 2.3
1779
+ *
1780
+ * @param string $separator The separator used between action links.
1781
+ */
1782
+ function pmpro_actions_nav_separator() {
1783
+ $separator = apply_filters( 'pmpro_actions_nav_separator', ' | ' );
1784
+
1785
+ return $separator;
1786
+ }
1787
+
1788
  /*
1789
  pmpro_getMembershipLevelForUser() returns the first active membership level for a user
1790
  *
2044
  }
2045
 
2046
  /*
2047
+ Get all PMPro membership levels.
2048
+
2049
+ @param bool $include_hidden Include levels marked as hidden/inactive.
2050
+ @param bool $force If false, use $pmpro_levels global. If true use other caches.
2051
  */
2052
  function pmpro_getAllLevels( $include_hidden = false, $force = false ) {
2053
  global $pmpro_levels, $wpdb;
2054
 
2055
+ static $pmpro_all_levels; // every single level
2056
+ static $pmpro_visible_levels; // every single level that's not hidden
2057
+
2058
+ // just use the $pmpro_levels global
2059
+ if ( ! empty( $pmpro_levels ) && ! $force ) {
2060
+ return $pmpro_levels;
2061
+ }
2062
+
2063
+ // For now, if force is true, still check if we have something in a static var.
2064
+ if ( $include_hidden && isset( $pmpro_all_levels ) ) {
2065
+ return $pmpro_all_levels;
2066
+ }
2067
+ if ( ! $include_hidden && isset( $pmpro_visible_levels ) ) {
2068
+ return $pmpro_visible_levels;
2069
  }
2070
 
2071
  // build query
2085
  $raw_level->trial_amount = pmpro_round_price( $raw_level->trial_amount );
2086
  $pmpro_levels[ $raw_level->id ] = $raw_level;
2087
  }
2088
+
2089
+ // Store an extra cache specific to the include_hidden param.
2090
+ if ( $include_hidden ) {
2091
+ $pmpro_all_levels = $pmpro_levels;
2092
+ } else {
2093
+ $pmpro_visible_levels = $pmpro_levels;
2094
+ }
2095
  return $pmpro_levels;
2096
  }
2097
 
2098
+ /**
2099
+ * Check if any level(s) are available for signup.
2100
+ * @return bool
2101
+ * @since 2.3
2102
+ */
2103
+ function pmpro_are_any_visible_levels() {
2104
+ $levels = pmpro_getAllLevels( false, true );
2105
+
2106
+ if ( ! empty( $levels ) ) {
2107
+ $r = true;
2108
+ } else {
2109
+ $r = false;
2110
+ }
2111
+
2112
+ return $r;
2113
+ }
2114
+
2115
  /**
2116
  * Get level at checkout and place into $pmpro_level global.
2117
  */
2890
  'ping_status' => 'closed',
2891
  );
2892
 
2893
+ // make some pages a subpage of account
2894
+ $top_level_pages = array( 'account', 'login' );
2895
+ if ( ! in_array( $name, $top_level_pages ) ) {
2896
  $insert['post_parent'] = $pmpro_pages['account'];
2897
  }
2898
+
2899
+ // tweak the login slug
2900
+ if ( $name == 'login' ) {
2901
+ $insert['post_name'] = 'login';
2902
+ }
2903
 
2904
  // create the page
2905
  $pmpro_pages[ $name ] = wp_insert_post( $insert );
includes/https.php CHANGED
@@ -3,28 +3,31 @@
3
  Code related to HTTPS/SSL
4
  */
5
 
6
- //this function checks if we have set the $isapage variable, and if so prevents WP from sending a 404
7
- function pmpro_status_filter($s)
8
- {
 
 
9
  global $isapage;
10
- if($isapage && strpos($s, "404"))
11
  return false; //don't send the 404
12
  else
13
  return $s;
14
  }
 
15
 
16
- //filters links/etc to add HTTPS to URL if needed
17
- function pmpro_https_filter($s)
18
- {
 
19
  global $besecure;
20
- $besecure = apply_filters('pmpro_besecure', $besecure);
21
 
22
- if($besecure || is_ssl())
23
- return str_replace("http:", "https:", $s);
24
  else
25
- return str_replace("https:", "http:", $s);
26
  }
27
- add_filter('status_header', 'pmpro_status_filter');
28
  add_filter('bloginfo_url', 'pmpro_https_filter');
29
  add_filter('wp_list_pages', 'pmpro_https_filter');
30
  add_filter('option_home', 'pmpro_https_filter');
@@ -33,63 +36,51 @@ add_filter('logout_url', 'pmpro_https_filter');
33
  add_filter('login_url', 'pmpro_https_filter');
34
  add_filter('home_url', 'pmpro_https_filter');
35
 
36
- //this function sets the besecure global which may be used in early code
37
- /*
38
- function pmpro_besecure_set()
39
- {
40
- global $besecure;
41
- if(force_ssl_admin() || is_ssl())
42
- $besecure = true;
43
-
44
- $besecure = apply_filters("pmpro_besecure", $besecure);
45
- }
46
- add_action('init', 'pmpro_besecure_set', 2);
47
- */
48
-
49
- //this function updates the besecure global with post data and redirects if needed
50
- function pmpro_besecure()
51
- {
52
  global $besecure, $post;
53
 
54
  //check the post option
55
- if(!is_admin() && !empty($post->ID) && !$besecure)
56
- $besecure = get_post_meta($post->ID, "besecure", true);
57
-
 
58
  //if forcing ssl on admin, be secure in admin and login page
59
- if(!$besecure && force_ssl_admin() && (is_admin() || pmpro_is_login_page()))
60
- $besecure = true;
 
61
 
62
- $besecure = apply_filters("pmpro_besecure", $besecure);
63
 
64
- $use_ssl = pmpro_getOption("use_ssl");
65
- if($use_ssl == 1)
66
- {
67
- if($besecure && (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off" || $_SERVER['HTTPS'] == "false"))
68
- {
69
  //need to be secure
70
- wp_safe_redirect("https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
71
  exit;
72
- }
73
- elseif(!$besecure && !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off" && $_SERVER['HTTPS'] != "false")
74
- {
75
  //don't need to be secure
76
- wp_safe_redirect("http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
77
  exit;
78
  }
79
  }
80
  }
81
- add_action('wp', 'pmpro_besecure', 2);
82
- add_action('login_init', 'pmpro_besecure', 2);
83
 
84
- //JavaScript SSL redirect
85
- function pmpro_ssl_javascript_redirect()
86
- {
 
 
87
  global $besecure;
88
- $use_ssl = pmpro_getOption("use_ssl");
89
- if(!is_admin() && $use_ssl == 2)
90
- {
91
- if($besecure)
92
- {
93
  ?>
94
  <script lang="JavaScript">
95
  //needs to be secure
@@ -97,9 +88,7 @@ function pmpro_ssl_javascript_redirect()
97
  window.location.href = "https:" + window.location.href.substring(window.location.protocol.length);
98
  </script>
99
  <?php
100
- }
101
- else
102
- {
103
  ?>
104
  <script lang="JavaScript">
105
  //should be over http
@@ -110,64 +99,57 @@ function pmpro_ssl_javascript_redirect()
110
  }
111
  }
112
  }
113
- add_action('wp_print_scripts', 'pmpro_ssl_javascript_redirect');
114
 
115
  //If the site URL starts with https:, then force SSL/besecure to true. (Added 1.5.2)
116
- function pmpro_check_site_url_for_https($besecure = NULL)
117
- {
118
  global $wpdb, $pmpro_siteurl;
119
 
120
  //need to get this from the database because we filter get_option
121
- if(empty($pmpro_siteurl))
122
- $pmpro_siteurl = $wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'siteurl' LIMIT 1");
 
123
 
124
  //entire site is over https?
125
- if(strpos($pmpro_siteurl, "https:") !== false)
126
  $besecure = true;
 
127
 
128
  return $besecure;
129
  }
130
- add_filter("pmpro_besecure", "pmpro_check_site_url_for_https");
131
 
132
  //capturing case where a user links to https admin without admin over https
133
- function pmpro_admin_https_handler()
134
- {
135
- if(!empty($_SERVER['HTTPS']))
136
- {
137
- if($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != "off" && strtolower($_SERVER['HTTPS']) != "false" && is_admin())
138
- {
139
- if(substr(get_option("siteurl"), 0, 5) == "http:" && !force_ssl_admin())
140
- {
141
  //need to redirect to non https
142
- wp_safe_redirect("http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
143
  exit;
144
  }
145
  }
146
  }
147
  }
148
- add_action('init', 'pmpro_admin_https_handler');
149
 
150
  /*
151
  This code is for the "nuke" option to make URLs secure on secure pages.
152
  */
153
- function pmpro_NuclearHTTPS()
154
- {
155
  //did they choose the option?
156
- $nuking = pmpro_getOption("nuclear_HTTPS");
157
- if(!empty($nuking))
158
- {
159
- ob_start("pmpro_replaceURLsInBuffer");
160
  }
161
  }
162
- add_action("init", "pmpro_NuclearHTTPS");
163
 
164
- function pmpro_replaceURLsInBuffer($buffer)
165
- {
166
  global $besecure;
167
 
168
  //only swap URLs if this page is secure
169
- if($besecure)
170
- {
171
  /*
172
  okay swap out all links like these:
173
  * http://domain.com
@@ -178,4 +160,4 @@ function pmpro_replaceURLsInBuffer($buffer)
178
  }
179
 
180
  return $buffer;
181
- }
3
  Code related to HTTPS/SSL
4
  */
5
 
6
+ /**
7
+ * Check if we have set the $isapage variable,
8
+ * and if so prevents WP from sending a 404.
9
+ */
10
+ function pmpro_status_filter( $s ) {
11
  global $isapage;
12
+ if($isapage && strpos( $s, '404' ) )
13
  return false; //don't send the 404
14
  else
15
  return $s;
16
  }
17
+ add_filter('status_header', 'pmpro_status_filter');
18
 
19
+ /**
20
+ * Filters links/etc to add HTTPS to URL if needed.
21
+ */
22
+ function pmpro_https_filter( $s ) {
23
  global $besecure;
24
+ $besecure = apply_filters( 'pmpro_besecure', $besecure );
25
 
26
+ if( $besecure || is_ssl() )
27
+ return str_replace( 'http:', 'https:', $s );
28
  else
29
+ return str_replace( 'https:', 'http:', $s );
30
  }
 
31
  add_filter('bloginfo_url', 'pmpro_https_filter');
32
  add_filter('wp_list_pages', 'pmpro_https_filter');
33
  add_filter('option_home', 'pmpro_https_filter');
36
  add_filter('login_url', 'pmpro_https_filter');
37
  add_filter('home_url', 'pmpro_https_filter');
38
 
39
+ /**
40
+ * This function updates the besecure global
41
+ * with post data and redirects if needed.
42
+ * Will only redirect if the Force SSL setting is true.
43
+ */
44
+ function pmpro_besecure() {
 
 
 
 
 
 
 
 
 
 
45
  global $besecure, $post;
46
 
47
  //check the post option
48
+ if( ! is_admin() && ! empty( $post->ID ) && ! $besecure ) {
49
+ $besecure = get_post_meta( $post->ID, 'besecure', true );
50
+ }
51
+
52
  //if forcing ssl on admin, be secure in admin and login page
53
+ if( ! $besecure && force_ssl_admin() && ( is_admin() || pmpro_is_login_page() ) ) {
54
+ $besecure = true;
55
+ }
56
 
57
+ $besecure = apply_filters( 'pmpro_besecure', $besecure );
58
 
59
+ $use_ssl = pmpro_getOption( 'use_ssl' );
60
+ if( $use_ssl == 1 ) {
61
+ if( $besecure && ( empty( $_SERVER['HTTPS'] ) || $_SERVER['HTTPS'] == 'off' || $_SERVER['HTTPS'] == 'false' ) ) {
 
 
62
  //need to be secure
63
+ wp_safe_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
64
  exit;
65
+ } elseif ( ! $besecure && ! empty( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] != 'off' && $_SERVER['HTTPS'] != 'false' ) {
 
 
66
  //don't need to be secure
67
+ wp_safe_redirect('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
68
  exit;
69
  }
70
  }
71
  }
72
+ add_action( 'wp', 'pmpro_besecure', 2 );
73
+ add_action( 'login_init', 'pmpro_besecure', 2 );
74
 
75
+ /**
76
+ * Echo the JavaScript SSL redirect
77
+ * if the Force SSL option is set.
78
+ */
79
+ function pmpro_ssl_javascript_redirect() {
80
  global $besecure;
81
+ $use_ssl = pmpro_getOption( 'use_ssl' );
82
+ if( ! is_admin() && $use_ssl == 2 ) {
83
+ if( ! empty( $besecure ) ) {
 
 
84
  ?>
85
  <script lang="JavaScript">
86
  //needs to be secure
88
  window.location.href = "https:" + window.location.href.substring(window.location.protocol.length);
89
  </script>
90
  <?php
91
+ } else {
 
 
92
  ?>
93
  <script lang="JavaScript">
94
  //should be over http
99
  }
100
  }
101
  }
102
+ add_action( 'wp_print_scripts', 'pmpro_ssl_javascript_redirect' );
103
 
104
  //If the site URL starts with https:, then force SSL/besecure to true. (Added 1.5.2)
105
+ function pmpro_check_site_url_for_https( $besecure = NULL ) {
 
106
  global $wpdb, $pmpro_siteurl;
107
 
108
  //need to get this from the database because we filter get_option
109
+ if( empty( $pmpro_siteurl ) ) {
110
+ $pmpro_siteurl = $wpdb->get_var( "SELECT option_value FROM $wpdb->options WHERE option_name = 'siteurl' LIMIT 1" );
111
+ }
112
 
113
  //entire site is over https?
114
+ if( strpos( $pmpro_siteurl, 'https:' ) !== false ) {
115
  $besecure = true;
116
+ }
117
 
118
  return $besecure;
119
  }
120
+ add_filter( 'pmpro_besecure', 'pmpro_check_site_url_for_https' );
121
 
122
  //capturing case where a user links to https admin without admin over https
123
+ function pmpro_admin_https_handler() {
124
+ if( ! empty( $_SERVER['HTTPS'] ) ) {
125
+ if( $_SERVER['HTTPS'] && strtolower( $_SERVER['HTTPS'] ) != 'off' && strtolower( $_SERVER['HTTPS'] ) != 'false' && is_admin() ) {
126
+ if( substr( get_option( 'siteurl' ), 0, 5 ) == 'http:' && ! force_ssl_admin() ) {
 
 
 
 
127
  //need to redirect to non https
128
+ wp_safe_redirect( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
129
  exit;
130
  }
131
  }
132
  }
133
  }
134
+ add_action( 'init', 'pmpro_admin_https_handler' );
135
 
136
  /*
137
  This code is for the "nuke" option to make URLs secure on secure pages.
138
  */
139
+ function pmpro_NuclearHTTPS() {
 
140
  //did they choose the option?
141
+ $nuking = pmpro_getOption( 'nuclear_HTTPS' );
142
+ if(!empty($nuking)) {
143
+ ob_start( 'pmpro_replaceURLsInBuffer' );
 
144
  }
145
  }
146
+ add_action( 'init', 'pmpro_NuclearHTTPS' );
147
 
148
+ function pmpro_replaceURLsInBuffer($buffer) {
 
149
  global $besecure;
150
 
151
  //only swap URLs if this page is secure
152
+ if($besecure) {
 
153
  /*
154
  okay swap out all links like these:
155
  * http://domain.com
160
  }
161
 
162
  return $buffer;
163
+ }
includes/init.php CHANGED
@@ -17,6 +17,8 @@ function pmpro_init() {
17
  $pmpro_pages["confirmation"] = pmpro_getOption("confirmation_page_id");
18
  $pmpro_pages["invoice"] = pmpro_getOption("invoice_page_id");
19
  $pmpro_pages["levels"] = pmpro_getOption("levels_page_id");
 
 
20
 
21
  //save this in case we want a clean version of the array with just the core pages
22
  $pmpro_core_pages = $pmpro_pages;
@@ -87,6 +89,9 @@ function pmpro_wp()
87
  }
88
  elseif(!empty($pmpro_page_id) && is_page($pmpro_page_id))
89
  {
 
 
 
90
  //shortcode has params, but we still want to load the preheader
91
  require_once(PMPRO_DIR . "/preheaders/" . $pmpro_page_name . ".php");
92
  }
@@ -187,7 +192,7 @@ function pmpro_manage_users_custom_column($column_data, $column_name, $user_id)
187
  if(!empty($levels)) {
188
  foreach($levels as $key => $level)
189
  $level_names[] = $level->name;
190
- $column_data = implode(',', $level_names);
191
  }
192
  else
193
  $column_data = __('None', 'paid-memberships-pro' );
17
  $pmpro_pages["confirmation"] = pmpro_getOption("confirmation_page_id");
18
  $pmpro_pages["invoice"] = pmpro_getOption("invoice_page_id");
19
  $pmpro_pages["levels"] = pmpro_getOption("levels_page_id");
20
+ $pmpro_pages["login"] = pmpro_getOption("login_page_id");
21
+ $pmpro_pages["member_profile_edit"] = pmpro_getOption("member_profile_edit_page_id");
22
 
23
  //save this in case we want a clean version of the array with just the core pages
24
  $pmpro_core_pages = $pmpro_pages;
89
  }
90
  elseif(!empty($pmpro_page_id) && is_page($pmpro_page_id))
91
  {
92
+ //add class to body
93
+ $pmpro_body_classes[] = "pmpro-" . str_replace("_", "-", $pmpro_page_name);
94
+
95
  //shortcode has params, but we still want to load the preheader
96
  require_once(PMPRO_DIR . "/preheaders/" . $pmpro_page_name . ".php");
97
  }
192
  if(!empty($levels)) {
193
  foreach($levels as $key => $level)
194
  $level_names[] = $level->name;
195
+ $column_data = implode(', ', $level_names);
196
  }
197
  else
198
  $column_data = __('None', 'paid-memberships-pro' );
includes/lib/name-parser.php CHANGED
@@ -25,7 +25,7 @@ if(!function_exists("pnp_split_full_name"))
25
  $name_parts = array();
26
  // completely ignore any words in parentheses
27
  foreach ($unfiltered_name_parts as $word) {
28
- if (!empty($word) && $word{0} != "(")
29
  $name_parts[] = $word;
30
  }
31
  $num_words = sizeof($name_parts);
@@ -131,7 +131,7 @@ if(!function_exists("pnp_split_full_name"))
131
 
132
  // single letter, possibly followed by a period
133
  function pnp_is_initial($word) {
134
- return ((strlen($word) == 1) || (strlen($word) == 2 && $word{1} == "."));
135
  }
136
 
137
  // detect mixed case words like "McDonald"
25
  $name_parts = array();
26
  // completely ignore any words in parentheses
27
  foreach ($unfiltered_name_parts as $word) {
28
+ if (!empty($word) && $word[0] != "(")
29
  $name_parts[] = $word;
30
  }
31
  $num_words = sizeof($name_parts);
131
 
132
  // single letter, possibly followed by a period
133
  function pnp_is_initial($word) {
134
+ return ((strlen($word) == 1) || (strlen($word) == 2 && $word[1] == "."));
135
  }
136
 
137
  // detect mixed case words like "McDonald"
includes/login.php CHANGED
@@ -1,169 +1,907 @@
1
  <?php
2
- //redirect control
3
- function pmpro_login_redirect($redirect_to, $request = NULL, $user = NULL)
4
- {
 
 
 
 
 
 
 
 
 
 
 
5
  global $wpdb;
6
 
7
- //is a user logging in?
8
- if(!empty($user) && !empty($user->ID))
9
- {
10
- //logging in, let's figure out where to send them
11
- if(pmpro_isAdmin($user->ID))
12
- {
13
- //admins go to dashboard
14
- $redirect_to = get_bloginfo("url") . "/wp-admin/";
15
- }
16
- elseif(strpos($redirect_to, "checkout") !== false)
17
- {
18
- //if the redirect url includes the word checkout, leave it alone
19
- }
20
- elseif($wpdb->get_var("SELECT membership_id FROM $wpdb->pmpro_memberships_users WHERE status = 'active' AND user_id = '" . $user->ID . "' LIMIT 1"))
21
- {
22
- //if logged in and a member, send to wherever they were going
23
- }
24
- else
25
- {
26
- //not a member, send to subscription page
27
- $redirect_to = pmpro_url("levels");
28
  }
29
  }
30
- else
31
- {
32
- //not logging in (login form) so return what was given
33
- }
34
-
35
- return apply_filters("pmpro_login_redirect_url", $redirect_to, $request, $user);
36
  }
37
- add_filter('login_redirect','pmpro_login_redirect', 10, 3);
38
 
39
- //Where is the sign page? Levels page or default multisite page.
40
- function pmpro_wp_signup_location($location)
41
- {
42
- if(is_multisite() && pmpro_getOption("redirecttosubscription"))
43
- {
44
- return pmpro_url("levels");
45
  }
46
- else
47
- return $location;
48
  }
49
  add_filter('wp_signup_location', 'pmpro_wp_signup_location');
50
 
51
- //redirect from default login pages to PMPro
52
- function pmpro_login_head()
53
- {
 
54
  global $pagenow;
55
 
56
  $login_redirect = apply_filters("pmpro_login_redirect", true);
57
-
58
- if((pmpro_is_login_page() || is_page("login") ||
59
- class_exists("Theme_My_Login") && method_exists('Theme_My_Login', 'is_tml_page') && (Theme_My_Login::is_tml_page("register") || Theme_My_Login::is_tml_page("login")) ||
60
- function_exists( 'tml_is_action' ) && ( tml_is_action( 'register' ) || tml_is_action( 'login' ) )
61
- )
62
- && $login_redirect
63
- )
64
- {
65
  //redirect registration page to levels page
66
- if( isset($_REQUEST['action']) && $_REQUEST['action'] == "register" ||
67
- isset($_REQUEST['registration']) && $_REQUEST['registration'] == "disabled" ||
68
- !is_admin() && class_exists("Theme_My_Login") && method_exists('Theme_My_Login', 'is_tml_page') && Theme_My_Login::is_tml_page("register") ||
69
- function_exists( 'tml_is_action' ) && tml_is_action( 'register' )
70
- )
71
- {
72
- //redirect to levels page unless filter is set.
73
- $link = apply_filters("pmpro_register_redirect", pmpro_url("levels"));
74
- if(!empty($link))
75
- {
76
- wp_redirect($link);
77
- exit;
78
- }
79
- else
80
- return; //don't redirect if pmpro_register_redirect filter returns false or a blank URL
81
- }
82
-
83
- //if theme my login is installed, redirect all logins to the login page
84
- if(pmpro_is_plugin_active("theme-my-login/theme-my-login.php"))
85
- {
86
- //check for the login page id and redirect there if we're not there already
87
- global $post;
88
-
89
- if(!empty($GLOBALS['theme_my_login']) && is_array($GLOBALS['theme_my_login']->options))
90
- {
91
- //an older version of TML stores it this way
92
- if($GLOBALS['theme_my_login']->options['page_id'] !== $post->ID)
93
- {
94
- //redirect to the real login page
95
- $link = get_permalink($GLOBALS['theme_my_login']->options['page_id']);
96
- if($_SERVER['QUERY_STRING'])
97
- $link .= "?" . $_SERVER['QUERY_STRING'];
98
  wp_redirect($link);
99
  exit;
100
  }
 
 
 
101
  }
102
- elseif(!empty($GLOBALS['theme_my_login']->options))
103
- {
104
- //another older version of TML stores it this way
105
- if($GLOBALS['theme_my_login']->options->options['page_id'] !== $post->ID)
106
- {
107
- //redirect to the real login page
108
- $link = get_permalink($GLOBALS['theme_my_login']->options->options['page_id']);
109
- if($_SERVER['QUERY_STRING'])
110
- $link .= "?" . $_SERVER['QUERY_STRING'];
111
- wp_redirect($link);
112
- exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  }
115
- elseif(class_exists("Theme_My_Login") && method_exists('Theme_My_Login', 'get_page_link') && method_exists('Theme_My_Login', 'is_tml_page'))
116
- {
117
- //TML > 6.3
118
- $link = Theme_My_Login::get_page_link("login");
119
- if(!empty($link))
120
- {
121
- //redirect if !is_page(), i.e. we're on wp-login.php
122
- if(!Theme_My_Login::is_tml_page())
123
- {
124
- wp_redirect($link);
125
- exit;
126
  }
127
- }
128
- }
129
- elseif ( function_exists( 'tml_is_action' ) && function_exists( 'tml_get_action_url' ) && function_exists( 'tml_action_exists' ) )
130
- {
131
- $action = ! empty( $_REQUEST['action'] ) ? $_REQUEST['action'] : 'login';
132
- if ( tml_action_exists( $action ) ) {
133
- if ( 'wp-login.php' == $pagenow ) {
134
- $link = tml_get_action_url( $action );
135
- wp_redirect( $link );
136
- exit;
 
 
 
 
 
 
 
 
 
137
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  }
139
  }
140
 
141
- //make sure users are only getting to the profile when logged in
142
- global $current_user;
143
- if(!empty($_REQUEST['action']) && $_REQUEST['action'] == "profile" && !$current_user->ID)
144
- {
145
- $link = get_permalink($GLOBALS['theme_my_login']->options->options['page_id']);
146
- wp_redirect($link);
147
- exit;
148
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  }
 
 
151
  }
152
- add_action('wp', 'pmpro_login_head');
153
- add_action('login_init', 'pmpro_login_head');
154
 
155
- /*
156
- If a redirect_to value is passed into /login/ and you are logged in already, just redirect there
157
-
158
- @since 1.7.14
159
- */
160
- function pmpro_redirect_to_logged_in()
161
- {
162
- if((pmpro_is_login_page() || is_page("login")) && !empty($_REQUEST['redirect_to']) && is_user_logged_in() && (empty($_REQUEST['action']) || $_REQUEST['action'] == 'login') && empty($_REQUEST['reauth']))
163
- {
164
- wp_safe_redirect($_REQUEST['redirect_to']);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  exit;
166
  }
167
  }
168
- add_action("template_redirect", "pmpro_redirect_to_logged_in", 5);
169
- add_action("login_init", "pmpro_redirect_to_logged_in", 5);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
+ /**
3
+ * Are we on the login page?
4
+ * Checks for WP default, TML, and PMPro login page.
5
+ */
6
+ function pmpro_is_login_page() {
7
+ return ( in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ) ) || is_page( 'login' ) || ( ! empty( pmpro_getOption( 'login_page_id' ) ) && is_page( pmpro_getOption( 'login_page_id' ) ) ) );
8
+ }
9
+
10
+ /**
11
+ * If no redirect_to is set
12
+ * then redirect members to the account page
13
+ * and redirect non-members to the levels page.
14
+ */
15
+ function pmpro_login_redirect( $redirect_to, $request = NULL, $user = NULL ) {
16
  global $wpdb;
17
 
18
+ $is_logged_in = ! empty( $user ) && ! empty( $user->ID );
19
+
20
+ if ( $is_logged_in && empty( $redirect_to ) ) {
21
+ // Can't use the pmpro_hasMembershipLevel function because it won't be defined yet.
22
+ $is_member = $wpdb->get_var( "SELECT membership_id FROM $wpdb->pmpro_memberships_users WHERE status = 'active' AND user_id = '" . esc_sql( $user->ID ) . "' LIMIT 1" );
23
+ if ( $is_member ) {
24
+ $redirect_to = pmpro_url( 'account' );
25
+ } else {
26
+ $redirect_to = pmpro_url( 'levels' );
 
 
 
 
 
 
 
 
 
 
 
 
27
  }
28
  }
29
+
30
+ return apply_filters( 'pmpro_login_redirect_url', $redirect_to, $request, $user );
 
 
 
 
31
  }
32
+ add_filter( 'login_redirect','pmpro_login_redirect', 10, 3 );
33
 
34
+ /**
35
+ * Where is the sign up page? Levels page or default multisite page.
36
+ */
37
+ function pmpro_wp_signup_location( $location ) {
38
+ if ( is_multisite() && pmpro_getOption("redirecttosubscription") ) {
39
+ $location = pmpro_url("levels");
40
  }
41
+
42
+ return apply_filters( 'pmpro_wp_signup_location', $location );
43
  }
44
  add_filter('wp_signup_location', 'pmpro_wp_signup_location');
45
 
46
+ /**
47
+ * Redirect from default login pages to PMPro.
48
+ */
49
+ function pmpro_login_head() {
50
  global $pagenow;
51
 
52
  $login_redirect = apply_filters("pmpro_login_redirect", true);
53
+
54
+ if ( ( pmpro_is_login_page() || is_page("login") ) && $login_redirect ) {
 
 
 
 
 
 
55
  //redirect registration page to levels page
56
+ if ( isset ($_REQUEST['action'] ) && $_REQUEST['action'] == "register" ||
57
+ isset($_REQUEST['registration']) && $_REQUEST['registration'] == "disabled" ) {
58
+
59
+ // don't redirect if in admin.
60
+ if ( is_admin() ) {
61
+ return;
62
+ }
63
+
64
+ //redirect to levels page unless filter is set.
65
+ $link = apply_filters("pmpro_register_redirect", pmpro_url( 'levels' ));
66
+ if(!empty($link)) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  wp_redirect($link);
68
  exit;
69
  }
70
+
71
+ } else {
72
+ return; //don't redirect if pmpro_register_redirect filter returns false or a blank URL
73
  }
74
+ }
75
+ }
76
+ add_action('wp', 'pmpro_login_head');
77
+ add_action('login_init', 'pmpro_login_head');
78
+
79
+ /**
80
+ * If a redirect_to value is passed into /login/ and you are logged in already, just redirect there
81
+ *
82
+ * @since 1.7.14
83
+ */
84
+ function pmpro_redirect_to_logged_in() {
85
+ if((pmpro_is_login_page() || is_page("login")) && !empty($_REQUEST['redirect_to']) && is_user_logged_in() && (empty($_REQUEST['action']) || $_REQUEST['action'] == 'login') && empty($_REQUEST['reauth'])) {
86
+ wp_safe_redirect($_REQUEST['redirect_to']);
87
+ exit;
88
+ }
89
+ }
90
+ add_action("template_redirect", "pmpro_redirect_to_logged_in", 5);
91
+ add_action("login_init", "pmpro_redirect_to_logged_in", 5);
92
+
93
+ /**
94
+ * Redirect to the login page for member login.
95
+ * @since 2.3
96
+ */
97
+ function pmpro_login_url_filter( $login_url='', $redirect='' ) {
98
+ $login_page_id = pmpro_getOption( 'login_page_id' );
99
+ if ( ! empty ( $login_page_id ) ) {
100
+ $login_url = get_permalink( $login_page_id );
101
+
102
+ if ( ! empty( $redirect ) ) {
103
+ $login_url = add_query_arg( 'redirect_to', urlencode( $redirect ), $login_url ) ;
104
+ }
105
+ }
106
+
107
+ return $login_url;
108
+ }
109
+ add_filter( 'login_url', 'pmpro_login_url_filter', 50, 2 );
110
+
111
+ /**
112
+ * Get a link to the PMPro login page.
113
+ * Or fallback to WP default.
114
+ * @since 2.3
115
+ *
116
+ * @param string $login_url The login URL. Not HTML-encoded.
117
+ * @param string $redirect The path to redirect to on login, if supplied.
118
+ * @param bool $force_reauth Whether to force reauthorization, even if a cookie is present.
119
+ */
120
+ function pmpro_login_url( $redirect = '', $force_reauth = false ) {
121
+ global $pmpro_pages;
122
+
123
+ if ( empty( $pmpro_pages['login'] ) ) {
124
+ // skip everything, including filter below
125
+ return wp_login_url( $redirect, $force_reauth );
126
+ }
127
+
128
+ $login_url = get_permalink( $pmpro_pages['login'] );
129
+
130
+ if ( ! empty( $redirect ) ) {
131
+ $login_url = add_query_arg( 'redirect_to', urlencode( $redirect ), $login_url );
132
+ }
133
+
134
+ if ( $force_reauth ) {
135
+ $login_url = add_query_arg( 'reauth', '1', $login_url );
136
+ }
137
+
138
+ /**
139
+ * Filters the login URL.
140
+ *
141
+ * @since 2.3
142
+ *
143
+ * @param string $login_url The login URL. Not HTML-encoded.
144
+ * @param string $redirect The path to redirect to on login, if supplied.
145
+ * @param bool $force_reauth Whether to force reauthorization, even if a cookie is present.
146
+ */
147
+ return apply_filters( 'pmpro_login_url', $login_url, $redirect, $force_reauth );
148
+ }
149
+
150
+ /**
151
+ * Get a link to the PMPro lostpassword page.
152
+ * Or fallback to the WP default.
153
+ * @since 2.3
154
+ *
155
+ * @param string $redirect The path to redirect to on login, if supplied.
156
+ */
157
+ function pmpro_lostpassword_url( $redirect = '' ) {
158
+ global $pmpro_pages;
159
+
160
+ if ( empty( $pmpro_pages['login'] ) ) {
161
+ // skip everything, including filter below
162
+ return wp_lostpassword_url( $redirect );
163
+ }
164
+
165
+ $args = array( 'action' => 'lostpassword' );
166
+ if ( ! empty( $redirect ) ) {
167
+ $args['redirect_to'] = urlencode( $redirect );
168
+ }
169
+
170
+ $lostpassword_url = add_query_arg( $args, get_permalink( $pmpro_pages['login'] ) );
171
+
172
+ /**
173
+ * Filters the Lost Password URL.
174
+ *
175
+ * @since 2.3
176
+ *
177
+ * @param string $lostpassword_url The lost password page URL.
178
+ * @param string $redirect The path to redirect to on login.
179
+ */
180
+ return apply_filters( 'pmpro_lostpassword_url', $lostpassword_url, $redirect );
181
+ }
182
+
183
+ /**
184
+ * Add a hidden field to our login form
185
+ * so we can identify it.
186
+ * Hooks into the WP core filter login_form_top.
187
+ */
188
+ function pmpro_login_form_hidden_field( $html ) {
189
+ $html .= '<input type="hidden" name="pmpro_login_form_used" value="1" />';
190
+
191
+ return $html;
192
+ }
193
+
194
+ /**
195
+ * Filter the_title based on the form action of the Log In Page assigned to $pmpro_pages['login'].
196
+ *
197
+ * @since 2.3
198
+ */
199
+ function pmpro_login_the_title( $title, $id = NULL ) {
200
+ global $pmpro_pages;
201
+
202
+ if ( is_admin() ) {
203
+ return $title;
204
+ }
205
+
206
+ if ( ! is_main_query() || ! is_page( $id ) ) {
207
+ return $title;
208
+ }
209
+
210
+ if ( empty( $pmpro_pages ) || empty( $pmpro_pages['login'] ) || ! is_page( $pmpro_pages['login'] ) ) {
211
+ return $title;
212
+ }
213
+
214
+ if ( is_user_logged_in() ) {
215
+ $title = __( 'Welcome', 'paid-memberships-pro' );
216
+ } elseif ( ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] === 'reset_pass' ) {
217
+ $title = __( 'Lost Password', 'paid-memberships-pro' );
218
+ } elseif ( ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] === 'rp' ) {
219
+ $title = __( 'Reset Password', 'paid-memberships-pro' );
220
+ }
221
+
222
+ return $title;
223
+ }
224
+ add_filter( 'the_title', 'pmpro_login_the_title', 10, 2 );
225
+
226
+ /**
227
+ * Filter document_title_parts based on the form action of the Log In Page assigned to $pmpro_pages['login'].
228
+ *
229
+ * @since 2.3
230
+ */
231
+ function pmpro_login_document_title_parts( $titleparts ) {
232
+ global $pmpro_pages;
233
+
234
+ if ( empty( $pmpro_pages ) || empty ( $pmpro_pages['login'] ) || ! is_page( $pmpro_pages['login'] ) ) {
235
+ return $titleparts;
236
+ }
237
+
238
+ if ( is_user_logged_in() ) {
239
+ $titleparts['title'] = __( 'Welcome', 'paid-memberships-pro' );
240
+ } elseif ( ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] === 'reset_pass' ) {
241
+ $titleparts['title'] = __( 'Lost Password', 'paid-memberships-pro' );
242
+ } elseif ( ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] === 'rp' ) {
243
+ $titleparts['title'] = __( 'Reset Password', 'paid-memberships-pro' );
244
+ }
245
+
246
+ return $titleparts;
247
+ }
248
+ add_filter( 'document_title_parts', 'pmpro_login_document_title_parts' );
249
+
250
+ /**
251
+ * Show a member login form or logged in member widget.
252
+ *
253
+ * @since 2.3
254
+ */
255
+ function pmpro_login_forms_handler( $show_menu = true, $show_logout_link = true, $display_if_logged_in = true, $location = '', $echo = true ) {
256
+ // Don't show widgets on the login page.
257
+ if ( $location === 'widget' && pmpro_is_login_page() ) {
258
+ return '';
259
+ }
260
+
261
+ // Set the message return string.
262
+ $message = '';
263
+ $msgt = 'pmpro_alert';
264
+ if ( isset( $_GET['action'] ) ) {
265
+ switch ( sanitize_text_field( $_GET['action'] ) ) {
266
+ case 'failed':
267
+ $message = __( 'There was a problem with your username or password.', 'paid-memberships-pro' );
268
+ $msgt = 'pmpro_error';
269
+ break;
270
+ case 'invalid_username':
271
+ $message = __( 'Unknown username. Check again or try your email address.', 'paid-memberships-pro' );
272
+ $msgt = 'pmpro_error';
273
+ break;
274
+ case 'empty_username':
275
+ $message = __( 'Empty username. Please enter your username and try again.', 'paid-memberships-pro' );
276
+ $msgt = 'pmpro_error';
277
+ break;
278
+ case 'empty_password':
279
+ $message = __( 'Empty password. Please enter your password and try again.', 'paid-memberships-pro' );
280
+ $msgt = 'pmpro_error';
281
+ break;
282
+ case 'incorrect_password':
283
+ $message = __( 'The password you entered for the user is incorrect. Please try again.', 'paid-memberships-pro' );
284
+ $msgt = 'pmpro_error';
285
+ break;
286
+ case 'recovered':
287
+ $message = __( 'Check your email for the confirmation link.', 'paid-memberships-pro' );
288
+ break;
289
+ }
290
+ }
291
+
292
+ // Logged Out Errors.
293
+ if ( isset( $_GET['loggedout'] ) ) {
294
+ switch ( sanitize_text_field( $_GET['loggedout'] ) ) {
295
+ case 'true':
296
+ $message = __( 'You are now logged out.', 'paid-memberships-pro' );
297
+ $msgt = 'pmpro_success';
298
+ break;
299
+ default:
300
+ $message = __( 'There was a problem logging you out.', 'paid-memberships-pro' );
301
+ $msgt = 'pmpro_error';
302
+ break;
303
+ }
304
+ }
305
+
306
+ // Password reset email confirmation.
307
+ if ( isset( $_GET['checkemail'] ) ) {
308
+
309
+ switch ( sanitize_text_field( $_GET['checkemail'] ) ) {
310
+ case 'confirm':
311
+ $message = __( 'Check your email for a link to reset your password.', 'paid-memberships-pro' );
312
+ break;
313
+ default:
314
+ $message = __( 'There was an unexpected error regarding your email. Please try again', 'paid-memberships-pro' );
315
+ $msgt = 'pmpro_error';
316
+ break;
317
+ }
318
+ }
319
+
320
+ // Password errors
321
+ if ( isset( $_GET['login'] ) ) {
322
+ switch ( sanitize_text_field( $_GET['login'] ) ) {
323
+ case 'invalidkey':
324
+ $message = __( 'Your reset password key is invalid.', 'paid-memberships-pro' );
325
+ $msgt = 'pmpro_error';
326
+ break;
327
+ case 'expiredkey':
328
+ $message = __( 'Your reset password key is expired, please request a new key from the password reset page.', 'paid-memberships-pro' );
329
+ $msgt = 'pmpro_error';
330
+ break;
331
+ default:
332
+ break;
333
+
334
+ }
335
+ }
336
+
337
+ if ( isset( $_GET['password'] ) ) {
338
+ switch( sanitize_text_field( $_GET['password'] ) ) {
339
+ case 'changed':
340
+ $message = __( 'Your password has successfully been updated.', 'paid-memberships-pro' );
341
+ $msgt = 'pmpro_success';
342
+ break;
343
+ default:
344
+ $message = __( 'There was a problem updating your password', 'paid-memberships-pro' );
345
+ $msgt = 'pmpro_error';
346
+ }
347
+ }
348
+
349
+ // Get Errors from password reset.
350
+ if ( isset( $_REQUEST['errors'] ) ) {
351
+ switch ( sanitize_text_field( $_REQUEST['errors'] ) ) {
352
+ case 'invalidcombo':
353
+ $message = __( 'There is no account with that username or email address.', 'paid-memberships-pro' );
354
+ $msgt = 'pmpro_error';
355
+ break;
356
+ case 'empty_username':
357
+ $message = __( 'Please enter a valid username.', 'paid-memberships-pro' );
358
+ $msgt = 'pmpro_error';
359
+ break;
360
+ case 'invalid_email':
361
+ $message = __( "You've entered an invalid email address.", 'paid-memberships-pro' );
362
+ $msgt = 'pmpro_error';
363
+ break;
364
+ case 'password_reset_mismatch':
365
+ $message = __( 'New passwords do not match.', 'paid-memberships-pro' );
366
+ $msgt = 'pmpro_error';
367
+ break;
368
+ case 'password_reset_empty':
369
+ $message = __( 'Please complete all fields.', 'paid-memberships-pro' );
370
+ $msgt = 'pmpro_error';
371
+ break;
372
+ }
373
+ }
374
+
375
+ ob_start();
376
+
377
+ // Note we don't show messages on the widget form.
378
+ if ( $message && $location !== 'widget' ) {
379
+ echo '<div class="pmpro_message ' . esc_attr( $msgt ) . '">'. esc_html( $message ) .'</div>';
380
+ }
381
+
382
+ // Get the form title HTML tag.
383
+ if ( $location === 'widget' ) {
384
+ $before_title = '<h3>';
385
+ $after_title = '</h3>';
386
+ } else {
387
+ $before_title = '<h2>';
388
+ $after_title = '</h2>';
389
+ }
390
+
391
+ if ( isset( $_REQUEST['action'] ) ) {
392
+ $action = sanitize_text_field( $_REQUEST['action'] );
393
+ } else {
394
+ $action = false;
395
+ }
396
+
397
+ // Figure out which login view to show.
398
+ if ( ! is_user_logged_in() ) {
399
+ if ( ! in_array( $action, array( 'reset_pass', 'rp' ) ) ) {
400
+ // Login form.
401
+ if ( empty( $_GET['login'] ) || empty( $_GET['key'] ) ) {
402
+ $username = isset( $_REQUEST['username'] ) ? sanitize_text_field( $_REQUEST['username'] ) : NULL;
403
+ $redirect_to = isset( $_REQUEST['redirect_to'] ) ? esc_url( $_REQUEST['redirect_to'] ) : NULL;
404
+
405
+ // Redirect users back to their page that they logged-in from via the widget.
406
+ if( empty( $redirect_to ) && $location === 'widget' && apply_filters( 'pmpro_login_widget_redirect_back', true ) ) {
407
+ $redirect_to = esc_url( site_url( $_SERVER['REQUEST_URI'] ) );
408
  }
409
+ ?>
410
+ <div class="pmpro_login_wrap">
411
+ <?php
412
+ if ( ! pmpro_is_login_page() ) {
413
+ echo $before_title . esc_html( 'Log In', 'paid-memberships-pro' ) . $after_title;
414
+ }
415
+ ?>
416
+ <?php
417
+ pmpro_login_form( array( 'value_username' => esc_html( $username ), 'redirect' => esc_url( $redirect_to ) ) );
418
+ pmpro_login_forms_handler_nav( 'login' );
419
+ ?>
420
+ </div> <!-- end pmpro_login_wrap -->
421
+ <?php if ( pmpro_is_login_page() ) { ?>
422
+ <script>
423
+ document.getElementById('user_login').focus();
424
+ </script>
425
+ <?php } ?>
426
+
427
+ <?php
428
  }
429
+ } elseif ( $location !== 'widget' && ( $action === 'reset_pass' || ( $action === 'rp' && in_array( $_REQUEST['login'], array( 'invalidkey', 'expiredkey' ) ) ) ) ) {
430
+ // Reset password form.
431
+ ?>
432
+ <div class="pmpro_lost_password_wrap">
433
+ <?php
434
+ if ( ! pmpro_is_login_page() ) {
435
+ echo $before_title . esc_html( 'Password Reset', 'paid-memberships-pro' ) . $after_title;
 
 
 
 
436
  }
437
+ ?>
438
+ <p class="pmpro_lost_password-instructions">
439
+ <?php
440
+ esc_html_e( 'Please enter your username or email address. You will receive a link to create a new password via email.', 'paid-memberships-pro' );
441
+ ?>
442
+ </p>
443
+ <?php
444
+ pmpro_lost_password_form();
445
+ pmpro_login_forms_handler_nav( 'lost_password' );
446
+ ?>
447
+ </div> <!-- end pmpro_lost_password_wrap -->
448
+ <?php
449
+ } elseif ( $location !== 'widget' && $action === 'rp' ) {
450
+ // Password reset processing key.
451
+ ?>
452
+ <div class="pmpro_reset_password_wrap">
453
+ <?php
454
+ if ( ! pmpro_is_login_page() ) {
455
+ echo $before_title . esc_html( 'Reset Password', 'paid-memberships-pro' ) . $after_title;
456
  }
457
+ ?>
458
+ <?php pmpro_reset_password_form(); ?>
459
+ </div> <!-- end pmpro_reset_password_wrap -->
460
+ <?php
461
+ }
462
+ } else {
463
+ // Already signed in.
464
+ if ( isset( $_REQUEST['login'] ) && isset( $_REQUEST['key'] ) ) {
465
+ esc_html_e( 'You are already signed in.', 'paid-memberships-pro' );
466
+ } elseif ( ! empty( $display_if_logged_in ) ) { ?>
467
+ <div class="pmpro_logged_in_welcome_wrap">
468
+ <?php pmpro_logged_in_welcome( $show_menu, $show_logout_link ); ?>
469
+ </div> <!-- end pmpro_logged_in_welcome_wrap -->
470
+ <?php
471
+ }
472
+ }
473
+
474
+ $content = ob_get_clean();
475
+ if ( $echo ) {
476
+ echo $content;
477
+ }
478
+
479
+ return $content;
480
+ }
481
+
482
+ /**
483
+ * Generate a login form for front-end login.
484
+ * @since 2.3
485
+ */
486
+ function pmpro_login_form( $args = array() ) {
487
+ add_filter( 'login_form_top', 'pmpro_login_form_hidden_field' );
488
+ wp_login_form( $args );
489
+ remove_filter( 'login_form_top', 'pmpro_login_form_hidden_field' );
490
+ }
491
+
492
+ /**
493
+ * Generate a lost password form for front-end login.
494
+ * @since 2.3
495
+ */
496
+ function pmpro_lost_password_form() { ?>
497
+ <form id="lostpasswordform" class="pmpro_form" action="<?php echo wp_lostpassword_url(); ?>" method="post">
498
+ <div class="pmpro_lost_password-fields">
499
+ <div class="pmpro_lost_password-field pmpro_lost_password-field-user_login">
500
+ <label for="user_login"><?php esc_html_e( 'Username or Email Address', 'paid-memberships-pro' ); ?></label>
501
+ <input type="text" name="user_login" id="user_login" class="input" size="20" />
502
+ </div>
503
+ </div> <!-- end pmpro_lost_password-fields -->
504
+ <div class="pmpro_submit">
505
+ <input type="submit" name="submit" class="pmpro_btn pmpro_btn-submit" value="<?php esc_attr_e( 'Get New Password', 'paid-memberships-pro' ); ?>" />
506
+ </div>
507
+ </form>
508
+ <?php
509
+ }
510
+
511
+ /**
512
+ * Handle the password reset functionality. Redirect back to login form and show message.
513
+ * @since 2.3
514
+ */
515
+ function pmpro_lost_password_redirect() {
516
+ if ( 'POST' == $_SERVER['REQUEST_METHOD'] ) {
517
+ $login_page = pmpro_getOption( 'login_page_id' );
518
+
519
+ if ( empty( $login_page ) ) {
520
+ return;
521
+ }
522
+
523
+ $redirect_url = $login_page ? get_permalink( $login_page ): '';
524
+
525
+ $errors = retrieve_password();
526
+ if ( is_wp_error( $errors ) ) {
527
+ $redirect_url = add_query_arg( array( 'errors' => join( ',', $errors->get_error_codes() ), 'action' => urlencode( 'reset_pass' ) ), $redirect_url );
528
+ } else {
529
+ $redirect_url = add_query_arg( array( 'checkemail' => urlencode( 'confirm' ) ), $redirect_url );
530
+ }
531
+
532
+ wp_redirect( $redirect_url );
533
+ exit;
534
+ }
535
+ }
536
+ add_action( 'login_form_lostpassword', 'pmpro_lost_password_redirect' );
537
+
538
+ /**
539
+ * Redirect Password reset to our own page.
540
+ * @since 2.3
541
+ */
542
+ function pmpro_reset_password_redirect() {
543
+ if ( 'GET' == $_SERVER['REQUEST_METHOD'] ) {
544
+ $login_page = pmpro_getOption( 'login_page_id' );
545
+
546
+ if ( empty( $login_page ) ) {
547
+ return;
548
+ }
549
+
550
+ $redirect_url = $login_page ? get_permalink( $login_page ): '';
551
+ $user = check_password_reset_key( $_REQUEST['rp_key'], $_REQUEST['rp_login'] );
552
+
553
+ if ( ! $user || is_wp_error( $user ) ) {
554
+ if ( $user && $user->get_error_code() === 'expired_key' ) {
555
+ wp_redirect( add_query_arg( 'login', urlencode( 'expiredkey' ), $redirect_url ) );
556
+ } else {
557
+ wp_redirect( add_query_arg( 'login', urlencode( 'invalidkey' ), $redirect_url ));
558
+ }
559
+ exit;
560
+ }
561
+
562
+ $redirect_url = add_query_arg( array( 'login' => esc_attr( sanitize_text_field( $_REQUEST['rp_login'] ) ), 'action' => urlencode( 'rp' ) ), $redirect_url );
563
+ $redirect_url = add_query_arg( array( 'key' => esc_attr( sanitize_text_field( $_REQUEST['rp_key'] ) ), 'action' => urlencode( 'rp' ) ), $redirect_url );
564
+
565
+ wp_redirect( $redirect_url );
566
+ exit;
567
+ }
568
+ }
569
+ add_action( 'login_form_rp', 'pmpro_reset_password_redirect' );
570
+ add_action( 'login_form_resetpass', 'pmpro_reset_password_redirect' );
571
+
572
+ /**
573
+ * Show the password reset form after user redirects from email link.
574
+ * @since 2.3
575
+ */
576
+ function pmpro_reset_password_form() {
577
+ if ( isset( $_REQUEST['login'] ) && isset( $_REQUEST['key'] ) ) {
578
+
579
+ // Error messages
580
+ $errors = array();
581
+ if ( isset( $_REQUEST['error'] ) ) {
582
+ $error_codes = explode( ',', sanitize_text_field( $_REQUEST['error'] ) );
583
+ } ?>
584
+ <form name="resetpassform" id="resetpassform" class="pmpro_form" action="<?php echo esc_url( site_url( 'wp-login.php?action=resetpass' ) ); ?>" method="post" autocomplete="off">
585
+ <input type="hidden" id="user_login" name="rp_login" value="<?php echo esc_attr( sanitize_text_field( $_REQUEST['login'] ) ); ?>" autocomplete="off" />
586
+ <input type="hidden" name="rp_key" value="<?php echo esc_attr( sanitize_text_field( $_REQUEST['key'] ) ); ?>" />
587
+ <div class="pmpro_reset_password-fields">
588
+ <div class="pmpro_reset_password-field pmpro_reset_password-field-pass1">
589
+ <label for="pass1"><?php esc_html_e( 'New Password', 'paid-memberships-pro' ) ?></label>
590
+ <input type="password" name="pass1" id="pass1" class="input pass1" size="20" value="" autocomplete="off" />
591
+ <div id="pass-strength-result" class="hide-if-no-js" aria-live="polite"><?php _e( 'Strength Indicator', 'paid-memberships-pro' ); ?></div>
592
+ <p class="lite"><?php echo wp_get_password_hint(); ?></p>
593
+ </div>
594
+ <div class="pmpro_reset_password-field pmpro_reset_password-field-pass2">
595
+ <label for="pass2"><?php esc_html_e( 'Confirm New Password', 'paid-memberships-pro' ) ?></label>
596
+ <input type="password" name="pass2" id="pass2" class="input" size="20" value="" autocomplete="off" />
597
+ </div>
598
+ </div> <!-- end pmpro_reset_password-fields -->
599
+ <div class="pmpro_submit">
600
+ <input type="submit" name="submit" id="resetpass-button" class="pmpro_btn pmpro_btn-submit" value="<?php esc_attr_e( 'Reset Password', 'paid-memberships-pro' ); ?>" />
601
+ </div>
602
+ </form>
603
+ <?php
604
+ }
605
+ }
606
+
607
+ /**
608
+ * Show the nav links below the login form.
609
+ */
610
+ function pmpro_login_forms_handler_nav( $pmpro_form ) { ?>
611
+ <hr />
612
+ <p class="pmpro_actions_nav">
613
+ <?php
614
+ // Build the links to return.
615
+ $links = array();
616
+
617
+ if ( $pmpro_form != 'login' ) {
618
+ $links['login'] = sprintf( '<a href="%s">%s</a>', esc_url( pmpro_login_url() ), esc_html__( 'Log In', 'paid-memberships-pro' ) );
619
+ }
620
+
621
+ if ( apply_filters( 'pmpro_show_register_link', get_option( 'users_can_register' ) ) ) {
622
+ $levels_page_id = pmpro_getOption( 'levels_page_id' );
623
+
624
+ if ( $levels_page_id && pmpro_are_any_visible_levels() ) {
625
+ $links['register'] = sprintf( '<a href="%s">%s</a>', esc_url( pmpro_url( 'levels' ) ), esc_html__( 'Join Now', 'paid-memberships-pro' ) );
626
+ } else {
627
+ $links['register'] = sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), esc_html__( 'Register', 'paid-memberships-pro' ) );
628
  }
629
  }
630
 
631
+ if ( $pmpro_form != 'lost_password' ) {
632
+ $links['lost_password'] = sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( 'action', urlencode( 'reset_pass' ), pmpro_login_url() ) ), esc_html__( 'Lost Password?', 'paid-memberships-pro' ) );
 
 
 
 
 
633
  }
634
+
635
+ $links = apply_filters( 'pmpro_login_forms_handler_nav', $links, $pmpro_form );
636
+
637
+ $allowed_html = array(
638
+ 'a' => array (
639
+ 'class' => array(),
640
+ 'href' => array(),
641
+ 'id' => array(),
642
+ 'target' => array(),
643
+ 'title' => array(),
644
+ ),
645
+ );
646
+ echo wp_kses( implode( pmpro_actions_nav_separator(), $links ), $allowed_html );
647
+ ?>
648
+ </p> <!-- end pmpro_actions_nav -->
649
+ <?php
650
+ }
651
+
652
+ /**
653
+ * Function to handle the actualy password reset and update password.
654
+ * @since 2.3
655
+ */
656
+ function pmpro_do_password_reset() {
657
+ if ( 'POST' == $_SERVER['REQUEST_METHOD'] ) {
658
+ $login_page = pmpro_getOption( 'login_page_id' );
659
+
660
+ if ( empty( $login_page ) ) {
661
+ return;
662
  }
663
+
664
+ $rp_key = sanitize_text_field( $_REQUEST['rp_key'] );
665
+ $rp_login = sanitize_text_field( $_REQUEST['rp_login'] );
666
+
667
+ $redirect_url = $login_page ? get_permalink( $login_page ): '';
668
+ $user = check_password_reset_key( $rp_key, $rp_login );
669
+
670
+ if ( ! $user || is_wp_error( $user ) ) {
671
+ if ( $user && $user->get_error_code() === 'expired_key' ) {
672
+ wp_redirect( add_query_arg( array( 'login' => urlencode( 'expiredkey' ), 'action' => urlencode( 'rp' ) ), $redirect_url ) );
673
+ } else {
674
+ wp_redirect( add_query_arg( array( 'login' => urlencode( 'invalidkey' ), 'action' => urlencode( 'rp' ) ), $redirect_url ) );
675
+ }
676
+ exit;
677
+ }
678
+
679
+ if ( isset( $_POST['pass1'] ) ) {
680
+ if ( $_POST['pass1'] != $_POST['pass2'] ) {
681
+ // Passwords don't match
682
+ $redirect_url = add_query_arg( array(
683
+ 'key' => urlencode( $rp_key ),
684
+ 'login' => urlencode( $rp_login ),
685
+ 'error' => urlencode( 'password_reset_mismatch' ),
686
+ 'action' => urlencode( 'rp' )
687
+ ), $redirect_url );
688
+
689
+ wp_redirect( $redirect_url );
690
+ exit;
691
+ }
692
+
693
+ if ( empty( $_POST['pass1'] ) ) {
694
+ // Password is empty
695
+ $redirect_url = add_query_arg( array(
696
+ 'key' => urlencode( $rp_key ),
697
+ 'login' => urlencode( $rp_login ),
698
+ 'error' => urlencode( 'password_reset_empty' ),
699
+ 'action' => urlencode( 'rp' )
700
+ ), $redirect_url );
701
+
702
+ wp_redirect( $redirect_url );
703
+ exit;
704
+ }
705
+
706
+ // Parameter checks OK, reset password
707
+ reset_password( $user, $_POST['pass1'] );
708
+ wp_redirect( add_query_arg( urlencode( 'password' ), urlencode( 'changed' ), $redirect_url ) );
709
+ } else {
710
+ esc_html_e( 'Invalid Request', 'paid-memberships-pro' );
711
+ }
712
+
713
+ exit;
714
+ }
715
+ }
716
+ add_action( 'login_form_rp', 'pmpro_do_password_reset' );
717
+ add_action( 'login_form_resetpass', 'pmpro_do_password_reset' );
718
+
719
+ /**
720
+ * Replace the default URL inside the email with the membership account page login URL instead.
721
+ * @since 2.3
722
+ */
723
+ function pmpro_password_reset_email_filter( $message, $key, $user_login, $user_data ) {
724
+
725
+ $login_page_id = pmpro_getOption( 'login_page_id' );
726
+ if ( ! empty ( $login_page_id ) ) {
727
+ $login_url = get_permalink( $login_page_id );
728
+ $message = str_replace( site_url( 'wp-login.php' ), $login_url, $message );
729
  }
730
+
731
+ return $message;
732
  }
733
+ add_filter( 'retrieve_password_message', 'pmpro_password_reset_email_filter', 10, 4 );
 
734
 
735
+ /**
736
+ * Authenticate the frontend user login.
737
+ *
738
+ * @since 2.3
739
+ *
740
+ */
741
+ function pmpro_authenticate_username_password( $user, $username, $password ) {
742
+
743
+ // Only work when the PMPro login form is used.
744
+ if ( empty( $_REQUEST['pmpro_login_form_used'] ) ) {
745
+ return $user;
746
+ }
747
+
748
+ // Already logged in.
749
+ if ( is_a( $user, 'WP_User' ) ) {
750
+ return $user;
751
+ }
752
+
753
+ // For some reason, WP core doesn't recognize this error.
754
+ if ( ! empty( $username ) && empty( $password ) ) {
755
+ $user = new WP_Error( 'invalid_username', __( 'There was a problem with your username or password.', 'paid-memberships-pro' ) );
756
+ }
757
+
758
+ // check what page the login attempt is coming from
759
+ $referrer = wp_get_referer();
760
+
761
+ if ( !empty( $referrer ) && is_wp_error( $user ) ) {
762
+
763
+ $error = $user->get_error_code();
764
+
765
+ if ( $error ) {
766
+ wp_redirect( add_query_arg( 'action', urlencode( $error ), pmpro_login_url() ) );
767
+ } else {
768
+ wp_redirect( pmpro_login_url() );
769
+ }
770
+ }
771
+
772
+ return $user;
773
+ }
774
+ add_filter( 'authenticate', 'pmpro_authenticate_username_password', 30, 3);
775
+
776
+ /**
777
+ * Redirect failed login to referrer for frontend user login.
778
+ *
779
+ * @since 2.3
780
+ *
781
+ */
782
+ function pmpro_login_failed( $username ) {
783
+
784
+ $login_page = pmpro_getOption( 'login_page_id' );
785
+ if ( empty( $login_page ) ) {
786
+ return;
787
+ }
788
+
789
+ $referrer = wp_get_referer();
790
+ $redirect_to = esc_url( $_REQUEST['redirect_to'] );
791
+
792
+ if ( $referrer && ! strstr( $referrer, 'wp-login' ) && ! strstr( $referrer, 'wp-admin' ) ) {
793
+ if ( ! strstr( $referrer, '?login=failed') ) {
794
+ wp_redirect( add_query_arg( array( 'action'=>'failed', 'username' => sanitize_text_field( $username ), 'redirect_to' => urlencode( $redirect_to ) ), pmpro_login_url() ) );
795
+ } else {
796
+ wp_redirect( add_query_arg( 'action', 'loggedout', pmpro_login_url() ) );
797
+ }
798
  exit;
799
  }
800
  }
801
+ add_action( 'wp_login_failed', 'pmpro_login_failed', 10, 2 );
802
+
803
+ /**
804
+ * Show welcome content for a "Logged In" member with Display Name, Log Out link and a "Log In Widget" menu area.
805
+ *
806
+ * @since 2.3
807
+ *
808
+ */
809
+ function pmpro_logged_in_welcome( $show_menu = true, $show_logout_link = true ) {
810
+ if ( is_user_logged_in( ) ) {
811
+ // Set the location the user's display_name will link to based on level status.
812
+ global $current_user, $pmpro_pages;
813
+ if ( ! empty( $pmpro_pages ) && ! empty( $pmpro_pages['account'] ) ) {
814
+ $account_page = get_post( $pmpro_pages['account'] );
815
+ $user_account_link = '<a href="' . esc_url( pmpro_url( 'account' ) ) . '">' . esc_html( preg_replace( '/\@.*/', '', $current_user->display_name ) ) . '</a>';
816
+ } else {
817
+ $user_account_link = '<a href="' . esc_url( admin_url( 'profile.php' ) ) . '">' . esc_html( preg_replace( '/\@.*/', '', $current_user->display_name ) ) . '</a>';
818
+ }
819
+ ?>
820
+ <h3 class="pmpro_member_display_name">
821
+ <?php
822
+ /* translators: a generated link to the user's account or profile page */
823
+ printf( esc_html__( 'Welcome, %s', 'paid-memberships-pro' ), $user_account_link );
824
+ ?>
825
+ </h3>
826
+
827
+ <?php do_action( 'pmpro_logged_in_welcome_before_menu' ); ?>
828
+
829
+ <?php
830
+ /**
831
+ * Show the "Log In Widget" menu to users.
832
+ * The menu can be customized per level using the Nav Menus Add On for Paid Memberships Pro.
833
+ *
834
+ */
835
+ if ( ! empty( $show_menu ) ) {
836
+ $pmpro_login_widget_menu_defaults = array(
837
+ 'theme_location' => 'pmpro-login-widget',
838
+ 'container' => 'nav',
839
+ 'container_id' => 'pmpro-member-navigation',
840
+ 'container_class' => 'pmpro-member-navigation',
841
+ 'fallback_cb' => false,
842
+ 'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
843
+ );
844
+ wp_nav_menu( $pmpro_login_widget_menu_defaults );
845
+ }
846
+ ?>
847
+
848
+ <?php do_action( 'pmpro_logged_in_welcome_after_menu' ); ?>
849
+
850
+ <?php
851
+ /**
852
+ * Optionally show a Log Out link.
853
+ * User will be redirected to the Membership Account page if no other redirect intercepts the process.
854
+ *
855
+ */
856
+ if ( ! empty ( $show_logout_link ) ) { ?>
857
+ <div class="pmpro_member_log_out"><a href="<?php echo esc_url( wp_logout_url() ); ?>"><?php esc_html_e( 'Log Out', 'paid-memberships-pro' ); ?></a></div>
858
+ <?php
859
+ }
860
+ }
861
+ }
862
+
863
+ /**
864
+ * Allow default WordPress registration page if no level page is set and registrations are open for a site.
865
+ * @since 2.3
866
+ */
867
+ function pmpro_no_level_page_register_redirect( $url ) {
868
+ $level = pmpro_url( 'levels' );
869
+
870
+ if ( empty( pmpro_url( 'levels' ) ) && get_option( 'users_can_register' ) && ! pmpro_are_any_visible_levels() ) {
871
+ return false;
872
+ }
873
+
874
+ return $url;
875
+ }
876
+ add_action( 'pmpro_register_redirect', 'pmpro_no_level_page_register_redirect' );
877
+
878
+ /**
879
+ * Process Data Request confirmaction URLs.
880
+ * Called from Account page preheader.
881
+ * Checks first for action=confirmaction param.
882
+ * Code pulled from wp-login.php.
883
+ */
884
+ function pmpro_confirmaction_handler() {
885
+ if ( empty( $_REQUEST['action'] ) || $_REQUEST['action'] !== 'confirmaction' ) {
886
+ return false;
887
+ }
888
+
889
+ if ( ! isset( $_GET['request_id'] ) ) {
890
+ wp_die( __( 'Missing request ID.' ) );
891
+ }
892
+
893
+ if ( ! isset( $_GET['confirm_key'] ) ) {
894
+ wp_die( __( 'Missing confirm key.' ) );
895
+ }
896
+
897
+ $request_id = (int) $_GET['request_id'];
898
+ $key = sanitize_text_field( wp_unslash( $_GET['confirm_key'] ) );
899
+ $result = wp_validate_user_request_key( $request_id, $key );
900
+
901
+ if ( is_wp_error( $result ) ) {
902
+ wp_die( $result );
903
+ }
904
+
905
+ /** This action is documented in wp-login.php */
906
+ do_action( 'user_request_action_confirmed', $request_id );
907
+ }
includes/menus.php ADDED
@@ -0,0 +1,255 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Get all Paid Memberships Pro pages.
4
+ *
5
+ * @since 2.3
6
+ * @return array
7
+ */
8
+ function pmpro_get_pmpro_pages() {
9
+ $pmpro_pages = array(
10
+ 'account' => intval( pmpro_getOption( 'account_page_id' ) ),
11
+ 'billing' => intval( pmpro_getOption( 'billing_page_id' ) ),
12
+ 'cancel' => intval( pmpro_getOption( 'cancel_page_id' ) ),
13
+ 'checkout' => intval( pmpro_getOption( 'checkout_page_id' ) ),
14
+ 'confirmation' => intval( pmpro_getOption( 'confirmation_page_id' ) ),
15
+ 'invoice' => intval( pmpro_getOption( 'invoice_page_id' ) ),
16
+ 'levels' => intval( pmpro_getOption( 'levels_page_id' ) ),
17
+ 'member_profile_edit' => intval( pmpro_getOption( 'member_profile_edit_page_id' ) ),
18
+ );
19
+
20
+ $pmpro_page_names = array();
21
+ foreach ( $pmpro_pages as $pmpro_page_id => $pmpro_page ) {
22
+ $pmpro_page_names[$pmpro_page_id] = get_the_title( $pmpro_page_id );
23
+ }
24
+
25
+ return apply_filters( 'pmpro_get_pmpro_pages', $pmpro_pages, $pmpro_page_names );
26
+ }
27
+
28
+ /**
29
+ * Add Paid Memberships Pro nav menu meta box.
30
+ *
31
+ * @since 2.3
32
+ */
33
+ function pmpro_nav_menu_meta_box() {
34
+ add_meta_box( 'add-pmpro-pages', __( 'Paid Memberships Pro', 'paid-memberships-pro' ),'pmpro_pages_metabox_nav_links', 'nav-menus', 'side', 'low' );
35
+ }
36
+ add_action( 'admin_head-nav-menus.php', 'pmpro_nav_menu_meta_box' );
37
+
38
+ /**
39
+ * Add links to Paid Memberships Pro nav menu meta box.
40
+ *
41
+ * @since 2.3
42
+ */
43
+ function pmpro_pages_metabox_nav_links() {
44
+
45
+ global $nav_menu_selected_id;
46
+
47
+ // Get all the page settings.
48
+ $pmpro_page_ids = pmpro_get_pmpro_pages();
49
+
50
+ // Allow custom plugins to filter the page IDs.
51
+ $pmpro_page_ids = apply_filters( 'pmpro_custom_nav_menu_items', $pmpro_page_ids );
52
+
53
+ // Get the page data for these IDs.
54
+ $pmpro_pages = get_pages( array( 'include' => $pmpro_page_ids ) );
55
+ ?>
56
+ <div id="pmpro-page-items" class="posttypediv">
57
+ <div class="tabs-panel tabs-panel-active">
58
+ <ul class="categorychecklist form-no-clear">
59
+ <?php echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $pmpro_pages ), 0, (object) array(
60
+ 'walker' => new Walker_Nav_Menu_Checklist(),
61
+ ) ); ?>
62
+
63
+ <?php // Include the custom Log In and Log Out menu items. ?>
64
+ <li>
65
+ <label class="menu-item-title">
66
+ <input type="checkbox" class="menu-item-checkbox" name="menu-item[-1][menu-item-object-id]" value="-1"> <?php _e( 'Log In', 'paid-memberships-pro'); ?>
67
+ </label>
68
+ <input type="hidden" class="menu-item-type" name="menu-item[-1][menu-item-type]" value="custom">
69
+ <input type="hidden" class="menu-item-type-name" name="menu-item[-1][menu-item-type]" value="custom">
70
+ <input type="hidden" class="menu-item-title" name="menu-item[-1][menu-item-title]" value="<?php _e( 'Log In', 'paid-memberships-pro'); ?>">
71
+ <input type="hidden" class="menu-item-url" name="menu-item[-1][menu-item-url]" value="#">
72
+ <input type="hidden" class="menu-item-classes" name="menu-item[-1][menu-item-classes]" value="menu-item-type-pmpro-login">
73
+ </li>
74
+ <li>
75
+ <label class="menu-item-title">
76
+ <input type="checkbox" class="menu-item-checkbox" name="menu-item[-2][menu-item-object-id]" value="-2"> <?php _e( 'Log Out', 'paid-memberships-pro'); ?>
77
+ </label>
78
+ <input type="hidden" class="menu-item-type" name="menu-item[-2][menu-item-type]" value="custom">
79
+ <input type="hidden" class="menu-item-title" name="menu-item[-2][menu-item-title]" value="<?php _e( 'Log Out', 'paid-memberships-pro'); ?>">
80
+ <input type="hidden" class="menu-item-url" name="menu-item[-2][menu-item-url]" value="#">
81
+ <input type="hidden" class="menu-item-classes" name="menu-item[-2][menu-item-classes]" value="menu-item-type-pmpro-logout">
82
+ </li>
83
+ </ul>
84
+ </div>
85
+ <p class="button-controls wp-clearfix">
86
+ <span class="add-to-menu">
87
+ <input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>" name="add-pmpro-page-items" id="submit-pmpro-page-items" />
88
+ <span class="spinner"></span>
89
+ </span>
90
+ </p>
91
+ </div>
92
+ <?php
93
+ }
94
+
95
+ /**
96
+ * Register Paid Memberships Pro nav menu item types in Customizer.
97
+ *
98
+ * @since 2.3
99
+ * @param array $item_types Menu item types.
100
+ * @return array
101
+ */
102
+ function pmpro_customize_nav_menu_available_item_types( $item_types ) {
103
+ $item_types[] = array(
104
+ 'title' => __( 'Paid Memberships Pro', 'paid-memberships-pro' ),
105
+ 'type_label' => __( 'Paid Memberships Pro Page', 'paid-memberships-pro' ),
106
+ 'type' => 'pmpro_nav',
107
+ 'object' => 'pmpro_pages',
108
+ );
109
+ return $item_types;
110
+ }
111
+ add_filter( 'customize_nav_menu_available_item_types', 'pmpro_customize_nav_menu_available_item_types' );
112
+
113
+ /**
114
+ * Register Paid Memberships Pro pages to customize nav menu items.
115
+ *
116
+ * @since 2.3
117
+ * @param array $items List of nav menu items.
118
+ * @param string $type Nav menu type.
119
+ * @param string $object Nav menu object.
120
+ * @param integer $page Page number.
121
+ * @return array
122
+ */
123
+ function pmpro_customize_nav_menu_available_items( $items, $type, $object, $page ) {
124
+ // Only add items to our new item type ('pmpro_pages' object).
125
+ if ( $object !== 'pmpro_pages' ) {
126
+ return $items;
127
+ }
128
+
129
+ // Don't allow pagination since all items are loaded at once.
130
+ if ( 0 < $page ) {
131
+ return $items;
132
+ }
133
+
134
+ // Get all the page settings.
135
+ $pmpro_page_ids = pmpro_get_pmpro_pages();
136
+
137
+ // Allow custom plugins to filter the page IDs.
138
+ $pmpro_page_ids = apply_filters( 'pmpro_custom_nav_menu_items', $pmpro_page_ids );
139
+
140
+ // Get the page data for these IDs.
141
+ $pmpro_pages = get_pages( array( 'include' => $pmpro_page_ids ) );
142
+
143
+ // Include conditional log in / log out menu item.
144
+ //$pmpro_pages['login-out'] = __( 'Log in/Log Out Conditional', 'paid-memberships-pro' );
145
+
146
+ foreach ( $pmpro_pages as $pmpro_page ) {
147
+ $items[] = array(
148
+ 'id' => 'post-' . $pmpro_page->ID,
149
+ 'title' => html_entity_decode( $pmpro_page->post_title, ENT_QUOTES, get_bloginfo( 'charset' ) ),
150
+ 'type_label' => get_post_type_object( $pmpro_page->post_type )->labels->singular_name,
151
+ 'object' => $pmpro_page->post_type,
152
+ 'object_id' => intval( $pmpro_page->ID ),
153
+ 'url' => get_permalink( intval( $pmpro_page->ID ) ),
154
+ );
155
+ }
156
+
157
+ // Include the custom Log In and Log Out menu items.
158
+ $items[] = array(
159
+ 'id' => 'pmpro-login',
160
+ 'title' => __( 'Log In', 'paid-memberships-pro'),
161
+ 'type' => 'pmpro-login',
162
+ 'type_label' => __( 'Page', 'paid-memberships-pro'),
163
+ 'object' => 'page',
164
+ 'url' => '#',
165
+ );
166
+
167
+ $items[] = array(
168
+ 'id' => 'pmpro-logout',
169
+ 'title' => __( 'Log Out', 'paid-memberships-pro'),
170
+ 'type' => 'pmpro-logout',
171
+ 'type_label' => __( 'Page', 'paid-memberships-pro'),
172
+ 'object' => 'page',
173
+ 'url' => '#',
174
+ );
175
+
176
+ return $items;
177
+ }
178
+ add_filter( 'customize_nav_menu_available_items', 'pmpro_customize_nav_menu_available_items', 10, 4 );
179
+
180
+ /**
181
+ * Filter nav menus with our custom Log In or Log Out links.
182
+ * Remove the appropriate link based on logged in status.
183
+ *
184
+ * @since 2.3
185
+ */
186
+ function pmpro_swap_log_in_log_out_menu_link( $sorted_menu_items, $args ) {
187
+
188
+ foreach ( $sorted_menu_items as $key => $item ) {
189
+
190
+ // Hide or Show the Log In link and filter the URL.
191
+ if ( in_array( 'menu-item-type-pmpro-login', $item->classes ) ) {
192
+ if ( is_user_logged_in() ) {
193
+ unset( $sorted_menu_items[$key] );
194
+ } else {
195
+ $sorted_menu_items[$key]->url = pmpro_login_url();
196
+ //$remove_key = array_search( 'menu-item-pmpro-login', $item->classes );
197
+ $remove_key2 = array_search( 'menu-item-object-', $item->classes );
198
+ //unset($sorted_menu_items[$key]->classes[$remove_key]);
199
+ unset($sorted_menu_items[$key]->classes[$remove_key2]);
200
+ }
201
+ }
202
+
203
+ // Hide or Show the Log Our link and filter the URL.
204
+ if ( in_array( 'menu-item-type-pmpro-logout', $item->classes ) ) {
205
+ if ( ! is_user_logged_in() ) {
206
+ unset( $sorted_menu_items[$key] );
207
+ } else {
208
+ $sorted_menu_items[$key]->url = wp_logout_url();
209
+ //$remove_key = array_search( 'menu-item-pmpro-logout', $item->classes );
210
+ $remove_key2 = array_search( 'menu-item-object-', $item->classes );
211
+ //unset($sorted_menu_items[$key]->classes[$remove_key]);
212
+ unset($sorted_menu_items[$key]->classes[$remove_key2]);
213
+ }
214
+ }
215
+
216
+ }
217
+
218
+ return $sorted_menu_items;
219
+ }
220
+ add_filter( 'wp_nav_menu_objects', 'pmpro_swap_log_in_log_out_menu_link', 10, 2 );
221
+
222
+ /**
223
+ * Custom menu functions for Paid Memberships Pro
224
+ *
225
+ * @since 2.3
226
+ */
227
+ function pmpro_register_menus() {
228
+ // Register PMPro menu areas.
229
+ register_nav_menus(
230
+ array(
231
+ 'pmpro-login-widget' => __( 'Log In Widget - PMPro', 'paid-memberships-pro' ),
232
+ )
233
+ );
234
+ }
235
+ add_action( 'after_setup_theme', 'pmpro_register_menus' );
236
+
237
+ /**
238
+ * Hide the WordPress Toolbar from Subscribers.
239
+ *
240
+ * @since 2.3
241
+ */
242
+ function pmpro_hide_toolbar() {
243
+ global $current_user;
244
+ $hide_toolbar = pmpro_getOption( 'hide_toolbar' );
245
+ if ( ! empty( $hide_toolbar ) && is_user_logged_in() && in_array( 'subscriber', (array) $current_user->roles ) ) {
246
+ $hide = true;
247
+ } else {
248
+ $hide = false;
249
+ }
250
+ $hide = apply_filters( 'pmpro_hide_toolbar', $hide );
251
+ if ( $hide ) {
252
+ add_filter( 'show_admin_bar', '__return_false' );
253
+ }
254
+ }
255
+ add_action( 'init', 'pmpro_hide_toolbar', 9 );
includes/notifications.php CHANGED
@@ -487,7 +487,10 @@ function pmpro_notifications_pause() {
487
  return true;
488
  }
489
 
490
- $archived_notifications = get_user_meta( $current_user->ID, 'pmpro_archived_notifications', true );
 
 
 
491
  $archived_notifications = array_values( $archived_notifications );
492
  $num = count($archived_notifications);
493
  $now = current_time( 'timestamp' );
487
  return true;
488
  }
489
 
490
+ $archived_notifications = get_user_meta( $current_user->ID, 'pmpro_archived_notifications', true );
491
+ if ( ! is_array( $archived_notifications ) ) {
492
+ return false;
493
+ }
494
  $archived_notifications = array_values( $archived_notifications );
495
  $num = count($archived_notifications);
496
  $now = current_time( 'timestamp' );
includes/profile.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
- /*
3
- These functions add the "membership level" field to the edit user/profile page
4
- */
5
- //add the fields
6
  function pmpro_membership_level_profile_fields($user)
7
  {
8
  global $current_user;
@@ -20,12 +20,7 @@ function pmpro_membership_level_profile_fields($user)
20
  if(!current_user_can($membership_level_capability))
21
  return false;
22
 
23
- global $wpdb;
24
- /*$user->membership_level = $wpdb->get_row("SELECT l.id AS ID, l.name AS name
25
- FROM {$wpdb->pmpro_membership_levels} AS l
26
- JOIN {$wpdb->pmpro_memberships_users} AS mu ON (l.id = mu.membership_id)
27
- WHERE mu.user_id = " . $user->ID . "
28
- LIMIT 1");*/
29
  $user->membership_level = pmpro_getMembershipLevelForUser($user->ID);
30
 
31
  $levels = $wpdb->get_results( "SELECT * FROM {$wpdb->pmpro_membership_levels}", OBJECT );
@@ -100,21 +95,21 @@ function pmpro_membership_level_profile_fields($user)
100
  }
101
 
102
  //some vars for the dates
103
- $current_day = date_i18n("j", current_time('timestamp'));
104
  if($end_date)
105
- $selected_expires_day = date_i18n("j", $user->membership_level->enddate);
106
  else
107
  $selected_expires_day = $current_day;
108
 
109
- $current_month = date_i18n("M", current_time('timestamp'));
110
  if($end_date)
111
- $selected_expires_month = date_i18n("m", $user->membership_level->enddate);
112
  else
113
- $selected_expires_month = date_i18n("m");
114
 
115
- $current_year = date_i18n("Y", current_time('timestamp'));
116
  if($end_date)
117
- $selected_expires_year = date_i18n("Y", $user->membership_level->enddate);
118
  else
119
  $selected_expires_year = (int)$current_year + 1;
120
  ?>
@@ -132,7 +127,7 @@ function pmpro_membership_level_profile_fields($user)
132
  for($i = 1; $i < 13; $i++)
133
  {
134
  ?>
135
- <option value="<?php echo $i?>" <?php if($i == $selected_expires_month) { ?>selected="selected"<?php } ?>><?php echo date_i18n("M", strtotime($i . "/15/" . $current_year, current_time("timestamp")))?></option>
136
  <?php
137
  }
138
  ?>
@@ -394,3 +389,308 @@ add_action( 'show_user_profile', 'pmpro_membership_level_profile_fields' );
394
  add_action( 'edit_user_profile', 'pmpro_membership_level_profile_fields' );
395
  add_action( 'personal_options_update', 'pmpro_membership_level_profile_fields_update' );
396
  add_action( 'edit_user_profile_update', 'pmpro_membership_level_profile_fields_update' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
+ /**
3
+ * Add the "membership level" field to the edit user/profile page,
4
+ * along with other membership-related fields.
5
+ */
6
  function pmpro_membership_level_profile_fields($user)
7
  {
8
  global $current_user;
20
  if(!current_user_can($membership_level_capability))
21
  return false;
22
 
23
+ global $wpdb;
 
 
 
 
 
24
  $user->membership_level = pmpro_getMembershipLevelForUser($user->ID);
25
 
26
  $levels = $wpdb->get_results( "SELECT * FROM {$wpdb->pmpro_membership_levels}", OBJECT );
95
  }
96
 
97
  //some vars for the dates
98
+ $current_day = date("j", current_time('timestamp'));
99
  if($end_date)
100
+ $selected_expires_day = date("j", $user->membership_level->enddate);
101
  else
102
  $selected_expires_day = $current_day;
103
 
104
+ $current_month = date("M", current_time('timestamp'));
105
  if($end_date)
106
+ $selected_expires_month = date("m", $user->membership_level->enddate);
107
  else
108
+ $selected_expires_month = date("m");
109
 
110
+ $current_year = date("Y", current_time('timestamp'));
111
  if($end_date)
112
+ $selected_expires_year = date("Y", $user->membership_level->enddate);
113
  else
114
  $selected_expires_year = (int)$current_year + 1;
115
  ?>
127
  for($i = 1; $i < 13; $i++)
128
  {
129
  ?>
130
+ <option value="<?php echo $i?>" <?php if($i == $selected_expires_month) { ?>selected="selected"<?php } ?>><?php echo date("M", strtotime($i . "/15/" . $current_year, current_time("timestamp")))?></option>
131
  <?php
132
  }
133
  ?>
389
  add_action( 'edit_user_profile', 'pmpro_membership_level_profile_fields' );
390
  add_action( 'personal_options_update', 'pmpro_membership_level_profile_fields_update' );
391
  add_action( 'edit_user_profile_update', 'pmpro_membership_level_profile_fields_update' );
392
+
393
+ /**
394
+ * Sanitizes the passed value.
395
+ *
396
+ * @param array|int|null|string|stdClass $value The value to sanitize
397
+ *
398
+ * @return array|int|string|object Sanitized value
399
+ */
400
+ function pmpro_sanitize( $value ) {
401
+
402
+ if ( is_array( $value ) ) {
403
+
404
+ foreach ( $value as $key => $val ) {
405
+ $value[ $key ] = pmprorh_sanitize( $val );
406
+ }
407
+ }
408
+
409
+ if ( is_object( $value ) ) {
410
+
411
+ foreach ( $value as $key => $val ) {
412
+ $value->{$key} = pmprorh_sanitize( $val );
413
+ }
414
+ }
415
+
416
+ if ( ( ! is_array( $value ) ) && ctype_alpha( $value ) ||
417
+ ( ( ! is_array( $value ) ) && strtotime( $value ) ) ||
418
+ ( ( ! is_array( $value ) ) && is_string( $value ) ) ||
419
+ ( ( ! is_array( $value ) ) && is_numeric( $value) )
420
+ ) {
421
+
422
+ $value = sanitize_text_field( $value );
423
+ }
424
+
425
+ return $value;
426
+ }
427
+
428
+ /**
429
+ * Display a frontend Member Profile Edit form and allow user to edit specific fields.
430
+ *
431
+ * @since 2.3
432
+ */
433
+ function pmpro_member_profile_edit_form() {
434
+ global $current_user;
435
+
436
+ if ( ! is_user_logged_in() ) {
437
+ echo '<div class="pmpro_message pmpro_alert"><a href="' . esc_url( pmpro_login_url() ) . '">' . esc_html__( 'Log in to edit your profile.', 'paid-memberships-pro' ) . '</a></div>';
438
+ return;
439
+ }
440
+
441
+ do_action( 'pmpro_personal_options_update', $current_user->ID );
442
+
443
+ // Saving profile updates.
444
+ if ( isset( $_POST['action'] ) && $_POST['action'] == 'update-profile' && $current_user->ID == $_POST['user_id'] && wp_verify_nonce( $_POST['update_user_nonce'], 'update-user_' . $current_user->ID ) ) {
445
+ $update = true;
446
+ $user = new stdClass;
447
+ $user->ID = $_POST[ 'user_id' ];
448
+ } else {
449
+ $update = false;
450
+ }
451
+
452
+ if ( $update ) {
453
+
454
+ $errors = array();
455
+
456
+ // Get all values from the $_POST, sanitize them, and build the $user object.
457
+ if ( isset( $_POST['email'] ) ) {
458
+ $user->user_email = sanitize_text_field( wp_unslash( $_POST['email'] ) );
459
+ }
460
+ if ( isset( $_POST['first_name'] ) ) {
461
+ $user->first_name = sanitize_text_field( $_POST['first_name'] );
462
+ }
463
+ if ( isset( $_POST['last_name'] ) ) {
464
+ $user->last_name = sanitize_text_field( $_POST['last_name'] );
465
+ }
466
+ if ( isset( $_POST['display_name'] ) ) {
467
+ $user->display_name = sanitize_text_field( $_POST['display_name'] );
468
+ $user->nickname = $user->display_name;
469
+ }
470
+
471
+ // Validate display name.
472
+ if ( empty( $user->display_name ) ) {
473
+ $errors[] = __( 'Please enter a display name.', 'paid-memberships-pro' );
474
+ }
475
+
476
+ // Don't allow admins to change their email address.
477
+ if ( current_user_can( 'manage_options' ) ) {
478
+ $user->user_email = $current_user->user_email;
479
+ }
480
+
481
+ // Validate email address.
482
+ if ( empty( $user->user_email ) ) {
483
+ $errors[] = __( 'Please enter an email address.', 'paid-memberships-pro' );
484
+ } elseif ( ! is_email( $user->user_email ) ) {
485
+ $errors[] = __( 'The email address isn&#8217;t correct.', 'paid-memberships-pro' );
486
+ } else {
487
+ $owner_id = email_exists( $user->user_email );
488
+ if ( $owner_id && ( ! $update || ( $owner_id != $user->ID ) ) ) {
489
+ $errors[] = __( 'This email is already registered, please choose another one.', 'paid-memberships-pro' );
490
+ }
491
+ }
492
+
493
+ // Show error messages.
494
+ if ( ! empty( $errors ) ) { ?>
495
+ <div class="pmpro_message pmpro_error">
496
+ <?php
497
+ foreach ( $errors as $key => $value ) {
498
+ echo '<p>' . $value . '</p>';
499
+ }
500
+ ?>
501
+ </div>
502
+ <?php } else {
503
+ // Save updated profile fields.
504
+ wp_update_user( $user );
505
+ ?>
506
+ <div class="pmpro_message pmpro_success">
507
+ <?php _e( 'Your profile has been updated.', 'paid-memberships-pro' ); ?>
508
+ </div>
509
+ <?php }
510
+ } else {
511
+ // Doing this so fields are set to new values after being submitted.
512
+ $user = $current_user;
513
+ }
514
+ ?>
515
+ <div class="pmpro_member_profile_edit_wrap">
516
+ <form id="member-profile-edit" class="pmpro_form" action="" method="post">
517
+
518
+ <?php wp_nonce_field( 'update-user_' . $current_user->ID, 'update_user_nonce' ); ?>
519
+
520
+ <div class="pmpro_checkout_box-user">
521
+ <div class="pmpro_member_profile_edit-fields">
522
+ <div class="pmpro_member_profile_edit-field pmpro_member_profile_edit-field-first_name">
523
+ <label for="first_name"><?php _e( 'First Name', 'paid-memberships-pro' ); ?></label>
524
+ <input type="text" name="first_name" id="first_name" value="<?php echo esc_attr( $user->first_name ); ?>" class="input <?php echo pmpro_getClassForField( 'first_name' );?>" />
525
+ </div> <!-- end pmpro_member_profile_edit-field-first_name -->
526
+
527
+ <div class="pmpro_member_profile_edit-field pmpro_member_profile_edit-field-last_name">
528
+ <label for="last_name"><?php _e( 'Last Name', 'paid-memberships-pro' ); ?></label>
529
+ <input type="text" name="last_name" id="last_name" value="<?php echo esc_attr( $user->last_name ); ?>" class="input <?php echo pmpro_getClassForField( 'last_name' );?>" />
530
+ </div> <!-- end pmpro_member_profile_edit-field-last_name -->
531
+
532
+ <div class="pmpro_member_profile_edit-field pmpro_member_profile_edit-field-display_name">
533
+ <label for="display_name"><?php _e( 'Display name publicly as', 'paid-memberships-pro' ); ?></label>
534
+ <input type="text" name="display_name" id="display_name" value="<?php echo esc_attr( $user->display_name ); ?>" class="input <?php echo pmpro_getClassForField( 'display_name' );?>" />
535
+ <span class="pmpro_asterisk"> <abbr title="<?php _e( 'Required Field', 'paid-memberships-pro' ); ?>">*</abbr></span>
536
+ </div> <!-- end pmpro_member_profile_edit-field-display_name -->
537
+
538
+ <div class="pmpro_member_profile_edit-field pmpro_member_profile_edit-field-email">
539
+ <label for="email"><?php _e( 'Email', 'paid-memberships-pro' ); ?></label>
540
+
541
+ <?php if ( current_user_can( 'manage_options' ) ) { ?>
542
+ <input type="text" readonly="readonly" name="email" id="email" value="<?php echo esc_attr( $user->user_email ); ?>" class="input <?php echo pmpro_getClassForField( 'email' );?>" />
543
+ <p class="lite"><?php esc_html_e( 'Site administrators must use the WordPress dashboard to update their email address.', 'paid-memberships-pro' ); ?></p>
544
+ <?php } else { ?>
545
+ <input type="email" name="email" id="email" value="<?php echo esc_attr( $user->user_email ); ?>" class="input <?php echo pmpro_getClassForField( 'email' );?>" />
546
+ <span class="pmpro_asterisk"> <abbr title="<?php _e( 'Required Field', 'paid-memberships-pro' ); ?>">*</abbr></span>
547
+ <?php } ?>
548
+ </div>
549
+ </div> <!-- end pmpro_member_profile_edit-fields -->
550
+ </div> <!-- end pmpro_checkout_box-user -->
551
+
552
+ <?php
553
+ /**
554
+ * Fires after the default Your Member Profile fields.
555
+ *
556
+ * @since 2.3
557
+ *
558
+ * @param WP_User $current_user The current WP_User object.
559
+ */
560
+ do_action( 'pmpro_show_user_profile', $current_user );
561
+ ?>
562
+ <input type="hidden" name="action" value="update-profile" />
563
+ <input type="hidden" name="user_id" value="<?php echo $current_user->ID; ?>" />
564
+ <div class="pmpro_submit">
565
+ <hr />
566
+ <input type="submit" name="submit" class="pmpro_btn pmpro_btn-submit" value="<?php _e( 'Update Profile', 'paid-memberships-pro' );?>" />
567
+ <input type="button" name="cancel" class="pmpro_btn pmpro_btn-cancel" value="<?php _e( 'Cancel', 'paid-memberships-pro' );?>" onclick="location.href='<?php echo pmpro_url( 'account'); ?>';" />
568
+ </div>
569
+ </form>
570
+ </div> <!-- end pmpro_member_profile_edit_wrap -->
571
+ <?php
572
+ }
573
+
574
+ /**
575
+ * Process password updates.
576
+ * Hooks into personal_options_update.
577
+ * Doesn't need to hook into edit_user_profile_update since
578
+ * our change password page is only for the current user.
579
+ *
580
+ * @since 2.3
581
+ */
582
+ function pmpro_change_password_process() {
583
+ global $current_user;
584
+
585
+ // Make sure we're on the right page.
586
+ if ( empty( $_POST['action'] ) || $_POST['action'] != 'change-password' ) {
587
+ return;
588
+ }
589
+
590
+ // Only let users change their own password.
591
+ if ( empty( $current_user ) || empty( $_POST['user_id'] ) || $current_user->ID != $_POST['user_id'] ) {
592
+ return;
593
+ }
594
+
595
+ // Check the nonce.
596
+ if ( ! wp_verify_nonce( $_POST['change_password_user_nonce'], 'change-password-user_' . $current_user->ID ) ) {
597
+ return;
598
+ }
599
+
600
+ // Get all password values from the $_POST.
601
+ if ( ! empty( $_POST['password_current'] ) ) {
602
+ $password_current = sanitize_text_field( $_POST['password_current'] );
603
+ } else {
604
+ $password_current = '';
605
+ }
606
+ if ( ! empty( $_POST['pass1'] ) ) {
607
+ $pass1 = sanitize_text_field( $_POST['pass1'] );
608
+ } else {
609
+ $pass1 = '';
610
+ }
611
+ if ( ! empty( $_POST['pass2'] ) ) {
612
+ $pass2 = sanitize_text_field( $_POST['pass2'] );
613
+ } else {
614
+ $pass2 = '';
615
+ }
616
+
617
+ // Check that all password information is correct.
618
+ $error = false;
619
+ if ( isset( $password_current ) && ( empty( $pass1 ) || empty( $pass2 ) ) ) {
620
+ $error = __( 'Please complete all fields.', 'paid-memberships-pro' );
621
+ } elseif ( ! empty( $pass1 ) && empty( $password_current ) ) {
622
+ $error = __( 'Please enter your current password.', 'paid-memberships-pro' );
623
+ } elseif ( ( ! empty( $pass1 ) || ! empty( $pass2 ) ) && $pass1 !== $pass2 ) {
624
+ $error = __( 'New passwords do not match.', 'paid-memberships-pro' );
625
+ } elseif ( ! empty( $pass1 ) && ! wp_check_password( $password_current, $current_user->user_pass, $current_user->ID ) ) {
626
+ $error = __( 'Your current password is incorrect.', 'paid-memberships-pro' );
627
+ }
628
+
629
+ // Change the password.
630
+ if ( ! empty( $pass1 ) && empty( $error ) ) {
631
+ wp_set_password( $pass1, $current_user->ID );
632
+
633
+ //setting some cookies
634
+ wp_set_current_user( $current_user->ID, $current_user->user_login );
635
+ wp_set_auth_cookie( $current_user->ID, true, apply_filters( 'pmpro_checkout_signon_secure', force_ssl_admin() ) );
636
+
637
+ pmpro_setMessage( __( 'Your password has been updated.', 'paid-memberships-pro' ), 'pmpro_success' );
638
+ } else {
639
+ pmpro_setMessage( $error, 'pmpro_error' );
640
+ }
641
+ }
642
+ add_action( 'init', 'pmpro_change_password_process' );
643
+
644
+
645
+ /**
646
+ * Display a frontend Change Password form and allow user to edit their password when logged in.
647
+ *
648
+ * @since 2.3
649
+ */
650
+ function pmpro_change_password_form() {
651
+ global $current_user, $pmpro_msg, $pmpro_msgt;
652
+ ?>
653
+ <h2><?php _e( 'Change Password', 'paid-memberships-pro' ); ?></h2>
654
+ <?php if ( ! empty( $pmpro_msg ) ) { ?>
655
+ <div class="pmpro_message <?php echo esc_attr( $pmpro_msgt ); ?>">
656
+ <?php echo esc_html( $pmpro_msg ); ?>
657
+ </div>
658
+ <?php } ?>
659
+ <div class="pmpro_change_password_wrap">
660
+ <form id="change-password" class="pmpro_form" action="" method="post">
661
+
662
+ <?php wp_nonce_field( 'change-password-user_' . $current_user->ID, 'change_password_user_nonce' ); ?>
663
+
664
+ <div class="pmpro_checkout_box-password">
665
+ <div class="pmpro_change_password-fields">
666
+ <div class="pmpro_change_password-field pmpro_change_password-field-password_current">
667
+ <label for="password_current"><?php _e( 'Current Password', 'paid-memberships-pro' ); ?></label></th>
668
+ <input type="password" name="password_current" id="password_current" value="" class="input <?php echo pmpro_getClassForField( 'password_current' );?>" />
669
+ <span class="pmpro_asterisk"> <abbr title="<?php _e( 'Required Field', 'paid-memberships-pro' ); ?>">*</abbr></span>
670
+ </div> <!-- end pmpro_change_password-field-password_current -->
671
+ <div class="pmpro_change_password-field pmpro_change_password-field-pass1">
672
+ <label for="pass1"><?php _e( 'New Password', 'paid-memberships-pro' ); ?></label></th>
673
+ <input type="password" name="pass1" id="pass1" value="" class="input pass1 <?php echo pmpro_getClassForField( 'pass1' );?>" autocomplete="off" />
674
+ <span class="pmpro_asterisk"> <abbr title="<?php _e( 'Required Field', 'paid-memberships-pro' ); ?>">*</abbr></span>
675
+ <div id="pass-strength-result" class="hide-if-no-js" aria-live="polite"><?php _e( 'Strength Indicator', 'paid-memberships-pro' ); ?></div>
676
+ <p class="lite"><?php echo wp_get_password_hint(); ?></p>
677
+ </div> <!-- end pmpro_change_password-field-pass1 -->
678
+ <div class="pmpro_change_password-field pmpro_change_password-field-pass2">
679
+ <label for="pass2"><?php _e( 'Confirm New Password', 'paid-memberships-pro' ); ?></label></th>
680
+ <input type="password" name="pass2" id="pass2" value="" class="input <?php echo pmpro_getClassForField( 'pass2' );?>" autocomplete="off" />
681
+ <span class="pmpro_asterisk"> <abbr title="<?php _e( 'Required Field', 'paid-memberships-pro' ); ?>">*</abbr></span>
682
+ </div> <!-- end pmpro_change_password-field-pass2 -->
683
+ </div> <!-- end pmpro_change_password-fields -->
684
+ </div> <!-- end pmpro_checkout_box-password -->
685
+
686
+ <input type="hidden" name="action" value="change-password" />
687
+ <input type="hidden" name="user_id" value="<?php echo esc_attr( $current_user->ID ); ?>" />
688
+ <div class="pmpro_submit">
689
+ <hr />
690
+ <input type="submit" class="pmpro_btn pmpro_btn-submit" value="<?php esc_attr_e('Change Password', 'paid-memberships-pro' );?>" />
691
+ <input type="button" name="cancel" class="pmpro_btn pmpro_btn-cancel" value="<?php esc_attr_e('Cancel', 'paid-memberships-pro' );?>" onclick="location.href='<?php echo esc_url( pmpro_url( 'account') ); ?>';" />
692
+ </div>
693
+ </form>
694
+ </div> <!-- end pmpro_change_password_wrap -->
695
+ <?php
696
+ }
includes/rest-api.php CHANGED
@@ -2,13 +2,16 @@
2
 
3
  if ( class_exists( 'WP_REST_Controller' ) ) {
4
  class PMPro_REST_API_Routes extends WP_REST_Controller {
 
5
  public function pmpro_rest_api_register_routes() {
 
 
6
  $namespace = 'wp/v2';
7
  register_rest_route( $namespace, '/users/(?P<id>\d+)'.'/pmpro_membership_level' ,
8
  array(
9
  array(
10
  'methods' => WP_REST_Server::READABLE,
11
- 'callback' => array( $this, 'pmpro_rest_api_get_user_level' ),
12
  'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
13
  ),));
14
 
@@ -19,40 +22,505 @@ if ( class_exists( 'WP_REST_Controller' ) ) {
19
  'callback' => array( $this, 'pmpro_rest_api_get_has_membership_access' ),
20
  'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
21
  ),));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  }
23
 
24
- //Ex:http://example.com/wp-json/wp/v2/users/2/pmpro_membership_level
25
- function pmpro_rest_api_get_user_level($request) {
 
 
 
 
26
  $params = $request->get_params();
27
 
28
- $user_id = $params['id'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
- $level = pmpro_getMembershipLevelForUser($user_id);
31
- if ( ! empty( $level ) ) {
32
- $level = (array)$level;
 
 
33
  }
34
- return new WP_REST_Response($level, 200 );
 
 
 
35
  }
36
 
37
- //Ex: http://example.com/wp-json/wp/v2/posts/58/user_id/2/pmpro_has_membership_access
 
 
 
 
 
38
  function pmpro_rest_api_get_has_membership_access($request) {
39
  $params = $request->get_params();
40
- $post_id = $params['post_id'];
41
- $user_id = $params['user_id'];
 
 
 
 
 
 
 
 
 
 
42
 
43
- $has_access = pmpro_has_membership_access($post_id, $user_id);
44
- return $has_access;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  }
46
 
47
- function pmpro_rest_api_get_permissions_check($request) {
48
- return current_user_can('edit_users');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  }
50
- }
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  function pmpro_rest_api_register_custom_routes() {
53
  $pmpro_rest_api_routes = new PMPro_REST_API_Routes;
54
  $pmpro_rest_api_routes->pmpro_rest_api_register_routes();
55
  }
56
 
57
  add_action( 'rest_api_init', 'pmpro_rest_api_register_custom_routes', 5 );
 
 
 
 
 
 
 
 
 
 
 
58
  }
2
 
3
  if ( class_exists( 'WP_REST_Controller' ) ) {
4
  class PMPro_REST_API_Routes extends WP_REST_Controller {
5
+
6
  public function pmpro_rest_api_register_routes() {
7
+
8
+ // ================ DEPRECATED ================ //
9
  $namespace = 'wp/v2';
10
  register_rest_route( $namespace, '/users/(?P<id>\d+)'.'/pmpro_membership_level' ,
11
  array(
12
  array(
13
  'methods' => WP_REST_Server::READABLE,
14
+ 'callback' => array( $this, 'pmpro_rest_api_get_membership_level_for_user' ),
15
  'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
16
  ),));
17
 
22
  'callback' => array( $this, 'pmpro_rest_api_get_has_membership_access' ),
23
  'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
24
  ),));
25
+ // ================================================ //
26
+
27
+ $pmpro_namespace = 'pmpro/v1';
28
+
29
+ /**
30
+ * Get user access for a specific post.
31
+ * @since 2.3
32
+ * Example: https://example.com/wp-json/pmpro/v1/has_membership_access
33
+ */
34
+ register_rest_route( $pmpro_namespace, '/has_membership_access',
35
+ array(
36
+ array(
37
+ 'methods' => WP_REST_Server::READABLE,
38
+ 'callback' => array( $this, 'pmpro_rest_api_get_has_membership_access'),
39
+ 'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
40
+ )));
41
+
42
+ /**
43
+ * Get a membership level for a user.
44
+ * @since 2.3
45
+ * Example: https://example.com/wp-json/pmpro/v1/get_membership_level_for_user
46
+ */
47
+ register_rest_route( $pmpro_namespace, '/get_membership_level_for_user',
48
+ array(
49
+ array(
50
+ 'methods' => WP_REST_Server::READABLE,
51
+ 'callback' => array( $this, 'pmpro_rest_api_get_membership_level_for_user' ),
52
+ 'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
53
+ ),));
54
+
55
+ /**
56
+ * Get a membership level for a user.
57
+ * @since 2.3
58
+ * Example: https://example.com/wp-json/pmpro/v1/get_membership_levels_for_user
59
+ */
60
+ register_rest_route( $pmpro_namespace, '/get_membership_levels_for_user',
61
+ array(
62
+ array(
63
+ 'methods' => WP_REST_Server::READABLE,
64
+ 'callback' => array( $this, 'pmpro_rest_api_get_membership_levels_for_user' ),
65
+ 'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
66
+ ),));
67
+
68
+
69
+ /**
70
+ * Change a user's membership level. This also supports to cancel a membership if you pass through 0.
71
+ * @since 2.3
72
+ * Example: https://example.com/wp-json/pmpro/v1/change_membership_level
73
+ */
74
+ register_rest_route( $pmpro_namespace, '/change_membership_level',
75
+ array(
76
+ array(
77
+ 'methods' => 'POST,PUT,PATCH',
78
+ 'callback' => array( $this, 'pmpro_rest_api_change_membership_level' ),
79
+ 'args' => array(
80
+ 'user_id' => array(),
81
+ 'level_id' => array()
82
+ ),
83
+ 'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
84
+ )
85
+ )
86
+ );
87
+
88
+ /**
89
+ * Cancel a membership level.
90
+ * @since 2.3
91
+ * Example: https://example.com/wp-json/pmpro/v1/cancel_membership_level
92
+ */
93
+ register_rest_route( $pmpro_namespace, '/cancel_membership_level',
94
+ array(
95
+ array(
96
+ 'methods' => 'POST,PUT,PATCH',
97
+ 'callback' => array( $this, 'pmpro_rest_api_cancel_membership_level' ),
98
+ 'args' => array(
99
+ 'user_id' => array(),
100
+ 'level_id' => array()
101
+ ),
102
+ 'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
103
+ )
104
+ )
105
+ );
106
+
107
+ /**
108
+ * Delete/Retrieve/Update/Create a Membership Level.
109
+ * @since 2.3
110
+ * Example: https://example.com/wp-json/pmpro/v1/membership_level
111
+ */
112
+ register_rest_route( $pmpro_namespace, '/membership_level' ,
113
+ array(
114
+ array(
115
+ 'methods' => WP_REST_Server::READABLE,
116
+ 'callback' => array( $this, 'pmpro_rest_api_get_membership_level' ),
117
+ 'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
118
+ ),
119
+ array(
120
+ 'methods' => 'POST,PUT,PATCH',
121
+ 'callback' => array( $this, 'pmpro_rest_api_set_membership_level' ),
122
+ 'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
123
+ ),
124
+ array(
125
+ 'methods' => 'DELETE',
126
+ 'callback' => array( $this, 'pmpro_rest_api_delete_membership_level' ),
127
+ 'permission_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' ),
128
+ )
129
+ ));
130
+
131
+ /**
132
+ * Create/Retrieve discount code.
133
+ * @since 2.3
134
+ * Example: https://example.com/wp-json/pmpro/v1/discount_code
135
+ */
136
+ register_rest_route( $pmpro_namespace, '/discount_code',
137
+ array(
138
+ array(
139
+ 'methods' => WP_REST_Server::READABLE,
140
+ 'callback' => array( $this, 'pmpro_rest_api_get_discount_code' ),
141
+ 'permissions_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' )
142
+ ),
143
+ array(
144
+ 'methods' => 'POST,PUT,PATCH',
145
+ 'callback' => array( $this, 'pmpro_rest_api_set_discount_code' ),
146
+ 'permissions_callback' => array( $this, 'pmpro_rest_api_get_permissions_check' )
147
+ ),
148
+ ));
149
+
150
  }
151
 
152
+ /**
153
+ * Get user's membership level.
154
+ * @since 2.3
155
+ * Example: https://example.com/wp-json/pmpro/v1/get_membership_level_for_user?user_id=1
156
+ */
157
+ function pmpro_rest_api_get_membership_level_for_user($request) {
158
  $params = $request->get_params();
159
 
160
+ $user_id = isset( $params['user_id'] ) ? $params['user_id'] : null;
161
+
162
+ if ( empty( $user_id ) && !empty( $params['email'] ) ) {
163
+ $user = get_user_by_email( $params['email'] );
164
+ $user_id = $user->ID;
165
+ }
166
+
167
+ $level = pmpro_getMembershipLevelForUser( $user_id );
168
+
169
+ return new WP_REST_Response( $level, 200 );
170
+ }
171
+
172
+ /**
173
+ * Get user's membership levels. (MMPU)
174
+ * @since 2.3
175
+ * Example: https://example.com/wp-json/pmpro/v1/get_membership_levels_for_user?user_id=1
176
+ */
177
+ function pmpro_rest_api_get_membership_levels_for_user($request) {
178
+ $params = $request->get_params();
179
 
180
+ $user_id = isset( $params['user_id'] ) ? $params['user_id'] : null;
181
+
182
+ if ( empty( $user_id ) && !empty( $params['email'] ) ) {
183
+ $user = get_user_by_email( $params['email'] );
184
+ $user_id = $user->ID;
185
  }
186
+
187
+ $levels = pmpro_getMembershipLevelsForUser( $user_id );
188
+
189
+ return new WP_REST_Response( $levels, 200 );
190
  }
191
 
192
+ /**
193
+ * Get user's access status for a specific post.
194
+ * @since 2.3
195
+ * Example: https://example.com/wp-json/wp/v2/posts/58/user_id/2/pmpro_has_membership_access
196
+ * Example: https://example.com/wp-json/pmpro/v1/has_membership_access?post_id=58&user_id=2
197
+ */
198
  function pmpro_rest_api_get_has_membership_access($request) {
199
  $params = $request->get_params();
200
+ $post_id = isset( $params['post_id'] ) ? $params['post_id'] : null;
201
+ $user_id = isset( $params['user_id'] ) ? $params['user_id'] : null;
202
+
203
+ if ( empty( $user_id ) ) {
204
+ // see if they sent an email
205
+ if ( ! empty( $params['email'] ) ) {
206
+ $user = get_user_by_email( $params['email'] );
207
+ $user_id = $user->ID;
208
+ } else {
209
+ return new WP_REST_Response( 'No user information passed through.', 404 );
210
+ }
211
+ }
212
 
213
+ $has_access = pmpro_has_membership_access( $post_id, $user_id );
214
+ return new WP_REST_Response( $has_access, 200 );
215
+ }
216
+
217
+ /**
218
+ * Change a user's membership level.
219
+ * @since 2.3
220
+ * Example: https://example.com/wp-json/pmpro/v1/change_membership_level
221
+ */
222
+ function pmpro_rest_api_change_membership_level( $request ) {
223
+ $params = $request->get_params();
224
+ $user_id = isset( $params['user_id'] ) ? $params['user_id'] : null;
225
+ $level_id = isset( $params['level_id'] ) ? $params['level_id'] : null;
226
+
227
+ if ( empty( $user_id ) ) {
228
+ // see if they sent an email
229
+ if ( ! empty( $params['email'] ) ) {
230
+ $user = get_user_by_email( $params['email'] );
231
+ $user_id = $user->ID;
232
+ } else {
233
+ return new WP_REST_Response( 'No user information passed through.', 404 );
234
+ }
235
+ }
236
+
237
+ if ( ! function_exists( 'pmpro_changeMembershipLevel' ) ) {
238
+ return new WP_REST_Response( 'Paid Memberships Pro function not found.', 404 );
239
+ }
240
+
241
+ return new WP_REST_Response( pmpro_changeMembershipLevel( $level_id, $user_id ), 200 );
242
+ }
243
+
244
+ /**
245
+ * Cancel a user's membership level.
246
+ * @since 2.3
247
+ * Example: https://example.com/wp-json/pmpro/v1/cancel_membership_level
248
+ */
249
+ function pmpro_rest_api_cancel_membership_level( $request ) {
250
+ $params = $request->get_params();
251
+ $user_id = isset( $params['user_id'] ) ? $params['user_id'] : null;
252
+ $level_id = isset( $params['level_id'] ) ? $params['level_id'] : null;
253
+
254
+ if ( empty( $user_id ) ) {
255
+ // see if they sent an email
256
+ if ( ! empty( $params['email'] ) ) {
257
+ $user = get_user_by_email( $params['email'] );
258
+ $user_id = $user->ID;
259
+ } else {
260
+ return new WP_REST_Response( 'No user information passed through.', 404 );
261
+ }
262
+ }
263
+
264
+ if ( empty( $level_id ) ) {
265
+ return new WP_REST_Response( 'No membership level ID data.', 400 );
266
+ }
267
+
268
+ if ( ! function_exists( 'pmpro_cancelMembershipLevel' ) ) {
269
+ return new WP_REST_Response( 'Paid Memberships Pro function not found.', 404 );
270
+ }
271
+
272
+ return new WP_REST_Response( pmpro_cancelMembershipLevel( $level_id, $user_id, 'inactive' ), 200 );
273
  }
274
 
275
+ /**
276
+ * Endpoint to get membership level data
277
+ * @since 2.3
278
+ * Example: https://example.com/wp-json/pmpro/v1/membership_level/
279
+ */
280
+ function pmpro_rest_api_get_membership_level( $request ) {
281
+
282
+ if ( ! class_exists( 'PMPro_Membership_Level' ) ) {
283
+ return new WP_REST_Response( 'Paid Memberships Pro level class not found.', 404 );
284
+ }
285
+
286
+ $params = $request->get_params();
287
+ $id = isset( $params['id'] ) ? intval( $params['id'] ) : null;
288
+
289
+ if ( empty( $id ) ) {
290
+ return new WP_REST_Response( 'ID not passed through', 400 );
291
+ }
292
+
293
+ return new WP_REST_Response( new PMPro_Membership_Level( $id ), 200 );
294
  }
 
295
 
296
+ /**
297
+ * Create/Update a Membership Level
298
+ * @since 2.3
299
+ * Example: https://example.com/wp-json/pmpro/v1/membership_level/
300
+ */
301
+ function pmpro_rest_api_set_membership_level( $request ) {
302
+
303
+ if ( ! class_exists( 'PMPro_Membership_Level' ) ) {
304
+ return new WP_REST_Response( 'Paid Memberships Pro level class not found.', 404 );
305
+ }
306
+
307
+ $params = $request->get_params();
308
+ $method = $request->get_method();
309
+
310
+ $id = isset( $params['id'] ) ? intval( $params['id'] ) : '';
311
+
312
+ // Pass through an ID only for PUT/PATCH methods. POST treats it as a brand new level.
313
+ if ( ! empty( $id ) && ( $method === 'PUT' || $method === 'PATCH' ) ) {
314
+ $level = new PMPro_Membership_Level( $id );
315
+ } elseif ( empty( $id ) && ( $method === 'PUT' || $method === 'PATCH' ) ) {
316
+ return false; // Error trying to update
317
+ } elseif ( $method === 'POST' ) {
318
+ $level = new PMPro_Membership_Level();
319
+ }
320
+
321
+ $name = isset( $params['name'] ) ? sanitize_text_field( $params['name'] ) : $level->name;
322
+ $description = isset( $params['description'] ) ? sanitize_text_field( $params['description'] ) : $level->description;
323
+ $confirmation = isset( $params['confirmation'] ) ? sanitize_text_field( $params['confirmation'] ) : $level->confirmation;
324
+ $initial_payment = isset( $params['initial_payment'] ) ? floatval( $params['initial_payment'] ) : $level->initial_payment;
325
+ $billing_amount = isset( $params['billing_amount'] ) ? floatval( $params['billing_amount'] ) : $level->billing_amount;
326
+ $cycle_number = isset( $params['cycle_number'] ) ? intval( $params['cycle_number'] ) : $level->cycle_number;
327
+ $cycle_period = isset( $params['cycle_period'] ) ? sanitize_text_field( $params['cycle_period'] ) : $level->cycle_period;
328
+ $billing_limit = isset( $params['billing_limit'] ) ? sanitize_text_field( $params['billing_limit'] ) : $level->billing_limit;
329
+ $trial_amount = isset( $params['trial_amount'] ) ? floatval( $params['trial_amount'] ) : $level->trial_amount;
330
+ $trial_limit = isset( $params['trial_limit'] ) ? floatval( $params['trial_limit'] ) : $level->trial_limit;
331
+ $allow_signups = isset( $params['allow_signups'] ) ? intval( $params['allow_signups'] ) : $level->allow_signups;
332
+ $expiration_number = isset( $params['expiration_number'] ) ? intval( $params['expiration_number'] ) : $level->expiration_number;
333
+ $expiration_period = isset( $params['expiration_period'] ) ? intval( $params['expiration_period'] ) : $level->expiration_period;
334
+ $categories = isset( $params['categories'] ) ? PMPro_REST_API_Routes::pmpro_rest_api_convert_to_array( sanitize_text_field( $params['categories'] ) ) : $level->categories;
335
+
336
+ // Set Level Object and save it.
337
+ $level->name = $name;
338
+ $level->description = $description;
339
+ $level->confirmation = $confirmation;
340
+ $level->initial_payment = $initial_payment;
341
+ $level->billing_amount = $billing_amount;
342
+ $level->cycle_number = $cycle_number;
343
+ $level->billing_limit = $billing_limit;
344
+ $level->trial_amount = $trial_amount;
345
+ $level->allow_signups = $allow_signups;
346
+ $level->expiration_number = $expiration_number;
347
+ $level->expiration_period = $expiration_period;
348
+ $level->categories = $categories;
349
+ $level->save();
350
+
351
+ return new WP_REST_Response( $level, 200 );
352
+
353
+ }
354
+
355
+ /**
356
+ * Delete membership level and remove users from level. (And cancel their subscription.)
357
+ * @since 2.3
358
+ * Example: https://example.com/wp-json/pmpro/v1/membership_level/
359
+ */
360
+ function pmpro_rest_api_delete_membership_level( $request ) {
361
+
362
+ if ( ! class_exists( 'PMPro_Membership_Level' ) ) {
363
+ return new WP_REST_Response( 'Paid Memberships Pro level class not found.', 404 );
364
+ }
365
+
366
+ $params = $request->get_params();
367
+ $id = isset( $params['id'] ) ? intval( $params['id'] ) : '';
368
+
369
+ if ( empty( $id ) ) {
370
+ return new WP_REST_Response( 'ID not passed through.', 400 );
371
+ }
372
+
373
+ $level = new PMPro_Membership_Level( $id );
374
+
375
+ return new WP_REST_Response( $level->delete(), 200 );
376
+ }
377
+
378
+ /**
379
+ * Get a discount code
380
+ * @since 2.3
381
+ * Example: https://example.com/wp-json/pmpro/v1/discount_code
382
+ */
383
+ function pmpro_rest_api_get_discount_code( $request ) {
384
+ if ( ! class_exists( 'PMPro_Discount_Code' ) ) {
385
+ return new WP_REST_Response( 'Paid Memberships Pro discount code class not found.', 404 );
386
+ }
387
+
388
+ $params = $request->get_params();
389
+ $code = isset( $params['code'] ) ? $params['code'] : null;
390
+
391
+ if ( empty( $code ) ) {
392
+ return new WP_REST_Response( 'No discount code sent.', 400 );
393
+ }
394
+
395
+ return new WP_REST_Response( new PMPro_Discount_Code( $code ), 200 );
396
+
397
+ }
398
+
399
+ /**
400
+ * Create/update a discount code.
401
+ * @since 2.3
402
+ * Example: https://example.com/wp-json/pmpro/v1/discount_code
403
+ */
404
+ function pmpro_rest_api_set_discount_code( $request ) {
405
+
406
+ if ( ! class_exists( 'PMPro_Discount_Code' ) ) {
407
+ return new WP_REST_Response( 'Paid Memberships Pro discount code class not found.', 404 );
408
+ }
409
+
410
+ $params = $request->get_params();
411
+ $method = $request->get_method();
412
+ $code = isset( $params['code'] ) ? sanitize_text_field( $params['code'] ) : '';
413
+ $uses = isset( $params['uses'] ) ? intval( $params['uses'] ) : '';
414
+ $starts = isset( $params['starts'] ) ? sanitize_text_field( $params['starts'] ) : '';
415
+ $expires = isset( $params['expires'] ) ? sanitize_text_field( $params['expires'] ) : '';
416
+ $levels = isset( $params['levels'] ) ? $params['levels'] : null;
417
+
418
+ if ( ! empty( $levels ) ) {
419
+ $levels = json_decode( $levels, true );
420
+
421
+ if ( is_array( $levels ) ) {
422
+ $levels_array = array();
423
+ foreach( $levels as $level ){
424
+ $levels_array[$level['level']] = array(
425
+ 'initial_payment' => isset( $level['initial_payment'] ) ? $level['initial_payment'] : null,
426
+ 'billing_amount' => isset( $level['billing_amount'] ) ? $level['billing_amount'] : null,
427
+ 'cycle_number' => isset( $level['cycle_number'] ) ? $level['cycle_number'] : null,
428
+ 'cycle_period' => isset( $level['cycle_period'] ) ? $level['cycle_period'] : null,
429
+ 'billing_limit' => isset( $level['cycle_period'] ) ? $level['cycle_period'] : null,
430
+ 'custom_trial' => isset( $level['custom_trial'] ) ? $level['custom_trial'] : null,
431
+ 'trial_amount' => isset( $level['trial_amount'] ) ? $level['trial_amount'] : null,
432
+ 'trial_limit' => isset( $level['trial_limit'] ) ? $level['trial_limit'] : null,
433
+ 'expiration_number' => isset( $level['expiration_number'] ) ? : null,
434
+ 'expiration_period' => isset( $level['expiration_period'] ) ? : null
435
+ );
436
+ }
437
+ }
438
+ }
439
+
440
+ $discount_code = new PMPro_Discount_Code();
441
+
442
+ // See if code already exists when POSTING.
443
+ if ( $method == 'POST' && ! empty( $code ) ) {
444
+ // See if discount code exists.
445
+ if ( is_numeric( $code ) ) {
446
+ $discount_code->get_discount_code_by_id( $code );
447
+ } else {
448
+ $discount_code->get_discount_code_by_code( $code );
449
+ }
450
+
451
+ if ( ! empty( $discount_code->id ) ) {
452
+ return new WP_REST_Response( 'Discount code already exists.', 400 );
453
+ }
454
+ }
455
+
456
+ $discount_code->code = $code;
457
+ $discount_code->starts = $starts;
458
+ $discount_code->ends = $expires;
459
+ $discount_code->uses = $uses;
460
+ $discount_code->levels = !empty( $levels_array ) ? $levels_array : $levels;
461
+ $discount_code->save();
462
+
463
+ return new WP_REST_Response( $discount_code, 200 );
464
+ }
465
+
466
+ /**
467
+ * Default permissions check for endpoints/routes.
468
+ * Defaults to 'subscriber' for all GET requests and
469
+ * 'administrator' for any other type of request.
470
+ *
471
+ * @since 2.3
472
+ */
473
+ function pmpro_rest_api_get_permissions_check($request) {
474
+
475
+ $method = $request->get_method();
476
+ $endpoint = $request->get_endpoint();
477
+
478
+ // default permissions to 'read' (subscriber)
479
+ $permissions = current_user_can('read');
480
+ if ( $method != 'GET' ) {
481
+ $permissions = current_user_can('pmpro_edit_memberships'); //Assume they can edit membership levels.
482
+ }
483
+
484
+ // Is the request method allowed?
485
+ if ( ! in_array( $method, pmpro_get_rest_api_methods( $endpoint ) ) ) {
486
+ $permissions = false;
487
+ }
488
+
489
+ $permissions = apply_filters( 'pmpro_rest_api_permissions', $permissions, $request );
490
+
491
+ return $permissions;
492
+ }
493
+
494
+ /**
495
+ * Helper function to convert comma separated items to an array.
496
+ * @since 2.3
497
+ */
498
+ function pmpro_rest_api_convert_to_array( $string ) {
499
+ return explode( ',', $string );
500
+ }
501
+
502
+
503
+ } // End of class
504
+
505
+ /**
506
+ * Register the routes for Paid Memberships Pro.
507
+ * @since 2.3
508
+ */
509
  function pmpro_rest_api_register_custom_routes() {
510
  $pmpro_rest_api_routes = new PMPro_REST_API_Routes;
511
  $pmpro_rest_api_routes->pmpro_rest_api_register_routes();
512
  }
513
 
514
  add_action( 'rest_api_init', 'pmpro_rest_api_register_custom_routes', 5 );
515
+ }
516
+
517
+ /**
518
+ * Get the allowed methods for PMPro REST API endpoints.
519
+ * To enable DELETE, hook into this filter.
520
+ * @since 2.3
521
+ */
522
+ function pmpro_get_rest_api_methods( $endpoint = NULL ) {
523
+ $methods = array( 'GET', 'POST', 'PUT', 'PATCH' );
524
+ $methods = apply_filters( 'pmpro_rest_api_methods', $methods, $endpoint );
525
+ return $methods;
526
  }
includes/scripts.php CHANGED
@@ -3,6 +3,8 @@
3
  * Enqueue frontend JavaScript and CSS
4
  */
5
  function pmpro_enqueue_scripts() {
 
 
6
  // Frontend styles.
7
  $frontend_css_rtl = false;
8
  if(file_exists(get_stylesheet_directory() . "/paid-memberships-pro/css/frontend.css")) {
@@ -50,6 +52,29 @@ function pmpro_enqueue_scripts() {
50
  ));
51
  wp_enqueue_script( 'pmpro_checkout' );
52
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  }
54
  add_action( 'wp_enqueue_scripts', 'pmpro_enqueue_scripts' );
55
 
3
  * Enqueue frontend JavaScript and CSS
4
  */
5
  function pmpro_enqueue_scripts() {
6
+ global $pmpro_pages;
7
+
8
  // Frontend styles.
9
  $frontend_css_rtl = false;
10
  if(file_exists(get_stylesheet_directory() . "/paid-memberships-pro/css/frontend.css")) {
52
  ));
53
  wp_enqueue_script( 'pmpro_checkout' );
54
  }
55
+
56
+ // Change Password page JS
57
+ $is_change_pass_page = ! empty( $pmpro_pages['member_profile_edit'] )
58
+ && is_page( $pmpro_pages['member_profile_edit'] )
59
+ && ! empty( $_REQUEST['view'] )
60
+ && $_REQUEST['view'] === 'change-password';
61
+ $is_reset_pass_page = ! empty( $pmpro_pages['login'] )
62
+ && is_page( $pmpro_pages['login'] )
63
+ && ! empty( $_REQUEST['action'] )
64
+ && $_REQUEST['action'] === 'rp';
65
+
66
+ if ( $is_change_pass_page || $is_reset_pass_page ) {
67
+ wp_register_script( 'pmpro_login',
68
+ plugins_url( 'js/pmpro-login.js', dirname(__FILE__) ),
69
+ array( 'jquery', 'password-strength-meter' ),
70
+ PMPRO_VERSION );
71
+
72
+ wp_localize_script( 'pmpro_login', 'pmpro', array(
73
+ 'pmpro_login_page' => 'changepassword',
74
+ 'strength_indicator_text' => __( 'Strength Indicator', 'paid-memberships-pro' ),
75
+ ));
76
+ wp_enqueue_script( 'pmpro_login' );
77
+ }
78
  }
79
  add_action( 'wp_enqueue_scripts', 'pmpro_enqueue_scripts' );
80
 
includes/updates/upgrade_1.php CHANGED
@@ -4,14 +4,13 @@ function pmpro_upgrade_1()
4
  /*
5
  default options
6
  */
7
- $nonmembertext = sprintf( __( 'This content is for !!levels!! members only.<br /><a href="%s">Register</a>', 'paid-memberships-pro' ), wp_login_url() . "?action=register" );
8
  pmpro_setOption("nonmembertext", $nonmembertext);
9
 
10
- $notloggedintext = sprintf( __( 'This content is for !!levels!! members only.<br /><a href="%s">Log In</a> <a href="%s">Register</a>', 'paid-memberships-pro' ), wp_login_url(), wp_login_url() . "?action=register" );
11
- '?action=register">Register</a>';
12
  pmpro_setOption("notloggedintext", $notloggedintext);
13
 
14
- $rsstext = __( "This content is for !!levels!! members only. Visit the site and log in/register to read.", 'paid-memberships-pro' );
15
  pmpro_setOption("rsstext", $rsstext);
16
 
17
  $gateway_environment = "sandbox";
4
  /*
5
  default options
6
  */
7
+ $nonmembertext = sprintf( __( 'This content is for !!levels!! members only.<br /><a href="%s">Join Now</a>', 'paid-memberships-pro' ), "!!levels_page_url!!" );
8
  pmpro_setOption("nonmembertext", $nonmembertext);
9
 
10
+ $notloggedintext = sprintf( __( 'This content is for !!levels!! members only.<br /><a href="%s">Login</a> <a href="%s">Join Now</a>', 'paid-memberships-pro' ), '!!login_url!!', "!!levels_page_url!!" );
 
11
  pmpro_setOption("notloggedintext", $notloggedintext);
12
 
13
+ $rsstext = __( 'This content is for members only. Visit the site and log in/register to read.', 'paid-memberships-pro' );
14
  pmpro_setOption("rsstext", $rsstext);
15
 
16
  $gateway_environment = "sandbox";
includes/upgradecheck.php CHANGED
@@ -232,6 +232,11 @@ function pmpro_checkForUpgrades()
232
  $pmpro_db_version = 2.1;
233
  pmpro_setOption( 'db_version', '2.1' );
234
  }
 
 
 
 
 
235
  }
236
 
237
  function pmpro_db_delta()
@@ -267,7 +272,7 @@ function pmpro_db_delta()
267
  `allow_signups` tinyint(4) NOT NULL DEFAULT '1',
268
  `expiration_number` int(10) unsigned NOT NULL,
269
  `expiration_period` enum('Day','Week','Month','Year') NOT NULL,
270
- PRIMARY KEY (`id`),
271
  KEY `allow_signups` (`allow_signups`),
272
  KEY `initial_payment` (`initial_payment`),
273
  KEY `name` (`name`)
@@ -312,7 +317,7 @@ function pmpro_db_delta()
312
  `affiliate_id` varchar(32) NOT NULL,
313
  `affiliate_subid` varchar(32) NOT NULL,
314
  `notes` TEXT NOT NULL,
315
- PRIMARY KEY (`id`),
316
  UNIQUE KEY `code` (`code`),
317
  KEY `session_id` (`session_id`),
318
  KEY `user_id` (`user_id`),
@@ -372,7 +377,7 @@ function pmpro_db_delta()
372
  `startdate` datetime NOT NULL,
373
  `enddate` datetime DEFAULT NULL,
374
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
375
- PRIMARY KEY (`id`),
376
  KEY `membership_id` (`membership_id`),
377
  KEY `modified` (`modified`),
378
  KEY `code_id` (`code_id`),
@@ -391,7 +396,7 @@ function pmpro_db_delta()
391
  `starts` date NOT NULL,
392
  `expires` date NOT NULL,
393
  `uses` int(11) NOT NULL,
394
- PRIMARY KEY (`id`),
395
  UNIQUE KEY `code` (`code`),
396
  KEY `starts` (`starts`),
397
  KEY `expires` (`expires`)
@@ -413,7 +418,7 @@ function pmpro_db_delta()
413
  `trial_limit` int(11) NOT NULL DEFAULT '0',
414
  `expiration_number` int(10) unsigned NOT NULL,
415
  `expiration_period` enum('Day','Week','Month','Year') NOT NULL,
416
- PRIMARY KEY (`code_id`,`level_id`),
417
  KEY `initial_payment` (`initial_payment`)
418
  );
419
  ";
@@ -427,7 +432,7 @@ function pmpro_db_delta()
427
  `user_id` int(10) unsigned NOT NULL,
428
  `order_id` int(10) unsigned NOT NULL,
429
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
430
- PRIMARY KEY (`id`),
431
  KEY `user_id` (`user_id`),
432
  KEY `timestamp` (`timestamp`)
433
  );
232
  $pmpro_db_version = 2.1;
233
  pmpro_setOption( 'db_version', '2.1' );
234
  }
235
+
236
+ if ( $pmpro_db_version < 2.3 ) {
237
+ pmpro_maybe_schedule_event( strtotime( '10:30:00' ) - ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ), 'daily', 'pmpro_cron_admin_activity_email' );
238
+ pmpro_setOption( 'db_version', '2.3' );
239
+ }
240
  }
241
 
242
  function pmpro_db_delta()
272
  `allow_signups` tinyint(4) NOT NULL DEFAULT '1',
273
  `expiration_number` int(10) unsigned NOT NULL,
274
  `expiration_period` enum('Day','Week','Month','Year') NOT NULL,
275
+ PRIMARY KEY (`id`),
276
  KEY `allow_signups` (`allow_signups`),
277
  KEY `initial_payment` (`initial_payment`),
278
  KEY `name` (`name`)
317
  `affiliate_id` varchar(32) NOT NULL,
318
  `affiliate_subid` varchar(32) NOT NULL,
319
  `notes` TEXT NOT NULL,
320
+ PRIMARY KEY (`id`),
321
  UNIQUE KEY `code` (`code`),
322
  KEY `session_id` (`session_id`),
323
  KEY `user_id` (`user_id`),
377
  `startdate` datetime NOT NULL,
378
  `enddate` datetime DEFAULT NULL,
379
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
380
+ PRIMARY KEY (`id`),
381
  KEY `membership_id` (`membership_id`),
382
  KEY `modified` (`modified`),
383
  KEY `code_id` (`code_id`),
396
  `starts` date NOT NULL,
397
  `expires` date NOT NULL,
398
  `uses` int(11) NOT NULL,
399
+ PRIMARY KEY (`id`),
400
  UNIQUE KEY `code` (`code`),
401
  KEY `starts` (`starts`),
402
  KEY `expires` (`expires`)
418
  `trial_limit` int(11) NOT NULL DEFAULT '0',
419
  `expiration_number` int(10) unsigned NOT NULL,
420
  `expiration_period` enum('Day','Week','Month','Year') NOT NULL,
421
+ PRIMARY KEY (`code_id`,`level_id`),
422
  KEY `initial_payment` (`initial_payment`)
423
  );
424
  ";
432
  `user_id` int(10) unsigned NOT NULL,
433
  `order_id` int(10) unsigned NOT NULL,
434
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
435
+ PRIMARY KEY (`id`),
436
  KEY `user_id` (`user_id`),
437
  KEY `timestamp` (`timestamp`)
438
  );
includes/widgets.php ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Widgets for Paid Memberships Pro
4
+ *
5
+ */
6
+
7
+
8
+ /**
9
+ * Member Login Widget for Paid Memberships Pro
10
+ *
11
+ */
12
+ class PMPro_Widget_Member_Login extends WP_Widget {
13
+
14
+ function __construct() {
15
+ $widget_ops = array(
16
+ 'classname' => 'widget_pmpro_member_login',
17
+ 'description' => __( 'Display a login form and optional "Logged In" member content.', 'paid-memberships-pro' ),
18
+ );
19
+ parent::__construct( 'pmpro-member-login', esc_html__( 'Log In - PMPro', 'paid-memberships-pro' ), $widget_ops );
20
+ $this->alt_option_name = 'widget_pmpro_member_login';
21
+
22
+ add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
23
+ add_action( 'deleted_post', array( $this, 'flush_widget_cache' ) );
24
+ add_action( 'switch_theme', array( $this, 'flush_widget_cache' ) );
25
+ }
26
+
27
+ function widget( $args, $instance ) {
28
+ $cache = array();
29
+ if ( ! $this->is_preview() ) {
30
+ $cache = wp_cache_get( 'widget_pmpro_member_login', 'widget' );
31
+ }
32
+
33
+ if ( ! is_array( $cache ) ) {
34
+ $cache = array();
35
+ }
36
+
37
+ if ( ! isset( $args['widget_id'] ) ) {
38
+ $args['widget_id'] = $this->id;
39
+ }
40
+
41
+ if ( isset( $cache[ $args['widget_id'] ] ) ) {
42
+ echo $cache[ $args['widget_id'] ];
43
+ return;
44
+ }
45
+
46
+ ob_start(); ?>
47
+
48
+ <?php
49
+ // Get widget settings for this instance.
50
+ extract( $args );
51
+
52
+ $display_if_logged_in = isset( $instance['display_if_logged_in'] ) ? $instance['display_if_logged_in'] : false;
53
+
54
+ $show_menu = isset( $instance['show_menu'] ) ? $instance['show_menu'] : false;
55
+
56
+ $show_logout_link = isset( $instance['show_logout_link'] ) ? $instance['show_logout_link'] : false;
57
+ ?>
58
+
59
+ <?php
60
+ // Display the widget if there is anything to show.
61
+ $content = pmpro_login_forms_handler( $show_menu, $show_logout_link, $display_if_logged_in, 'widget', false );
62
+ if ( ! empty( $content ) ) {
63
+ echo $before_widget;
64
+ echo $content;
65
+ echo $after_widget;
66
+ }
67
+ ?>
68
+
69
+ <?php if ( ! $this->is_preview() ) {
70
+ $cache[ $args['widget_id'] ] = ob_get_flush();
71
+ wp_cache_set( 'widget_pmpro_member_login', $cache, 'widget' );
72
+ } else {
73
+ ob_end_flush();
74
+ }
75
+ }
76
+
77
+ function update( $new_instance, $old_instance ) {
78
+ $instance = $old_instance;
79
+ $instance['display_if_logged_in'] = isset( $new_instance['display_if_logged_in'] ) ? (bool) $new_instance['display_if_logged_in'] : false;
80
+ $instance['show_menu'] = isset( $new_instance['show_menu'] ) ? (bool) $new_instance['show_menu'] : false;
81
+ $instance['show_logout_link'] = isset( $new_instance['show_logout_link'] ) ? (bool) $new_instance['show_logout_link'] : false;
82
+
83
+ $this->flush_widget_cache();
84
+
85
+ $alloptions = wp_cache_get( 'alloptions', 'options' );
86
+ if ( isset( $alloptions['widget_pmpro_member_login'] ) ) {
87
+ delete_option( 'widget_pmpro_member_login' );
88
+ }
89
+
90
+ return $instance;
91
+ }
92
+
93
+ function flush_widget_cache() {
94
+ wp_cache_delete( 'widget_pmpro_member_login', 'widget' );
95
+ }
96
+
97
+ function form( $instance ) {
98
+ $display_if_logged_in = isset( $instance['display_if_logged_in'] ) ? (bool) $instance['display_if_logged_in'] : false;
99
+ $show_menu = isset( $instance['show_menu'] ) ? (bool) $instance['show_menu'] : false;
100
+ $show_logout_link = isset( $instance['show_logout_link'] ) ? (bool) $instance['show_logout_link'] : false;
101
+ ?>
102
+ <p>
103
+ <input class="checkbox" type="checkbox" <?php checked( $display_if_logged_in ); ?> id="<?php echo $this->get_field_id( 'display_if_logged_in' ); ?>" name="<?php echo $this->get_field_name( 'display_if_logged_in' ); ?>" />
104
+ <label for="<?php echo $this->get_field_id( 'display_if_logged_in' ); ?>"><?php esc_html_e( 'Display "Welcome" content when logged in.', 'paid-memberships-pro' ); ?></label>
105
+ </p>
106
+
107
+ <p>
108
+ <input class="checkbox" type="checkbox" <?php checked( $show_logout_link ); ?> id="<?php echo $this->get_field_id( 'show_logout_link' ); ?>" name="<?php echo $this->get_field_name( 'show_logout_link' ); ?>" />
109
+ <label for="<?php echo $this->get_field_id( 'show_logout_link' ); ?>"><?php esc_html_e( 'Display a "Log Out" link.', 'paid-memberships-pro' ); ?></label>
110
+ </p>
111
+
112
+ <p>
113
+ <input class="checkbox" type="checkbox" <?php checked( $show_menu ); ?> id="<?php echo $this->get_field_id( 'show_menu' ); ?>" name="<?php echo $this->get_field_name( 'show_menu' ); ?>" />
114
+ <label for="<?php echo $this->get_field_id( 'show_menu' ); ?>"><?php esc_html_e( 'Display the "Log In Widget" menu.', 'paid-memberships-pro' ); ?></label>
115
+ </p>
116
+ <?php
117
+ $allowed_nav_menus_link_html = array (
118
+ 'a' => array (
119
+ 'href' => array(),
120
+ 'target' => array(),
121
+ 'title' => array(),
122
+ ),
123
+ );
124
+ echo '<p class="description">' . sprintf( wp_kses( __( 'Customize this menu per level using the <a href="%s" title="Paid Memberships Pro - Nav Menus Add On" target="_blank">Nav Menus Add On</a>. Assign the menu under Appearance > Menus.', 'paid-memberships-pro' ), $allowed_nav_menus_link_html ), 'https://www.paidmembershipspro.com/add-ons/pmpro-nav-menus/?utm_source=plugin&utm_medium=pmpro-membershiplevels&utm_campaign=add-ons&utm_content=nav-menus' ) . '</p>';
125
+ }
126
+ }
127
+ /* End Member Login Widget */
128
+
129
+ /**
130
+ * Register the Widgets
131
+ */
132
+ function pmpro_register_widgets() {
133
+ register_widget( 'PMPro_Widget_Member_Login' );
134
+ }
135
+ add_action( 'widgets_init', 'pmpro_register_widgets' );
js/blocks.build.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){var t={};function r(c){if(t[c])return t[c].exports;var o=t[c]={i:c,l:!1,exports:{}};return e[c].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,c){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:c})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var c=Object.create(null);if(r.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(c,o,function(t){return e[t]}.bind(null,o));return c},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=11)}([function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(t)}e.exports=r},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var c=t[r];c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(e,c.key,c)}}e.exports=function(e,t,c){return t&&r(e.prototype,t),c&&r(e,c),e}},function(e,t,r){var c=r(8);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}},function(e,t,r){var c=r(9),o=r(10);e.exports=function(e,t){return!t||"object"!==c(t)&&"function"!=typeof t?o(e):t}},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t){wp.i18n.setLocaleData({"":{}},"paid-memberships-pro")},function(e,t){function r(t,c){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(t,c)}e.exports=r},function(e,t){function r(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=r=function(e){return typeof e}:e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(t)}e.exports=r},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,r){"use strict";r.r(t);var c=r(0),o=(r(7),r(6)),n=r.n(o),p=r(2),s=r.n(p),i=r(3),l=r.n(i),a=r(4),m=r.n(a),u=r(5),b=r.n(u),f=r(1),d=r.n(f);function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,c=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(c,arguments,o)}else r=c.apply(this,arguments);return b()(this,r)}}var y=wp.i18n.__,v=wp.element.Component,g=wp.components,O=g.PanelBody,k=g.TextControl,j=g.SelectControl,w=wp.blockEditor.InspectorControls,C=function(e){m()(r,e);var t=h(r);function r(){return s()(this,r),t.apply(this,arguments)}return l()(r,[{key:"render",value:function(){var e=this.props,t=e.attributes,r=t.text,o=t.level,n=t.css_class,p=e.setAttributes;return Object(c.createElement)(w,null,Object(c.createElement)(O,null,Object(c.createElement)(k,{label:y("Button Text","paid-memberships-pro"),help:y("Text for checkout button","paid-memberships-pro"),value:r,onChange:function(e){return p({text:e})}})),Object(c.createElement)(O,null,Object(c.createElement)(j,{label:y("Level","paid-memberships-pro"),help:y("The level to link to for checkout button","paid-memberships-pro"),value:o,onChange:function(e){return p({level:e})},options:window.pmpro.all_level_values_and_labels})),Object(c.createElement)(O,null,Object(c.createElement)(k,{label:y("CSS Class","paid-memberships-pro"),help:y("Additional styling for checkout button","paid-memberships-pro"),value:n,onChange:function(e){return p({css_class:e})}})))}}]),r}(v);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);t&&(c=c.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,c)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach((function(t){n()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var P=wp.i18n.__,M=wp.blocks.registerBlockType,N=wp.components,S=N.TextControl,x=N.SelectControl;M("pmpro/checkout-button",{title:P("Membership Checkout Button","paid-memberships-pro"),description:P("Displays a button-styled link to Membership Checkout for the specified level.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"migrate"},keywords:[P("pmpro","paid-memberships-pro"),P("buy","paid-memberships-pro"),P("level","paid-memberships-pro")],supports:{},attributes:{text:{type:"string",default:"Buy Now"},css_class:{type:"string",default:"pmpro_btn"},level:{type:"string"}},edit:function(e){var t=e.attributes,r=t.text,o=t.level,n=t.css_class,p=e.className,s=e.setAttributes,i=e.isSelected;return[i&&Object(c.createElement)(C,_({setAttributes:s},e)),Object(c.createElement)("div",{className:p},Object(c.createElement)("a",{class:n},r)),i&&Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)(S,{label:P("Button Text","paid-memberships-pro"),value:r,onChange:function(e){return s({text:e})}}),Object(c.createElement)(x,{label:P("Membership Level","paid-memberships-pro"),value:o,onChange:function(e){return s({level:e})},options:window.pmpro.all_level_values_and_labels}),Object(c.createElement)(S,{label:P("CSS Class","paid-memberships-pro"),value:n,onChange:function(e){return s({css_class:e})}}))]},save:function(){return null}});function D(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,c=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(c,arguments,o)}else r=c.apply(this,arguments);return b()(this,r)}}var A=wp.i18n.__,B=wp.element.Component,L=wp.components,T=L.PanelBody,R=L.CheckboxControl,I=wp.blockEditor.InspectorControls,z=function(e){m()(r,e);var t=D(r);function r(){return s()(this,r),t.apply(this,arguments)}return l()(r,[{key:"render",value:function(){var e=this.props,t=e.attributes,r=t.membership,o=t.profile,n=t.invoices,p=t.links,s=e.setAttributes;return Object(c.createElement)(I,null,Object(c.createElement)(T,null,Object(c.createElement)(R,{label:A("Show 'My Memberships' Section","paid-memberships-pro"),checked:r,onChange:function(e){return s({membership:e})}})),Object(c.createElement)(T,null,Object(c.createElement)(R,{label:A("Show 'Profile' Section","paid-memberships-pro"),checked:o,onChange:function(e){return s({profile:e})}})),Object(c.createElement)(T,null,Object(c.createElement)(R,{label:A("Show 'Invoices' Section","paid-memberships-pro"),checked:n,onChange:function(e){return s({invoices:e})}})),Object(c.createElement)(T,null,Object(c.createElement)(R,{label:A("Show 'Member Links' Section","paid-memberships-pro"),checked:p,onChange:function(e){return s({links:e})}})))}}]),r}(B);function F(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);t&&(c=c.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,c)}return r}function q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?F(Object(r),!0).forEach((function(t){n()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):F(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var W=wp.i18n.__,G=((0,wp.blocks.registerBlockType)("pmpro/account-page",{title:W("Membership Account Page","paid-memberships-pro"),description:W("Displays the sections of the Membership Account page as selected below.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"admin-users"},keywords:[W("pmpro","paid-memberships-pro")],supports:{},attributes:{membership:{type:"boolean",default:!1},profile:{type:"boolean",default:!1},invoices:{type:"boolean",default:!1},links:{type:"boolean",default:!1}},edit:function(e){var t=e.setAttributes;return[e.isSelected&&Object(c.createElement)(z,q({setAttributes:t},e)),Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},W("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},W("Membership Account Page","paid-memberships-pro")))]},save:function(){return null}}),wp.i18n.__),H=((0,wp.blocks.registerBlockType)("pmpro/account-membership-section",{title:G("Membership Account: Memberships","paid-memberships-pro"),description:G("Displays the member's membership information.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"groups"},keywords:[G("pmpro","paid-memberships-pro")],supports:{},attributes:{},edit:function(){return[Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},G("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},G("Membership Account: My Memberships","paid-memberships-pro")))]},save:function(){return null}}),wp.i18n.__),J=((0,wp.blocks.registerBlockType)("pmpro/account-profile-section",{title:H("Membership Account: Profile","paid-memberships-pro"),description:H("Displays the member's profile information.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"admin-users"},keywords:[H("pmpro","paid-memberships-pro")],supports:{},attributes:{},edit:function(){return[Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},H("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},H("Membership Account: Profile","paid-memberships-pro")))]},save:function(){return null}}),wp.i18n.__),K=((0,wp.blocks.registerBlockType)("pmpro/account-invoices-section",{title:J("Membership Account: Invoices","paid-memberships-pro"),description:J("Displays the member's invoices.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"archive"},keywords:[J("pmpro","paid-memberships-pro")],supports:{},attributes:{},edit:function(){return[Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},J("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"}," ",J("Membership Account: Invoices","paid-memberships-pro")))]},save:function(){return null}}),wp.i18n.__),Q=((0,wp.blocks.registerBlockType)("pmpro/account-links-section",{title:K("Membership Account: Links","paid-memberships-pro"),description:K("Displays the member's member links. This block is only visible if other Add Ons or custom code have added links.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"external"},keywords:[K("pmpro","paid-memberships-pro")],supports:{},attributes:{},edit:function(){return[Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},K("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},K("Membership Account: Member Links","paid-memberships-pro")))]},save:function(){return null}}),wp.i18n.__),U=((0,wp.blocks.registerBlockType)("pmpro/billing-page",{title:Q("Membership Billing Page","paid-memberships-pro"),description:Q("Displays the member's billing information and allows them to update the payment method.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"list-view"},keywords:[Q("pmpro","paid-memberships-pro")],supports:{},attributes:{},edit:function(){return[Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},Q("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},Q("Membership Billing Page","paid-memberships-pro")))]},save:function(){return null}}),wp.i18n.__);(0,wp.blocks.registerBlockType)("pmpro/cancel-page",{title:U("Membership Cancel Page","paid-memberships-pro"),description:U("Generates the Membership Cancel page.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"no"},keywords:[U("pmpro","paid-memberships-pro")],supports:{},attributes:{},edit:function(){return[Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},U("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},U("Membership Cancel Page","paid-memberships-pro")))]},save:function(){return null}});function V(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,c=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(c,arguments,o)}else r=c.apply(this,arguments);return b()(this,r)}}var X=wp.i18n.__,Y=wp.element.Component,Z=wp.components,$=Z.PanelBody,ee=(Z.PanelRow,Z.SelectControl),te=wp.blockEditor.InspectorControls,re=function(e){m()(r,e);var t=V(r);function r(){return s()(this,r),t.apply(this,arguments)}return l()(r,[{key:"render",value:function(){var e=this.props,t=e.attributes.pmpro_default_level,r=e.setAttributes;return Object(c.createElement)(te,null,Object(c.createElement)($,null,Object(c.createElement)(ee,{label:X("Membership Level","paid-memberships-pro"),help:X("Choose a default level for Membership Checkout.","paid-memberships-pro"),value:t,onChange:function(e){return r({pmpro_default_level:e})},options:[""].concat(window.pmpro.all_level_values_and_labels)})))}}]),r}(Y);function ce(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);t&&(c=c.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,c)}return r}function oe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ce(Object(r),!0).forEach((function(t){n()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ce(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var ne=wp.i18n.__,pe=wp.blocks.registerBlockType,se=wp.components.SelectControl,ie=(pe("pmpro/checkout-page",{title:ne("Membership Checkout Form","paid-memberships-pro"),description:ne("Displays the Membership Checkout form.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"list-view"},keywords:[ne("pmpro","paid-memberships-pro")],supports:{},attributes:{pmpro_default_level:{type:"string",source:"meta",meta:"pmpro_default_level"}},edit:function(e){var t=e.attributes.pmpro_default_level,r=(e.className,e.setAttributes);return[e.isSelected&&Object(c.createElement)(re,oe({setAttributes:r},e)),Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},ne("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},ne("Membership Checkout Form","paid-memberships-pro")),Object(c.createElement)("hr",null),Object(c.createElement)(se,{label:ne("Membership Level","paid-memberships-pro"),value:t,onChange:function(e){return r({pmpro_default_level:e})},options:window.pmpro.all_level_values_and_labels}))]},save:function(){return null}}),wp.i18n.__),le=((0,wp.blocks.registerBlockType)("pmpro/confirmation-page",{title:ie("Membership Confirmation Page","paid-memberships-pro"),description:ie("Displays the member's Membership Confirmation after Membership Checkout.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"yes"},keywords:[ie("pmpro","paid-memberships-pro")],supports:{},attributes:{},edit:function(){return[Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},ie("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},ie("Membership Confirmation Page","paid-memberships-pro")))]},save:function(){return null}}),wp.i18n.__),ae=((0,wp.blocks.registerBlockType)("pmpro/invoice-page",{title:le("Membership Invoice Page","paid-memberships-pro"),description:le("Displays the member's Membership Invoices.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"archive"},keywords:[le("pmpro","paid-memberships-pro")],supports:{},attributes:{},edit:function(){return[Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},le("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},le("Membership Invoices","paid-memberships-pro")))]},save:function(){return null}}),wp.i18n.__),me=((0,wp.blocks.registerBlockType)("pmpro/levels-page",{title:ae("Membership Levels List","paid-memberships-pro"),description:ae("Displays a list of Membership Levels. To change the order, go to Memberships > Settings > Levels.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"list-view"},keywords:[ae("pmpro","paid-memberships-pro")],supports:{},attributes:{},edit:function(){return[Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},ae("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},ae("Membership Levels List","paid-memberships-pro")))]},save:function(){return null}}),wp.i18n.__),ue=wp.blocks.registerBlockType,be=wp.components,fe=be.PanelBody,de=be.SelectControl,he=wp.blockEditor,ye=he.InspectorControls,ve=he.InnerBlocks,ge=[{value:0,label:"Non-Members"}].concat(pmpro.all_level_values_and_labels),Oe=(ue("pmpro/membership",{title:me("Require Membership Block","paid-memberships-pro"),description:me("Control the visibility of nested blocks for members or non-members.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"visibility"},keywords:[me("pmpro","paid-memberships-pro")],attributes:{levels:{type:"array",default:[]},uid:{type:"string",default:""}},edit:function(e){var t=e.attributes,r=t.levels,o=t.uid,n=e.setAttributes,p=e.isSelected;if(""==o){var s=Math.random()+"";n({uid:s})}return[p&&Object(c.createElement)(ye,null,Object(c.createElement)(fe,null,Object(c.createElement)(de,{multiple:!0,label:me("Select levels to show content to:","paid-memberships-pro"),value:r,onChange:function(e){n({levels:e})},options:ge}))),p&&Object(c.createElement)("div",{className:"pmpro-block-require-membership-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},me("Require Membership","paid-memberships-pro")),Object(c.createElement)(fe,null,Object(c.createElement)(de,{multiple:!0,label:me("Select levels to show content to:","paid-memberships-pro"),value:r,onChange:function(e){n({levels:e})},options:ge})),Object(c.createElement)(ve,{renderAppender:function(){return Object(c.createElement)(ve.ButtonBlockAppender,null)},templateLock:!1})),!p&&Object(c.createElement)("div",{className:"pmpro-block-require-membership-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},me("Require Membership","paid-memberships-pro")),Object(c.createElement)(ve,{renderAppender:function(){return Object(c.createElement)(ve.ButtonBlockAppender,null)},templateLock:!1}))]},save:function(e){var t=e.className;return Object(c.createElement)("div",{className:t},Object(c.createElement)(ve.Content,null))}}),wp.i18n.__);(0,wp.blocks.registerBlockType)("pmpro/member-profile-edit",{title:Oe("Member Profile Edit","paid-memberships-pro"),description:Oe("Allow member profile editing.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"admin-users"},keywords:[Oe("pmpro","paid-memberships-pro"),Oe("member","paid-memberships-pro"),Oe("profile","paid-memberships-pro")],edit:function(e){return Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},Oe("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},Oe("Member Profile Edit","paid-memberships-pro")))},save:function(){return null}});function ke(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,c=d()(e);if(t){var o=d()(this).constructor;r=Reflect.construct(c,arguments,o)}else r=c.apply(this,arguments);return b()(this,r)}}var je,we=wp.i18n.__,Ce=wp.element.Component,Ee=wp.components,_e=Ee.PanelBody,Pe=(Ee.SelectControl,Ee.ToggleControl),Me=wp.blockEditor.InspectorControls,Ne=function(e){m()(r,e);var t=ke(r);function r(){return s()(this,r),t.apply(this,arguments)}return l()(r,[{key:"render",value:function(){var e=this,t=this.props,r=t.attributes,o=(t.setAttributes,r.display_if_logged_in),n=r.show_menu,p=r.show_logout_link;r.location;return Object(c.createElement)(Me,null,Object(c.createElement)(_e,null,Object(c.createElement)(Pe,{label:we("Display 'Welcome' content when logged in.","paid-memberships-pro"),checked:o,onChange:function(t){e.props.setAttributes({display_if_logged_in:t})}}),Object(c.createElement)(Pe,{label:we("Display the 'Log In Widget' menu.","paid-memberships-pro"),help:we("Assign the menu under Appearance > Menus."),checked:n,onChange:function(t){e.props.setAttributes({show_menu:t})}}),Object(c.createElement)(Pe,{label:we("Display a 'Log Out' link.","paid-memberships-pro"),checked:p,onChange:function(t){e.props.setAttributes({show_logout_link:t})}})))}}]),r}(Ce),Se=wp.i18n.__,xe=wp.blocks.registerBlockType,De=wp.element.Fragment;xe("pmpro/login-form",{title:Se("Log in Form","paid-memberships-pro"),description:Se("Displays a Log In Form for Paid Memberships Pro.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"unlock"},keywords:[Se("pmpro","paid-memberships-pro"),Se("login","paid-memberships-pro"),Se("form","paid-memberships-pro"),Se("log in","paid-memberships-pro")],supports:{},edit:function(e){return[Object(c.createElement)(De,null,Object(c.createElement)(Ne,e),Object(c.createElement)("div",{className:"pmpro-block-element"},Object(c.createElement)("span",{className:"pmpro-block-title"},Se("Paid Memberships Pro","paid-memberships-pro")),Object(c.createElement)("span",{className:"pmpro-block-subtitle"},Se("Log in Form","paid-memberships-pro"))))]},save:function(){return null}});je=Object(c.createElement)("svg",{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 18 18"},Object(c.createElement)("path",{d:"M17.99,4.53c-0.35,0.12-0.7,0.26-1.06,0.4c-0.35,0.14-0.7,0.3-1.05,0.46c-0.35,0.16-0.69,0.33-1.03,0.51 c-0.34,0.18-0.68,0.37-1.02,0.56c-0.15,0.09-0.31,0.18-0.46,0.27c-0.15,0.09-0.3,0.19-0.45,0.28c-0.15,0.1-0.3,0.19-0.45,0.29 c-0.15,0.1-0.3,0.2-0.44,0.3c-0.08,0.05-0.16,0.11-0.23,0.16c-0.08,0.05-0.16,0.11-0.23,0.17c-0.08,0.06-0.15,0.11-0.23,0.17 c-0.08,0.06-0.15,0.11-0.23,0.17c-0.07,0.05-0.13,0.1-0.2,0.15c-0.07,0.05-0.13,0.1-0.2,0.15c-0.07,0.05-0.13,0.1-0.2,0.15 c-0.07,0.05-0.13,0.1-0.2,0.16c-0.04,0.03-0.09,0.07-0.13,0.1c-0.04,0.03-0.09,0.07-0.13,0.1C10,9.13,9.95,9.17,9.91,9.2 C9.87,9.24,9.83,9.27,9.79,9.31C9.77,9.32,9.75,9.33,9.74,9.35C9.72,9.36,9.71,9.37,9.69,9.39C9.67,9.4,9.66,9.42,9.64,9.43 C9.63,9.44,9.61,9.46,9.59,9.47C9.54,9.52,9.49,9.56,9.43,9.61C9.38,9.65,9.33,9.7,9.27,9.74C9.22,9.79,9.17,9.84,9.11,9.88 c-0.05,0.05-0.11,0.09-0.16,0.14c-0.27,0.24-0.54,0.49-0.81,0.75c-0.26,0.25-0.53,0.51-0.78,0.78c-0.26,0.26-0.51,0.53-0.76,0.81 c-0.25,0.27-0.49,0.55-0.73,0.84c-0.03,0.04-0.07,0.08-0.1,0.12c-0.03,0.04-0.07,0.08-0.1,0.12c-0.03,0.04-0.07,0.08-0.1,0.12 c-0.03,0.04-0.07,0.08-0.1,0.12c-0.03,0.04-0.07,0.08-0.1,0.12c-0.03,0.04-0.06,0.08-0.1,0.12c-0.03,0.04-0.06,0.08-0.1,0.12 c-0.03,0.04-0.06,0.08-0.1,0.12c0,0.01-0.01,0.01-0.01,0.02c0,0.01-0.01,0.01-0.01,0.02c0,0.01-0.01,0.01-0.01,0.02 c0,0.01-0.01,0.01-0.01,0.02c-0.03,0.03-0.05,0.07-0.08,0.1c-0.03,0.03-0.05,0.07-0.08,0.1c-0.03,0.03-0.05,0.07-0.08,0.11 c-0.03,0.03-0.05,0.07-0.08,0.11c-0.03,0.04-0.06,0.08-0.09,0.12c-0.03,0.04-0.06,0.08-0.09,0.12C4.5,14.96,4.47,15,4.44,15.05 c-0.03,0.04-0.06,0.08-0.09,0.13c0,0-0.01,0.01-0.01,0.01c0,0-0.01,0.01-0.01,0.01c0,0-0.01,0.01-0.01,0.01c0,0-0.01,0.01-0.01,0.01 c-0.15,0.22-0.31,0.44-0.46,0.67c-0.15,0.22-0.3,0.45-0.44,0.68c-0.14,0.23-0.29,0.46-0.43,0.7C2.85,17.52,2.71,17.76,2.58,18 c-0.08-0.19-0.16-0.38-0.23-0.56c-0.07-0.18-0.14-0.35-0.21-0.51c-0.07-0.16-0.13-0.32-0.19-0.47c-0.06-0.15-0.12-0.3-0.18-0.45 l-0.01,0.01l0.01-0.03c-0.01-0.03-0.02-0.05-0.03-0.08c-0.01-0.02-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07 c-0.01-0.02-0.02-0.05-0.03-0.07c0-0.01-0.01-0.02-0.01-0.02c0-0.01-0.01-0.02-0.01-0.02c0-0.01-0.01-0.02-0.01-0.02 c0-0.01-0.01-0.02-0.01-0.02c-0.01-0.02-0.01-0.04-0.02-0.05c-0.01-0.02-0.01-0.04-0.02-0.05c-0.01-0.02-0.01-0.04-0.02-0.05 c-0.01-0.02-0.01-0.04-0.02-0.05c-0.01-0.03-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07 c-0.01-0.02-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07c-0.01-0.02-0.02-0.05-0.03-0.07 c-0.01-0.02-0.02-0.05-0.03-0.07c-0.02-0.05-0.04-0.1-0.06-0.16c-0.02-0.05-0.04-0.1-0.06-0.16c-0.02-0.05-0.04-0.11-0.06-0.16 c-0.02-0.05-0.04-0.11-0.06-0.16c-0.08-0.23-0.16-0.47-0.25-0.72c-0.08-0.25-0.17-0.5-0.26-0.77c-0.09-0.27-0.18-0.55-0.27-0.84 c-0.09-0.29-0.19-0.6-0.29-0.93c0.05,0.07,0.1,0.15,0.15,0.22c0.05,0.07,0.1,0.14,0.14,0.2c0.05,0.07,0.09,0.13,0.14,0.19 c0.04,0.06,0.09,0.12,0.13,0.18c0.09,0.13,0.18,0.24,0.27,0.35c0.09,0.11,0.17,0.21,0.24,0.3c0.08,0.09,0.15,0.18,0.23,0.27 c0.07,0.09,0.15,0.17,0.22,0.25c0.02,0.02,0.03,0.04,0.05,0.06c0.02,0.02,0.03,0.04,0.05,0.06c0.02,0.02,0.03,0.04,0.05,0.06 c0.02,0.02,0.03,0.04,0.05,0.06c0.07,0.07,0.13,0.14,0.2,0.22c0.07,0.08,0.14,0.16,0.22,0.24c0.08,0.08,0.16,0.17,0.24,0.27 c0.09,0.1,0.18,0.2,0.27,0.31c0.01,0.01,0.02,0.02,0.03,0.03c0.01,0.01,0.02,0.02,0.03,0.03c0.01,0.01,0.02,0.02,0.03,0.04 c0.01,0.01,0.02,0.02,0.03,0.04c0.02-0.02,0.04-0.05,0.06-0.07c0.02-0.02,0.04-0.05,0.06-0.07c0.02-0.02,0.04-0.05,0.06-0.07 C2.96,14.03,2.98,14,3,13.98c0.03-0.03,0.05-0.06,0.08-0.09c0.03-0.03,0.05-0.06,0.08-0.09c0.03-0.03,0.05-0.06,0.08-0.09 c0.03-0.03,0.05-0.06,0.08-0.09c0.28-0.33,0.58-0.65,0.88-0.97c0.31-0.32,0.63-0.62,0.95-0.92c0.33-0.3,0.67-0.6,1.02-0.88 c0.35-0.29,0.72-0.57,1.09-0.84c0.06-0.04,0.11-0.08,0.17-0.12C7.49,9.83,7.55,9.79,7.6,9.75c0.06-0.04,0.11-0.08,0.17-0.12 c0.06-0.04,0.12-0.08,0.17-0.12C7.97,9.5,7.98,9.49,8,9.48c0.02-0.01,0.03-0.02,0.05-0.03C8.06,9.43,8.08,9.42,8.1,9.41 C8.11,9.4,8.13,9.38,8.14,9.37c0.05-0.03,0.1-0.06,0.14-0.1c0.05-0.03,0.1-0.06,0.14-0.1c0.05-0.03,0.1-0.06,0.14-0.1 c0.05-0.03,0.1-0.06,0.15-0.09C8.79,8.94,8.87,8.9,8.94,8.85C9.01,8.8,9.09,8.76,9.16,8.71c0.07-0.05,0.15-0.09,0.22-0.14 c0.07-0.05,0.15-0.09,0.22-0.14c0.09-0.05,0.17-0.11,0.26-0.16c0.09-0.05,0.17-0.1,0.26-0.16c0.09-0.05,0.18-0.1,0.27-0.15 c0.09-0.05,0.18-0.1,0.27-0.15c0.25-0.14,0.51-0.28,0.76-0.42c0.26-0.14,0.52-0.27,0.78-0.41c0.26-0.13,0.53-0.27,0.79-0.4 c0.27-0.13,0.54-0.26,0.81-0.38c0.01,0,0.02-0.01,0.03-0.01c0.01,0,0.02-0.01,0.03-0.01c0.01,0,0.02-0.01,0.03-0.01 c0.01,0,0.02-0.01,0.03-0.01c0.33-0.15,0.67-0.3,1-0.44c0.34-0.15,0.68-0.29,1.02-0.42c0.34-0.14,0.69-0.27,1.03-0.4 C17.31,4.77,17.65,4.64,17.99,4.53z M15.73,9.59l0.65,4.56l-10.4-0.05c-0.02,0.02-0.04,0.04-0.05,0.07 c-0.02,0.02-0.04,0.04-0.05,0.07c-0.02,0.02-0.04,0.04-0.05,0.07c-0.02,0.02-0.04,0.04-0.05,0.07c-0.02,0.02-0.03,0.04-0.05,0.06 c-0.02,0.02-0.03,0.04-0.05,0.06c-0.02,0.02-0.03,0.04-0.05,0.06c-0.02,0.02-0.03,0.04-0.05,0.06l11.23,0.2l-0.78-5.24L15.73,9.59z M6.75,13.2c-0.04,0.04-0.08,0.09-0.11,0.13c-0.04,0.04-0.08,0.09-0.11,0.13c-0.04,0.04-0.07,0.09-0.11,0.13l9.22-0.07L15.04,9.1 l-0.07-0.53l-0.39,0.04l0.55,4.3l-8.27,0.17C6.83,13.12,6.79,13.16,6.75,13.2z M13.78,7.66l-0.59,0.08 c-0.06,0.04-0.12,0.08-0.18,0.12c-0.06,0.04-0.12,0.08-0.18,0.12c-0.06,0.04-0.12,0.08-0.18,0.12c-0.06,0.04-0.12,0.08-0.18,0.12 c-0.08,0.05-0.16,0.11-0.24,0.16c-0.08,0.06-0.16,0.11-0.24,0.17c-0.08,0.06-0.16,0.11-0.24,0.17c-0.08,0.06-0.16,0.11-0.24,0.17 c-0.07,0.05-0.14,0.1-0.21,0.15c-0.07,0.05-0.14,0.1-0.21,0.15c-0.07,0.05-0.14,0.1-0.2,0.16c-0.07,0.05-0.14,0.11-0.2,0.16 c-0.04,0.03-0.09,0.07-0.13,0.1c-0.04,0.03-0.09,0.07-0.13,0.1c-0.04,0.04-0.09,0.07-0.13,0.11c-0.04,0.04-0.09,0.07-0.13,0.11 c-0.02,0.01-0.03,0.03-0.05,0.04c-0.02,0.01-0.03,0.03-0.05,0.04c-0.02,0.01-0.03,0.03-0.05,0.04c-0.02,0.01-0.03,0.03-0.05,0.04 c-0.06,0.05-0.11,0.09-0.16,0.14c-0.05,0.05-0.11,0.09-0.16,0.14c-0.05,0.05-0.11,0.09-0.16,0.14c-0.05,0.05-0.11,0.09-0.16,0.14 c-0.17,0.15-0.34,0.3-0.51,0.46c-0.17,0.16-0.33,0.31-0.5,0.47c-0.16,0.16-0.33,0.32-0.49,0.48c-0.16,0.16-0.32,0.33-0.48,0.49 l6.98-0.23l-0.48-4.16L13.78,7.66z M13.32,5.73c-0.06,0.03-0.11,0.05-0.17,0.08c-0.06,0.03-0.12,0.06-0.17,0.09 c-0.03,0.01-0.06,0.03-0.08,0.04c0,0,0,0,0,0c-0.02-0.01-0.04-0.03-0.06-0.04c-0.06-0.04-0.13-0.07-0.21-0.09 c-0.07-0.02-0.15-0.04-0.23-0.04c-0.08,0-0.16,0-0.24,0.01l-0.14,0.02c0.07-0.04,0.13-0.08,0.18-0.14c0.05-0.05,0.1-0.11,0.14-0.18 c0.04-0.06,0.06-0.13,0.08-0.2c0.02-0.07,0.02-0.15,0.01-0.22c-0.01-0.1-0.04-0.18-0.08-0.26c-0.05-0.08-0.11-0.14-0.18-0.19 c-0.07-0.05-0.16-0.08-0.25-0.1c-0.09-0.02-0.19-0.02-0.29,0c-0.1,0.02-0.19,0.06-0.27,0.11c-0.08,0.05-0.15,0.11-0.21,0.19 C11.08,4.9,11.03,4.98,11,5.07c-0.03,0.09-0.04,0.18-0.03,0.27c0.01,0.07,0.02,0.14,0.05,0.2c0.03,0.06,0.06,0.12,0.11,0.17 c0.05,0.05,0.1,0.09,0.16,0.12c0.06,0.03,0.13,0.06,0.2,0.07l-0.17,0.03C11.18,5.96,11.06,6,10.94,6.07 c-0.11,0.07-0.21,0.15-0.29,0.25c-0.08,0.1-0.14,0.21-0.19,0.33c-0.04,0.12-0.06,0.25-0.05,0.38l0.02,0.33 c-0.09,0.05-0.17,0.1-0.26,0.16c-0.02,0-0.05,0-0.07,0c0.02-0.01,0.04-0.02,0.06-0.03c-0.06-0.06-0.13-0.11-0.21-0.16 c-0.07-0.04-0.15-0.08-0.24-0.1C9.63,7.2,9.54,7.18,9.45,7.18c-0.09-0.01-0.18,0-0.27,0.01L9.01,7.21c0.08-0.05,0.16-0.1,0.23-0.17 C9.3,6.97,9.36,6.9,9.41,6.81C9.46,6.73,9.5,6.64,9.52,6.55c0.02-0.09,0.03-0.19,0.03-0.29C9.54,6.13,9.51,6.02,9.46,5.92 c-0.05-0.1-0.12-0.18-0.21-0.25C9.17,5.6,9.07,5.56,8.96,5.53c-0.11-0.02-0.22-0.03-0.34,0C8.5,5.55,8.39,5.6,8.29,5.66 C8.19,5.72,8.1,5.81,8.02,5.9C7.95,5.99,7.89,6.1,7.85,6.21C7.81,6.32,7.79,6.44,7.79,6.56c0,0.09,0.02,0.18,0.05,0.26 c0.03,0.08,0.07,0.16,0.12,0.22c0.05,0.07,0.11,0.12,0.18,0.17c0.07,0.04,0.15,0.08,0.23,0.1l-0.2,0.03 C8.01,7.37,7.85,7.42,7.72,7.51C7.58,7.59,7.46,7.7,7.35,7.82C7.25,7.95,7.17,8.1,7.11,8.25c-0.06,0.16-0.09,0.33-0.08,0.5 l0.01,0.74C6.98,9.53,6.93,9.58,6.88,9.62C6.81,9.49,6.74,9.38,6.65,9.28c-0.1-0.11-0.21-0.2-0.33-0.27 C6.2,8.94,6.07,8.89,5.93,8.87C5.8,8.84,5.66,8.83,5.51,8.85L5.3,8.88c0.1-0.06,0.2-0.13,0.29-0.22c0.09-0.09,0.16-0.19,0.23-0.3 c0.06-0.11,0.12-0.23,0.15-0.35C6,7.88,6.02,7.75,6.02,7.62c0-0.17-0.03-0.32-0.08-0.46C5.88,7.03,5.8,6.91,5.71,6.82 C5.61,6.73,5.5,6.67,5.37,6.63c-0.12-0.04-0.26-0.04-0.4-0.02c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0 c-0.14,0.03-0.28,0.08-0.4,0.16c-0.12,0.08-0.23,0.18-0.33,0.3C4.14,7.2,4.07,7.33,4.01,7.48c-0.06,0.15-0.09,0.3-0.1,0.46 c0,0.12,0.01,0.24,0.03,0.35c0.03,0.11,0.07,0.21,0.12,0.3c0.05,0.09,0.12,0.17,0.2,0.23c0.08,0.06,0.17,0.11,0.27,0.14L4.3,9 C4.1,9.03,3.92,9.09,3.75,9.2C3.58,9.3,3.43,9.44,3.3,9.6c-0.13,0.16-0.24,0.35-0.32,0.56c-0.08,0.21-0.13,0.43-0.14,0.67 l-0.12,2.26l-0.53-0.6l0.49-6.3C2.68,6.09,2.71,6,2.74,5.91c0.04-0.09,0.08-0.17,0.14-0.24c0.06-0.07,0.12-0.14,0.2-0.19 C3.15,5.44,3.23,5.4,3.32,5.38l0.71-0.17l0-0.02l0.18-0.04l0.06-1.19C4.3,3.56,4.39,3.15,4.55,2.77c0.16-0.38,0.37-0.75,0.64-1.08 C5.45,1.35,5.76,1.05,6.11,0.8c0.35-0.26,0.74-0.47,1.16-0.61C7.7,0.05,8.12-0.01,8.51,0c0.4,0.02,0.77,0.12,1.1,0.29 c0.33,0.18,0.62,0.43,0.83,0.75c0.21,0.33,0.35,0.73,0.38,1.19l0.1,1.36l0.3-0.07l0,0.02l0.89-0.21c0.13-0.03,0.25-0.03,0.36-0.02 c0.12,0.02,0.22,0.05,0.32,0.11c0.09,0.05,0.17,0.13,0.23,0.21c0.06,0.09,0.1,0.19,0.11,0.31L13.32,5.73z M9.46,3.96L9.4,2.61 C9.39,2.33,9.31,2.09,9.19,1.88C9.07,1.68,8.91,1.51,8.71,1.4C8.52,1.28,8.29,1.21,8.05,1.19C7.81,1.17,7.55,1.2,7.28,1.28 C7.01,1.37,6.76,1.49,6.53,1.65c-0.22,0.16-0.43,0.35-0.6,0.57C5.77,2.43,5.63,2.67,5.53,2.91c-0.1,0.25-0.16,0.5-0.17,0.76 L5.33,4.91L9.46,3.96z"})),wp.blocks.updateCategory("pmpro",{icon:je})}]);
js/editor.blocks.js DELETED
@@ -1 +0,0 @@
1
- !function(n){function e(t){if(c[t])return c[t].exports;var b=c[t]={i:t,l:!1,exports:{}};return n[t].call(b.exports,b,b.exports,e),b.l=!0,b.exports}var c={};e.m=n,e.c=c,e.d=function(n,c,t){e.o(n,c)||Object.defineProperty(n,c,{configurable:!1,enumerable:!0,get:t})},e.n=function(n){var c=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(c,"a",c),c},e.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},e.p="",e(e.s=49)}([function(module,exports,__webpack_require__){eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jbGFzc25hbWVzL2luZGV4LmpzPzFkNmUiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gIENvcHlyaWdodCAoYykgMjAxNyBKZWQgV2F0c29uLlxuICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKE1JVCksIHNlZVxuICBodHRwOi8vamVkd2F0c29uLmdpdGh1Yi5pby9jbGFzc25hbWVzXG4qL1xuLyogZ2xvYmFsIGRlZmluZSAqL1xuXG4oZnVuY3Rpb24gKCkge1xuXHQndXNlIHN0cmljdCc7XG5cblx0dmFyIGhhc093biA9IHt9Lmhhc093blByb3BlcnR5O1xuXG5cdGZ1bmN0aW9uIGNsYXNzTmFtZXMgKCkge1xuXHRcdHZhciBjbGFzc2VzID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGFyZyA9IGFyZ3VtZW50c1tpXTtcblx0XHRcdGlmICghYXJnKSBjb250aW51ZTtcblxuXHRcdFx0dmFyIGFyZ1R5cGUgPSB0eXBlb2YgYXJnO1xuXG5cdFx0XHRpZiAoYXJnVHlwZSA9PT0gJ3N0cmluZycgfHwgYXJnVHlwZSA9PT0gJ251bWJlcicpIHtcblx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGFyZyk7XG5cdFx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoYXJnKSAmJiBhcmcubGVuZ3RoKSB7XG5cdFx0XHRcdHZhciBpbm5lciA9IGNsYXNzTmFtZXMuYXBwbHkobnVsbCwgYXJnKTtcblx0XHRcdFx0aWYgKGlubmVyKSB7XG5cdFx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGlubmVyKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmIChhcmdUeXBlID09PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRmb3IgKHZhciBrZXkgaW4gYXJnKSB7XG5cdFx0XHRcdFx0aWYgKGhhc093bi5jYWxsKGFyZywga2V5KSAmJiBhcmdba2V5XSkge1xuXHRcdFx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGtleSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuXHR9XG5cblx0aWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIG1vZHVsZS5leHBvcnRzKSB7XG5cdFx0Y2xhc3NOYW1lcy5kZWZhdWx0ID0gY2xhc3NOYW1lcztcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGNsYXNzTmFtZXM7XG5cdH0gZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgZGVmaW5lLmFtZCA9PT0gJ29iamVjdCcgJiYgZGVmaW5lLmFtZCkge1xuXHRcdC8vIHJlZ2lzdGVyIGFzICdjbGFzc25hbWVzJywgY29uc2lzdGVudCB3aXRoIG5wbSBwYWNrYWdlIG5hbWVcblx0XHRkZWZpbmUoJ2NsYXNzbmFtZXMnLCBbXSwgZnVuY3Rpb24gKCkge1xuXHRcdFx0cmV0dXJuIGNsYXNzTmFtZXM7XG5cdFx0fSk7XG5cdH0gZWxzZSB7XG5cdFx0d2luZG93LmNsYXNzTmFtZXMgPSBjbGFzc05hbWVzO1xuXHR9XG59KCkpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY2xhc3NuYW1lcy9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///0\n")},function(module,exports){eval("var core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29yZS5qcz8xNWUwIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjUuNycgfTtcbmlmICh0eXBlb2YgX19lID09ICdudW1iZXInKSBfX2UgPSBjb3JlOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY29yZS5qc1xuLy8gbW9kdWxlIGlkID0gMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///1\n")},function(module,exports){eval("// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZ2xvYmFsLmpzP2VjYWIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzg2I2lzc3VlY29tbWVudC0xMTU3NTkwMjhcbnZhciBnbG9iYWwgPSBtb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiB3aW5kb3cgIT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lk1hdGggPT0gTWF0aFxuICA/IHdpbmRvdyA6IHR5cGVvZiBzZWxmICE9ICd1bmRlZmluZWQnICYmIHNlbGYuTWF0aCA9PSBNYXRoID8gc2VsZlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3LWZ1bmNcbiAgOiBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuaWYgKHR5cGVvZiBfX2cgPT0gJ251bWJlcicpIF9fZyA9IGdsb2JhbDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2dsb2JhbC5qc1xuLy8gbW9kdWxlIGlkID0gMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///2\n")},function(module,exports,__webpack_require__){eval("var global = __webpack_require__(2);\nvar core = __webpack_require__(1);\nvar ctx = __webpack_require__(37);\nvar hide = __webpack_require__(7);\nvar has = __webpack_require__(6);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZXhwb3J0LmpzPzkwY2QiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcblxudmFyICRleHBvcnQgPSBmdW5jdGlvbiAodHlwZSwgbmFtZSwgc291cmNlKSB7XG4gIHZhciBJU19GT1JDRUQgPSB0eXBlICYgJGV4cG9ydC5GO1xuICB2YXIgSVNfR0xPQkFMID0gdHlwZSAmICRleHBvcnQuRztcbiAgdmFyIElTX1NUQVRJQyA9IHR5cGUgJiAkZXhwb3J0LlM7XG4gIHZhciBJU19QUk9UTyA9IHR5cGUgJiAkZXhwb3J0LlA7XG4gIHZhciBJU19CSU5EID0gdHlwZSAmICRleHBvcnQuQjtcbiAgdmFyIElTX1dSQVAgPSB0eXBlICYgJGV4cG9ydC5XO1xuICB2YXIgZXhwb3J0cyA9IElTX0dMT0JBTCA/IGNvcmUgOiBjb3JlW25hbWVdIHx8IChjb3JlW25hbWVdID0ge30pO1xuICB2YXIgZXhwUHJvdG8gPSBleHBvcnRzW1BST1RPVFlQRV07XG4gIHZhciB0YXJnZXQgPSBJU19HTE9CQUwgPyBnbG9iYWwgOiBJU19TVEFUSUMgPyBnbG9iYWxbbmFtZV0gOiAoZ2xvYmFsW25hbWVdIHx8IHt9KVtQUk9UT1RZUEVdO1xuICB2YXIga2V5LCBvd24sIG91dDtcbiAgaWYgKElTX0dMT0JBTCkgc291cmNlID0gbmFtZTtcbiAgZm9yIChrZXkgaW4gc291cmNlKSB7XG4gICAgLy8gY29udGFpbnMgaW4gbmF0aXZlXG4gICAgb3duID0gIUlTX0ZPUkNFRCAmJiB0YXJnZXQgJiYgdGFyZ2V0W2tleV0gIT09IHVuZGVmaW5lZDtcbiAgICBpZiAob3duICYmIGhhcyhleHBvcnRzLCBrZXkpKSBjb250aW51ZTtcbiAgICAvLyBleHBvcnQgbmF0aXZlIG9yIHBhc3NlZFxuICAgIG91dCA9IG93biA/IHRhcmdldFtrZXldIDogc291cmNlW2tleV07XG4gICAgLy8gcHJldmVudCBnbG9iYWwgcG9sbHV0aW9uIGZvciBuYW1lc3BhY2VzXG4gICAgZXhwb3J0c1trZXldID0gSVNfR0xPQkFMICYmIHR5cGVvZiB0YXJnZXRba2V5XSAhPSAnZnVuY3Rpb24nID8gc291cmNlW2tleV1cbiAgICAvLyBiaW5kIHRpbWVycyB0byBnbG9iYWwgZm9yIGNhbGwgZnJvbSBleHBvcnQgY29udGV4dFxuICAgIDogSVNfQklORCAmJiBvd24gPyBjdHgob3V0LCBnbG9iYWwpXG4gICAgLy8gd3JhcCBnbG9iYWwgY29uc3RydWN0b3JzIGZvciBwcmV2ZW50IGNoYW5nZSB0aGVtIGluIGxpYnJhcnlcbiAgICA6IElTX1dSQVAgJiYgdGFyZ2V0W2tleV0gPT0gb3V0ID8gKGZ1bmN0aW9uIChDKSB7XG4gICAgICB2YXIgRiA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7XG4gICAgICAgIGlmICh0aGlzIGluc3RhbmNlb2YgQykge1xuICAgICAgICAgIHN3aXRjaCAoYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgY2FzZSAwOiByZXR1cm4gbmV3IEMoKTtcbiAgICAgICAgICAgIGNhc2UgMTogcmV0dXJuIG5ldyBDKGEpO1xuICAgICAgICAgICAgY2FzZSAyOiByZXR1cm4gbmV3IEMoYSwgYik7XG4gICAgICAgICAgfSByZXR1cm4gbmV3IEMoYSwgYiwgYyk7XG4gICAgICAgIH0gcmV0dXJuIEMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgICBGW1BST1RPVFlQRV0gPSBDW1BST1RPVFlQRV07XG4gICAgICByZXR1cm4gRjtcbiAgICAvLyBtYWtlIHN0YXRpYyB2ZXJzaW9ucyBmb3IgcHJvdG90eXBlIG1ldGhvZHNcbiAgICB9KShvdXQpIDogSVNfUFJPVE8gJiYgdHlwZW9mIG91dCA9PSAnZnVuY3Rpb24nID8gY3R4KEZ1bmN0aW9uLmNhbGwsIG91dCkgOiBvdXQ7XG4gICAgLy8gZXhwb3J0IHByb3RvIG1ldGhvZHMgdG8gY29yZS4lQ09OU1RSVUNUT1IlLm1ldGhvZHMuJU5BTUUlXG4gICAgaWYgKElTX1BST1RPKSB7XG4gICAgICAoZXhwb3J0cy52aXJ0dWFsIHx8IChleHBvcnRzLnZpcnR1YWwgPSB7fSkpW2tleV0gPSBvdXQ7XG4gICAgICAvLyBleHBvcnQgcHJvdG8gbWV0aG9kcyB0byBjb3JlLiVDT05TVFJVQ1RPUiUucHJvdG90eXBlLiVOQU1FJVxuICAgICAgaWYgKHR5cGUgJiAkZXhwb3J0LlIgJiYgZXhwUHJvdG8gJiYgIWV4cFByb3RvW2tleV0pIGhpZGUoZXhwUHJvdG8sIGtleSwgb3V0KTtcbiAgICB9XG4gIH1cbn07XG4vLyB0eXBlIGJpdG1hcFxuJGV4cG9ydC5GID0gMTsgICAvLyBmb3JjZWRcbiRleHBvcnQuRyA9IDI7ICAgLy8gZ2xvYmFsXG4kZXhwb3J0LlMgPSA0OyAgIC8vIHN0YXRpY1xuJGV4cG9ydC5QID0gODsgICAvLyBwcm90b1xuJGV4cG9ydC5CID0gMTY7ICAvLyBiaW5kXG4kZXhwb3J0LlcgPSAzMjsgIC8vIHdyYXBcbiRleHBvcnQuVSA9IDY0OyAgLy8gc2FmZVxuJGV4cG9ydC5SID0gMTI4OyAvLyByZWFsIHByb3RvIG1ldGhvZCBmb3IgYGxpYnJhcnlgXG5tb2R1bGUuZXhwb3J0cyA9ICRleHBvcnQ7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZXhwb3J0LmpzXG4vLyBtb2R1bGUgaWQgPSAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///3\n")},function(module,exports,__webpack_require__){eval("var anObject = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(38);\nvar toPrimitive = __webpack_require__(19);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(5) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWRwLmpzPzdhZjAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgSUU4X0RPTV9ERUZJTkUgPSByZXF1aXJlKCcuL19pZTgtZG9tLWRlZmluZScpO1xudmFyIHRvUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9fdG8tcHJpbWl0aXZlJyk7XG52YXIgZFAgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG5cbmV4cG9ydHMuZiA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkgOiBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eShPLCBQLCBBdHRyaWJ1dGVzKSB7XG4gIGFuT2JqZWN0KE8pO1xuICBQID0gdG9QcmltaXRpdmUoUCwgdHJ1ZSk7XG4gIGFuT2JqZWN0KEF0dHJpYnV0ZXMpO1xuICBpZiAoSUU4X0RPTV9ERUZJTkUpIHRyeSB7XG4gICAgcmV0dXJuIGRQKE8sIFAsIEF0dHJpYnV0ZXMpO1xuICB9IGNhdGNoIChlKSB7IC8qIGVtcHR5ICovIH1cbiAgaWYgKCdnZXQnIGluIEF0dHJpYnV0ZXMgfHwgJ3NldCcgaW4gQXR0cmlidXRlcykgdGhyb3cgVHlwZUVycm9yKCdBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCEnKTtcbiAgaWYgKCd2YWx1ZScgaW4gQXR0cmlidXRlcykgT1tQXSA9IEF0dHJpYnV0ZXMudmFsdWU7XG4gIHJldHVybiBPO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZHAuanNcbi8vIG1vZHVsZSBpZCA9IDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///4\n")},function(module,exports,__webpack_require__){eval("// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(9)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanM/Zjg0ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGFuaydzIElFOCBmb3IgaGlzIGZ1bm55IGRlZmluZVByb3BlcnR5XG5tb2R1bGUuZXhwb3J0cyA9ICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ2EnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfSB9KS5hICE9IDc7XG59KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kZXNjcmlwdG9ycy5qc1xuLy8gbW9kdWxlIGlkID0gNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///5\n")},function(module,exports){eval("var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGFzLmpzPzBmNjIiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGhhc093blByb3BlcnR5ID0ge30uaGFzT3duUHJvcGVydHk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwga2V5KSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oYXMuanNcbi8vIG1vZHVsZSBpZCA9IDZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///6\n")},function(module,exports,__webpack_require__){eval("var dP = __webpack_require__(4);\nvar createDesc = __webpack_require__(13);\nmodule.exports = __webpack_require__(5) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faGlkZS5qcz84NDljIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBmdW5jdGlvbiAob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIHJldHVybiBkUC5mKG9iamVjdCwga2V5LCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG59IDogZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICByZXR1cm4gb2JqZWN0O1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oaWRlLmpzXG4vLyBtb2R1bGUgaWQgPSA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///7\n")},function(module,exports){eval("module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXMtb2JqZWN0LmpzPzEyYTgiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHR5cGVvZiBpdCA9PT0gJ29iamVjdCcgPyBpdCAhPT0gbnVsbCA6IHR5cGVvZiBpdCA9PT0gJ2Z1bmN0aW9uJztcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXMtb2JqZWN0LmpzXG4vLyBtb2R1bGUgaWQgPSA4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///8\n")},function(module,exports){eval("module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZmFpbHMuanM/NGJjZCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuICEhZXhlYygpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZmFpbHMuanNcbi8vIG1vZHVsZSBpZCA9IDlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///9\n")},function(module,exports,__webpack_require__){eval("// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(41);\nvar defined = __webpack_require__(20);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWlvYmplY3QuanM/NGRjNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0byBpbmRleGVkIG9iamVjdCwgdG9PYmplY3Qgd2l0aCBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIHN0cmluZ3NcbnZhciBJT2JqZWN0ID0gcmVxdWlyZSgnLi9faW9iamVjdCcpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gSU9iamVjdChkZWZpbmVkKGl0KSk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWlvYmplY3QuanNcbi8vIG1vZHVsZSBpZCA9IDEwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///10\n")},function(module,exports,__webpack_require__){eval("var store = __webpack_require__(23)('wks');\nvar uid = __webpack_require__(16);\nvar Symbol = __webpack_require__(2).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy5qcz83NTJjIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBzdG9yZSA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCd3a3MnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuL191aWQnKTtcbnZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5TeW1ib2w7XG52YXIgVVNFX1NZTUJPTCA9IHR5cGVvZiBTeW1ib2wgPT0gJ2Z1bmN0aW9uJztcblxudmFyICRleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gc3RvcmVbbmFtZV0gfHwgKHN0b3JlW25hbWVdID1cbiAgICBVU0VfU1lNQk9MICYmIFN5bWJvbFtuYW1lXSB8fCAoVVNFX1NZTUJPTCA/IFN5bWJvbCA6IHVpZCkoJ1N5bWJvbC4nICsgbmFtZSkpO1xufTtcblxuJGV4cG9ydHMuc3RvcmUgPSBzdG9yZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL193a3MuanNcbi8vIG1vZHVsZSBpZCA9IDExXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///11\n")},function(module,exports,__webpack_require__){eval("var isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLW9iamVjdC5qcz9lZmIzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGFuIG9iamVjdCEnKTtcbiAgcmV0dXJuIGl0O1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hbi1vYmplY3QuanNcbi8vIG1vZHVsZSBpZCA9IDEyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///12\n")},function(module,exports){eval("module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanM/NWZjMCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChiaXRtYXAsIHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogIShiaXRtYXAgJiAxKSxcbiAgICBjb25maWd1cmFibGU6ICEoYml0bWFwICYgMiksXG4gICAgd3JpdGFibGU6ICEoYml0bWFwICYgNCksXG4gICAgdmFsdWU6IHZhbHVlXG4gIH07XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanNcbi8vIG1vZHVsZSBpZCA9IDEzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///13\n")},function(module,exports,__webpack_require__){eval("// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(40);\nvar enumBugKeys = __webpack_require__(24);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLmpzPzk2NGIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMTkuMS4yLjE0IC8gMTUuMi4zLjE0IE9iamVjdC5rZXlzKE8pXG52YXIgJGtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cy1pbnRlcm5hbCcpO1xudmFyIGVudW1CdWdLZXlzID0gcmVxdWlyZSgnLi9fZW51bS1idWcta2V5cycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5rZXlzIHx8IGZ1bmN0aW9uIGtleXMoTykge1xuICByZXR1cm4gJGtleXMoTywgZW51bUJ1Z0tleXMpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3Qta2V5cy5qc1xuLy8gbW9kdWxlIGlkID0gMTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///14\n")},function(module,exports){eval("module.exports = true;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2xpYnJhcnkuanM/M2I4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHRydWU7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fbGlicmFyeS5qc1xuLy8gbW9kdWxlIGlkID0gMTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///15\n")},function(module,exports){eval("var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3VpZC5qcz9kYzRhIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBpZCA9IDA7XG52YXIgcHggPSBNYXRoLnJhbmRvbSgpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5KSB7XG4gIHJldHVybiAnU3ltYm9sKCcuY29uY2F0KGtleSA9PT0gdW5kZWZpbmVkID8gJycgOiBrZXksICcpXycsICgrK2lkICsgcHgpLnRvU3RyaW5nKDM2KSk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3VpZC5qc1xuLy8gbW9kdWxlIGlkID0gMTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///16\n")},function(module,exports){eval("exports.f = {}.propertyIsEnumerable;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1waWUuanM/MzY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzLmYgPSB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtcGllLmpzXG4vLyBtb2R1bGUgaWQgPSAxN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///17\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\nexports.__esModule = true;\n\nvar _assign = __webpack_require__(52);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9oZWxwZXJzL2V4dGVuZHMuanM/MGRkZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcblxudmFyIF9hc3NpZ24gPSByZXF1aXJlKFwiLi4vY29yZS1qcy9vYmplY3QvYXNzaWduXCIpO1xuXG52YXIgX2Fzc2lnbjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9hc3NpZ24pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSBfYXNzaWduMi5kZWZhdWx0IHx8IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldO1xuXG4gICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9iYWJlbC1ydW50aW1lL2hlbHBlcnMvZXh0ZW5kcy5qc1xuLy8gbW9kdWxlIGlkID0gMThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///18\n")},function(module,exports,__webpack_require__){eval("// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLXByaW1pdGl2ZS5qcz8zMjYzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDcuMS4xIFRvUHJpbWl0aXZlKGlucHV0IFssIFByZWZlcnJlZFR5cGVdKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG4vLyBpbnN0ZWFkIG9mIHRoZSBFUzYgc3BlYyB2ZXJzaW9uLCB3ZSBkaWRuJ3QgaW1wbGVtZW50IEBAdG9QcmltaXRpdmUgY2FzZVxuLy8gYW5kIHRoZSBzZWNvbmQgYXJndW1lbnQgLSBmbGFnIC0gcHJlZmVycmVkIHR5cGUgaXMgYSBzdHJpbmdcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBTKSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSByZXR1cm4gaXQ7XG4gIHZhciBmbiwgdmFsO1xuICBpZiAoUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKHR5cGVvZiAoZm4gPSBpdC52YWx1ZU9mKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIGlmICghUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlXCIpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1wcmltaXRpdmUuanNcbi8vIG1vZHVsZSBpZCA9IDE5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///19\n")},function(module,exports){eval('// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError("Can\'t call method on " + it);\n return it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RlZmluZWQuanM/ZTc2OCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjIuMSBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGFyZ3VtZW50KVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ID09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIFwiICsgaXQpO1xuICByZXR1cm4gaXQ7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RlZmluZWQuanNcbi8vIG1vZHVsZSBpZCA9IDIwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///20\n')},function(module,exports){eval("// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWludGVnZXIuanM/NTJlMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjEuNCBUb0ludGVnZXJcbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpc05hTihpdCA9ICtpdCkgPyAwIDogKGl0ID4gMCA/IGZsb29yIDogY2VpbCkoaXQpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1pbnRlZ2VyLmpzXG4vLyBtb2R1bGUgaWQgPSAyMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///21\n")},function(module,exports,__webpack_require__){eval("var shared = __webpack_require__(23)('keys');\nvar uid = __webpack_require__(16);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC1rZXkuanM/NmIxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgc2hhcmVkID0gcmVxdWlyZSgnLi9fc2hhcmVkJykoJ2tleXMnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuL191aWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICByZXR1cm4gc2hhcmVkW2tleV0gfHwgKHNoYXJlZFtrZXldID0gdWlkKGtleSkpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zaGFyZWQta2V5LmpzXG4vLyBtb2R1bGUgaWQgPSAyMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///22\n")},function(module,exports,__webpack_require__){eval("var core = __webpack_require__(1);\nvar global = __webpack_require__(2);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(15) ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC5qcz83YmMwIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIFNIQVJFRCA9ICdfX2NvcmUtanNfc2hhcmVkX18nO1xudmFyIHN0b3JlID0gZ2xvYmFsW1NIQVJFRF0gfHwgKGdsb2JhbFtTSEFSRURdID0ge30pO1xuXG4obW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICByZXR1cm4gc3RvcmVba2V5XSB8fCAoc3RvcmVba2V5XSA9IHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IHt9KTtcbn0pKCd2ZXJzaW9ucycsIFtdKS5wdXNoKHtcbiAgdmVyc2lvbjogY29yZS52ZXJzaW9uLFxuICBtb2RlOiByZXF1aXJlKCcuL19saWJyYXJ5JykgPyAncHVyZScgOiAnZ2xvYmFsJyxcbiAgY29weXJpZ2h0OiAnwqkgMjAxOCBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSdcbn0pO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NoYXJlZC5qc1xuLy8gbW9kdWxlIGlkID0gMjNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///23\n")},function(module,exports){eval("// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0tYnVnLWtleXMuanM/YzY3NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJRSA4LSBkb24ndCBlbnVtIGJ1ZyBrZXlzXG5tb2R1bGUuZXhwb3J0cyA9IChcbiAgJ2NvbnN0cnVjdG9yLGhhc093blByb3BlcnR5LGlzUHJvdG90eXBlT2YscHJvcGVydHlJc0VudW1lcmFibGUsdG9Mb2NhbGVTdHJpbmcsdG9TdHJpbmcsdmFsdWVPZidcbikuc3BsaXQoJywnKTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19lbnVtLWJ1Zy1rZXlzLmpzXG4vLyBtb2R1bGUgaWQgPSAyNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///24\n")},function(module,exports){eval("exports.f = Object.getOwnPropertySymbols;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BzLmpzP2Q2NDQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cy5mID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZ29wcy5qc1xuLy8gbW9kdWxlIGlkID0gMjVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///25\n")},function(module,exports,__webpack_require__){eval("// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(20);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLW9iamVjdC5qcz9iMDFkIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDcuMS4xMyBUb09iamVjdChhcmd1bWVudClcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIE9iamVjdChkZWZpbmVkKGl0KSk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLW9iamVjdC5qc1xuLy8gbW9kdWxlIGlkID0gMjZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///26\n")},function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__(62), __esModule: true };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9nZXQtcHJvdG90eXBlLW9mLmpzPzY3MWUiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiByZXF1aXJlKFwiY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9nZXQtcHJvdG90eXBlLW9mXCIpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9nZXQtcHJvdG90eXBlLW9mLmpzXG4vLyBtb2R1bGUgaWQgPSAyN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///27\n')},function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrLmpzPzY2YjkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGZ1bmN0aW9uIChpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xuICB9XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2JhYmVsLXJ1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVjay5qc1xuLy8gbW9kdWxlIGlkID0gMjhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///28\n')},function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(65);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzLmpzP2MzMTAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbnZhciBfZGVmaW5lUHJvcGVydHkgPSByZXF1aXJlKFwiLi4vY29yZS1qcy9vYmplY3QvZGVmaW5lLXByb3BlcnR5XCIpO1xuXG52YXIgX2RlZmluZVByb3BlcnR5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2RlZmluZVByb3BlcnR5KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldO1xuICAgICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgICAgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICAgICgwLCBfZGVmaW5lUHJvcGVydHkyLmRlZmF1bHQpKHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gICAgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTtcbiAgICBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgICByZXR1cm4gQ29uc3RydWN0b3I7XG4gIH07XG59KCk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzLmpzXG4vLyBtb2R1bGUgaWQgPSAyOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///29\n')},function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nvar _typeof2 = __webpack_require__(44);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called");\n }\n\n return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4uanM/Y2YwYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTtcblxudmFyIF90eXBlb2YyID0gcmVxdWlyZShcIi4uL2hlbHBlcnMvdHlwZW9mXCIpO1xuXG52YXIgX3R5cGVvZjMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90eXBlb2YyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gZnVuY3Rpb24gKHNlbGYsIGNhbGwpIHtcbiAgaWYgKCFzZWxmKSB7XG4gICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpO1xuICB9XG5cbiAgcmV0dXJuIGNhbGwgJiYgKCh0eXBlb2YgY2FsbCA9PT0gXCJ1bmRlZmluZWRcIiA/IFwidW5kZWZpbmVkXCIgOiAoMCwgX3R5cGVvZjMuZGVmYXVsdCkoY2FsbCkpID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2JhYmVsLXJ1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuLmpzXG4vLyBtb2R1bGUgaWQgPSAzMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///30\n')},function(module,exports){eval("module.exports = {};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXJhdG9ycy5qcz9mZGI0Il0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0ge307XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXRlcmF0b3JzLmpzXG4vLyBtb2R1bGUgaWQgPSAzMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///31\n")},function(module,exports,__webpack_require__){eval("// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(12);\nvar dPs = __webpack_require__(73);\nvar enumBugKeys = __webpack_require__(24);\nvar IE_PROTO = __webpack_require__(22)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(39)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(74).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1jcmVhdGUuanM/NjI4NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAxOS4xLjIuMiAvIDE1LjIuMy41IE9iamVjdC5jcmVhdGUoTyBbLCBQcm9wZXJ0aWVzXSlcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIGRQcyA9IHJlcXVpcmUoJy4vX29iamVjdC1kcHMnKTtcbnZhciBlbnVtQnVnS2V5cyA9IHJlcXVpcmUoJy4vX2VudW0tYnVnLWtleXMnKTtcbnZhciBJRV9QUk9UTyA9IHJlcXVpcmUoJy4vX3NoYXJlZC1rZXknKSgnSUVfUFJPVE8nKTtcbnZhciBFbXB0eSA9IGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfTtcbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcblxuLy8gQ3JlYXRlIG9iamVjdCB3aXRoIGZha2UgYG51bGxgIHByb3RvdHlwZTogdXNlIGlmcmFtZSBPYmplY3Qgd2l0aCBjbGVhcmVkIHByb3RvdHlwZVxudmFyIGNyZWF0ZURpY3QgPSBmdW5jdGlvbiAoKSB7XG4gIC8vIFRocmFzaCwgd2FzdGUgYW5kIHNvZG9teTogSUUgR0MgYnVnXG4gIHZhciBpZnJhbWUgPSByZXF1aXJlKCcuL19kb20tY3JlYXRlJykoJ2lmcmFtZScpO1xuICB2YXIgaSA9IGVudW1CdWdLZXlzLmxlbmd0aDtcbiAgdmFyIGx0ID0gJzwnO1xuICB2YXIgZ3QgPSAnPic7XG4gIHZhciBpZnJhbWVEb2N1bWVudDtcbiAgaWZyYW1lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIHJlcXVpcmUoJy4vX2h0bWwnKS5hcHBlbmRDaGlsZChpZnJhbWUpO1xuICBpZnJhbWUuc3JjID0gJ2phdmFzY3JpcHQ6JzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zY3JpcHQtdXJsXG4gIC8vIGNyZWF0ZURpY3QgPSBpZnJhbWUuY29udGVudFdpbmRvdy5PYmplY3Q7XG4gIC8vIGh0bWwucmVtb3ZlQ2hpbGQoaWZyYW1lKTtcbiAgaWZyYW1lRG9jdW1lbnQgPSBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDtcbiAgaWZyYW1lRG9jdW1lbnQub3BlbigpO1xuICBpZnJhbWVEb2N1bWVudC53cml0ZShsdCArICdzY3JpcHQnICsgZ3QgKyAnZG9jdW1lbnQuRj1PYmplY3QnICsgbHQgKyAnL3NjcmlwdCcgKyBndCk7XG4gIGlmcmFtZURvY3VtZW50LmNsb3NlKCk7XG4gIGNyZWF0ZURpY3QgPSBpZnJhbWVEb2N1bWVudC5GO1xuICB3aGlsZSAoaS0tKSBkZWxldGUgY3JlYXRlRGljdFtQUk9UT1RZUEVdW2VudW1CdWdLZXlzW2ldXTtcbiAgcmV0dXJuIGNyZWF0ZURpY3QoKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmNyZWF0ZSB8fCBmdW5jdGlvbiBjcmVhdGUoTywgUHJvcGVydGllcykge1xuICB2YXIgcmVzdWx0O1xuICBpZiAoTyAhPT0gbnVsbCkge1xuICAgIEVtcHR5W1BST1RPVFlQRV0gPSBhbk9iamVjdChPKTtcbiAgICByZXN1bHQgPSBuZXcgRW1wdHkoKTtcbiAgICBFbXB0eVtQUk9UT1RZUEVdID0gbnVsbDtcbiAgICAvLyBhZGQgXCJfX3Byb3RvX19cIiBmb3IgT2JqZWN0LmdldFByb3RvdHlwZU9mIHBvbHlmaWxsXG4gICAgcmVzdWx0W0lFX1BST1RPXSA9IE87XG4gIH0gZWxzZSByZXN1bHQgPSBjcmVhdGVEaWN0KCk7XG4gIHJldHVybiBQcm9wZXJ0aWVzID09PSB1bmRlZmluZWQgPyByZXN1bHQgOiBkUHMocmVzdWx0LCBQcm9wZXJ0aWVzKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWNyZWF0ZS5qc1xuLy8gbW9kdWxlIGlkID0gMzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///32\n")},function(module,exports,__webpack_require__){eval("var def = __webpack_require__(4).f;\nvar has = __webpack_require__(6);\nvar TAG = __webpack_require__(11)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NldC10by1zdHJpbmctdGFnLmpzPzdiYTkiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGRlZiA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgVEFHID0gcmVxdWlyZSgnLi9fd2tzJykoJ3RvU3RyaW5nVGFnJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCB0YWcsIHN0YXQpIHtcbiAgaWYgKGl0ICYmICFoYXMoaXQgPSBzdGF0ID8gaXQgOiBpdC5wcm90b3R5cGUsIFRBRykpIGRlZihpdCwgVEFHLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgdmFsdWU6IHRhZyB9KTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc2V0LXRvLXN0cmluZy10YWcuanNcbi8vIG1vZHVsZSBpZCA9IDMzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///33\n")},function(module,exports,__webpack_require__){eval("exports.f = __webpack_require__(11);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy1leHQuanM/MmExZSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzLmYgPSByZXF1aXJlKCcuL193a3MnKTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL193a3MtZXh0LmpzXG4vLyBtb2R1bGUgaWQgPSAzNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///34\n")},function(module,exports,__webpack_require__){eval("var global = __webpack_require__(2);\nvar core = __webpack_require__(1);\nvar LIBRARY = __webpack_require__(15);\nvar wksExt = __webpack_require__(34);\nvar defineProperty = __webpack_require__(4).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3drcy1kZWZpbmUuanM/NzJiOSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBMSUJSQVJZID0gcmVxdWlyZSgnLi9fbGlicmFyeScpO1xudmFyIHdrc0V4dCA9IHJlcXVpcmUoJy4vX3drcy1leHQnKTtcbnZhciBkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIHZhciAkU3ltYm9sID0gY29yZS5TeW1ib2wgfHwgKGNvcmUuU3ltYm9sID0gTElCUkFSWSA/IHt9IDogZ2xvYmFsLlN5bWJvbCB8fCB7fSk7XG4gIGlmIChuYW1lLmNoYXJBdCgwKSAhPSAnXycgJiYgIShuYW1lIGluICRTeW1ib2wpKSBkZWZpbmVQcm9wZXJ0eSgkU3ltYm9sLCBuYW1lLCB7IHZhbHVlOiB3a3NFeHQuZihuYW1lKSB9KTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fd2tzLWRlZmluZS5qc1xuLy8gbW9kdWxlIGlkID0gMzVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///35\n")},function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = __webpack_require__(89);\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = __webpack_require__(93);\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = __webpack_require__(44);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== "function" && superClass !== null) {\n throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9oZWxwZXJzL2luaGVyaXRzLmpzPzNkZmQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbnZhciBfc2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKFwiLi4vY29yZS1qcy9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZlwiKTtcblxudmFyIF9zZXRQcm90b3R5cGVPZjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9zZXRQcm90b3R5cGVPZik7XG5cbnZhciBfY3JlYXRlID0gcmVxdWlyZShcIi4uL2NvcmUtanMvb2JqZWN0L2NyZWF0ZVwiKTtcblxudmFyIF9jcmVhdGUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfY3JlYXRlKTtcblxudmFyIF90eXBlb2YyID0gcmVxdWlyZShcIi4uL2hlbHBlcnMvdHlwZW9mXCIpO1xuXG52YXIgX3R5cGVvZjMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF90eXBlb2YyKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5kZWZhdWx0ID0gZnVuY3Rpb24gKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7XG4gIGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArICh0eXBlb2Ygc3VwZXJDbGFzcyA9PT0gXCJ1bmRlZmluZWRcIiA/IFwidW5kZWZpbmVkXCIgOiAoMCwgX3R5cGVvZjMuZGVmYXVsdCkoc3VwZXJDbGFzcykpKTtcbiAgfVxuXG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9ICgwLCBfY3JlYXRlMi5kZWZhdWx0KShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiBzdWJDbGFzcyxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9XG4gIH0pO1xuICBpZiAoc3VwZXJDbGFzcykgX3NldFByb3RvdHlwZU9mMi5kZWZhdWx0ID8gKDAsIF9zZXRQcm90b3R5cGVPZjIuZGVmYXVsdCkoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzcztcbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9oZWxwZXJzL2luaGVyaXRzLmpzXG4vLyBtb2R1bGUgaWQgPSAzNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///36\n')},function(module,exports,__webpack_require__){eval("// optional / simple context binding\nvar aFunction = __webpack_require__(55);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2N0eC5qcz9mOTkzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIG9wdGlvbmFsIC8gc2ltcGxlIGNvbnRleHQgYmluZGluZ1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGZuLCB0aGF0LCBsZW5ndGgpIHtcbiAgYUZ1bmN0aW9uKGZuKTtcbiAgaWYgKHRoYXQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZuO1xuICBzd2l0Y2ggKGxlbmd0aCkge1xuICAgIGNhc2UgMTogcmV0dXJuIGZ1bmN0aW9uIChhKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhKTtcbiAgICB9O1xuICAgIGNhc2UgMjogcmV0dXJuIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiKTtcbiAgICB9O1xuICAgIGNhc2UgMzogcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiLCBjKTtcbiAgICB9O1xuICB9XG4gIHJldHVybiBmdW5jdGlvbiAoLyogLi4uYXJncyAqLykge1xuICAgIHJldHVybiBmbi5hcHBseSh0aGF0LCBhcmd1bWVudHMpO1xuICB9O1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19jdHguanNcbi8vIG1vZHVsZSBpZCA9IDM3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///37\n")},function(module,exports,__webpack_require__){eval("module.exports = !__webpack_require__(5) && !__webpack_require__(9)(function () {\n return Object.defineProperty(__webpack_require__(39)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2llOC1kb20tZGVmaW5lLmpzPzQ5ZjAiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSAmJiAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVxdWlyZSgnLi9fZG9tLWNyZWF0ZScpKCdkaXYnKSwgJ2EnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfSB9KS5hICE9IDc7XG59KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qc1xuLy8gbW9kdWxlIGlkID0gMzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///38\n")},function(module,exports,__webpack_require__){eval("var isObject = __webpack_require__(8);\nvar document = __webpack_require__(2).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RvbS1jcmVhdGUuanM/MzhkZCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xuLy8gdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgaXMgJ29iamVjdCcgaW4gb2xkIElFXG52YXIgaXMgPSBpc09iamVjdChkb2N1bWVudCkgJiYgaXNPYmplY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXMgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGl0KSA6IHt9O1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kb20tY3JlYXRlLmpzXG4vLyBtb2R1bGUgaWQgPSAzOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///39\n")},function(module,exports,__webpack_require__){eval("var has = __webpack_require__(6);\nvar toIObject = __webpack_require__(10);\nvar arrayIndexOf = __webpack_require__(57)(false);\nvar IE_PROTO = __webpack_require__(22)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1rZXlzLWludGVybmFsLmpzPzIxYjgiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciBhcnJheUluZGV4T2YgPSByZXF1aXJlKCcuL19hcnJheS1pbmNsdWRlcycpKGZhbHNlKTtcbnZhciBJRV9QUk9UTyA9IHJlcXVpcmUoJy4vX3NoYXJlZC1rZXknKSgnSUVfUFJPVE8nKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob2JqZWN0LCBuYW1lcykge1xuICB2YXIgTyA9IHRvSU9iamVjdChvYmplY3QpO1xuICB2YXIgaSA9IDA7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgdmFyIGtleTtcbiAgZm9yIChrZXkgaW4gTykgaWYgKGtleSAhPSBJRV9QUk9UTykgaGFzKE8sIGtleSkgJiYgcmVzdWx0LnB1c2goa2V5KTtcbiAgLy8gRG9uJ3QgZW51bSBidWcgJiBoaWRkZW4ga2V5c1xuICB3aGlsZSAobmFtZXMubGVuZ3RoID4gaSkgaWYgKGhhcyhPLCBrZXkgPSBuYW1lc1tpKytdKSkge1xuICAgIH5hcnJheUluZGV4T2YocmVzdWx0LCBrZXkpIHx8IHJlc3VsdC5wdXNoKGtleSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWtleXMtaW50ZXJuYWwuanNcbi8vIG1vZHVsZSBpZCA9IDQwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///40\n")},function(module,exports,__webpack_require__){eval("// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(42);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lvYmplY3QuanM/MzE0ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIGFuZCBub24tZW51bWVyYWJsZSBvbGQgVjggc3RyaW5nc1xudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xubW9kdWxlLmV4cG9ydHMgPSBPYmplY3QoJ3onKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKSA/IE9iamVjdCA6IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gY29mKGl0KSA9PSAnU3RyaW5nJyA/IGl0LnNwbGl0KCcnKSA6IE9iamVjdChpdCk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lvYmplY3QuanNcbi8vIG1vZHVsZSBpZCA9IDQxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///41\n")},function(module,exports){eval("var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvZi5qcz80N2QzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbChpdCkuc2xpY2UoOCwgLTEpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19jb2YuanNcbi8vIG1vZHVsZSBpZCA9IDQyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///42\n")},function(module,exports,__webpack_require__){eval("// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(6);\nvar toObject = __webpack_require__(26);\nvar IE_PROTO = __webpack_require__(22)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1ncG8uanM/M2YzYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAxOS4xLjIuOSAvIDE1LjIuMy4yIE9iamVjdC5nZXRQcm90b3R5cGVPZihPKVxudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgSUVfUFJPVE8gPSByZXF1aXJlKCcuL19zaGFyZWQta2V5JykoJ0lFX1BST1RPJyk7XG52YXIgT2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiAoTykge1xuICBPID0gdG9PYmplY3QoTyk7XG4gIGlmIChoYXMoTywgSUVfUFJPVE8pKSByZXR1cm4gT1tJRV9QUk9UT107XG4gIGlmICh0eXBlb2YgTy5jb25zdHJ1Y3RvciA9PSAnZnVuY3Rpb24nICYmIE8gaW5zdGFuY2VvZiBPLmNvbnN0cnVjdG9yKSB7XG4gICAgcmV0dXJuIE8uY29uc3RydWN0b3IucHJvdG90eXBlO1xuICB9IHJldHVybiBPIGluc3RhbmNlb2YgT2JqZWN0ID8gT2JqZWN0UHJvdG8gOiBudWxsO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZ3BvLmpzXG4vLyBtb2R1bGUgaWQgPSA0M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///43\n")},function(module,exports,__webpack_require__){"use strict";eval('\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(68);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(79);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {\n return typeof obj === "undefined" ? "undefined" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9oZWxwZXJzL3R5cGVvZi5qcz9hNDU2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuXG52YXIgX2l0ZXJhdG9yID0gcmVxdWlyZShcIi4uL2NvcmUtanMvc3ltYm9sL2l0ZXJhdG9yXCIpO1xuXG52YXIgX2l0ZXJhdG9yMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2l0ZXJhdG9yKTtcblxudmFyIF9zeW1ib2wgPSByZXF1aXJlKFwiLi4vY29yZS1qcy9zeW1ib2xcIik7XG5cbnZhciBfc3ltYm9sMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N5bWJvbCk7XG5cbnZhciBfdHlwZW9mID0gdHlwZW9mIF9zeW1ib2wyLmRlZmF1bHQgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgX2l0ZXJhdG9yMi5kZWZhdWx0ID09PSBcInN5bWJvbFwiID8gZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gdHlwZW9mIG9iajsgfSA6IGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIG9iaiAmJiB0eXBlb2YgX3N5bWJvbDIuZGVmYXVsdCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gX3N5bWJvbDIuZGVmYXVsdCAmJiBvYmogIT09IF9zeW1ib2wyLmRlZmF1bHQucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7IH07XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IHR5cGVvZiBfc3ltYm9sMi5kZWZhdWx0ID09PSBcImZ1bmN0aW9uXCIgJiYgX3R5cGVvZihfaXRlcmF0b3IyLmRlZmF1bHQpID09PSBcInN5bWJvbFwiID8gZnVuY3Rpb24gKG9iaikge1xuICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gXCJ1bmRlZmluZWRcIiA/IFwidW5kZWZpbmVkXCIgOiBfdHlwZW9mKG9iaik7XG59IDogZnVuY3Rpb24gKG9iaikge1xuICByZXR1cm4gb2JqICYmIHR5cGVvZiBfc3ltYm9sMi5kZWZhdWx0ID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBfc3ltYm9sMi5kZWZhdWx0ICYmIG9iaiAhPT0gX3N5bWJvbDIuZGVmYXVsdC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iaiA9PT0gXCJ1bmRlZmluZWRcIiA/IFwidW5kZWZpbmVkXCIgOiBfdHlwZW9mKG9iaik7XG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2JhYmVsLXJ1bnRpbWUvaGVscGVycy90eXBlb2YuanNcbi8vIG1vZHVsZSBpZCA9IDQ0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///44\n')},function(module,exports,__webpack_require__){"use strict";eval("\nvar LIBRARY = __webpack_require__(15);\nvar $export = __webpack_require__(3);\nvar redefine = __webpack_require__(46);\nvar hide = __webpack_require__(7);\nvar Iterators = __webpack_require__(31);\nvar $iterCreate = __webpack_require__(72);\nvar setToStringTag = __webpack_require__(33);\nvar getPrototypeOf = __webpack_require__(43);\nvar ITERATOR = __webpack_require__(11)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItZGVmaW5lLmpzP2JjODAiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyIExJQlJBUlkgPSByZXF1aXJlKCcuL19saWJyYXJ5Jyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIEl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4vX2l0ZXJhdG9ycycpO1xudmFyICRpdGVyQ3JlYXRlID0gcmVxdWlyZSgnLi9faXRlci1jcmVhdGUnKTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IHJlcXVpcmUoJy4vX3NldC10by1zdHJpbmctdGFnJyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG52YXIgSVRFUkFUT1IgPSByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKTtcbnZhciBCVUdHWSA9ICEoW10ua2V5cyAmJiAnbmV4dCcgaW4gW10ua2V5cygpKTsgLy8gU2FmYXJpIGhhcyBidWdneSBpdGVyYXRvcnMgdy9vIGBuZXh0YFxudmFyIEZGX0lURVJBVE9SID0gJ0BAaXRlcmF0b3InO1xudmFyIEtFWVMgPSAna2V5cyc7XG52YXIgVkFMVUVTID0gJ3ZhbHVlcyc7XG5cbnZhciByZXR1cm5UaGlzID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQmFzZSwgTkFNRSwgQ29uc3RydWN0b3IsIG5leHQsIERFRkFVTFQsIElTX1NFVCwgRk9SQ0VEKSB7XG4gICRpdGVyQ3JlYXRlKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KTtcbiAgdmFyIGdldE1ldGhvZCA9IGZ1bmN0aW9uIChraW5kKSB7XG4gICAgaWYgKCFCVUdHWSAmJiBraW5kIGluIHByb3RvKSByZXR1cm4gcHJvdG9ba2luZF07XG4gICAgc3dpdGNoIChraW5kKSB7XG4gICAgICBjYXNlIEtFWVM6IHJldHVybiBmdW5jdGlvbiBrZXlzKCkgeyByZXR1cm4gbmV3IENvbnN0cnVjdG9yKHRoaXMsIGtpbmQpOyB9O1xuICAgICAgY2FzZSBWQUxVRVM6IHJldHVybiBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiBuZXcgQ29uc3RydWN0b3IodGhpcywga2luZCk7IH07XG4gICAgfSByZXR1cm4gZnVuY3Rpb24gZW50cmllcygpIHsgcmV0dXJuIG5ldyBDb25zdHJ1Y3Rvcih0aGlzLCBraW5kKTsgfTtcbiAgfTtcbiAgdmFyIFRBRyA9IE5BTUUgKyAnIEl0ZXJhdG9yJztcbiAgdmFyIERFRl9WQUxVRVMgPSBERUZBVUxUID09IFZBTFVFUztcbiAgdmFyIFZBTFVFU19CVUcgPSBmYWxzZTtcbiAgdmFyIHByb3RvID0gQmFzZS5wcm90b3R5cGU7XG4gIHZhciAkbmF0aXZlID0gcHJvdG9bSVRFUkFUT1JdIHx8IHByb3RvW0ZGX0lURVJBVE9SXSB8fCBERUZBVUxUICYmIHByb3RvW0RFRkFVTFRdO1xuICB2YXIgJGRlZmF1bHQgPSAkbmF0aXZlIHx8IGdldE1ldGhvZChERUZBVUxUKTtcbiAgdmFyICRlbnRyaWVzID0gREVGQVVMVCA/ICFERUZfVkFMVUVTID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoJ2VudHJpZXMnKSA6IHVuZGVmaW5lZDtcbiAgdmFyICRhbnlOYXRpdmUgPSBOQU1FID09ICdBcnJheScgPyBwcm90by5lbnRyaWVzIHx8ICRuYXRpdmUgOiAkbmF0aXZlO1xuICB2YXIgbWV0aG9kcywga2V5LCBJdGVyYXRvclByb3RvdHlwZTtcbiAgLy8gRml4IG5hdGl2ZVxuICBpZiAoJGFueU5hdGl2ZSkge1xuICAgIEl0ZXJhdG9yUHJvdG90eXBlID0gZ2V0UHJvdG90eXBlT2YoJGFueU5hdGl2ZS5jYWxsKG5ldyBCYXNlKCkpKTtcbiAgICBpZiAoSXRlcmF0b3JQcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUgJiYgSXRlcmF0b3JQcm90b3R5cGUubmV4dCkge1xuICAgICAgLy8gU2V0IEBAdG9TdHJpbmdUYWcgdG8gbmF0aXZlIGl0ZXJhdG9yc1xuICAgICAgc2V0VG9TdHJpbmdUYWcoSXRlcmF0b3JQcm90b3R5cGUsIFRBRywgdHJ1ZSk7XG4gICAgICAvLyBmaXggZm9yIHNvbWUgb2xkIGVuZ2luZXNcbiAgICAgIGlmICghTElCUkFSWSAmJiB0eXBlb2YgSXRlcmF0b3JQcm90b3R5cGVbSVRFUkFUT1JdICE9ICdmdW5jdGlvbicpIGhpZGUoSXRlcmF0b3JQcm90b3R5cGUsIElURVJBVE9SLCByZXR1cm5UaGlzKTtcbiAgICB9XG4gIH1cbiAgLy8gZml4IEFycmF5I3t2YWx1ZXMsIEBAaXRlcmF0b3J9Lm5hbWUgaW4gVjggLyBGRlxuICBpZiAoREVGX1ZBTFVFUyAmJiAkbmF0aXZlICYmICRuYXRpdmUubmFtZSAhPT0gVkFMVUVTKSB7XG4gICAgVkFMVUVTX0JVRyA9IHRydWU7XG4gICAgJGRlZmF1bHQgPSBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiAkbmF0aXZlLmNhbGwodGhpcyk7IH07XG4gIH1cbiAgLy8gRGVmaW5lIGl0ZXJhdG9yXG4gIGlmICgoIUxJQlJBUlkgfHwgRk9SQ0VEKSAmJiAoQlVHR1kgfHwgVkFMVUVTX0JVRyB8fCAhcHJvdG9bSVRFUkFUT1JdKSkge1xuICAgIGhpZGUocHJvdG8sIElURVJBVE9SLCAkZGVmYXVsdCk7XG4gIH1cbiAgLy8gUGx1ZyBmb3IgbGlicmFyeVxuICBJdGVyYXRvcnNbTkFNRV0gPSAkZGVmYXVsdDtcbiAgSXRlcmF0b3JzW1RBR10gPSByZXR1cm5UaGlzO1xuICBpZiAoREVGQVVMVCkge1xuICAgIG1ldGhvZHMgPSB7XG4gICAgICB2YWx1ZXM6IERFRl9WQUxVRVMgPyAkZGVmYXVsdCA6IGdldE1ldGhvZChWQUxVRVMpLFxuICAgICAga2V5czogSVNfU0VUID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoS0VZUyksXG4gICAgICBlbnRyaWVzOiAkZW50cmllc1xuICAgIH07XG4gICAgaWYgKEZPUkNFRCkgZm9yIChrZXkgaW4gbWV0aG9kcykge1xuICAgICAgaWYgKCEoa2V5IGluIHByb3RvKSkgcmVkZWZpbmUocHJvdG8sIGtleSwgbWV0aG9kc1trZXldKTtcbiAgICB9IGVsc2UgJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoQlVHR1kgfHwgVkFMVUVTX0JVRyksIE5BTUUsIG1ldGhvZHMpO1xuICB9XG4gIHJldHVybiBtZXRob2RzO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pdGVyLWRlZmluZS5qc1xuLy8gbW9kdWxlIGlkID0gNDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///45\n")},function(module,exports,__webpack_require__){eval("module.exports = __webpack_require__(7);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3JlZGVmaW5lLmpzP2YzY2QiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19oaWRlJyk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fcmVkZWZpbmUuanNcbi8vIG1vZHVsZSBpZCA9IDQ2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///46\n")},function(module,exports,__webpack_require__){eval("// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(40);\nvar hiddenKeys = __webpack_require__(24).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BuLmpzPzlmNDQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMTkuMS4yLjcgLyAxNS4yLjMuNCBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhPKVxudmFyICRrZXlzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWtleXMtaW50ZXJuYWwnKTtcbnZhciBoaWRkZW5LZXlzID0gcmVxdWlyZSgnLi9fZW51bS1idWcta2V5cycpLmNvbmNhdCgnbGVuZ3RoJywgJ3Byb3RvdHlwZScpO1xuXG5leHBvcnRzLmYgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB8fCBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eU5hbWVzKE8pIHtcbiAgcmV0dXJuICRrZXlzKE8sIGhpZGRlbktleXMpO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZ29wbi5qc1xuLy8gbW9kdWxlIGlkID0gNDdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///47\n")},function(module,exports,__webpack_require__){eval("var pIE = __webpack_require__(17);\nvar createDesc = __webpack_require__(13);\nvar toIObject = __webpack_require__(10);\nvar toPrimitive = __webpack_require__(19);\nvar has = __webpack_require__(6);\nvar IE8_DOM_DEFINE = __webpack_require__(38);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(5) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BkLmpzPzJjYTYiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHBJRSA9IHJlcXVpcmUoJy4vX29iamVjdC1waWUnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIElFOF9ET01fREVGSU5FID0gcmVxdWlyZSgnLi9faWU4LWRvbS1kZWZpbmUnKTtcbnZhciBnT1BEID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuZXhwb3J0cy5mID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IGdPUEQgOiBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTywgUCkge1xuICBPID0gdG9JT2JqZWN0KE8pO1xuICBQID0gdG9QcmltaXRpdmUoUCwgdHJ1ZSk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gZ09QRChPLCBQKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIGlmIChoYXMoTywgUCkpIHJldHVybiBjcmVhdGVEZXNjKCFwSUUuZi5jYWxsKE8sIFApLCBPW1BdKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWdvcGQuanNcbi8vIG1vZHVsZSBpZCA9IDQ4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///48\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval('Object.defineProperty(__webpack_exports__, "__esModule", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__i18n_js__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__i18n_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__i18n_js__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__checkout_button_block_js__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__account_page_block_js__ = __webpack_require__(96);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__account_membership_section_block_js__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__account_profile_section_block_js__ = __webpack_require__(101);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__account_invoices_section_block_js__ = __webpack_require__(103);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__account_links_section_block_js__ = __webpack_require__(105);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__billing_page_block_js__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__cancel_page_block_js__ = __webpack_require__(109);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__checkout_page_block_js__ = __webpack_require__(111);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__confirmation_page_block_js__ = __webpack_require__(114);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__invoice_page_block_js__ = __webpack_require__(116);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__levels_page_block_js__ = __webpack_require__(118);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__membership_block_js__ = __webpack_require__(120);\n/**\n * Import internationalization\n */\n\n\n/**\n * Import registerBlockType blocks\n */\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ibG9ja3MvYmxvY2tzLmpzPzNlZjEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbXBvcnQgaW50ZXJuYXRpb25hbGl6YXRpb25cbiAqL1xuaW1wb3J0ICcuL2kxOG4uanMnO1xuXG4vKipcbiAqIEltcG9ydCByZWdpc3RlckJsb2NrVHlwZSBibG9ja3NcbiAqL1xuaW1wb3J0ICcuL2NoZWNrb3V0LWJ1dHRvbi9ibG9jay5qcyc7XG5pbXBvcnQgJy4vYWNjb3VudC1wYWdlL2Jsb2NrLmpzJztcbmltcG9ydCAnLi9hY2NvdW50LW1lbWJlcnNoaXAtc2VjdGlvbi9ibG9jay5qcyc7XG5pbXBvcnQgJy4vYWNjb3VudC1wcm9maWxlLXNlY3Rpb24vYmxvY2suanMnO1xuaW1wb3J0ICcuL2FjY291bnQtaW52b2ljZXMtc2VjdGlvbi9ibG9jay5qcyc7XG5pbXBvcnQgJy4vYWNjb3VudC1saW5rcy1zZWN0aW9uL2Jsb2NrLmpzJztcbmltcG9ydCAnLi9iaWxsaW5nLXBhZ2UvYmxvY2suanMnO1xuaW1wb3J0ICcuL2NhbmNlbC1wYWdlL2Jsb2NrLmpzJztcbmltcG9ydCAnLi9jaGVja291dC1wYWdlL2Jsb2NrLmpzJztcbmltcG9ydCAnLi9jb25maXJtYXRpb24tcGFnZS9ibG9jay5qcyc7XG5pbXBvcnQgJy4vaW52b2ljZS1wYWdlL2Jsb2NrLmpzJztcbmltcG9ydCAnLi9sZXZlbHMtcGFnZS9ibG9jay5qcyc7XG5pbXBvcnQgJy4vbWVtYmVyc2hpcC9ibG9jay5qcyc7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ibG9ja3MvYmxvY2tzLmpzXG4vLyBtb2R1bGUgaWQgPSA0OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///49\n')},function(module,exports){eval("wp.i18n.setLocaleData({ '': {} }, 'paid-memberships-pro');//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ibG9ja3MvaTE4bi5qcz9iNDE0Il0sInNvdXJjZXNDb250ZW50IjpbIndwLmkxOG4uc2V0TG9jYWxlRGF0YSh7ICcnOiB7fSB9LCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2Jsb2Nrcy9pMThuLmpzXG4vLyBtb2R1bGUgaWQgPSA1MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///50\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_css__ = __webpack_require__(60);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__inspector__ = __webpack_require__(61);\n\n/**\n * Block: PMPro Checkout Button\n *\n * Add a styled link to the PMPro checkout page for a specific level.\n *\n */\n\n/**\n * Block dependencies\n */\n\n\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n BlockControls = _wp$blocks.BlockControls;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n TextControl = _wp$components.TextControl,\n SelectControl = _wp$components.SelectControl;\nvar InspectorControls = wp.editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/checkout-button', {\n title: __('Membership Checkout Button', 'paid-memberships-pro'),\n description: __('Displays a button-styled link to Membership Checkout for the specified level.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'migrate'\n },\n keywords: [__('pmpro', 'paid-memberships-pro'), __('buy', 'paid-memberships-pro'), __('level', 'paid-memberships-pro')],\n supports: {},\n attributes: {\n text: {\n type: 'string',\n default: 'Buy Now'\n },\n css_class: {\n type: 'string',\n default: 'pmpro_btn'\n },\n level: {\n type: 'string'\n }\n },\n edit: function edit(props) {\n var _props$attributes = props.attributes,\n text = _props$attributes.text,\n level = _props$attributes.level,\n css_class = _props$attributes.css_class,\n className = props.className,\n setAttributes = props.setAttributes,\n isSelected = props.isSelected;\n\n return [isSelected && wp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__inspector__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({ setAttributes: setAttributes }, props)), wp.element.createElement(\n 'div',\n {\n className: className\n },\n wp.element.createElement(\n 'a',\n { 'class': css_class },\n text\n )\n ), isSelected && wp.element.createElement(\n 'div',\n null,\n wp.element.createElement('br', null),\n wp.element.createElement(TextControl, {\n label: __('Button Text', 'paid-memberships-pro'),\n value: text,\n onChange: function onChange(text) {\n return setAttributes({ text: text });\n }\n }),\n wp.element.createElement(SelectControl, {\n label: __('Level ID', 'paid-memberships-pro'),\n value: level,\n onChange: function onChange(level) {\n return setAttributes({ level: level });\n },\n options: window.pmpro.all_level_values_and_labels\n }),\n wp.element.createElement(TextControl, {\n label: __('CSS Class', 'paid-memberships-pro'),\n value: css_class,\n onChange: function onChange(css_class) {\n return setAttributes({ css_class: css_class });\n }\n })\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ibG9ja3MvY2hlY2tvdXQtYnV0dG9uL2Jsb2NrLmpzP2E1Y2YiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9leHRlbmRzJztcbi8qKlxuICogQmxvY2s6IFBNUHJvIENoZWNrb3V0IEJ1dHRvblxuICpcbiAqIEFkZCBhIHN0eWxlZCBsaW5rIHRvIHRoZSBQTVBybyBjaGVja291dCBwYWdlIGZvciBhIHNwZWNpZmljIGxldmVsLlxuICpcbiAqL1xuXG4vKipcbiAqIEJsb2NrIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgJy4vZWRpdG9yLmNzcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBJbnNwZWN0b3IgZnJvbSAnLi9pbnNwZWN0b3InO1xuXG4vKipcbiAqIEludGVybmFsIGJsb2NrIGxpYnJhcmllc1xuICovXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIF93cCRibG9ja3MgPSB3cC5ibG9ja3MsXG4gICAgcmVnaXN0ZXJCbG9ja1R5cGUgPSBfd3AkYmxvY2tzLnJlZ2lzdGVyQmxvY2tUeXBlLFxuICAgIEJsb2NrQ29udHJvbHMgPSBfd3AkYmxvY2tzLkJsb2NrQ29udHJvbHM7XG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBUZXh0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlRleHRDb250cm9sLFxuICAgIFNlbGVjdENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5TZWxlY3RDb250cm9sO1xudmFyIEluc3BlY3RvckNvbnRyb2xzID0gd3AuZWRpdG9yLkluc3BlY3RvckNvbnRyb2xzO1xuXG4vKipcbiAqIFJlZ2lzdGVyIGJsb2NrXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgcmVnaXN0ZXJCbG9ja1R5cGUoJ3BtcHJvL2NoZWNrb3V0LWJ1dHRvbicsIHtcbiAgICB0aXRsZTogX18oJ01lbWJlcnNoaXAgQ2hlY2tvdXQgQnV0dG9uJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksXG4gICAgZGVzY3JpcHRpb246IF9fKCdEaXNwbGF5cyBhIGJ1dHRvbi1zdHlsZWQgbGluayB0byBNZW1iZXJzaGlwIENoZWNrb3V0IGZvciB0aGUgc3BlY2lmaWVkIGxldmVsLicsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgIGNhdGVnb3J5OiAncG1wcm8nLFxuICAgIGljb246IHtcbiAgICAgICAgYmFja2dyb3VuZDogJyMyOTk3YzgnLFxuICAgICAgICBmb3JlZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgICAgIHNyYzogJ21pZ3JhdGUnXG4gICAgfSxcbiAgICBrZXl3b3JkczogW19fKCdwbXBybycsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLCBfXygnYnV5JywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksIF9fKCdsZXZlbCcsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpXSxcbiAgICBzdXBwb3J0czoge30sXG4gICAgYXR0cmlidXRlczoge1xuICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdCdXkgTm93J1xuICAgICAgICB9LFxuICAgICAgICBjc3NfY2xhc3M6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVmYXVsdDogJ3BtcHJvX2J0bidcbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGVkaXQ6IGZ1bmN0aW9uIGVkaXQocHJvcHMpIHtcbiAgICAgICAgdmFyIF9wcm9wcyRhdHRyaWJ1dGVzID0gcHJvcHMuYXR0cmlidXRlcyxcbiAgICAgICAgICAgIHRleHQgPSBfcHJvcHMkYXR0cmlidXRlcy50ZXh0LFxuICAgICAgICAgICAgbGV2ZWwgPSBfcHJvcHMkYXR0cmlidXRlcy5sZXZlbCxcbiAgICAgICAgICAgIGNzc19jbGFzcyA9IF9wcm9wcyRhdHRyaWJ1dGVzLmNzc19jbGFzcyxcbiAgICAgICAgICAgIGNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNldEF0dHJpYnV0ZXMgPSBwcm9wcy5zZXRBdHRyaWJ1dGVzLFxuICAgICAgICAgICAgaXNTZWxlY3RlZCA9IHByb3BzLmlzU2VsZWN0ZWQ7XG5cbiAgICAgICAgcmV0dXJuIFtpc1NlbGVjdGVkICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChJbnNwZWN0b3IsIF9leHRlbmRzKHsgc2V0QXR0cmlidXRlczogc2V0QXR0cmlidXRlcyB9LCBwcm9wcykpLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAnZGl2JyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzTmFtZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgICAnYScsXG4gICAgICAgICAgICAgICAgeyAnY2xhc3MnOiBjc3NfY2xhc3MgfSxcbiAgICAgICAgICAgICAgICB0ZXh0XG4gICAgICAgICAgICApXG4gICAgICAgICksIGlzU2VsZWN0ZWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgJ2RpdicsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KCdicicsIG51bGwpLFxuICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IF9fKCdCdXR0b24gVGV4dCcsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0ZXh0LFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh0ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgdGV4dDogdGV4dCB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IF9fKCdMZXZlbCBJRCcsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBsZXZlbCxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UobGV2ZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBsZXZlbDogbGV2ZWwgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB3aW5kb3cucG1wcm8uYWxsX2xldmVsX3ZhbHVlc19hbmRfbGFiZWxzXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuICAgICAgICAgICAgICAgIGxhYmVsOiBfXygnQ1NTIENsYXNzJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGNzc19jbGFzcyxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoY3NzX2NsYXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgY3NzX2NsYXNzOiBjc3NfY2xhc3MgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKV07XG4gICAgfSxcbiAgICBzYXZlOiBmdW5jdGlvbiBzYXZlKCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2Jsb2Nrcy9jaGVja291dC1idXR0b24vYmxvY2suanNcbi8vIG1vZHVsZSBpZCA9IDUxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///51\n")},function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__(53), __esModule: true };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9hc3NpZ24uanM/YzI4MyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IHJlcXVpcmUoXCJjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2Fzc2lnblwiKSwgX19lc01vZHVsZTogdHJ1ZSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2JhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvYXNzaWduLmpzXG4vLyBtb2R1bGUgaWQgPSA1MlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///52\n')},function(module,exports,__webpack_require__){eval("__webpack_require__(54);\nmodule.exports = __webpack_require__(1).Object.assign;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9hc3NpZ24uanM/NTc3YiJdLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5vYmplY3QuYXNzaWduJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5PYmplY3QuYXNzaWduO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9hc3NpZ24uanNcbi8vIG1vZHVsZSBpZCA9IDUzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///53\n")},function(module,exports,__webpack_require__){eval("// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(3);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(56) });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5hc3NpZ24uanM/NDc4YyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAxOS4xLjMuMSBPYmplY3QuYXNzaWduKHRhcmdldCwgc291cmNlKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYsICdPYmplY3QnLCB7IGFzc2lnbjogcmVxdWlyZSgnLi9fb2JqZWN0LWFzc2lnbicpIH0pO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5hc3NpZ24uanNcbi8vIG1vZHVsZSBpZCA9IDU0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///54\n")},function(module,exports){eval("module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2EtZnVuY3Rpb24uanM/OTRlOSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAodHlwZW9mIGl0ICE9ICdmdW5jdGlvbicpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGEgZnVuY3Rpb24hJyk7XG4gIHJldHVybiBpdDtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYS1mdW5jdGlvbi5qc1xuLy8gbW9kdWxlIGlkID0gNTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///55\n")},function(module,exports,__webpack_require__){"use strict";eval("\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(14);\nvar gOPS = __webpack_require__(25);\nvar pIE = __webpack_require__(17);\nvar toObject = __webpack_require__(26);\nvar IObject = __webpack_require__(41);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(9)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1hc3NpZ24uanM/NGU4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG4vLyAxOS4xLjIuMSBPYmplY3QuYXNzaWduKHRhcmdldCwgc291cmNlLCAuLi4pXG52YXIgZ2V0S2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG52YXIgZ09QUyA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BzJyk7XG52YXIgcElFID0gcmVxdWlyZSgnLi9fb2JqZWN0LXBpZScpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciAkYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gc2hvdWxkIHdvcmsgd2l0aCBzeW1ib2xzIGFuZCBzaG91bGQgaGF2ZSBkZXRlcm1pbmlzdGljIHByb3BlcnR5IG9yZGVyIChWOCBidWcpXG5tb2R1bGUuZXhwb3J0cyA9ICEkYXNzaWduIHx8IHJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICB2YXIgQSA9IHt9O1xuICB2YXIgQiA9IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgdmFyIFMgPSBTeW1ib2woKTtcbiAgdmFyIEsgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3QnO1xuICBBW1NdID0gNztcbiAgSy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAoaykgeyBCW2tdID0gazsgfSk7XG4gIHJldHVybiAkYXNzaWduKHt9LCBBKVtTXSAhPSA3IHx8IE9iamVjdC5rZXlzKCRhc3NpZ24oe30sIEIpKS5qb2luKCcnKSAhPSBLO1xufSkgPyBmdW5jdGlvbiBhc3NpZ24odGFyZ2V0LCBzb3VyY2UpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICB2YXIgVCA9IHRvT2JqZWN0KHRhcmdldCk7XG4gIHZhciBhTGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgdmFyIGluZGV4ID0gMTtcbiAgdmFyIGdldFN5bWJvbHMgPSBnT1BTLmY7XG4gIHZhciBpc0VudW0gPSBwSUUuZjtcbiAgd2hpbGUgKGFMZW4gPiBpbmRleCkge1xuICAgIHZhciBTID0gSU9iamVjdChhcmd1bWVudHNbaW5kZXgrK10pO1xuICAgIHZhciBrZXlzID0gZ2V0U3ltYm9scyA/IGdldEtleXMoUykuY29uY2F0KGdldFN5bWJvbHMoUykpIDogZ2V0S2V5cyhTKTtcbiAgICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gICAgdmFyIGogPSAwO1xuICAgIHZhciBrZXk7XG4gICAgd2hpbGUgKGxlbmd0aCA+IGopIGlmIChpc0VudW0uY2FsbChTLCBrZXkgPSBrZXlzW2orK10pKSBUW2tleV0gPSBTW2tleV07XG4gIH0gcmV0dXJuIFQ7XG59IDogJGFzc2lnbjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtYXNzaWduLmpzXG4vLyBtb2R1bGUgaWQgPSA1NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///56\n")},function(module,exports,__webpack_require__){eval("// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(10);\nvar toLength = __webpack_require__(58);\nvar toAbsoluteIndex = __webpack_require__(59);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FycmF5LWluY2x1ZGVzLmpzP2JjNTciXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZmFsc2UgLT4gQXJyYXkjaW5kZXhPZlxuLy8gdHJ1ZSAgLT4gQXJyYXkjaW5jbHVkZXNcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoSVNfSU5DTFVERVMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgZWwsIGZyb21JbmRleCkge1xuICAgIHZhciBPID0gdG9JT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IHRvQWJzb2x1dGVJbmRleChmcm9tSW5kZXgsIGxlbmd0aCk7XG4gICAgdmFyIHZhbHVlO1xuICAgIC8vIEFycmF5I2luY2x1ZGVzIHVzZXMgU2FtZVZhbHVlWmVybyBlcXVhbGl0eSBhbGdvcml0aG1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgaWYgKElTX0lOQ0xVREVTICYmIGVsICE9IGVsKSB3aGlsZSAobGVuZ3RoID4gaW5kZXgpIHtcbiAgICAgIHZhbHVlID0gT1tpbmRleCsrXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZSkgcmV0dXJuIHRydWU7XG4gICAgLy8gQXJyYXkjaW5kZXhPZiBpZ25vcmVzIGhvbGVzLCBBcnJheSNpbmNsdWRlcyAtIG5vdFxuICAgIH0gZWxzZSBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKElTX0lOQ0xVREVTIHx8IGluZGV4IGluIE8pIHtcbiAgICAgIGlmIChPW2luZGV4XSA9PT0gZWwpIHJldHVybiBJU19JTkNMVURFUyB8fCBpbmRleCB8fCAwO1xuICAgIH0gcmV0dXJuICFJU19JTkNMVURFUyAmJiAtMTtcbiAgfTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanNcbi8vIG1vZHVsZSBpZCA9IDU3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///57\n")},function(module,exports,__webpack_require__){eval("// 7.1.15 ToLength\nvar toInteger = __webpack_require__(21);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWxlbmd0aC5qcz80MTExIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDcuMS4xNSBUb0xlbmd0aFxudmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpdCA+IDAgPyBtaW4odG9JbnRlZ2VyKGl0KSwgMHgxZmZmZmZmZmZmZmZmZikgOiAwOyAvLyBwb3coMiwgNTMpIC0gMSA9PSA5MDA3MTk5MjU0NzQwOTkxXG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWxlbmd0aC5qc1xuLy8gbW9kdWxlIGlkID0gNThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///58\n")},function(module,exports,__webpack_require__){eval("var toInteger = __webpack_require__(21);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3RvLWFic29sdXRlLWluZGV4LmpzPzdlNDAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGluZGV4LCBsZW5ndGgpIHtcbiAgaW5kZXggPSB0b0ludGVnZXIoaW5kZXgpO1xuICByZXR1cm4gaW5kZXggPCAwID8gbWF4KGluZGV4ICsgbGVuZ3RoLCAwKSA6IG1pbihpbmRleCwgbGVuZ3RoKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tYWJzb2x1dGUtaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDU5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///59\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ibG9ja3MvY2hlY2tvdXQtYnV0dG9uL2VkaXRvci5jc3M/MmE0YSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2NoZWNrb3V0LWJ1dHRvbi9lZGl0b3IuY3NzXG4vLyBtb2R1bGUgaWQgPSA2MFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///60\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n\n\n\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl,\n SelectControl = _wp$components.SelectControl;\nvar InspectorControls = wp.editor.InspectorControls;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(Inspector, _Component);\n\n function Inspector() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Inspector);\n\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Inspector.__proto__ || __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of___default()(Inspector)).apply(this, arguments));\n }\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default()(Inspector, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n _props$attributes = _props.attributes,\n text = _props$attributes.text,\n level = _props$attributes.level,\n css_class = _props$attributes.css_class,\n setAttributes = _props.setAttributes;\n\n\n return wp.element.createElement(\n InspectorControls,\n null,\n wp.element.createElement(\n PanelBody,\n null,\n wp.element.createElement(TextControl, {\n label: __('Button Text', 'paid-memberships-pro'),\n help: __('Text for checkout button', 'paid-memberships-pro'),\n value: text,\n onChange: function onChange(text) {\n return setAttributes({ text: text });\n }\n })\n ),\n wp.element.createElement(\n PanelBody,\n null,\n wp.element.createElement(SelectControl, {\n label: __('Level ID', 'paid-memberships-pro'),\n help: __('Level id to check out', 'paid-memberships-pro'),\n value: level,\n onChange: function onChange(level) {\n return setAttributes({ level: level });\n },\n options: window.pmpro.all_level_values_and_labels\n })\n ),\n wp.element.createElement(\n PanelBody,\n null,\n wp.element.createElement(TextControl, {\n label: __('CSS Class', 'paid-memberships-pro'),\n help: __('Additional Styling for Button', 'paid-memberships-pro'),\n value: css_class,\n onChange: function onChange(css_class) {\n return setAttributes({ css_class: css_class });\n }\n })\n )\n );\n }\n }]);\n\n return Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ibG9ja3MvY2hlY2tvdXQtYnV0dG9uL2luc3BlY3Rvci5qcz9jMWU0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfT2JqZWN0JGdldFByb3RvdHlwZU9mIGZyb20gJ2JhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvZ2V0LXByb3RvdHlwZS1vZic7XG5pbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVjayc7XG5pbXBvcnQgX2NyZWF0ZUNsYXNzIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzcyc7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4nO1xuaW1wb3J0IF9pbmhlcml0cyBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHMnO1xuLyoqXG4gKiBJbnRlcm5hbCBibG9jayBsaWJyYXJpZXNcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBDb21wb25lbnQgPSB3cC5lbGVtZW50LkNvbXBvbmVudDtcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFBhbmVsUm93ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxSb3csXG4gICAgVGV4dENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5UZXh0Q29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbDtcbnZhciBJbnNwZWN0b3JDb250cm9scyA9IHdwLmVkaXRvci5JbnNwZWN0b3JDb250cm9scztcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gICAgX2luaGVyaXRzKEluc3BlY3RvciwgX0NvbXBvbmVudCk7XG5cbiAgICBmdW5jdGlvbiBJbnNwZWN0b3IoKSB7XG4gICAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG4gICAgICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoSW5zcGVjdG9yLl9fcHJvdG9fXyB8fCBfT2JqZWN0JGdldFByb3RvdHlwZU9mKEluc3BlY3RvcikpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICAgIH1cblxuICAgIF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG4gICAgICAgIGtleTogJ3JlbmRlcicsXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICAgICAgICB2YXIgX3Byb3BzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICAgICAgICBfcHJvcHMkYXR0cmlidXRlcyA9IF9wcm9wcy5hdHRyaWJ1dGVzLFxuICAgICAgICAgICAgICAgIHRleHQgPSBfcHJvcHMkYXR0cmlidXRlcy50ZXh0LFxuICAgICAgICAgICAgICAgIGxldmVsID0gX3Byb3BzJGF0dHJpYnV0ZXMubGV2ZWwsXG4gICAgICAgICAgICAgICAgY3NzX2NsYXNzID0gX3Byb3BzJGF0dHJpYnV0ZXMuY3NzX2NsYXNzLFxuICAgICAgICAgICAgICAgIHNldEF0dHJpYnV0ZXMgPSBfcHJvcHMuc2V0QXR0cmlidXRlcztcblxuXG4gICAgICAgICAgICByZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgIEluc3BlY3RvckNvbnRyb2xzLFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICBQYW5lbEJvZHksXG4gICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF9fKCdCdXR0b24gVGV4dCcsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVscDogX18oJ1RleHQgZm9yIGNoZWNrb3V0IGJ1dHRvbicsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodGV4dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgdGV4dDogdGV4dCB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgICAgICAgUGFuZWxCb2R5LFxuICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF9fKCdMZXZlbCBJRCcsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVscDogX18oJ0xldmVsIGlkIHRvIGNoZWNrIG91dCcsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGxldmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKGxldmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBsZXZlbDogbGV2ZWwgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogd2luZG93LnBtcHJvLmFsbF9sZXZlbF92YWx1ZXNfYW5kX2xhYmVsc1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICBQYW5lbEJvZHksXG4gICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF9fKCdDU1MgQ2xhc3MnLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA6IF9fKCdBZGRpdGlvbmFsIFN0eWxpbmcgZm9yIEJ1dHRvbicsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNzc19jbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShjc3NfY2xhc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0QXR0cmlidXRlcyh7IGNzc19jbGFzczogY3NzX2NsYXNzIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XSk7XG5cbiAgICByZXR1cm4gSW5zcGVjdG9yO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgZGVmYXVsdCBJbnNwZWN0b3I7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ibG9ja3MvY2hlY2tvdXQtYnV0dG9uL2luc3BlY3Rvci5qc1xuLy8gbW9kdWxlIGlkID0gNjFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///61\n")},function(module,exports,__webpack_require__){eval("__webpack_require__(63);\nmodule.exports = __webpack_require__(1).Object.getPrototypeOf;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9nZXQtcHJvdG90eXBlLW9mLmpzPzdkMmUiXSwic291cmNlc0NvbnRlbnQiOlsicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYub2JqZWN0LmdldC1wcm90b3R5cGUtb2YnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9fY29yZScpLk9iamVjdC5nZXRQcm90b3R5cGVPZjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9mbi9vYmplY3QvZ2V0LXByb3RvdHlwZS1vZi5qc1xuLy8gbW9kdWxlIGlkID0gNjJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///62\n")},function(module,exports,__webpack_require__){eval("// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(26);\nvar $getPrototypeOf = __webpack_require__(43);\n\n__webpack_require__(64)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5nZXQtcHJvdG90eXBlLW9mLmpzPzJhMWUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMTkuMS4yLjkgT2JqZWN0LmdldFByb3RvdHlwZU9mKE8pXG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciAkZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG5cbnJlcXVpcmUoJy4vX29iamVjdC1zYXAnKSgnZ2V0UHJvdG90eXBlT2YnLCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBmdW5jdGlvbiBnZXRQcm90b3R5cGVPZihpdCkge1xuICAgIHJldHVybiAkZ2V0UHJvdG90eXBlT2YodG9PYmplY3QoaXQpKTtcbiAgfTtcbn0pO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5nZXQtcHJvdG90eXBlLW9mLmpzXG4vLyBtb2R1bGUgaWQgPSA2M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///63\n")},function(module,exports,__webpack_require__){eval("// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(3);\nvar core = __webpack_require__(1);\nvar fails = __webpack_require__(9);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1zYXAuanM/YmFhNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBtb3N0IE9iamVjdCBtZXRob2RzIGJ5IEVTNiBzaG91bGQgYWNjZXB0IHByaW1pdGl2ZXNcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChLRVksIGV4ZWMpIHtcbiAgdmFyIGZuID0gKGNvcmUuT2JqZWN0IHx8IHt9KVtLRVldIHx8IE9iamVjdFtLRVldO1xuICB2YXIgZXhwID0ge307XG4gIGV4cFtLRVldID0gZXhlYyhmbik7XG4gICRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogZmFpbHMoZnVuY3Rpb24gKCkgeyBmbigxKTsgfSksICdPYmplY3QnLCBleHApO1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3Qtc2FwLmpzXG4vLyBtb2R1bGUgaWQgPSA2NFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///64\n")},function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__(66), __esModule: true };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9kZWZpbmUtcHJvcGVydHkuanM/MGI4MyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IHJlcXVpcmUoXCJjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2RlZmluZS1wcm9wZXJ0eVwiKSwgX19lc01vZHVsZTogdHJ1ZSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2JhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvZGVmaW5lLXByb3BlcnR5LmpzXG4vLyBtb2R1bGUgaWQgPSA2NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///65\n')},function(module,exports,__webpack_require__){eval("__webpack_require__(67);\nvar $Object = __webpack_require__(1).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9kZWZpbmUtcHJvcGVydHkuanM/ZjViMCJdLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5vYmplY3QuZGVmaW5lLXByb3BlcnR5Jyk7XG52YXIgJE9iamVjdCA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5PYmplY3Q7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KGl0LCBrZXksIGRlc2MpIHtcbiAgcmV0dXJuICRPYmplY3QuZGVmaW5lUHJvcGVydHkoaXQsIGtleSwgZGVzYyk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9kZWZpbmUtcHJvcGVydHkuanNcbi8vIG1vZHVsZSBpZCA9IDY2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///66\n")},function(module,exports,__webpack_require__){eval("var $export = __webpack_require__(3);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(5), 'Object', { defineProperty: __webpack_require__(4).f });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5kZWZpbmUtcHJvcGVydHkuanM/OTgyOSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuLy8gMTkuMS4yLjQgLyAxNS4yLjMuNiBPYmplY3QuZGVmaW5lUHJvcGVydHkoTywgUCwgQXR0cmlidXRlcylcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJyksICdPYmplY3QnLCB7IGRlZmluZVByb3BlcnR5OiByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mIH0pO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5kZWZpbmUtcHJvcGVydHkuanNcbi8vIG1vZHVsZSBpZCA9IDY3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///67\n")},function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__(69), __esModule: true };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9jb3JlLWpzL3N5bWJvbC9pdGVyYXRvci5qcz82NzM4Il0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9zeW1ib2wvaXRlcmF0b3JcIiksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9iYWJlbC1ydW50aW1lL2NvcmUtanMvc3ltYm9sL2l0ZXJhdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSA2OFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///68\n')},function(module,exports,__webpack_require__){eval("__webpack_require__(70);\n__webpack_require__(75);\nmodule.exports = __webpack_require__(34).f('iterator');\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNjkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL3N5bWJvbC9pdGVyYXRvci5qcz9mZTdlIl0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2LnN0cmluZy5pdGVyYXRvcicpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy93ZWIuZG9tLml0ZXJhYmxlJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX3drcy1leHQnKS5mKCdpdGVyYXRvcicpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL3N5bWJvbC9pdGVyYXRvci5qc1xuLy8gbW9kdWxlIGlkID0gNjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///69\n")},function(module,exports,__webpack_require__){"use strict";eval("\nvar $at = __webpack_require__(71)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(45)(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnN0cmluZy5pdGVyYXRvci5qcz9jZDA0Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnZhciAkYXQgPSByZXF1aXJlKCcuL19zdHJpbmctYXQnKSh0cnVlKTtcblxuLy8gMjEuMS4zLjI3IFN0cmluZy5wcm90b3R5cGVbQEBpdGVyYXRvcl0oKVxucmVxdWlyZSgnLi9faXRlci1kZWZpbmUnKShTdHJpbmcsICdTdHJpbmcnLCBmdW5jdGlvbiAoaXRlcmF0ZWQpIHtcbiAgdGhpcy5fdCA9IFN0cmluZyhpdGVyYXRlZCk7IC8vIHRhcmdldFxuICB0aGlzLl9pID0gMDsgICAgICAgICAgICAgICAgLy8gbmV4dCBpbmRleFxuLy8gMjEuMS41LjIuMSAlU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUlLm5leHQoKVxufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgTyA9IHRoaXMuX3Q7XG4gIHZhciBpbmRleCA9IHRoaXMuX2k7XG4gIHZhciBwb2ludDtcbiAgaWYgKGluZGV4ID49IE8ubGVuZ3RoKSByZXR1cm4geyB2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlIH07XG4gIHBvaW50ID0gJGF0KE8sIGluZGV4KTtcbiAgdGhpcy5faSArPSBwb2ludC5sZW5ndGg7XG4gIHJldHVybiB7IHZhbHVlOiBwb2ludCwgZG9uZTogZmFsc2UgfTtcbn0pO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnN0cmluZy5pdGVyYXRvci5qc1xuLy8gbW9kdWxlIGlkID0gNzBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///70\n")},function(module,exports,__webpack_require__){eval("var toInteger = __webpack_require__(21);\nvar defined = __webpack_require__(20);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3N0cmluZy1hdC5qcz84N2FlIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbi8vIHRydWUgIC0+IFN0cmluZyNhdFxuLy8gZmFsc2UgLT4gU3RyaW5nI2NvZGVQb2ludEF0XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChUT19TVFJJTkcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICh0aGF0LCBwb3MpIHtcbiAgICB2YXIgcyA9IFN0cmluZyhkZWZpbmVkKHRoYXQpKTtcbiAgICB2YXIgaSA9IHRvSW50ZWdlcihwb3MpO1xuICAgIHZhciBsID0gcy5sZW5ndGg7XG4gICAgdmFyIGEsIGI7XG4gICAgaWYgKGkgPCAwIHx8IGkgPj0gbCkgcmV0dXJuIFRPX1NUUklORyA/ICcnIDogdW5kZWZpbmVkO1xuICAgIGEgPSBzLmNoYXJDb2RlQXQoaSk7XG4gICAgcmV0dXJuIGEgPCAweGQ4MDAgfHwgYSA+IDB4ZGJmZiB8fCBpICsgMSA9PT0gbCB8fCAoYiA9IHMuY2hhckNvZGVBdChpICsgMSkpIDwgMHhkYzAwIHx8IGIgPiAweGRmZmZcbiAgICAgID8gVE9fU1RSSU5HID8gcy5jaGFyQXQoaSkgOiBhXG4gICAgICA6IFRPX1NUUklORyA/IHMuc2xpY2UoaSwgaSArIDIpIDogKGEgLSAweGQ4MDAgPDwgMTApICsgKGIgLSAweGRjMDApICsgMHgxMDAwMDtcbiAgfTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fc3RyaW5nLWF0LmpzXG4vLyBtb2R1bGUgaWQgPSA3MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///71\n")},function(module,exports,__webpack_require__){"use strict";eval("\nvar create = __webpack_require__(32);\nvar descriptor = __webpack_require__(13);\nvar setToStringTag = __webpack_require__(33);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(7)(IteratorPrototype, __webpack_require__(11)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItY3JlYXRlLmpzP2Y3ODUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyIGNyZWF0ZSA9IHJlcXVpcmUoJy4vX29iamVjdC1jcmVhdGUnKTtcbnZhciBkZXNjcmlwdG9yID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gcmVxdWlyZSgnLi9fc2V0LXRvLXN0cmluZy10YWcnKTtcbnZhciBJdGVyYXRvclByb3RvdHlwZSA9IHt9O1xuXG4vLyAyNS4xLjIuMS4xICVJdGVyYXRvclByb3RvdHlwZSVbQEBpdGVyYXRvcl0oKVxucmVxdWlyZSgnLi9faGlkZScpKEl0ZXJhdG9yUHJvdG90eXBlLCByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KSB7XG4gIENvbnN0cnVjdG9yLnByb3RvdHlwZSA9IGNyZWF0ZShJdGVyYXRvclByb3RvdHlwZSwgeyBuZXh0OiBkZXNjcmlwdG9yKDEsIG5leHQpIH0pO1xuICBzZXRUb1N0cmluZ1RhZyhDb25zdHJ1Y3RvciwgTkFNRSArICcgSXRlcmF0b3InKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXRlci1jcmVhdGUuanNcbi8vIG1vZHVsZSBpZCA9IDcyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///72\n")},function(module,exports,__webpack_require__){eval("var dP = __webpack_require__(4);\nvar anObject = __webpack_require__(12);\nvar getKeys = __webpack_require__(14);\n\nmodule.exports = __webpack_require__(5) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcHMuanM/YWEyYSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIGdldEtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoTywgUHJvcGVydGllcykge1xuICBhbk9iamVjdChPKTtcbiAgdmFyIGtleXMgPSBnZXRLZXlzKFByb3BlcnRpZXMpO1xuICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gIHZhciBpID0gMDtcbiAgdmFyIFA7XG4gIHdoaWxlIChsZW5ndGggPiBpKSBkUC5mKE8sIFAgPSBrZXlzW2krK10sIFByb3BlcnRpZXNbUF0pO1xuICByZXR1cm4gTztcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fb2JqZWN0LWRwcy5qc1xuLy8gbW9kdWxlIGlkID0gNzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///73\n")},function(module,exports,__webpack_require__){eval("var document = __webpack_require__(2).document;\nmodule.exports = document && document.documentElement;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2h0bWwuanM/NDRmMiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZG9jdW1lbnQgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5kb2N1bWVudDtcbm1vZHVsZS5leHBvcnRzID0gZG9jdW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2h0bWwuanNcbi8vIG1vZHVsZSBpZCA9IDc0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///74\n")},function(module,exports,__webpack_require__){eval("__webpack_require__(76);\nvar global = __webpack_require__(2);\nvar hide = __webpack_require__(7);\nvar Iterators = __webpack_require__(31);\nvar TO_STRING_TAG = __webpack_require__(11)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvd2ViLmRvbS5pdGVyYWJsZS5qcz9mYWQzIl0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4vZXM2LmFycmF5Lml0ZXJhdG9yJyk7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbnZhciBUT19TVFJJTkdfVEFHID0gcmVxdWlyZSgnLi9fd2tzJykoJ3RvU3RyaW5nVGFnJyk7XG5cbnZhciBET01JdGVyYWJsZXMgPSAoJ0NTU1J1bGVMaXN0LENTU1N0eWxlRGVjbGFyYXRpb24sQ1NTVmFsdWVMaXN0LENsaWVudFJlY3RMaXN0LERPTVJlY3RMaXN0LERPTVN0cmluZ0xpc3QsJyArXG4gICdET01Ub2tlbkxpc3QsRGF0YVRyYW5zZmVySXRlbUxpc3QsRmlsZUxpc3QsSFRNTEFsbENvbGxlY3Rpb24sSFRNTENvbGxlY3Rpb24sSFRNTEZvcm1FbGVtZW50LEhUTUxTZWxlY3RFbGVtZW50LCcgK1xuICAnTWVkaWFMaXN0LE1pbWVUeXBlQXJyYXksTmFtZWROb2RlTWFwLE5vZGVMaXN0LFBhaW50UmVxdWVzdExpc3QsUGx1Z2luLFBsdWdpbkFycmF5LFNWR0xlbmd0aExpc3QsU1ZHTnVtYmVyTGlzdCwnICtcbiAgJ1NWR1BhdGhTZWdMaXN0LFNWR1BvaW50TGlzdCxTVkdTdHJpbmdMaXN0LFNWR1RyYW5zZm9ybUxpc3QsU291cmNlQnVmZmVyTGlzdCxTdHlsZVNoZWV0TGlzdCxUZXh0VHJhY2tDdWVMaXN0LCcgK1xuICAnVGV4dFRyYWNrTGlzdCxUb3VjaExpc3QnKS5zcGxpdCgnLCcpO1xuXG5mb3IgKHZhciBpID0gMDsgaSA8IERPTUl0ZXJhYmxlcy5sZW5ndGg7IGkrKykge1xuICB2YXIgTkFNRSA9IERPTUl0ZXJhYmxlc1tpXTtcbiAgdmFyIENvbGxlY3Rpb24gPSBnbG9iYWxbTkFNRV07XG4gIHZhciBwcm90byA9IENvbGxlY3Rpb24gJiYgQ29sbGVjdGlvbi5wcm90b3R5cGU7XG4gIGlmIChwcm90byAmJiAhcHJvdG9bVE9fU1RSSU5HX1RBR10pIGhpZGUocHJvdG8sIFRPX1NUUklOR19UQUcsIE5BTUUpO1xuICBJdGVyYXRvcnNbTkFNRV0gPSBJdGVyYXRvcnMuQXJyYXk7XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy93ZWIuZG9tLml0ZXJhYmxlLmpzXG4vLyBtb2R1bGUgaWQgPSA3NVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///75\n")},function(module,exports,__webpack_require__){"use strict";eval("\nvar addToUnscopables = __webpack_require__(77);\nvar step = __webpack_require__(78);\nvar Iterators = __webpack_require__(31);\nvar toIObject = __webpack_require__(10);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(45)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LmFycmF5Lml0ZXJhdG9yLmpzP2M0NjkiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyIGFkZFRvVW5zY29wYWJsZXMgPSByZXF1aXJlKCcuL19hZGQtdG8tdW5zY29wYWJsZXMnKTtcbnZhciBzdGVwID0gcmVxdWlyZSgnLi9faXRlci1zdGVwJyk7XG52YXIgSXRlcmF0b3JzID0gcmVxdWlyZSgnLi9faXRlcmF0b3JzJyk7XG52YXIgdG9JT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8taW9iamVjdCcpO1xuXG4vLyAyMi4xLjMuNCBBcnJheS5wcm90b3R5cGUuZW50cmllcygpXG4vLyAyMi4xLjMuMTMgQXJyYXkucHJvdG90eXBlLmtleXMoKVxuLy8gMjIuMS4zLjI5IEFycmF5LnByb3RvdHlwZS52YWx1ZXMoKVxuLy8gMjIuMS4zLjMwIEFycmF5LnByb3RvdHlwZVtAQGl0ZXJhdG9yXSgpXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2l0ZXItZGVmaW5lJykoQXJyYXksICdBcnJheScsIGZ1bmN0aW9uIChpdGVyYXRlZCwga2luZCkge1xuICB0aGlzLl90ID0gdG9JT2JqZWN0KGl0ZXJhdGVkKTsgLy8gdGFyZ2V0XG4gIHRoaXMuX2kgPSAwOyAgICAgICAgICAgICAgICAgICAvLyBuZXh0IGluZGV4XG4gIHRoaXMuX2sgPSBraW5kOyAgICAgICAgICAgICAgICAvLyBraW5kXG4vLyAyMi4xLjUuMi4xICVBcnJheUl0ZXJhdG9yUHJvdG90eXBlJS5uZXh0KClcbn0sIGZ1bmN0aW9uICgpIHtcbiAgdmFyIE8gPSB0aGlzLl90O1xuICB2YXIga2luZCA9IHRoaXMuX2s7XG4gIHZhciBpbmRleCA9IHRoaXMuX2krKztcbiAgaWYgKCFPIHx8IGluZGV4ID49IE8ubGVuZ3RoKSB7XG4gICAgdGhpcy5fdCA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gc3RlcCgxKTtcbiAgfVxuICBpZiAoa2luZCA9PSAna2V5cycpIHJldHVybiBzdGVwKDAsIGluZGV4KTtcbiAgaWYgKGtpbmQgPT0gJ3ZhbHVlcycpIHJldHVybiBzdGVwKDAsIE9baW5kZXhdKTtcbiAgcmV0dXJuIHN0ZXAoMCwgW2luZGV4LCBPW2luZGV4XV0pO1xufSwgJ3ZhbHVlcycpO1xuXG4vLyBhcmd1bWVudHNMaXN0W0BAaXRlcmF0b3JdIGlzICVBcnJheVByb3RvX3ZhbHVlcyUgKDkuNC40LjYsIDkuNC40LjcpXG5JdGVyYXRvcnMuQXJndW1lbnRzID0gSXRlcmF0b3JzLkFycmF5O1xuXG5hZGRUb1Vuc2NvcGFibGVzKCdrZXlzJyk7XG5hZGRUb1Vuc2NvcGFibGVzKCd2YWx1ZXMnKTtcbmFkZFRvVW5zY29wYWJsZXMoJ2VudHJpZXMnKTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5hcnJheS5pdGVyYXRvci5qc1xuLy8gbW9kdWxlIGlkID0gNzZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///76\n")},function(module,exports){eval("module.exports = function () { /* empty */ };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qcz9lMjY3Il0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FkZC10by11bnNjb3BhYmxlcy5qc1xuLy8gbW9kdWxlIGlkID0gNzdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///77\n")},function(module,exports){eval("module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItc3RlcC5qcz8xMDY2Il0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGRvbmUsIHZhbHVlKSB7XG4gIHJldHVybiB7IHZhbHVlOiB2YWx1ZSwgZG9uZTogISFkb25lIH07XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2l0ZXItc3RlcC5qc1xuLy8gbW9kdWxlIGlkID0gNzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///78\n")},function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__(80), __esModule: true };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9jb3JlLWpzL3N5bWJvbC5qcz9lNTA1Il0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9zeW1ib2xcIiksIF9fZXNNb2R1bGU6IHRydWUgfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9iYWJlbC1ydW50aW1lL2NvcmUtanMvc3ltYm9sLmpzXG4vLyBtb2R1bGUgaWQgPSA3OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///79\n')},function(module,exports,__webpack_require__){eval("__webpack_require__(81);\n__webpack_require__(86);\n__webpack_require__(87);\n__webpack_require__(88);\nmodule.exports = __webpack_require__(1).Symbol;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL3N5bWJvbC9pbmRleC5qcz8wNzA3Il0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2LnN5bWJvbCcpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYub2JqZWN0LnRvLXN0cmluZycpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczcuc3ltYm9sLmFzeW5jLWl0ZXJhdG9yJyk7XG5yZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNy5zeW1ib2wub2JzZXJ2YWJsZScpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuU3ltYm9sO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL3N5bWJvbC9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gODBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///80\n")},function(module,exports,__webpack_require__){"use strict";eval("\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(2);\nvar has = __webpack_require__(6);\nvar DESCRIPTORS = __webpack_require__(5);\nvar $export = __webpack_require__(3);\nvar redefine = __webpack_require__(46);\nvar META = __webpack_require__(82).KEY;\nvar $fails = __webpack_require__(9);\nvar shared = __webpack_require__(23);\nvar setToStringTag = __webpack_require__(33);\nvar uid = __webpack_require__(16);\nvar wks = __webpack_require__(11);\nvar wksExt = __webpack_require__(34);\nvar wksDefine = __webpack_require__(35);\nvar enumKeys = __webpack_require__(83);\nvar isArray = __webpack_require__(84);\nvar anObject = __webpack_require__(12);\nvar isObject = __webpack_require__(8);\nvar toIObject = __webpack_require__(10);\nvar toPrimitive = __webpack_require__(19);\nvar createDesc = __webpack_require__(13);\nvar _create = __webpack_require__(32);\nvar gOPNExt = __webpack_require__(85);\nvar $GOPD = __webpack_require__(48);\nvar $DP = __webpack_require__(4);\nvar $keys = __webpack_require__(14);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(47).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(17).f = $propertyIsEnumerable;\n __webpack_require__(25).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(15)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(7)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2LnN5bWJvbC5qcz83ZDY3Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0Jztcbi8vIEVDTUFTY3JpcHQgNiBzeW1ib2xzIHNoaW1cbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciBNRVRBID0gcmVxdWlyZSgnLi9fbWV0YScpLktFWTtcbnZhciAkZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xudmFyIHNoYXJlZCA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gcmVxdWlyZSgnLi9fc2V0LXRvLXN0cmluZy10YWcnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuL191aWQnKTtcbnZhciB3a3MgPSByZXF1aXJlKCcuL193a3MnKTtcbnZhciB3a3NFeHQgPSByZXF1aXJlKCcuL193a3MtZXh0Jyk7XG52YXIgd2tzRGVmaW5lID0gcmVxdWlyZSgnLi9fd2tzLWRlZmluZScpO1xudmFyIGVudW1LZXlzID0gcmVxdWlyZSgnLi9fZW51bS1rZXlzJyk7XG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJy4vX2lzLWFycmF5Jyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG52YXIgX2NyZWF0ZSA9IHJlcXVpcmUoJy4vX29iamVjdC1jcmVhdGUnKTtcbnZhciBnT1BORXh0ID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcG4tZXh0Jyk7XG52YXIgJEdPUEQgPSByZXF1aXJlKCcuL19vYmplY3QtZ29wZCcpO1xudmFyICREUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyICRrZXlzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWtleXMnKTtcbnZhciBnT1BEID0gJEdPUEQuZjtcbnZhciBkUCA9ICREUC5mO1xudmFyIGdPUE4gPSBnT1BORXh0LmY7XG52YXIgJFN5bWJvbCA9IGdsb2JhbC5TeW1ib2w7XG52YXIgJEpTT04gPSBnbG9iYWwuSlNPTjtcbnZhciBfc3RyaW5naWZ5ID0gJEpTT04gJiYgJEpTT04uc3RyaW5naWZ5O1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xudmFyIEhJRERFTiA9IHdrcygnX2hpZGRlbicpO1xudmFyIFRPX1BSSU1JVElWRSA9IHdrcygndG9QcmltaXRpdmUnKTtcbnZhciBpc0VudW0gPSB7fS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcbnZhciBTeW1ib2xSZWdpc3RyeSA9IHNoYXJlZCgnc3ltYm9sLXJlZ2lzdHJ5Jyk7XG52YXIgQWxsU3ltYm9scyA9IHNoYXJlZCgnc3ltYm9scycpO1xudmFyIE9QU3ltYm9scyA9IHNoYXJlZCgnb3Atc3ltYm9scycpO1xudmFyIE9iamVjdFByb3RvID0gT2JqZWN0W1BST1RPVFlQRV07XG52YXIgVVNFX05BVElWRSA9IHR5cGVvZiAkU3ltYm9sID09ICdmdW5jdGlvbic7XG52YXIgUU9iamVjdCA9IGdsb2JhbC5RT2JqZWN0O1xuLy8gRG9uJ3QgdXNlIHNldHRlcnMgaW4gUXQgU2NyaXB0LCBodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9pc3N1ZXMvMTczXG52YXIgc2V0dGVyID0gIVFPYmplY3QgfHwgIVFPYmplY3RbUFJPVE9UWVBFXSB8fCAhUU9iamVjdFtQUk9UT1RZUEVdLmZpbmRDaGlsZDtcblxuLy8gZmFsbGJhY2sgZm9yIG9sZCBBbmRyb2lkLCBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9Njg3XG52YXIgc2V0U3ltYm9sRGVzYyA9IERFU0NSSVBUT1JTICYmICRmYWlscyhmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBfY3JlYXRlKGRQKHt9LCAnYScsIHtcbiAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRQKHRoaXMsICdhJywgeyB2YWx1ZTogNyB9KS5hOyB9XG4gIH0pKS5hICE9IDc7XG59KSA/IGZ1bmN0aW9uIChpdCwga2V5LCBEKSB7XG4gIHZhciBwcm90b0Rlc2MgPSBnT1BEKE9iamVjdFByb3RvLCBrZXkpO1xuICBpZiAocHJvdG9EZXNjKSBkZWxldGUgT2JqZWN0UHJvdG9ba2V5XTtcbiAgZFAoaXQsIGtleSwgRCk7XG4gIGlmIChwcm90b0Rlc2MgJiYgaXQgIT09IE9iamVjdFByb3RvKSBkUChPYmplY3RQcm90bywga2V5LCBwcm90b0Rlc2MpO1xufSA6IGRQO1xuXG52YXIgd3JhcCA9IGZ1bmN0aW9uICh0YWcpIHtcbiAgdmFyIHN5bSA9IEFsbFN5bWJvbHNbdGFnXSA9IF9jcmVhdGUoJFN5bWJvbFtQUk9UT1RZUEVdKTtcbiAgc3ltLl9rID0gdGFnO1xuICByZXR1cm4gc3ltO1xufTtcblxudmFyIGlzU3ltYm9sID0gVVNFX05BVElWRSAmJiB0eXBlb2YgJFN5bWJvbC5pdGVyYXRvciA9PSAnc3ltYm9sJyA/IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdHlwZW9mIGl0ID09ICdzeW1ib2wnO1xufSA6IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgaW5zdGFuY2VvZiAkU3ltYm9sO1xufTtcblxudmFyICRkZWZpbmVQcm9wZXJ0eSA9IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KGl0LCBrZXksIEQpIHtcbiAgaWYgKGl0ID09PSBPYmplY3RQcm90bykgJGRlZmluZVByb3BlcnR5KE9QU3ltYm9scywga2V5LCBEKTtcbiAgYW5PYmplY3QoaXQpO1xuICBrZXkgPSB0b1ByaW1pdGl2ZShrZXksIHRydWUpO1xuICBhbk9iamVjdChEKTtcbiAgaWYgKGhhcyhBbGxTeW1ib2xzLCBrZXkpKSB7XG4gICAgaWYgKCFELmVudW1lcmFibGUpIHtcbiAgICAgIGlmICghaGFzKGl0LCBISURERU4pKSBkUChpdCwgSElEREVOLCBjcmVhdGVEZXNjKDEsIHt9KSk7XG4gICAgICBpdFtISURERU5dW2tleV0gPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaGFzKGl0LCBISURERU4pICYmIGl0W0hJRERFTl1ba2V5XSkgaXRbSElEREVOXVtrZXldID0gZmFsc2U7XG4gICAgICBEID0gX2NyZWF0ZShELCB7IGVudW1lcmFibGU6IGNyZWF0ZURlc2MoMCwgZmFsc2UpIH0pO1xuICAgIH0gcmV0dXJuIHNldFN5bWJvbERlc2MoaXQsIGtleSwgRCk7XG4gIH0gcmV0dXJuIGRQKGl0LCBrZXksIEQpO1xufTtcbnZhciAkZGVmaW5lUHJvcGVydGllcyA9IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoaXQsIFApIHtcbiAgYW5PYmplY3QoaXQpO1xuICB2YXIga2V5cyA9IGVudW1LZXlzKFAgPSB0b0lPYmplY3QoUCkpO1xuICB2YXIgaSA9IDA7XG4gIHZhciBsID0ga2V5cy5sZW5ndGg7XG4gIHZhciBrZXk7XG4gIHdoaWxlIChsID4gaSkgJGRlZmluZVByb3BlcnR5KGl0LCBrZXkgPSBrZXlzW2krK10sIFBba2V5XSk7XG4gIHJldHVybiBpdDtcbn07XG52YXIgJGNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShpdCwgUCkge1xuICByZXR1cm4gUCA9PT0gdW5kZWZpbmVkID8gX2NyZWF0ZShpdCkgOiAkZGVmaW5lUHJvcGVydGllcyhfY3JlYXRlKGl0KSwgUCk7XG59O1xudmFyICRwcm9wZXJ0eUlzRW51bWVyYWJsZSA9IGZ1bmN0aW9uIHByb3BlcnR5SXNFbnVtZXJhYmxlKGtleSkge1xuICB2YXIgRSA9IGlzRW51bS5jYWxsKHRoaXMsIGtleSA9IHRvUHJpbWl0aXZlKGtleSwgdHJ1ZSkpO1xuICBpZiAodGhpcyA9PT0gT2JqZWN0UHJvdG8gJiYgaGFzKEFsbFN5bWJvbHMsIGtleSkgJiYgIWhhcyhPUFN5bWJvbHMsIGtleSkpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIEUgfHwgIWhhcyh0aGlzLCBrZXkpIHx8ICFoYXMoQWxsU3ltYm9scywga2V5KSB8fCBoYXModGhpcywgSElEREVOKSAmJiB0aGlzW0hJRERFTl1ba2V5XSA/IEUgOiB0cnVlO1xufTtcbnZhciAkZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGl0LCBrZXkpIHtcbiAgaXQgPSB0b0lPYmplY3QoaXQpO1xuICBrZXkgPSB0b1ByaW1pdGl2ZShrZXksIHRydWUpO1xuICBpZiAoaXQgPT09IE9iamVjdFByb3RvICYmIGhhcyhBbGxTeW1ib2xzLCBrZXkpICYmICFoYXMoT1BTeW1ib2xzLCBrZXkpKSByZXR1cm47XG4gIHZhciBEID0gZ09QRChpdCwga2V5KTtcbiAgaWYgKEQgJiYgaGFzKEFsbFN5bWJvbHMsIGtleSkgJiYgIShoYXMoaXQsIEhJRERFTikgJiYgaXRbSElEREVOXVtrZXldKSkgRC5lbnVtZXJhYmxlID0gdHJ1ZTtcbiAgcmV0dXJuIEQ7XG59O1xudmFyICRnZXRPd25Qcm9wZXJ0eU5hbWVzID0gZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlOYW1lcyhpdCkge1xuICB2YXIgbmFtZXMgPSBnT1BOKHRvSU9iamVjdChpdCkpO1xuICB2YXIgcmVzdWx0ID0gW107XG4gIHZhciBpID0gMDtcbiAgdmFyIGtleTtcbiAgd2hpbGUgKG5hbWVzLmxlbmd0aCA+IGkpIHtcbiAgICBpZiAoIWhhcyhBbGxTeW1ib2xzLCBrZXkgPSBuYW1lc1tpKytdKSAmJiBrZXkgIT0gSElEREVOICYmIGtleSAhPSBNRVRBKSByZXN1bHQucHVzaChrZXkpO1xuICB9IHJldHVybiByZXN1bHQ7XG59O1xudmFyICRnZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPSBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMoaXQpIHtcbiAgdmFyIElTX09QID0gaXQgPT09IE9iamVjdFByb3RvO1xuICB2YXIgbmFtZXMgPSBnT1BOKElTX09QID8gT1BTeW1ib2xzIDogdG9JT2JqZWN0KGl0KSk7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgdmFyIGkgPSAwO1xuICB2YXIga2V5O1xuICB3aGlsZSAobmFtZXMubGVuZ3RoID4gaSkge1xuICAgIGlmIChoYXMoQWxsU3ltYm9scywga2V5ID0gbmFtZXNbaSsrXSkgJiYgKElTX09QID8gaGFzKE9iamVjdFByb3RvLCBrZXkpIDogdHJ1ZSkpIHJlc3VsdC5wdXNoKEFsbFN5bWJvbHNba2V5XSk7XG4gIH0gcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIDE5LjQuMS4xIFN5bWJvbChbZGVzY3JpcHRpb25dKVxuaWYgKCFVU0VfTkFUSVZFKSB7XG4gICRTeW1ib2wgPSBmdW5jdGlvbiBTeW1ib2woKSB7XG4gICAgaWYgKHRoaXMgaW5zdGFuY2VvZiAkU3ltYm9sKSB0aHJvdyBUeXBlRXJyb3IoJ1N5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciEnKTtcbiAgICB2YXIgdGFnID0gdWlkKGFyZ3VtZW50cy5sZW5ndGggPiAwID8gYXJndW1lbnRzWzBdIDogdW5kZWZpbmVkKTtcbiAgICB2YXIgJHNldCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgaWYgKHRoaXMgPT09IE9iamVjdFByb3RvKSAkc2V0LmNhbGwoT1BTeW1ib2xzLCB2YWx1ZSk7XG4gICAgICBpZiAoaGFzKHRoaXMsIEhJRERFTikgJiYgaGFzKHRoaXNbSElEREVOXSwgdGFnKSkgdGhpc1tISURERU5dW3RhZ10gPSBmYWxzZTtcbiAgICAgIHNldFN5bWJvbERlc2ModGhpcywgdGFnLCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG4gICAgfTtcbiAgICBpZiAoREVTQ1JJUFRPUlMgJiYgc2V0dGVyKSBzZXRTeW1ib2xEZXNjKE9iamVjdFByb3RvLCB0YWcsIHsgY29uZmlndXJhYmxlOiB0cnVlLCBzZXQ6ICRzZXQgfSk7XG4gICAgcmV0dXJuIHdyYXAodGFnKTtcbiAgfTtcbiAgcmVkZWZpbmUoJFN5bWJvbFtQUk9UT1RZUEVdLCAndG9TdHJpbmcnLCBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5faztcbiAgfSk7XG5cbiAgJEdPUEQuZiA9ICRnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG4gICREUC5mID0gJGRlZmluZVByb3BlcnR5O1xuICByZXF1aXJlKCcuL19vYmplY3QtZ29wbicpLmYgPSBnT1BORXh0LmYgPSAkZ2V0T3duUHJvcGVydHlOYW1lcztcbiAgcmVxdWlyZSgnLi9fb2JqZWN0LXBpZScpLmYgPSAkcHJvcGVydHlJc0VudW1lcmFibGU7XG4gIHJlcXVpcmUoJy4vX29iamVjdC1nb3BzJykuZiA9ICRnZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XG5cbiAgaWYgKERFU0NSSVBUT1JTICYmICFyZXF1aXJlKCcuL19saWJyYXJ5JykpIHtcbiAgICByZWRlZmluZShPYmplY3RQcm90bywgJ3Byb3BlcnR5SXNFbnVtZXJhYmxlJywgJHByb3BlcnR5SXNFbnVtZXJhYmxlLCB0cnVlKTtcbiAgfVxuXG4gIHdrc0V4dC5mID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgICByZXR1cm4gd3JhcCh3a3MobmFtZSkpO1xuICB9O1xufVxuXG4kZXhwb3J0KCRleHBvcnQuRyArICRleHBvcnQuVyArICRleHBvcnQuRiAqICFVU0VfTkFUSVZFLCB7IFN5bWJvbDogJFN5bWJvbCB9KTtcblxuZm9yICh2YXIgZXM2U3ltYm9scyA9IChcbiAgLy8gMTkuNC4yLjIsIDE5LjQuMi4zLCAxOS40LjIuNCwgMTkuNC4yLjYsIDE5LjQuMi44LCAxOS40LjIuOSwgMTkuNC4yLjEwLCAxOS40LjIuMTEsIDE5LjQuMi4xMiwgMTkuNC4yLjEzLCAxOS40LjIuMTRcbiAgJ2hhc0luc3RhbmNlLGlzQ29uY2F0U3ByZWFkYWJsZSxpdGVyYXRvcixtYXRjaCxyZXBsYWNlLHNlYXJjaCxzcGVjaWVzLHNwbGl0LHRvUHJpbWl0aXZlLHRvU3RyaW5nVGFnLHVuc2NvcGFibGVzJ1xuKS5zcGxpdCgnLCcpLCBqID0gMDsgZXM2U3ltYm9scy5sZW5ndGggPiBqOyl3a3MoZXM2U3ltYm9sc1tqKytdKTtcblxuZm9yICh2YXIgd2VsbEtub3duU3ltYm9scyA9ICRrZXlzKHdrcy5zdG9yZSksIGsgPSAwOyB3ZWxsS25vd25TeW1ib2xzLmxlbmd0aCA+IGs7KSB3a3NEZWZpbmUod2VsbEtub3duU3ltYm9sc1trKytdKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhVVNFX05BVElWRSwgJ1N5bWJvbCcsIHtcbiAgLy8gMTkuNC4yLjEgU3ltYm9sLmZvcihrZXkpXG4gICdmb3InOiBmdW5jdGlvbiAoa2V5KSB7XG4gICAgcmV0dXJuIGhhcyhTeW1ib2xSZWdpc3RyeSwga2V5ICs9ICcnKVxuICAgICAgPyBTeW1ib2xSZWdpc3RyeVtrZXldXG4gICAgICA6IFN5bWJvbFJlZ2lzdHJ5W2tleV0gPSAkU3ltYm9sKGtleSk7XG4gIH0sXG4gIC8vIDE5LjQuMi41IFN5bWJvbC5rZXlGb3Ioc3ltKVxuICBrZXlGb3I6IGZ1bmN0aW9uIGtleUZvcihzeW0pIHtcbiAgICBpZiAoIWlzU3ltYm9sKHN5bSkpIHRocm93IFR5cGVFcnJvcihzeW0gKyAnIGlzIG5vdCBhIHN5bWJvbCEnKTtcbiAgICBmb3IgKHZhciBrZXkgaW4gU3ltYm9sUmVnaXN0cnkpIGlmIChTeW1ib2xSZWdpc3RyeVtrZXldID09PSBzeW0pIHJldHVybiBrZXk7XG4gIH0sXG4gIHVzZVNldHRlcjogZnVuY3Rpb24gKCkgeyBzZXR0ZXIgPSB0cnVlOyB9LFxuICB1c2VTaW1wbGU6IGZ1bmN0aW9uICgpIHsgc2V0dGVyID0gZmFsc2U7IH1cbn0pO1xuXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICFVU0VfTkFUSVZFLCAnT2JqZWN0Jywge1xuICAvLyAxOS4xLjIuMiBPYmplY3QuY3JlYXRlKE8gWywgUHJvcGVydGllc10pXG4gIGNyZWF0ZTogJGNyZWF0ZSxcbiAgLy8gMTkuMS4yLjQgT2JqZWN0LmRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpXG4gIGRlZmluZVByb3BlcnR5OiAkZGVmaW5lUHJvcGVydHksXG4gIC8vIDE5LjEuMi4zIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKE8sIFByb3BlcnRpZXMpXG4gIGRlZmluZVByb3BlcnRpZXM6ICRkZWZpbmVQcm9wZXJ0aWVzLFxuICAvLyAxOS4xLjIuNiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE8sIFApXG4gIGdldE93blByb3BlcnR5RGVzY3JpcHRvcjogJGdldE93blByb3BlcnR5RGVzY3JpcHRvcixcbiAgLy8gMTkuMS4yLjcgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoTylcbiAgZ2V0T3duUHJvcGVydHlOYW1lczogJGdldE93blByb3BlcnR5TmFtZXMsXG4gIC8vIDE5LjEuMi44IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoTylcbiAgZ2V0T3duUHJvcGVydHlTeW1ib2xzOiAkZ2V0T3duUHJvcGVydHlTeW1ib2xzXG59KTtcblxuLy8gMjQuMy4yIEpTT04uc3RyaW5naWZ5KHZhbHVlIFssIHJlcGxhY2VyIFssIHNwYWNlXV0pXG4kSlNPTiAmJiAkZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICghVVNFX05BVElWRSB8fCAkZmFpbHMoZnVuY3Rpb24gKCkge1xuICB2YXIgUyA9ICRTeW1ib2woKTtcbiAgLy8gTVMgRWRnZSBjb252ZXJ0cyBzeW1ib2wgdmFsdWVzIHRvIEpTT04gYXMge31cbiAgLy8gV2ViS2l0IGNvbnZlcnRzIHN5bWJvbCB2YWx1ZXMgdG8gSlNPTiBhcyBudWxsXG4gIC8vIFY4IHRocm93cyBvbiBib3hlZCBzeW1ib2xzXG4gIHJldHVybiBfc3RyaW5naWZ5KFtTXSkgIT0gJ1tudWxsXScgfHwgX3N0cmluZ2lmeSh7IGE6IFMgfSkgIT0gJ3t9JyB8fCBfc3RyaW5naWZ5KE9iamVjdChTKSkgIT0gJ3t9Jztcbn0pKSwgJ0pTT04nLCB7XG4gIHN0cmluZ2lmeTogZnVuY3Rpb24gc3RyaW5naWZ5KGl0KSB7XG4gICAgdmFyIGFyZ3MgPSBbaXRdO1xuICAgIHZhciBpID0gMTtcbiAgICB2YXIgcmVwbGFjZXIsICRyZXBsYWNlcjtcbiAgICB3aGlsZSAoYXJndW1lbnRzLmxlbmd0aCA+IGkpIGFyZ3MucHVzaChhcmd1bWVudHNbaSsrXSk7XG4gICAgJHJlcGxhY2VyID0gcmVwbGFjZXIgPSBhcmdzWzFdO1xuICAgIGlmICghaXNPYmplY3QocmVwbGFjZXIpICYmIGl0ID09PSB1bmRlZmluZWQgfHwgaXNTeW1ib2woaXQpKSByZXR1cm47IC8vIElFOCByZXR1cm5zIHN0cmluZyBvbiB1bmRlZmluZWRcbiAgICBpZiAoIWlzQXJyYXkocmVwbGFjZXIpKSByZXBsYWNlciA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mICRyZXBsYWNlciA9PSAnZnVuY3Rpb24nKSB2YWx1ZSA9ICRyZXBsYWNlci5jYWxsKHRoaXMsIGtleSwgdmFsdWUpO1xuICAgICAgaWYgKCFpc1N5bWJvbCh2YWx1ZSkpIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuICAgIGFyZ3NbMV0gPSByZXBsYWNlcjtcbiAgICByZXR1cm4gX3N0cmluZ2lmeS5hcHBseSgkSlNPTiwgYXJncyk7XG4gIH1cbn0pO1xuXG4vLyAxOS40LjMuNCBTeW1ib2wucHJvdG90eXBlW0BAdG9QcmltaXRpdmVdKGhpbnQpXG4kU3ltYm9sW1BST1RPVFlQRV1bVE9fUFJJTUlUSVZFXSB8fCByZXF1aXJlKCcuL19oaWRlJykoJFN5bWJvbFtQUk9UT1RZUEVdLCBUT19QUklNSVRJVkUsICRTeW1ib2xbUFJPVE9UWVBFXS52YWx1ZU9mKTtcbi8vIDE5LjQuMy41IFN5bWJvbC5wcm90b3R5cGVbQEB0b1N0cmluZ1RhZ11cbnNldFRvU3RyaW5nVGFnKCRTeW1ib2wsICdTeW1ib2wnKTtcbi8vIDIwLjIuMS45IE1hdGhbQEB0b1N0cmluZ1RhZ11cbnNldFRvU3RyaW5nVGFnKE1hdGgsICdNYXRoJywgdHJ1ZSk7XG4vLyAyNC4zLjMgSlNPTltAQHRvU3RyaW5nVGFnXVxuc2V0VG9TdHJpbmdUYWcoZ2xvYmFsLkpTT04sICdKU09OJywgdHJ1ZSk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYuc3ltYm9sLmpzXG4vLyBtb2R1bGUgaWQgPSA4MVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///81\n")},function(module,exports,__webpack_require__){eval("var META = __webpack_require__(16)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(6);\nvar setDesc = __webpack_require__(4).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(9)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX21ldGEuanM/ZDNhMyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgTUVUQSA9IHJlcXVpcmUoJy4vX3VpZCcpKCdtZXRhJyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBzZXREZXNjID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJykuZjtcbnZhciBpZCA9IDA7XG52YXIgaXNFeHRlbnNpYmxlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZSB8fCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0cnVlO1xufTtcbnZhciBGUkVFWkUgPSAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBpc0V4dGVuc2libGUoT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KSk7XG59KTtcbnZhciBzZXRNZXRhID0gZnVuY3Rpb24gKGl0KSB7XG4gIHNldERlc2MoaXQsIE1FVEEsIHsgdmFsdWU6IHtcbiAgICBpOiAnTycgKyArK2lkLCAvLyBvYmplY3QgSURcbiAgICB3OiB7fSAgICAgICAgICAvLyB3ZWFrIGNvbGxlY3Rpb25zIElEc1xuICB9IH0pO1xufTtcbnZhciBmYXN0S2V5ID0gZnVuY3Rpb24gKGl0LCBjcmVhdGUpIHtcbiAgLy8gcmV0dXJuIHByaW1pdGl2ZSB3aXRoIHByZWZpeFxuICBpZiAoIWlzT2JqZWN0KGl0KSkgcmV0dXJuIHR5cGVvZiBpdCA9PSAnc3ltYm9sJyA/IGl0IDogKHR5cGVvZiBpdCA9PSAnc3RyaW5nJyA/ICdTJyA6ICdQJykgKyBpdDtcbiAgaWYgKCFoYXMoaXQsIE1FVEEpKSB7XG4gICAgLy8gY2FuJ3Qgc2V0IG1ldGFkYXRhIHRvIHVuY2F1Z2h0IGZyb3plbiBvYmplY3RcbiAgICBpZiAoIWlzRXh0ZW5zaWJsZShpdCkpIHJldHVybiAnRic7XG4gICAgLy8gbm90IG5lY2Vzc2FyeSB0byBhZGQgbWV0YWRhdGFcbiAgICBpZiAoIWNyZWF0ZSkgcmV0dXJuICdFJztcbiAgICAvLyBhZGQgbWlzc2luZyBtZXRhZGF0YVxuICAgIHNldE1ldGEoaXQpO1xuICAvLyByZXR1cm4gb2JqZWN0IElEXG4gIH0gcmV0dXJuIGl0W01FVEFdLmk7XG59O1xudmFyIGdldFdlYWsgPSBmdW5jdGlvbiAoaXQsIGNyZWF0ZSkge1xuICBpZiAoIWhhcyhpdCwgTUVUQSkpIHtcbiAgICAvLyBjYW4ndCBzZXQgbWV0YWRhdGEgdG8gdW5jYXVnaHQgZnJvemVuIG9iamVjdFxuICAgIGlmICghaXNFeHRlbnNpYmxlKGl0KSkgcmV0dXJuIHRydWU7XG4gICAgLy8gbm90IG5lY2Vzc2FyeSB0byBhZGQgbWV0YWRhdGFcbiAgICBpZiAoIWNyZWF0ZSkgcmV0dXJuIGZhbHNlO1xuICAgIC8vIGFkZCBtaXNzaW5nIG1ldGFkYXRhXG4gICAgc2V0TWV0YShpdCk7XG4gIC8vIHJldHVybiBoYXNoIHdlYWsgY29sbGVjdGlvbnMgSURzXG4gIH0gcmV0dXJuIGl0W01FVEFdLnc7XG59O1xuLy8gYWRkIG1ldGFkYXRhIG9uIGZyZWV6ZS1mYW1pbHkgbWV0aG9kcyBjYWxsaW5nXG52YXIgb25GcmVlemUgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKEZSRUVaRSAmJiBtZXRhLk5FRUQgJiYgaXNFeHRlbnNpYmxlKGl0KSAmJiAhaGFzKGl0LCBNRVRBKSkgc2V0TWV0YShpdCk7XG4gIHJldHVybiBpdDtcbn07XG52YXIgbWV0YSA9IG1vZHVsZS5leHBvcnRzID0ge1xuICBLRVk6IE1FVEEsXG4gIE5FRUQ6IGZhbHNlLFxuICBmYXN0S2V5OiBmYXN0S2V5LFxuICBnZXRXZWFrOiBnZXRXZWFrLFxuICBvbkZyZWV6ZTogb25GcmVlemVcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fbWV0YS5qc1xuLy8gbW9kdWxlIGlkID0gODJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///82\n")},function(module,exports,__webpack_require__){eval("// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(14);\nvar gOPS = __webpack_require__(25);\nvar pIE = __webpack_require__(17);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2VudW0ta2V5cy5qcz81ZGNlIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGFsbCBlbnVtZXJhYmxlIG9iamVjdCBrZXlzLCBpbmNsdWRlcyBzeW1ib2xzXG52YXIgZ2V0S2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG52YXIgZ09QUyA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BzJyk7XG52YXIgcElFID0gcmVxdWlyZSgnLi9fb2JqZWN0LXBpZScpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIHJlc3VsdCA9IGdldEtleXMoaXQpO1xuICB2YXIgZ2V0U3ltYm9scyA9IGdPUFMuZjtcbiAgaWYgKGdldFN5bWJvbHMpIHtcbiAgICB2YXIgc3ltYm9scyA9IGdldFN5bWJvbHMoaXQpO1xuICAgIHZhciBpc0VudW0gPSBwSUUuZjtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIGtleTtcbiAgICB3aGlsZSAoc3ltYm9scy5sZW5ndGggPiBpKSBpZiAoaXNFbnVtLmNhbGwoaXQsIGtleSA9IHN5bWJvbHNbaSsrXSkpIHJlc3VsdC5wdXNoKGtleSk7XG4gIH0gcmV0dXJuIHJlc3VsdDtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZW51bS1rZXlzLmpzXG4vLyBtb2R1bGUgaWQgPSA4M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///83\n")},function(module,exports,__webpack_require__){eval("// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(42);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLWFycmF5LmpzP2VkNDMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gNy4yLjIgSXNBcnJheShhcmd1bWVudClcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbm1vZHVsZS5leHBvcnRzID0gQXJyYXkuaXNBcnJheSB8fCBmdW5jdGlvbiBpc0FycmF5KGFyZykge1xuICByZXR1cm4gY29mKGFyZykgPT0gJ0FycmF5Jztcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faXMtYXJyYXkuanNcbi8vIG1vZHVsZSBpZCA9IDg0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///84\n")},function(module,exports,__webpack_require__){eval("// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(10);\nvar gOPN = __webpack_require__(47).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BuLWV4dC5qcz80NmI3Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGZhbGxiYWNrIGZvciBJRTExIGJ1Z2d5IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIHdpdGggaWZyYW1lIGFuZCB3aW5kb3dcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgZ09QTiA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BuJykuZjtcbnZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG52YXIgd2luZG93TmFtZXMgPSB0eXBlb2Ygd2luZG93ID09ICdvYmplY3QnICYmIHdpbmRvdyAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lc1xuICA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHdpbmRvdykgOiBbXTtcblxudmFyIGdldFdpbmRvd05hbWVzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdPUE4oaXQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHdpbmRvd05hbWVzLnNsaWNlKCk7XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzLmYgPSBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eU5hbWVzKGl0KSB7XG4gIHJldHVybiB3aW5kb3dOYW1lcyAmJiB0b1N0cmluZy5jYWxsKGl0KSA9PSAnW29iamVjdCBXaW5kb3ddJyA/IGdldFdpbmRvd05hbWVzKGl0KSA6IGdPUE4odG9JT2JqZWN0KGl0KSk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1nb3BuLWV4dC5qc1xuLy8gbW9kdWxlIGlkID0gODVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///85\n")},function(module,exports){eval("//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODYuanMiLCJzb3VyY2VzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///86\n")},function(module,exports,__webpack_require__){eval("__webpack_require__(35)('asyncIterator');\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnN5bWJvbC5hc3luYy1pdGVyYXRvci5qcz8zOTg5Il0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4vX3drcy1kZWZpbmUnKSgnYXN5bmNJdGVyYXRvcicpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnN5bWJvbC5hc3luYy1pdGVyYXRvci5qc1xuLy8gbW9kdWxlIGlkID0gODdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///87\n")},function(module,exports,__webpack_require__){eval("__webpack_require__(35)('observable');\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM3LnN5bWJvbC5vYnNlcnZhYmxlLmpzPzQxNjciXSwic291cmNlc0NvbnRlbnQiOlsicmVxdWlyZSgnLi9fd2tzLWRlZmluZScpKCdvYnNlcnZhYmxlJyk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczcuc3ltYm9sLm9ic2VydmFibGUuanNcbi8vIG1vZHVsZSBpZCA9IDg4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///88\n")},function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__(90), __esModule: true };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9zZXQtcHJvdG90eXBlLW9mLmpzPzkyMjAiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB7IFwiZGVmYXVsdFwiOiByZXF1aXJlKFwiY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9zZXQtcHJvdG90eXBlLW9mXCIpLCBfX2VzTW9kdWxlOiB0cnVlIH07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9zZXQtcHJvdG90eXBlLW9mLmpzXG4vLyBtb2R1bGUgaWQgPSA4OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///89\n')},function(module,exports,__webpack_require__){eval("__webpack_require__(91);\nmodule.exports = __webpack_require__(1).Object.setPrototypeOf;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9zZXQtcHJvdG90eXBlLW9mLmpzPzhiZjAiXSwic291cmNlc0NvbnRlbnQiOlsicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYub2JqZWN0LnNldC1wcm90b3R5cGUtb2YnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9fY29yZScpLk9iamVjdC5zZXRQcm90b3R5cGVPZjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9mbi9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZi5qc1xuLy8gbW9kdWxlIGlkID0gOTBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///90\n")},function(module,exports,__webpack_require__){eval("// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(3);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(92).set });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5zZXQtcHJvdG90eXBlLW9mLmpzPzdiMTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gMTkuMS4zLjE5IE9iamVjdC5zZXRQcm90b3R5cGVPZihPLCBwcm90bylcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG4kZXhwb3J0KCRleHBvcnQuUywgJ09iamVjdCcsIHsgc2V0UHJvdG90eXBlT2Y6IHJlcXVpcmUoJy4vX3NldC1wcm90bycpLnNldCB9KTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNi5vYmplY3Quc2V0LXByb3RvdHlwZS1vZi5qc1xuLy8gbW9kdWxlIGlkID0gOTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///91\n")},function(module,exports,__webpack_require__){eval("// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(8);\nvar anObject = __webpack_require__(12);\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(37)(Function.call, __webpack_require__(48).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3NldC1wcm90by5qcz82NWE0Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFdvcmtzIHdpdGggX19wcm90b19fIG9ubHkuIE9sZCB2OCBjYW4ndCB3b3JrIHdpdGggbnVsbCBwcm90byBvYmplY3RzLlxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG8gKi9cbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgY2hlY2sgPSBmdW5jdGlvbiAoTywgcHJvdG8pIHtcbiAgYW5PYmplY3QoTyk7XG4gIGlmICghaXNPYmplY3QocHJvdG8pICYmIHByb3RvICE9PSBudWxsKSB0aHJvdyBUeXBlRXJyb3IocHJvdG8gKyBcIjogY2FuJ3Qgc2V0IGFzIHByb3RvdHlwZSFcIik7XG59O1xubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHNldDogT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8ICgnX19wcm90b19fJyBpbiB7fSA/IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICBmdW5jdGlvbiAodGVzdCwgYnVnZ3ksIHNldCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0ID0gcmVxdWlyZSgnLi9fY3R4JykoRnVuY3Rpb24uY2FsbCwgcmVxdWlyZSgnLi9fb2JqZWN0LWdvcGQnKS5mKE9iamVjdC5wcm90b3R5cGUsICdfX3Byb3RvX18nKS5zZXQsIDIpO1xuICAgICAgICBzZXQodGVzdCwgW10pO1xuICAgICAgICBidWdneSA9ICEodGVzdCBpbnN0YW5jZW9mIEFycmF5KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHsgYnVnZ3kgPSB0cnVlOyB9XG4gICAgICByZXR1cm4gZnVuY3Rpb24gc2V0UHJvdG90eXBlT2YoTywgcHJvdG8pIHtcbiAgICAgICAgY2hlY2soTywgcHJvdG8pO1xuICAgICAgICBpZiAoYnVnZ3kpIE8uX19wcm90b19fID0gcHJvdG87XG4gICAgICAgIGVsc2Ugc2V0KE8sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIE87XG4gICAgICB9O1xuICAgIH0oe30sIGZhbHNlKSA6IHVuZGVmaW5lZCksXG4gIGNoZWNrOiBjaGVja1xufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19zZXQtcHJvdG8uanNcbi8vIG1vZHVsZSBpZCA9IDkyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///92\n")},function(module,exports,__webpack_require__){eval('module.exports = { "default": __webpack_require__(94), __esModule: true };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9jcmVhdGUuanM/M2FmNCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHsgXCJkZWZhdWx0XCI6IHJlcXVpcmUoXCJjb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2NyZWF0ZVwiKSwgX19lc01vZHVsZTogdHJ1ZSB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2JhYmVsLXJ1bnRpbWUvY29yZS1qcy9vYmplY3QvY3JlYXRlLmpzXG4vLyBtb2R1bGUgaWQgPSA5M1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///93\n')},function(module,exports,__webpack_require__){eval("__webpack_require__(95);\nvar $Object = __webpack_require__(1).Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L2ZuL29iamVjdC9jcmVhdGUuanM/YTBjZSJdLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNi5vYmplY3QuY3JlYXRlJyk7XG52YXIgJE9iamVjdCA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5PYmplY3Q7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNyZWF0ZShQLCBEKSB7XG4gIHJldHVybiAkT2JqZWN0LmNyZWF0ZShQLCBEKTtcbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2NyZWF0ZS5qc1xuLy8gbW9kdWxlIGlkID0gOTRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///94\n")},function(module,exports,__webpack_require__){eval("var $export = __webpack_require__(3);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(32) });\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvZXM2Lm9iamVjdC5jcmVhdGUuanM/YjA1ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuLy8gMTkuMS4yLjIgLyAxNS4yLjMuNSBPYmplY3QuY3JlYXRlKE8gWywgUHJvcGVydGllc10pXG4kZXhwb3J0KCRleHBvcnQuUywgJ09iamVjdCcsIHsgY3JlYXRlOiByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJykgfSk7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYub2JqZWN0LmNyZWF0ZS5qc1xuLy8gbW9kdWxlIGlkID0gOTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///95\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_css__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__inspector__ = __webpack_require__(98);\n\n/**\n * Block: PMPro Membership Account\n *\n * Displays the Membership Account page.\n *\n */\n/**\n * Block dependencies\n */\n\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/account-page', {\n title: __('Membership Account Page', 'paid-memberships-pro'),\n description: __('Displays the sections of the Membership Account page as selected below.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'admin-users'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {\n membership: {\n type: 'boolean',\n default: false\n },\n profile: {\n type: 'boolean',\n default: false\n },\n invoices: {\n type: 'boolean',\n default: false\n },\n links: {\n type: 'boolean',\n default: false\n }\n },\n edit: function edit(props) {\n var fields = props.attributes.fields,\n className = props.className,\n setAttributes = props.setAttributes,\n isSelected = props.isSelected;\n\n return [isSelected && wp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__inspector__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({ setAttributes: setAttributes }, props)), wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Account Page'\n )\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ibG9ja3MvYWNjb3VudC1wYWdlL2Jsb2NrLmpzPzRjNzgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9leHRlbmRzIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9leHRlbmRzJztcbi8qKlxuICogQmxvY2s6IFBNUHJvIE1lbWJlcnNoaXAgQWNjb3VudFxuICpcbiAqIERpc3BsYXlzIHRoZSBNZW1iZXJzaGlwIEFjY291bnQgcGFnZS5cbiAqXG4gKi9cbi8qKlxuICogQmxvY2sgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCAnLi9lZGl0b3IuY3NzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IEluc3BlY3RvciBmcm9tICcuL2luc3BlY3Rvcic7XG4vKipcbiAqIEludGVybmFsIGJsb2NrIGxpYnJhcmllc1xuICovXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIF93cCRibG9ja3MgPSB3cC5ibG9ja3MsXG4gICAgcmVnaXN0ZXJCbG9ja1R5cGUgPSBfd3AkYmxvY2tzLnJlZ2lzdGVyQmxvY2tUeXBlLFxuICAgIEFsaWdubWVudFRvb2xiYXIgPSBfd3AkYmxvY2tzLkFsaWdubWVudFRvb2xiYXIsXG4gICAgQmxvY2tDb250cm9scyA9IF93cCRibG9ja3MuQmxvY2tDb250cm9scyxcbiAgICBCbG9ja0FsaWdubWVudFRvb2xiYXIgPSBfd3AkYmxvY2tzLkJsb2NrQWxpZ25tZW50VG9vbGJhcjtcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFBhbmVsUm93ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxSb3csXG4gICAgVGV4dENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5UZXh0Q29udHJvbDtcbnZhciBfd3AkZWRpdG9yID0gd3AuZWRpdG9yLFxuICAgIFJpY2hUZXh0ID0gX3dwJGVkaXRvci5SaWNoVGV4dCxcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHM7XG5cbi8qKlxuICogUmVnaXN0ZXIgYmxvY2tcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCByZWdpc3RlckJsb2NrVHlwZSgncG1wcm8vYWNjb3VudC1wYWdlJywge1xuICAgIHRpdGxlOiBfXygnTWVtYmVyc2hpcCBBY2NvdW50IFBhZ2UnLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKSxcbiAgICBkZXNjcmlwdGlvbjogX18oJ0Rpc3BsYXlzIHRoZSBzZWN0aW9ucyBvZiB0aGUgTWVtYmVyc2hpcCBBY2NvdW50IHBhZ2UgYXMgc2VsZWN0ZWQgYmVsb3cuJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksXG4gICAgY2F0ZWdvcnk6ICdwbXBybycsXG4gICAgaWNvbjoge1xuICAgICAgICBiYWNrZ3JvdW5kOiAnIzI5OTdjOCcsXG4gICAgICAgIGZvcmVncm91bmQ6ICcjZmZmZmZmJyxcbiAgICAgICAgc3JjOiAnYWRtaW4tdXNlcnMnXG4gICAgfSxcbiAgICBrZXl3b3JkczogW19fKCdwbXBybycsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpXSxcbiAgICBzdXBwb3J0czoge30sXG4gICAgYXR0cmlidXRlczoge1xuICAgICAgICBtZW1iZXJzaGlwOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBwcm9maWxlOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBpbnZvaWNlczoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgbGlua3M6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGVkaXQ6IGZ1bmN0aW9uIGVkaXQocHJvcHMpIHtcbiAgICAgICAgdmFyIGZpZWxkcyA9IHByb3BzLmF0dHJpYnV0ZXMuZmllbGRzLFxuICAgICAgICAgICAgY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lLFxuICAgICAgICAgICAgc2V0QXR0cmlidXRlcyA9IHByb3BzLnNldEF0dHJpYnV0ZXMsXG4gICAgICAgICAgICBpc1NlbGVjdGVkID0gcHJvcHMuaXNTZWxlY3RlZDtcblxuICAgICAgICByZXR1cm4gW2lzU2VsZWN0ZWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KEluc3BlY3RvciwgX2V4dGVuZHMoeyBzZXRBdHRyaWJ1dGVzOiBzZXRBdHRyaWJ1dGVzIH0sIHByb3BzKSksIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICdkaXYnLFxuICAgICAgICAgICAgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSB9LFxuICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICdzcGFuJyxcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICdQYWlkIE1lbWJlcnNoaXBzIFBybydcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgJ3NwYW4nLFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgJ01lbWJlcnNoaXAgQWNjb3VudCBQYWdlJ1xuICAgICAgICAgICAgKVxuICAgICAgICApXTtcbiAgICB9LFxuICAgIHNhdmU6IGZ1bmN0aW9uIHNhdmUoKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2FjY291bnQtcGFnZS9ibG9jay5qc1xuLy8gbW9kdWxlIGlkID0gOTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///96\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ibG9ja3MvYWNjb3VudC1wYWdlL2VkaXRvci5jc3M/YWM4ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2FjY291bnQtcGFnZS9lZGl0b3IuY3NzXG4vLyBtb2R1bGUgaWQgPSA5N1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///97\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n\n\n\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n CheckboxControl = _wp$components.CheckboxControl;\nvar InspectorControls = wp.editor.InspectorControls;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(Inspector, _Component);\n\n function Inspector() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Inspector);\n\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Inspector.__proto__ || __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of___default()(Inspector)).apply(this, arguments));\n }\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default()(Inspector, [{\n key: "render",\n value: function render() {\n var _props = this.props,\n _props$attributes = _props.attributes,\n membership = _props$attributes.membership,\n profile = _props$attributes.profile,\n invoices = _props$attributes.invoices,\n links = _props$attributes.links,\n setAttributes = _props.setAttributes;\n\n\n return wp.element.createElement(\n InspectorControls,\n null,\n wp.element.createElement(\n PanelBody,\n null,\n wp.element.createElement(CheckboxControl, {\n label: "Show \'My Memberships\' Section",\n checked: membership,\n onChange: function onChange(membership) {\n return setAttributes({ membership: membership });\n }\n })\n ),\n wp.element.createElement(\n PanelBody,\n null,\n wp.element.createElement(CheckboxControl, {\n label: "Show \'Profile\' Section",\n checked: profile,\n onChange: function onChange(profile) {\n return setAttributes({ profile: profile });\n }\n })\n ),\n wp.element.createElement(\n PanelBody,\n null,\n wp.element.createElement(CheckboxControl, {\n label: "Show \'Invoices\' Section",\n checked: invoices,\n onChange: function onChange(invoices) {\n return setAttributes({ invoices: invoices });\n }\n })\n ),\n wp.element.createElement(\n PanelBody,\n null,\n wp.element.createElement(CheckboxControl, {\n label: "Show \'Member Links\' Section",\n checked: links,\n onChange: function onChange(links) {\n return setAttributes({ links: links });\n }\n })\n )\n );\n }\n }]);\n\n return Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__["a"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ibG9ja3MvYWNjb3VudC1wYWdlL2luc3BlY3Rvci5qcz81MGViIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfT2JqZWN0JGdldFByb3RvdHlwZU9mIGZyb20gXCJiYWJlbC1ydW50aW1lL2NvcmUtanMvb2JqZWN0L2dldC1wcm90b3R5cGUtb2ZcIjtcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSBcImJhYmVsLXJ1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVja1wiO1xuaW1wb3J0IF9jcmVhdGVDbGFzcyBmcm9tIFwiYmFiZWwtcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzXCI7XG5pbXBvcnQgX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4gZnJvbSBcImJhYmVsLXJ1bnRpbWUvaGVscGVycy9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuXCI7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gXCJiYWJlbC1ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNcIjtcbi8qKlxuICogSW50ZXJuYWwgYmxvY2sgbGlicmFyaWVzXG4gKi9cbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgQ29tcG9uZW50ID0gd3AuZWxlbWVudC5Db21wb25lbnQ7XG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIENoZWNrYm94Q29udHJvbCA9IF93cCRjb21wb25lbnRzLkNoZWNrYm94Q29udHJvbDtcbnZhciBJbnNwZWN0b3JDb250cm9scyA9IHdwLmVkaXRvci5JbnNwZWN0b3JDb250cm9scztcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gICAgX2luaGVyaXRzKEluc3BlY3RvciwgX0NvbXBvbmVudCk7XG5cbiAgICBmdW5jdGlvbiBJbnNwZWN0b3IoKSB7XG4gICAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG4gICAgICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoSW5zcGVjdG9yLl9fcHJvdG9fXyB8fCBfT2JqZWN0JGdldFByb3RvdHlwZU9mKEluc3BlY3RvcikpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICAgIH1cblxuICAgIF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG4gICAgICAgIGtleTogXCJyZW5kZXJcIixcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgICAgICAgIHZhciBfcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgICAgICAgIF9wcm9wcyRhdHRyaWJ1dGVzID0gX3Byb3BzLmF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgICAgbWVtYmVyc2hpcCA9IF9wcm9wcyRhdHRyaWJ1dGVzLm1lbWJlcnNoaXAsXG4gICAgICAgICAgICAgICAgcHJvZmlsZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLnByb2ZpbGUsXG4gICAgICAgICAgICAgICAgaW52b2ljZXMgPSBfcHJvcHMkYXR0cmlidXRlcy5pbnZvaWNlcyxcbiAgICAgICAgICAgICAgICBsaW5rcyA9IF9wcm9wcyRhdHRyaWJ1dGVzLmxpbmtzLFxuICAgICAgICAgICAgICAgIHNldEF0dHJpYnV0ZXMgPSBfcHJvcHMuc2V0QXR0cmlidXRlcztcblxuXG4gICAgICAgICAgICByZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgIEluc3BlY3RvckNvbnRyb2xzLFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICBQYW5lbEJvZHksXG4gICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChDaGVja2JveENvbnRyb2wsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIlNob3cgJ015IE1lbWJlcnNoaXBzJyBTZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBtZW1iZXJzaGlwLFxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKG1lbWJlcnNoaXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0QXR0cmlidXRlcyh7IG1lbWJlcnNoaXA6IG1lbWJlcnNoaXAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICAgIFBhbmVsQm9keSxcbiAgICAgICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KENoZWNrYm94Q29udHJvbCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiU2hvdyAnUHJvZmlsZScgU2VjdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogcHJvZmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShwcm9maWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBwcm9maWxlOiBwcm9maWxlIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICBQYW5lbEJvZHksXG4gICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChDaGVja2JveENvbnRyb2wsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIlNob3cgJ0ludm9pY2VzJyBTZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBpbnZvaWNlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShpbnZvaWNlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgaW52b2ljZXM6IGludm9pY2VzIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICBQYW5lbEJvZHksXG4gICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChDaGVja2JveENvbnRyb2wsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIlNob3cgJ01lbWJlciBMaW5rcycgU2VjdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogbGlua3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UobGlua3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0QXR0cmlidXRlcyh7IGxpbmtzOiBsaW5rcyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfV0pO1xuXG4gICAgcmV0dXJuIEluc3BlY3Rvcjtcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IGRlZmF1bHQgSW5zcGVjdG9yO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2FjY291bnQtcGFnZS9pbnNwZWN0b3IuanNcbi8vIG1vZHVsZSBpZCA9IDk4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///98\n')},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/**\n * Block: PMPro Membership Account: Memberships\n *\n * Displays the Membership Account > My Memberships page section.\n *\n */\n/**\n * Block dependencies\n */\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/account-membership-section', {\n title: __('Membership Account: Memberships', 'paid-memberships-pro'),\n description: __('Displays the member\\'s membership information.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'groups'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {},\n edit: function edit(props) {\n var className = props.className;\n\n return [wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Account: My Memberships'\n )\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ibG9ja3MvYWNjb3VudC1tZW1iZXJzaGlwLXNlY3Rpb24vYmxvY2suanM/MTJhYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJsb2NrOiBQTVBybyBNZW1iZXJzaGlwIEFjY291bnQ6IE1lbWJlcnNoaXBzXG4gKlxuICogRGlzcGxheXMgdGhlIE1lbWJlcnNoaXAgQWNjb3VudCA+IE15IE1lbWJlcnNoaXBzIHBhZ2Ugc2VjdGlvbi5cbiAqXG4gKi9cbi8qKlxuICogQmxvY2sgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCAnLi9lZGl0b3IuY3NzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuLyoqXG4gKiBJbnRlcm5hbCBibG9jayBsaWJyYXJpZXNcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfd3AkYmxvY2tzID0gd3AuYmxvY2tzLFxuICAgIHJlZ2lzdGVyQmxvY2tUeXBlID0gX3dwJGJsb2Nrcy5yZWdpc3RlckJsb2NrVHlwZSxcbiAgICBBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5BbGlnbm1lbnRUb29sYmFyLFxuICAgIEJsb2NrQ29udHJvbHMgPSBfd3AkYmxvY2tzLkJsb2NrQ29udHJvbHMsXG4gICAgQmxvY2tBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5CbG9ja0FsaWdubWVudFRvb2xiYXI7XG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2w7XG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBSaWNoVGV4dCA9IF93cCRlZGl0b3IuUmljaFRleHQsXG4gICAgSW5zcGVjdG9yQ29udHJvbHMgPSBfd3AkZWRpdG9yLkluc3BlY3RvckNvbnRyb2xzO1xuXG4vKipcbiAqIFJlZ2lzdGVyIGJsb2NrXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgcmVnaXN0ZXJCbG9ja1R5cGUoJ3BtcHJvL2FjY291bnQtbWVtYmVyc2hpcC1zZWN0aW9uJywge1xuICB0aXRsZTogX18oJ01lbWJlcnNoaXAgQWNjb3VudDogTWVtYmVyc2hpcHMnLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKSxcbiAgZGVzY3JpcHRpb246IF9fKCdEaXNwbGF5cyB0aGUgbWVtYmVyXFwncyBtZW1iZXJzaGlwIGluZm9ybWF0aW9uLicsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICBjYXRlZ29yeTogJ3BtcHJvJyxcbiAgaWNvbjoge1xuICAgIGJhY2tncm91bmQ6ICcjMjk5N2M4JyxcbiAgICBmb3JlZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgc3JjOiAnZ3JvdXBzJ1xuICB9LFxuICBrZXl3b3JkczogW19fKCdwbXBybycsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpXSxcbiAgc3VwcG9ydHM6IHt9LFxuICBhdHRyaWJ1dGVzOiB7fSxcbiAgZWRpdDogZnVuY3Rpb24gZWRpdChwcm9wcykge1xuICAgIHZhciBjbGFzc05hbWUgPSBwcm9wcy5jbGFzc05hbWU7XG5cbiAgICByZXR1cm4gW3dwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICdkaXYnLFxuICAgICAgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSB9LFxuICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAnc3BhbicsXG4gICAgICAgIG51bGwsXG4gICAgICAgICdQYWlkIE1lbWJlcnNoaXBzIFBybydcbiAgICAgICksXG4gICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdzcGFuJyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgJ01lbWJlcnNoaXAgQWNjb3VudDogTXkgTWVtYmVyc2hpcHMnXG4gICAgICApXG4gICAgKV07XG4gIH0sXG4gIHNhdmU6IGZ1bmN0aW9uIHNhdmUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2FjY291bnQtbWVtYmVyc2hpcC1zZWN0aW9uL2Jsb2NrLmpzXG4vLyBtb2R1bGUgaWQgPSA5OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///99\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAwLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2FjY291bnQtbWVtYmVyc2hpcC1zZWN0aW9uL2VkaXRvci5jc3M/ZWNiMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2FjY291bnQtbWVtYmVyc2hpcC1zZWN0aW9uL2VkaXRvci5jc3Ncbi8vIG1vZHVsZSBpZCA9IDEwMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///100\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css__ = __webpack_require__(102);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/**\n * Block: PMPro Checkout Button\n *\n * Add a styled link to the PMPro checkout page for a\n * specific level.\n *\n */\n/**\n * Block dependencies\n */\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/account-profile-section', {\n title: __('Membership Account: Profile', 'paid-memberships-pro'),\n description: __('Displays the member\\'s profile information.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'admin-users'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {},\n edit: function edit(props) {\n var className = props.className;\n\n return [wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Account: Profile'\n )\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAxLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2FjY291bnQtcHJvZmlsZS1zZWN0aW9uL2Jsb2NrLmpzPzkwN2YiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCbG9jazogUE1Qcm8gQ2hlY2tvdXQgQnV0dG9uXG4gKlxuICogQWRkIGEgc3R5bGVkIGxpbmsgdG8gdGhlIFBNUHJvIGNoZWNrb3V0IHBhZ2UgZm9yIGFcbiAqIHNwZWNpZmljIGxldmVsLlxuICpcbiAqL1xuLyoqXG4gKiBCbG9jayBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0ICcuL2VkaXRvci5jc3MnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG4vKipcbiAqIEludGVybmFsIGJsb2NrIGxpYnJhcmllc1xuICovXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIF93cCRibG9ja3MgPSB3cC5ibG9ja3MsXG4gICAgcmVnaXN0ZXJCbG9ja1R5cGUgPSBfd3AkYmxvY2tzLnJlZ2lzdGVyQmxvY2tUeXBlLFxuICAgIEFsaWdubWVudFRvb2xiYXIgPSBfd3AkYmxvY2tzLkFsaWdubWVudFRvb2xiYXIsXG4gICAgQmxvY2tDb250cm9scyA9IF93cCRibG9ja3MuQmxvY2tDb250cm9scyxcbiAgICBCbG9ja0FsaWdubWVudFRvb2xiYXIgPSBfd3AkYmxvY2tzLkJsb2NrQWxpZ25tZW50VG9vbGJhcjtcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFBhbmVsUm93ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxSb3csXG4gICAgVGV4dENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5UZXh0Q29udHJvbDtcbnZhciBfd3AkZWRpdG9yID0gd3AuZWRpdG9yLFxuICAgIFJpY2hUZXh0ID0gX3dwJGVkaXRvci5SaWNoVGV4dCxcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHM7XG5cbi8qKlxuICogUmVnaXN0ZXIgYmxvY2tcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCByZWdpc3RlckJsb2NrVHlwZSgncG1wcm8vYWNjb3VudC1wcm9maWxlLXNlY3Rpb24nLCB7XG4gIHRpdGxlOiBfXygnTWVtYmVyc2hpcCBBY2NvdW50OiBQcm9maWxlJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksXG4gIGRlc2NyaXB0aW9uOiBfXygnRGlzcGxheXMgdGhlIG1lbWJlclxcJ3MgcHJvZmlsZSBpbmZvcm1hdGlvbi4nLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKSxcbiAgY2F0ZWdvcnk6ICdwbXBybycsXG4gIGljb246IHtcbiAgICBiYWNrZ3JvdW5kOiAnIzI5OTdjOCcsXG4gICAgZm9yZWdyb3VuZDogJyNmZmZmZmYnLFxuICAgIHNyYzogJ2FkbWluLXVzZXJzJ1xuICB9LFxuICBrZXl3b3JkczogW19fKCdwbXBybycsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpXSxcbiAgc3VwcG9ydHM6IHt9LFxuICBhdHRyaWJ1dGVzOiB7fSxcbiAgZWRpdDogZnVuY3Rpb24gZWRpdChwcm9wcykge1xuICAgIHZhciBjbGFzc05hbWUgPSBwcm9wcy5jbGFzc05hbWU7XG5cbiAgICByZXR1cm4gW3dwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICdkaXYnLFxuICAgICAgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSB9LFxuICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAnc3BhbicsXG4gICAgICAgIG51bGwsXG4gICAgICAgICdQYWlkIE1lbWJlcnNoaXBzIFBybydcbiAgICAgICksXG4gICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdzcGFuJyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgJ01lbWJlcnNoaXAgQWNjb3VudDogUHJvZmlsZSdcbiAgICAgIClcbiAgICApXTtcbiAgfSxcbiAgc2F2ZTogZnVuY3Rpb24gc2F2ZSgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ibG9ja3MvYWNjb3VudC1wcm9maWxlLXNlY3Rpb24vYmxvY2suanNcbi8vIG1vZHVsZSBpZCA9IDEwMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///101\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAyLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2FjY291bnQtcHJvZmlsZS1zZWN0aW9uL2VkaXRvci5jc3M/ZTcyMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2FjY291bnQtcHJvZmlsZS1zZWN0aW9uL2VkaXRvci5jc3Ncbi8vIG1vZHVsZSBpZCA9IDEwMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///102\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/**\n * Block: PMPro Membership Account: Invoices\n *\n * Displays the Membership Account > Invoices page section.\n *\n */\n/**\n * Block dependencies\n */\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/account-invoices-section', {\n title: __('Membership Account: Invoices', 'paid-memberships-pro'),\n description: __('Displays the member\\'s invoices.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'archive'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {},\n edit: function edit(props) {\n var className = props.className;\n\n return [wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Account: Invoices'\n )\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2FjY291bnQtaW52b2ljZXMtc2VjdGlvbi9ibG9jay5qcz82ZTZlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmxvY2s6IFBNUHJvIE1lbWJlcnNoaXAgQWNjb3VudDogSW52b2ljZXNcbiAqXG4gKiBEaXNwbGF5cyB0aGUgTWVtYmVyc2hpcCBBY2NvdW50ID4gSW52b2ljZXMgcGFnZSBzZWN0aW9uLlxuICpcbiAqL1xuLyoqXG4gKiBCbG9jayBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0ICcuL2VkaXRvci5jc3MnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG4vKipcbiAqIEludGVybmFsIGJsb2NrIGxpYnJhcmllc1xuICovXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIF93cCRibG9ja3MgPSB3cC5ibG9ja3MsXG4gICAgcmVnaXN0ZXJCbG9ja1R5cGUgPSBfd3AkYmxvY2tzLnJlZ2lzdGVyQmxvY2tUeXBlLFxuICAgIEFsaWdubWVudFRvb2xiYXIgPSBfd3AkYmxvY2tzLkFsaWdubWVudFRvb2xiYXIsXG4gICAgQmxvY2tDb250cm9scyA9IF93cCRibG9ja3MuQmxvY2tDb250cm9scyxcbiAgICBCbG9ja0FsaWdubWVudFRvb2xiYXIgPSBfd3AkYmxvY2tzLkJsb2NrQWxpZ25tZW50VG9vbGJhcjtcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFBhbmVsUm93ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxSb3csXG4gICAgVGV4dENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5UZXh0Q29udHJvbDtcbnZhciBfd3AkZWRpdG9yID0gd3AuZWRpdG9yLFxuICAgIFJpY2hUZXh0ID0gX3dwJGVkaXRvci5SaWNoVGV4dCxcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHM7XG5cbi8qKlxuICogUmVnaXN0ZXIgYmxvY2tcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCByZWdpc3RlckJsb2NrVHlwZSgncG1wcm8vYWNjb3VudC1pbnZvaWNlcy1zZWN0aW9uJywge1xuICB0aXRsZTogX18oJ01lbWJlcnNoaXAgQWNjb3VudDogSW52b2ljZXMnLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKSxcbiAgZGVzY3JpcHRpb246IF9fKCdEaXNwbGF5cyB0aGUgbWVtYmVyXFwncyBpbnZvaWNlcy4nLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKSxcbiAgY2F0ZWdvcnk6ICdwbXBybycsXG4gIGljb246IHtcbiAgICBiYWNrZ3JvdW5kOiAnIzI5OTdjOCcsXG4gICAgZm9yZWdyb3VuZDogJyNmZmZmZmYnLFxuICAgIHNyYzogJ2FyY2hpdmUnXG4gIH0sXG4gIGtleXdvcmRzOiBbX18oJ3BtcHJvJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyldLFxuICBzdXBwb3J0czoge30sXG4gIGF0dHJpYnV0ZXM6IHt9LFxuICBlZGl0OiBmdW5jdGlvbiBlZGl0KHByb3BzKSB7XG4gICAgdmFyIGNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZTtcblxuICAgIHJldHVybiBbd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgJ2RpdicsXG4gICAgICB7IGNsYXNzTmFtZTogY2xhc3NOYW1lIH0sXG4gICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdzcGFuJyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgJ1BhaWQgTWVtYmVyc2hpcHMgUHJvJ1xuICAgICAgKSxcbiAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgJ3NwYW4nLFxuICAgICAgICBudWxsLFxuICAgICAgICAnTWVtYmVyc2hpcCBBY2NvdW50OiBJbnZvaWNlcydcbiAgICAgIClcbiAgICApXTtcbiAgfSxcbiAgc2F2ZTogZnVuY3Rpb24gc2F2ZSgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ibG9ja3MvYWNjb3VudC1pbnZvaWNlcy1zZWN0aW9uL2Jsb2NrLmpzXG4vLyBtb2R1bGUgaWQgPSAxMDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///103\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA0LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2FjY291bnQtaW52b2ljZXMtc2VjdGlvbi9lZGl0b3IuY3NzPzYxNWIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2Jsb2Nrcy9hY2NvdW50LWludm9pY2VzLXNlY3Rpb24vZWRpdG9yLmNzc1xuLy8gbW9kdWxlIGlkID0gMTA0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///104\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css__ = __webpack_require__(106);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/**\n * Block: PMPro Membership Account: Member Links\n *\n * Displays the Membership Account > Member Links page section.\n *\n */\n/**\n * Block dependencies\n */\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/account-links-section', {\n title: __('Membership Account: Links', 'paid-memberships-pro'),\n description: __('Displays the member\\'s member links. This block is only visible if other Add Ons or custom code have added links.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'external'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {},\n edit: function edit(props) {\n var className = props.className;\n\n return [wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Account: Member Links'\n )\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA1LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2FjY291bnQtbGlua3Mtc2VjdGlvbi9ibG9jay5qcz9mNDJjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmxvY2s6IFBNUHJvIE1lbWJlcnNoaXAgQWNjb3VudDogTWVtYmVyIExpbmtzXG4gKlxuICogRGlzcGxheXMgdGhlIE1lbWJlcnNoaXAgQWNjb3VudCA+IE1lbWJlciBMaW5rcyBwYWdlIHNlY3Rpb24uXG4gKlxuICovXG4vKipcbiAqIEJsb2NrIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgJy4vZWRpdG9yLmNzcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbi8qKlxuICogSW50ZXJuYWwgYmxvY2sgbGlicmFyaWVzXG4gKi9cbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgX3dwJGJsb2NrcyA9IHdwLmJsb2NrcyxcbiAgICByZWdpc3RlckJsb2NrVHlwZSA9IF93cCRibG9ja3MucmVnaXN0ZXJCbG9ja1R5cGUsXG4gICAgQWxpZ25tZW50VG9vbGJhciA9IF93cCRibG9ja3MuQWxpZ25tZW50VG9vbGJhcixcbiAgICBCbG9ja0NvbnRyb2xzID0gX3dwJGJsb2Nrcy5CbG9ja0NvbnRyb2xzLFxuICAgIEJsb2NrQWxpZ25tZW50VG9vbGJhciA9IF93cCRibG9ja3MuQmxvY2tBbGlnbm1lbnRUb29sYmFyO1xudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgUGFuZWxSb3cgPSBfd3AkY29tcG9uZW50cy5QYW5lbFJvdyxcbiAgICBUZXh0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlRleHRDb250cm9sO1xudmFyIF93cCRlZGl0b3IgPSB3cC5lZGl0b3IsXG4gICAgUmljaFRleHQgPSBfd3AkZWRpdG9yLlJpY2hUZXh0LFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scztcblxuLyoqXG4gKiBSZWdpc3RlciBibG9ja1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IHJlZ2lzdGVyQmxvY2tUeXBlKCdwbXByby9hY2NvdW50LWxpbmtzLXNlY3Rpb24nLCB7XG4gIHRpdGxlOiBfXygnTWVtYmVyc2hpcCBBY2NvdW50OiBMaW5rcycsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICBkZXNjcmlwdGlvbjogX18oJ0Rpc3BsYXlzIHRoZSBtZW1iZXJcXCdzIG1lbWJlciBsaW5rcy4gVGhpcyBibG9jayBpcyBvbmx5IHZpc2libGUgaWYgb3RoZXIgQWRkIE9ucyBvciBjdXN0b20gY29kZSBoYXZlIGFkZGVkIGxpbmtzLicsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICBjYXRlZ29yeTogJ3BtcHJvJyxcbiAgaWNvbjoge1xuICAgIGJhY2tncm91bmQ6ICcjMjk5N2M4JyxcbiAgICBmb3JlZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgc3JjOiAnZXh0ZXJuYWwnXG4gIH0sXG4gIGtleXdvcmRzOiBbX18oJ3BtcHJvJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyldLFxuICBzdXBwb3J0czoge30sXG4gIGF0dHJpYnV0ZXM6IHt9LFxuICBlZGl0OiBmdW5jdGlvbiBlZGl0KHByb3BzKSB7XG4gICAgdmFyIGNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZTtcblxuICAgIHJldHVybiBbd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgJ2RpdicsXG4gICAgICB7IGNsYXNzTmFtZTogY2xhc3NOYW1lIH0sXG4gICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdzcGFuJyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgJ1BhaWQgTWVtYmVyc2hpcHMgUHJvJ1xuICAgICAgKSxcbiAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgJ3NwYW4nLFxuICAgICAgICBudWxsLFxuICAgICAgICAnTWVtYmVyc2hpcCBBY2NvdW50OiBNZW1iZXIgTGlua3MnXG4gICAgICApXG4gICAgKV07XG4gIH0sXG4gIHNhdmU6IGZ1bmN0aW9uIHNhdmUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2FjY291bnQtbGlua3Mtc2VjdGlvbi9ibG9jay5qc1xuLy8gbW9kdWxlIGlkID0gMTA1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///105\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA2LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2FjY291bnQtbGlua3Mtc2VjdGlvbi9lZGl0b3IuY3NzP2E5MzEiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2Jsb2Nrcy9hY2NvdW50LWxpbmtzLXNlY3Rpb24vZWRpdG9yLmNzc1xuLy8gbW9kdWxlIGlkID0gMTA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///106\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css__ = __webpack_require__(108);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/**\n * Block: PMPro Membership Billing\n *\n * Displays the Membership Billing page and form.\n *\n */\n/**\n * Block dependencies\n */\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/billing-page', {\n title: __('Membership Billing Page', 'paid-memberships-pro'),\n description: __('Displays the member\\'s billing information and allows them to update the payment method.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'list-view'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {},\n edit: function edit(props) {\n var className = props.className;\n\n return [wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Billing Page'\n )\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2JpbGxpbmctcGFnZS9ibG9jay5qcz81MTIzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmxvY2s6IFBNUHJvIE1lbWJlcnNoaXAgQmlsbGluZ1xuICpcbiAqIERpc3BsYXlzIHRoZSBNZW1iZXJzaGlwIEJpbGxpbmcgcGFnZSBhbmQgZm9ybS5cbiAqXG4gKi9cbi8qKlxuICogQmxvY2sgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCAnLi9lZGl0b3IuY3NzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuLyoqXG4gKiBJbnRlcm5hbCBibG9jayBsaWJyYXJpZXNcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfd3AkYmxvY2tzID0gd3AuYmxvY2tzLFxuICAgIHJlZ2lzdGVyQmxvY2tUeXBlID0gX3dwJGJsb2Nrcy5yZWdpc3RlckJsb2NrVHlwZSxcbiAgICBBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5BbGlnbm1lbnRUb29sYmFyLFxuICAgIEJsb2NrQ29udHJvbHMgPSBfd3AkYmxvY2tzLkJsb2NrQ29udHJvbHMsXG4gICAgQmxvY2tBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5CbG9ja0FsaWdubWVudFRvb2xiYXI7XG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2w7XG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBSaWNoVGV4dCA9IF93cCRlZGl0b3IuUmljaFRleHQsXG4gICAgSW5zcGVjdG9yQ29udHJvbHMgPSBfd3AkZWRpdG9yLkluc3BlY3RvckNvbnRyb2xzO1xuXG4vKipcbiAqIFJlZ2lzdGVyIGJsb2NrXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgcmVnaXN0ZXJCbG9ja1R5cGUoJ3BtcHJvL2JpbGxpbmctcGFnZScsIHtcbiAgdGl0bGU6IF9fKCdNZW1iZXJzaGlwIEJpbGxpbmcgUGFnZScsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICBkZXNjcmlwdGlvbjogX18oJ0Rpc3BsYXlzIHRoZSBtZW1iZXJcXCdzIGJpbGxpbmcgaW5mb3JtYXRpb24gYW5kIGFsbG93cyB0aGVtIHRvIHVwZGF0ZSB0aGUgcGF5bWVudCBtZXRob2QuJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksXG4gIGNhdGVnb3J5OiAncG1wcm8nLFxuICBpY29uOiB7XG4gICAgYmFja2dyb3VuZDogJyMyOTk3YzgnLFxuICAgIGZvcmVncm91bmQ6ICcjZmZmZmZmJyxcbiAgICBzcmM6ICdsaXN0LXZpZXcnXG4gIH0sXG4gIGtleXdvcmRzOiBbX18oJ3BtcHJvJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyldLFxuICBzdXBwb3J0czoge30sXG4gIGF0dHJpYnV0ZXM6IHt9LFxuICBlZGl0OiBmdW5jdGlvbiBlZGl0KHByb3BzKSB7XG4gICAgdmFyIGNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZTtcblxuICAgIHJldHVybiBbd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgJ2RpdicsXG4gICAgICB7IGNsYXNzTmFtZTogY2xhc3NOYW1lIH0sXG4gICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdzcGFuJyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgJ1BhaWQgTWVtYmVyc2hpcHMgUHJvJ1xuICAgICAgKSxcbiAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgJ3NwYW4nLFxuICAgICAgICBudWxsLFxuICAgICAgICAnTWVtYmVyc2hpcCBCaWxsaW5nIFBhZ2UnXG4gICAgICApXG4gICAgKV07XG4gIH0sXG4gIHNhdmU6IGZ1bmN0aW9uIHNhdmUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2JpbGxpbmctcGFnZS9ibG9jay5qc1xuLy8gbW9kdWxlIGlkID0gMTA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///107\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2JpbGxpbmctcGFnZS9lZGl0b3IuY3NzP2IzZmYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2Jsb2Nrcy9iaWxsaW5nLXBhZ2UvZWRpdG9yLmNzc1xuLy8gbW9kdWxlIGlkID0gMTA4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///108\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css__ = __webpack_require__(110);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/**\n * Block: PMPro Membership Cancel\n *\n * Displays the Membership Cancel page.\n *\n */\n/**\n * Block dependencies\n */\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/cancel-page', {\n title: __('Membership Cancel Page', 'paid-memberships-pro'),\n description: __('Generates the Membership Cancel page.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'no'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {},\n edit: function edit(props) {\n var className = props.className;\n\n return [wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Cancel Page'\n )\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA5LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2NhbmNlbC1wYWdlL2Jsb2NrLmpzP2JhNzMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCbG9jazogUE1Qcm8gTWVtYmVyc2hpcCBDYW5jZWxcbiAqXG4gKiBEaXNwbGF5cyB0aGUgTWVtYmVyc2hpcCBDYW5jZWwgcGFnZS5cbiAqXG4gKi9cbi8qKlxuICogQmxvY2sgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCAnLi9lZGl0b3IuY3NzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuLyoqXG4gKiBJbnRlcm5hbCBibG9jayBsaWJyYXJpZXNcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfd3AkYmxvY2tzID0gd3AuYmxvY2tzLFxuICAgIHJlZ2lzdGVyQmxvY2tUeXBlID0gX3dwJGJsb2Nrcy5yZWdpc3RlckJsb2NrVHlwZSxcbiAgICBBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5BbGlnbm1lbnRUb29sYmFyLFxuICAgIEJsb2NrQ29udHJvbHMgPSBfd3AkYmxvY2tzLkJsb2NrQ29udHJvbHMsXG4gICAgQmxvY2tBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5CbG9ja0FsaWdubWVudFRvb2xiYXI7XG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2w7XG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBSaWNoVGV4dCA9IF93cCRlZGl0b3IuUmljaFRleHQsXG4gICAgSW5zcGVjdG9yQ29udHJvbHMgPSBfd3AkZWRpdG9yLkluc3BlY3RvckNvbnRyb2xzO1xuXG4vKipcbiAqIFJlZ2lzdGVyIGJsb2NrXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgcmVnaXN0ZXJCbG9ja1R5cGUoJ3BtcHJvL2NhbmNlbC1wYWdlJywge1xuICB0aXRsZTogX18oJ01lbWJlcnNoaXAgQ2FuY2VsIFBhZ2UnLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKSxcbiAgZGVzY3JpcHRpb246IF9fKCdHZW5lcmF0ZXMgdGhlIE1lbWJlcnNoaXAgQ2FuY2VsIHBhZ2UuJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksXG4gIGNhdGVnb3J5OiAncG1wcm8nLFxuICBpY29uOiB7XG4gICAgYmFja2dyb3VuZDogJyMyOTk3YzgnLFxuICAgIGZvcmVncm91bmQ6ICcjZmZmZmZmJyxcbiAgICBzcmM6ICdubydcbiAgfSxcbiAga2V5d29yZHM6IFtfXygncG1wcm8nLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKV0sXG4gIHN1cHBvcnRzOiB7fSxcbiAgYXR0cmlidXRlczoge30sXG4gIGVkaXQ6IGZ1bmN0aW9uIGVkaXQocHJvcHMpIHtcbiAgICB2YXIgY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lO1xuXG4gICAgcmV0dXJuIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAnZGl2JyxcbiAgICAgIHsgY2xhc3NOYW1lOiBjbGFzc05hbWUgfSxcbiAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgJ3NwYW4nLFxuICAgICAgICBudWxsLFxuICAgICAgICAnUGFpZCBNZW1iZXJzaGlwcyBQcm8nXG4gICAgICApLFxuICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAnc3BhbicsXG4gICAgICAgIG51bGwsXG4gICAgICAgICdNZW1iZXJzaGlwIENhbmNlbCBQYWdlJ1xuICAgICAgKVxuICAgICldO1xuICB9LFxuICBzYXZlOiBmdW5jdGlvbiBzYXZlKCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2Jsb2Nrcy9jYW5jZWwtcGFnZS9ibG9jay5qc1xuLy8gbW9kdWxlIGlkID0gMTA5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///109\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEwLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2NhbmNlbC1wYWdlL2VkaXRvci5jc3M/OWY4NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2NhbmNlbC1wYWdlL2VkaXRvci5jc3Ncbi8vIG1vZHVsZSBpZCA9IDExMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///110\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_css__ = __webpack_require__(112);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__inspector__ = __webpack_require__(113);\n\n/**\n * Block: PMPro Membership Checkout\n *\n * Displays the Membership Checkout form.\n *\n */\n/**\n * Block dependencies\n */\n\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n SelectControl = _wp$components.SelectControl;\nvar InspectorControls = wp.editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/checkout-page', {\n title: __('Membership Checkout Form', 'paid-memberships-pro'),\n description: __('Displays the Membership Checkout form.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'list-view'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {\n pmpro_default_level: {\n type: 'string',\n source: 'meta',\n meta: 'pmpro_default_level'\n }\n },\n edit: function edit(props) {\n var pmpro_default_level = props.attributes.pmpro_default_level,\n className = props.className,\n setAttributes = props.setAttributes,\n isSelected = props.isSelected;\n\n return [isSelected && wp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__inspector__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({ setAttributes: setAttributes }, props)), wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Checkout Form'\n ),\n wp.element.createElement(SelectControl, {\n label: __('Membership Level', 'paid-memberships-pro'),\n value: pmpro_default_level,\n onChange: function onChange(pmpro_default_level) {\n return setAttributes({ pmpro_default_level: pmpro_default_level });\n },\n options: window.pmpro.all_level_values_and_labels\n })\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTExLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2NoZWNrb3V0LXBhZ2UvYmxvY2suanM/ODYxOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgX2V4dGVuZHMgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2V4dGVuZHMnO1xuLyoqXG4gKiBCbG9jazogUE1Qcm8gTWVtYmVyc2hpcCBDaGVja291dFxuICpcbiAqIERpc3BsYXlzIHRoZSBNZW1iZXJzaGlwIENoZWNrb3V0IGZvcm0uXG4gKlxuICovXG4vKipcbiAqIEJsb2NrIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgJy4vZWRpdG9yLmNzcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBJbnNwZWN0b3IgZnJvbSAnLi9pbnNwZWN0b3InO1xuLyoqXG4gKiBJbnRlcm5hbCBibG9jayBsaWJyYXJpZXNcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfd3AkYmxvY2tzID0gd3AuYmxvY2tzLFxuICAgIHJlZ2lzdGVyQmxvY2tUeXBlID0gX3dwJGJsb2Nrcy5yZWdpc3RlckJsb2NrVHlwZSxcbiAgICBBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5BbGlnbm1lbnRUb29sYmFyLFxuICAgIEJsb2NrQ29udHJvbHMgPSBfd3AkYmxvY2tzLkJsb2NrQ29udHJvbHMsXG4gICAgQmxvY2tBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5CbG9ja0FsaWdubWVudFRvb2xiYXI7XG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbDtcbnZhciBJbnNwZWN0b3JDb250cm9scyA9IHdwLmVkaXRvci5JbnNwZWN0b3JDb250cm9scztcblxuLyoqXG4gKiBSZWdpc3RlciBibG9ja1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IHJlZ2lzdGVyQmxvY2tUeXBlKCdwbXByby9jaGVja291dC1wYWdlJywge1xuICAgIHRpdGxlOiBfXygnTWVtYmVyc2hpcCBDaGVja291dCBGb3JtJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksXG4gICAgZGVzY3JpcHRpb246IF9fKCdEaXNwbGF5cyB0aGUgTWVtYmVyc2hpcCBDaGVja291dCBmb3JtLicsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgIGNhdGVnb3J5OiAncG1wcm8nLFxuICAgIGljb246IHtcbiAgICAgICAgYmFja2dyb3VuZDogJyMyOTk3YzgnLFxuICAgICAgICBmb3JlZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgICAgIHNyYzogJ2xpc3QtdmlldydcbiAgICB9LFxuICAgIGtleXdvcmRzOiBbX18oJ3BtcHJvJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyldLFxuICAgIHN1cHBvcnRzOiB7fSxcbiAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIHBtcHJvX2RlZmF1bHRfbGV2ZWw6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgc291cmNlOiAnbWV0YScsXG4gICAgICAgICAgICBtZXRhOiAncG1wcm9fZGVmYXVsdF9sZXZlbCdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZWRpdDogZnVuY3Rpb24gZWRpdChwcm9wcykge1xuICAgICAgICB2YXIgcG1wcm9fZGVmYXVsdF9sZXZlbCA9IHByb3BzLmF0dHJpYnV0ZXMucG1wcm9fZGVmYXVsdF9sZXZlbCxcbiAgICAgICAgICAgIGNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIHNldEF0dHJpYnV0ZXMgPSBwcm9wcy5zZXRBdHRyaWJ1dGVzLFxuICAgICAgICAgICAgaXNTZWxlY3RlZCA9IHByb3BzLmlzU2VsZWN0ZWQ7XG5cbiAgICAgICAgcmV0dXJuIFtpc1NlbGVjdGVkICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChJbnNwZWN0b3IsIF9leHRlbmRzKHsgc2V0QXR0cmlidXRlczogc2V0QXR0cmlidXRlcyB9LCBwcm9wcykpLCB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAnZGl2JyxcbiAgICAgICAgICAgIHsgY2xhc3NOYW1lOiBjbGFzc05hbWUgfSxcbiAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgICAnc3BhbicsXG4gICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAnUGFpZCBNZW1iZXJzaGlwcyBQcm8nXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICdzcGFuJyxcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICdNZW1iZXJzaGlwIENoZWNrb3V0IEZvcm0nXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogX18oJ01lbWJlcnNoaXAgTGV2ZWwnLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogcG1wcm9fZGVmYXVsdF9sZXZlbCxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UocG1wcm9fZGVmYXVsdF9sZXZlbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0QXR0cmlidXRlcyh7IHBtcHJvX2RlZmF1bHRfbGV2ZWw6IHBtcHJvX2RlZmF1bHRfbGV2ZWwgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB3aW5kb3cucG1wcm8uYWxsX2xldmVsX3ZhbHVlc19hbmRfbGFiZWxzXG4gICAgICAgICAgICB9KVxuICAgICAgICApXTtcbiAgICB9LFxuICAgIHNhdmU6IGZ1bmN0aW9uIHNhdmUoKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2NoZWNrb3V0LXBhZ2UvYmxvY2suanNcbi8vIG1vZHVsZSBpZCA9IDExMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///111\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEyLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2NoZWNrb3V0LXBhZ2UvZWRpdG9yLmNzcz8yZDUyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ibG9ja3MvY2hlY2tvdXQtcGFnZS9lZGl0b3IuY3NzXG4vLyBtb2R1bGUgaWQgPSAxMTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///112\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n\n\n\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n SelectControl = _wp$components.SelectControl;\nvar InspectorControls = wp.editor.InspectorControls;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(Inspector, _Component);\n\n function Inspector() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Inspector);\n\n return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Inspector.__proto__ || __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_get_prototype_of___default()(Inspector)).apply(this, arguments));\n }\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default()(Inspector, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n pmpro_default_level = _props.attributes.pmpro_default_level,\n setAttributes = _props.setAttributes;\n\n\n return wp.element.createElement(\n InspectorControls,\n null,\n wp.element.createElement(\n PanelBody,\n null,\n wp.element.createElement(SelectControl, {\n label: __('Membership Level', 'paid-memberships-pro'),\n help: __('Choose a default level for Membership Checkout.', 'paid-memberships-pro'),\n value: pmpro_default_level,\n onChange: function onChange(pmpro_default_level) {\n return setAttributes({ pmpro_default_level: pmpro_default_level });\n },\n options: [''].concat(window.pmpro.all_level_values_and_labels)\n })\n )\n );\n }\n }]);\n\n return Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2NoZWNrb3V0LXBhZ2UvaW5zcGVjdG9yLmpzP2YxZWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9PYmplY3QkZ2V0UHJvdG90eXBlT2YgZnJvbSAnYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9nZXQtcHJvdG90eXBlLW9mJztcbmltcG9ydCBfY2xhc3NDYWxsQ2hlY2sgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrJztcbmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSAnYmFiZWwtcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzJztcbmltcG9ydCBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiBmcm9tICdiYWJlbC1ydW50aW1lL2hlbHBlcnMvcG9zc2libGVDb25zdHJ1Y3RvclJldHVybic7XG5pbXBvcnQgX2luaGVyaXRzIGZyb20gJ2JhYmVsLXJ1bnRpbWUvaGVscGVycy9pbmhlcml0cyc7XG4vKipcbiAqIEludGVybmFsIGJsb2NrIGxpYnJhcmllc1xuICovXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgUGFuZWxSb3cgPSBfd3AkY29tcG9uZW50cy5QYW5lbFJvdyxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbDtcbnZhciBJbnNwZWN0b3JDb250cm9scyA9IHdwLmVkaXRvci5JbnNwZWN0b3JDb250cm9scztcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG4gICAgX2luaGVyaXRzKEluc3BlY3RvciwgX0NvbXBvbmVudCk7XG5cbiAgICBmdW5jdGlvbiBJbnNwZWN0b3IoKSB7XG4gICAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG4gICAgICAgIHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoSW5zcGVjdG9yLl9fcHJvdG9fXyB8fCBfT2JqZWN0JGdldFByb3RvdHlwZU9mKEluc3BlY3RvcikpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICAgIH1cblxuICAgIF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG4gICAgICAgIGtleTogJ3JlbmRlcicsXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG4gICAgICAgICAgICB2YXIgX3Byb3BzID0gdGhpcy5wcm9wcyxcbiAgICAgICAgICAgICAgICBwbXByb19kZWZhdWx0X2xldmVsID0gX3Byb3BzLmF0dHJpYnV0ZXMucG1wcm9fZGVmYXVsdF9sZXZlbCxcbiAgICAgICAgICAgICAgICBzZXRBdHRyaWJ1dGVzID0gX3Byb3BzLnNldEF0dHJpYnV0ZXM7XG5cblxuICAgICAgICAgICAgcmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgICBJbnNwZWN0b3JDb250cm9scyxcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgICAgICAgICAgICAgUGFuZWxCb2R5LFxuICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF9fKCdNZW1iZXJzaGlwIExldmVsJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWxwOiBfXygnQ2hvb3NlIGEgZGVmYXVsdCBsZXZlbCBmb3IgTWVtYmVyc2hpcCBDaGVja291dC4nLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwbXByb19kZWZhdWx0X2xldmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHBtcHJvX2RlZmF1bHRfbGV2ZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0QXR0cmlidXRlcyh7IHBtcHJvX2RlZmF1bHRfbGV2ZWw6IHBtcHJvX2RlZmF1bHRfbGV2ZWwgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWycnXS5jb25jYXQod2luZG93LnBtcHJvLmFsbF9sZXZlbF92YWx1ZXNfYW5kX2xhYmVscylcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfV0pO1xuXG4gICAgcmV0dXJuIEluc3BlY3Rvcjtcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IGRlZmF1bHQgSW5zcGVjdG9yO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2NoZWNrb3V0LXBhZ2UvaW5zcGVjdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAxMTNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///113\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css__ = __webpack_require__(115);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/**\n * Block: PMPro Membership Confirmation\n *\n * Displays the Membership Confirmation template.\n *\n */\n/**\n * Block dependencies\n */\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/confirmation-page', {\n title: __('Membership Confirmation Page', 'paid-memberships-pro'),\n description: __('Displays the member\\'s Membership Confirmation after Membership Checkout.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'yes'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {},\n edit: function edit(props) {\n var className = props.className;\n\n return [wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Confirmation Page'\n )\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE0LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2NvbmZpcm1hdGlvbi1wYWdlL2Jsb2NrLmpzPzk2ZjIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCbG9jazogUE1Qcm8gTWVtYmVyc2hpcCBDb25maXJtYXRpb25cbiAqXG4gKiBEaXNwbGF5cyB0aGUgTWVtYmVyc2hpcCBDb25maXJtYXRpb24gdGVtcGxhdGUuXG4gKlxuICovXG4vKipcbiAqIEJsb2NrIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgJy4vZWRpdG9yLmNzcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbi8qKlxuICogSW50ZXJuYWwgYmxvY2sgbGlicmFyaWVzXG4gKi9cbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgX3dwJGJsb2NrcyA9IHdwLmJsb2NrcyxcbiAgICByZWdpc3RlckJsb2NrVHlwZSA9IF93cCRibG9ja3MucmVnaXN0ZXJCbG9ja1R5cGUsXG4gICAgQWxpZ25tZW50VG9vbGJhciA9IF93cCRibG9ja3MuQWxpZ25tZW50VG9vbGJhcixcbiAgICBCbG9ja0NvbnRyb2xzID0gX3dwJGJsb2Nrcy5CbG9ja0NvbnRyb2xzLFxuICAgIEJsb2NrQWxpZ25tZW50VG9vbGJhciA9IF93cCRibG9ja3MuQmxvY2tBbGlnbm1lbnRUb29sYmFyO1xudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgUGFuZWxSb3cgPSBfd3AkY29tcG9uZW50cy5QYW5lbFJvdyxcbiAgICBUZXh0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlRleHRDb250cm9sO1xudmFyIF93cCRlZGl0b3IgPSB3cC5lZGl0b3IsXG4gICAgUmljaFRleHQgPSBfd3AkZWRpdG9yLlJpY2hUZXh0LFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scztcblxuLyoqXG4gKiBSZWdpc3RlciBibG9ja1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IHJlZ2lzdGVyQmxvY2tUeXBlKCdwbXByby9jb25maXJtYXRpb24tcGFnZScsIHtcbiAgdGl0bGU6IF9fKCdNZW1iZXJzaGlwIENvbmZpcm1hdGlvbiBQYWdlJywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksXG4gIGRlc2NyaXB0aW9uOiBfXygnRGlzcGxheXMgdGhlIG1lbWJlclxcJ3MgTWVtYmVyc2hpcCBDb25maXJtYXRpb24gYWZ0ZXIgTWVtYmVyc2hpcCBDaGVja291dC4nLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKSxcbiAgY2F0ZWdvcnk6ICdwbXBybycsXG4gIGljb246IHtcbiAgICBiYWNrZ3JvdW5kOiAnIzI5OTdjOCcsXG4gICAgZm9yZWdyb3VuZDogJyNmZmZmZmYnLFxuICAgIHNyYzogJ3llcydcbiAgfSxcbiAga2V5d29yZHM6IFtfXygncG1wcm8nLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKV0sXG4gIHN1cHBvcnRzOiB7fSxcbiAgYXR0cmlidXRlczoge30sXG4gIGVkaXQ6IGZ1bmN0aW9uIGVkaXQocHJvcHMpIHtcbiAgICB2YXIgY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lO1xuXG4gICAgcmV0dXJuIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAnZGl2JyxcbiAgICAgIHsgY2xhc3NOYW1lOiBjbGFzc05hbWUgfSxcbiAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgJ3NwYW4nLFxuICAgICAgICBudWxsLFxuICAgICAgICAnUGFpZCBNZW1iZXJzaGlwcyBQcm8nXG4gICAgICApLFxuICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAnc3BhbicsXG4gICAgICAgIG51bGwsXG4gICAgICAgICdNZW1iZXJzaGlwIENvbmZpcm1hdGlvbiBQYWdlJ1xuICAgICAgKVxuICAgICldO1xuICB9LFxuICBzYXZlOiBmdW5jdGlvbiBzYXZlKCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2Jsb2Nrcy9jb25maXJtYXRpb24tcGFnZS9ibG9jay5qc1xuLy8gbW9kdWxlIGlkID0gMTE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///114\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE1LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2NvbmZpcm1hdGlvbi1wYWdlL2VkaXRvci5jc3M/MTBjNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2NvbmZpcm1hdGlvbi1wYWdlL2VkaXRvci5jc3Ncbi8vIG1vZHVsZSBpZCA9IDExNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///115\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css__ = __webpack_require__(117);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/**\n * Block: PMPro Membership Invoices\n *\n * Displays the Membership Invoices template.\n *\n */\n/**\n * Block dependencies\n */\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/invoice-page', {\n title: __('Membership Invoice Page', 'paid-memberships-pro'),\n description: __('Displays the member\\'s Membership Invoices.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'archive'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {},\n edit: function edit(props) {\n var className = props.className;\n\n return [wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Invoices'\n )\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE2LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2ludm9pY2UtcGFnZS9ibG9jay5qcz81ZTM1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmxvY2s6IFBNUHJvIE1lbWJlcnNoaXAgSW52b2ljZXNcbiAqXG4gKiBEaXNwbGF5cyB0aGUgTWVtYmVyc2hpcCBJbnZvaWNlcyB0ZW1wbGF0ZS5cbiAqXG4gKi9cbi8qKlxuICogQmxvY2sgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCAnLi9lZGl0b3IuY3NzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuLyoqXG4gKiBJbnRlcm5hbCBibG9jayBsaWJyYXJpZXNcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfd3AkYmxvY2tzID0gd3AuYmxvY2tzLFxuICAgIHJlZ2lzdGVyQmxvY2tUeXBlID0gX3dwJGJsb2Nrcy5yZWdpc3RlckJsb2NrVHlwZSxcbiAgICBBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5BbGlnbm1lbnRUb29sYmFyLFxuICAgIEJsb2NrQ29udHJvbHMgPSBfd3AkYmxvY2tzLkJsb2NrQ29udHJvbHMsXG4gICAgQmxvY2tBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5CbG9ja0FsaWdubWVudFRvb2xiYXI7XG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2w7XG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBSaWNoVGV4dCA9IF93cCRlZGl0b3IuUmljaFRleHQsXG4gICAgSW5zcGVjdG9yQ29udHJvbHMgPSBfd3AkZWRpdG9yLkluc3BlY3RvckNvbnRyb2xzO1xuXG4vKipcbiAqIFJlZ2lzdGVyIGJsb2NrXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgcmVnaXN0ZXJCbG9ja1R5cGUoJ3BtcHJvL2ludm9pY2UtcGFnZScsIHtcbiAgdGl0bGU6IF9fKCdNZW1iZXJzaGlwIEludm9pY2UgUGFnZScsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICBkZXNjcmlwdGlvbjogX18oJ0Rpc3BsYXlzIHRoZSBtZW1iZXJcXCdzICBNZW1iZXJzaGlwIEludm9pY2VzLicsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICBjYXRlZ29yeTogJ3BtcHJvJyxcbiAgaWNvbjoge1xuICAgIGJhY2tncm91bmQ6ICcjMjk5N2M4JyxcbiAgICBmb3JlZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgc3JjOiAnYXJjaGl2ZSdcbiAgfSxcbiAga2V5d29yZHM6IFtfXygncG1wcm8nLCAncGFpZC1tZW1iZXJzaGlwcy1wcm8nKV0sXG4gIHN1cHBvcnRzOiB7fSxcbiAgYXR0cmlidXRlczoge30sXG4gIGVkaXQ6IGZ1bmN0aW9uIGVkaXQocHJvcHMpIHtcbiAgICB2YXIgY2xhc3NOYW1lID0gcHJvcHMuY2xhc3NOYW1lO1xuXG4gICAgcmV0dXJuIFt3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAnZGl2JyxcbiAgICAgIHsgY2xhc3NOYW1lOiBjbGFzc05hbWUgfSxcbiAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICAgJ3NwYW4nLFxuICAgICAgICBudWxsLFxuICAgICAgICAnUGFpZCBNZW1iZXJzaGlwcyBQcm8nXG4gICAgICApLFxuICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAnc3BhbicsXG4gICAgICAgIG51bGwsXG4gICAgICAgICdNZW1iZXJzaGlwIEludm9pY2VzJ1xuICAgICAgKVxuICAgICldO1xuICB9LFxuICBzYXZlOiBmdW5jdGlvbiBzYXZlKCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2Jsb2Nrcy9pbnZvaWNlLXBhZ2UvYmxvY2suanNcbi8vIG1vZHVsZSBpZCA9IDExNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///116\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2ludm9pY2UtcGFnZS9lZGl0b3IuY3NzPzc1YTEiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2Jsb2Nrcy9pbnZvaWNlLXBhZ2UvZWRpdG9yLmNzc1xuLy8gbW9kdWxlIGlkID0gMTE3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///117\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css__ = __webpack_require__(119);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/**\n * Block: PMPro Membership Levels\n *\n * Displays the Membership Levels template.\n *\n */\n/**\n * Block dependencies\n */\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls;\n\n/**\n * Register block\n */\n\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/levels-page', {\n title: __('Membership Levels List', 'paid-memberships-pro'),\n description: __('Displays a list of Membership Levels. To change the order, go to Memberships > Settings > Levels.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'list-view'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n supports: {},\n attributes: {},\n edit: function edit(props) {\n var className = props.className;\n\n return [wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n null,\n 'Paid Memberships Pro'\n ),\n wp.element.createElement(\n 'span',\n null,\n 'Membership Levels List'\n )\n )];\n },\n save: function save() {\n return null;\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2xldmVscy1wYWdlL2Jsb2NrLmpzPzBkMzMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCbG9jazogUE1Qcm8gTWVtYmVyc2hpcCBMZXZlbHNcbiAqXG4gKiBEaXNwbGF5cyB0aGUgTWVtYmVyc2hpcCBMZXZlbHMgdGVtcGxhdGUuXG4gKlxuICovXG4vKipcbiAqIEJsb2NrIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgJy4vZWRpdG9yLmNzcyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbi8qKlxuICogSW50ZXJuYWwgYmxvY2sgbGlicmFyaWVzXG4gKi9cbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgX3dwJGJsb2NrcyA9IHdwLmJsb2NrcyxcbiAgICByZWdpc3RlckJsb2NrVHlwZSA9IF93cCRibG9ja3MucmVnaXN0ZXJCbG9ja1R5cGUsXG4gICAgQWxpZ25tZW50VG9vbGJhciA9IF93cCRibG9ja3MuQWxpZ25tZW50VG9vbGJhcixcbiAgICBCbG9ja0NvbnRyb2xzID0gX3dwJGJsb2Nrcy5CbG9ja0NvbnRyb2xzLFxuICAgIEJsb2NrQWxpZ25tZW50VG9vbGJhciA9IF93cCRibG9ja3MuQmxvY2tBbGlnbm1lbnRUb29sYmFyO1xudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgUGFuZWxSb3cgPSBfd3AkY29tcG9uZW50cy5QYW5lbFJvdyxcbiAgICBUZXh0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlRleHRDb250cm9sO1xudmFyIF93cCRlZGl0b3IgPSB3cC5lZGl0b3IsXG4gICAgUmljaFRleHQgPSBfd3AkZWRpdG9yLlJpY2hUZXh0LFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scztcblxuLyoqXG4gKiBSZWdpc3RlciBibG9ja1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IHJlZ2lzdGVyQmxvY2tUeXBlKCdwbXByby9sZXZlbHMtcGFnZScsIHtcbiAgdGl0bGU6IF9fKCdNZW1iZXJzaGlwIExldmVscyBMaXN0JywgJ3BhaWQtbWVtYmVyc2hpcHMtcHJvJyksXG4gIGRlc2NyaXB0aW9uOiBfXygnRGlzcGxheXMgYSBsaXN0IG9mIE1lbWJlcnNoaXAgTGV2ZWxzLiBUbyBjaGFuZ2UgdGhlIG9yZGVyLCBnbyB0byBNZW1iZXJzaGlwcyA+IFNldHRpbmdzID4gTGV2ZWxzLicsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICBjYXRlZ29yeTogJ3BtcHJvJyxcbiAgaWNvbjoge1xuICAgIGJhY2tncm91bmQ6ICcjMjk5N2M4JyxcbiAgICBmb3JlZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgc3JjOiAnbGlzdC12aWV3J1xuICB9LFxuICBrZXl3b3JkczogW19fKCdwbXBybycsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpXSxcbiAgc3VwcG9ydHM6IHt9LFxuICBhdHRyaWJ1dGVzOiB7fSxcbiAgZWRpdDogZnVuY3Rpb24gZWRpdChwcm9wcykge1xuICAgIHZhciBjbGFzc05hbWUgPSBwcm9wcy5jbGFzc05hbWU7XG5cbiAgICByZXR1cm4gW3dwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcbiAgICAgICdkaXYnLFxuICAgICAgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSB9LFxuICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAnc3BhbicsXG4gICAgICAgIG51bGwsXG4gICAgICAgICdQYWlkIE1lbWJlcnNoaXBzIFBybydcbiAgICAgICksXG4gICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdzcGFuJyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgJ01lbWJlcnNoaXAgTGV2ZWxzIExpc3QnXG4gICAgICApXG4gICAgKV07XG4gIH0sXG4gIHNhdmU6IGZ1bmN0aW9uIHNhdmUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2xldmVscy1wYWdlL2Jsb2NrLmpzXG4vLyBtb2R1bGUgaWQgPSAxMThcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///118\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE5LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2xldmVscy1wYWdlL2VkaXRvci5jc3M/MGZhZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL2xldmVscy1wYWdlL2VkaXRvci5jc3Ncbi8vIG1vZHVsZSBpZCA9IDExOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///119\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css__ = __webpack_require__(121);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/**\n * Block: PMPro Membership\n *\n *\n */\n/**\n * Block dependencies\n */\n\n\n\n/**\n * Internal block libraries\n */\nvar __ = wp.i18n.__;\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n BlockAlignmentToolbar = _wp$blocks.BlockAlignmentToolbar;\nvar _wp$components = wp.components,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n TextControl = _wp$components.TextControl,\n SelectControl = _wp$components.SelectControl;\nvar _wp$editor = wp.editor,\n RichText = _wp$editor.RichText,\n InspectorControls = _wp$editor.InspectorControls,\n InnerBlocks = _wp$editor.InnerBlocks;\n\n\nvar all_levels = [{ value: 0, label: \"Non-Members\" }].concat(pmpro.all_level_values_and_labels);\n\n/**\n * Register block\n */\n/* unused harmony default export */ var _unused_webpack_default_export = (registerBlockType('pmpro/membership', {\n title: __('Require Membership Block', 'paid-memberships-pro'),\n description: __('Control the visibility of nested blocks for members or non-members.', 'paid-memberships-pro'),\n category: 'pmpro',\n icon: {\n background: '#2997c8',\n foreground: '#ffffff',\n src: 'visibility'\n },\n keywords: [__('pmpro', 'paid-memberships-pro')],\n attributes: {\n levels: {\n type: 'array',\n default: []\n },\n uid: {\n type: 'string',\n default: ''\n }\n },\n edit: function edit(props) {\n var _props$attributes = props.attributes,\n levels = _props$attributes.levels,\n uid = _props$attributes.uid,\n className = props.className,\n setAttributes = props.setAttributes,\n isSelected = props.isSelected;\n\n if (uid == '') {\n var rand = Math.random() + \"\";\n setAttributes({ uid: rand });\n }\n return [isSelected && wp.element.createElement(\n InspectorControls,\n null,\n wp.element.createElement(\n PanelBody,\n null,\n wp.element.createElement(SelectControl, {\n multiple: true,\n label: __('Select levels to show content to:'),\n value: levels,\n onChange: function onChange(levels) {\n setAttributes({ levels: levels });\n },\n options: all_levels\n })\n )\n ), isSelected && wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n { 'class': 'pmpro-membership-title' },\n 'Require Membership'\n ),\n wp.element.createElement(\n PanelBody,\n null,\n wp.element.createElement(SelectControl, {\n multiple: true,\n label: __('Select levels to show content to:'),\n value: levels,\n onChange: function onChange(levels) {\n setAttributes({ levels: levels });\n },\n options: all_levels\n })\n ),\n wp.element.createElement(InnerBlocks, { templateLock: false })\n ), !isSelected && wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(\n 'span',\n { 'class': 'pmpro-membership-title' },\n 'Require Membership: ',\n levels\n ),\n wp.element.createElement(InnerBlocks, { templateLock: false })\n )];\n },\n save: function save(props) {\n var _props$attributes2 = props.attributes,\n levels = _props$attributes2.levels,\n uid = _props$attributes2.uid,\n className = props.className,\n isSelected = props.isSelected;\n\n return wp.element.createElement(\n 'div',\n { className: className },\n wp.element.createElement(InnerBlocks.Content, null)\n );\n }\n}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTIwLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL21lbWJlcnNoaXAvYmxvY2suanM/MzBkNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJsb2NrOiBQTVBybyBNZW1iZXJzaGlwXG4gKlxuICpcbiAqL1xuLyoqXG4gKiBCbG9jayBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0ICcuL2VkaXRvci5jc3MnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbi8qKlxuICogSW50ZXJuYWwgYmxvY2sgbGlicmFyaWVzXG4gKi9cbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgX3dwJGJsb2NrcyA9IHdwLmJsb2NrcyxcbiAgICByZWdpc3RlckJsb2NrVHlwZSA9IF93cCRibG9ja3MucmVnaXN0ZXJCbG9ja1R5cGUsXG4gICAgQWxpZ25tZW50VG9vbGJhciA9IF93cCRibG9ja3MuQWxpZ25tZW50VG9vbGJhcixcbiAgICBCbG9ja0NvbnRyb2xzID0gX3dwJGJsb2Nrcy5CbG9ja0NvbnRyb2xzLFxuICAgIEJsb2NrQWxpZ25tZW50VG9vbGJhciA9IF93cCRibG9ja3MuQmxvY2tBbGlnbm1lbnRUb29sYmFyO1xudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgUGFuZWxSb3cgPSBfd3AkY29tcG9uZW50cy5QYW5lbFJvdyxcbiAgICBUZXh0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlRleHRDb250cm9sLFxuICAgIFNlbGVjdENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5TZWxlY3RDb250cm9sO1xudmFyIF93cCRlZGl0b3IgPSB3cC5lZGl0b3IsXG4gICAgUmljaFRleHQgPSBfd3AkZWRpdG9yLlJpY2hUZXh0LFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scyxcbiAgICBJbm5lckJsb2NrcyA9IF93cCRlZGl0b3IuSW5uZXJCbG9ja3M7XG5cblxudmFyIGFsbF9sZXZlbHMgPSBbeyB2YWx1ZTogMCwgbGFiZWw6IFwiTm9uLU1lbWJlcnNcIiB9XS5jb25jYXQocG1wcm8uYWxsX2xldmVsX3ZhbHVlc19hbmRfbGFiZWxzKTtcblxuLyoqXG4gKiBSZWdpc3RlciBibG9ja1xuICovXG5leHBvcnQgZGVmYXVsdCByZWdpc3RlckJsb2NrVHlwZSgncG1wcm8vbWVtYmVyc2hpcCcsIHtcbiAgICB0aXRsZTogX18oJ1JlcXVpcmUgTWVtYmVyc2hpcCBCbG9jaycsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgIGRlc2NyaXB0aW9uOiBfXygnQ29udHJvbCB0aGUgdmlzaWJpbGl0eSBvZiBuZXN0ZWQgYmxvY2tzIGZvciBtZW1iZXJzIG9yIG5vbi1tZW1iZXJzLicsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpLFxuICAgIGNhdGVnb3J5OiAncG1wcm8nLFxuICAgIGljb246IHtcbiAgICAgICAgYmFja2dyb3VuZDogJyMyOTk3YzgnLFxuICAgICAgICBmb3JlZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgICAgIHNyYzogJ3Zpc2liaWxpdHknXG4gICAgfSxcbiAgICBrZXl3b3JkczogW19fKCdwbXBybycsICdwYWlkLW1lbWJlcnNoaXBzLXBybycpXSxcbiAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGxldmVsczoge1xuICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIHVpZDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBlZGl0OiBmdW5jdGlvbiBlZGl0KHByb3BzKSB7XG4gICAgICAgIHZhciBfcHJvcHMkYXR0cmlidXRlcyA9IHByb3BzLmF0dHJpYnV0ZXMsXG4gICAgICAgICAgICBsZXZlbHMgPSBfcHJvcHMkYXR0cmlidXRlcy5sZXZlbHMsXG4gICAgICAgICAgICB1aWQgPSBfcHJvcHMkYXR0cmlidXRlcy51aWQsXG4gICAgICAgICAgICBjbGFzc05hbWUgPSBwcm9wcy5jbGFzc05hbWUsXG4gICAgICAgICAgICBzZXRBdHRyaWJ1dGVzID0gcHJvcHMuc2V0QXR0cmlidXRlcyxcbiAgICAgICAgICAgIGlzU2VsZWN0ZWQgPSBwcm9wcy5pc1NlbGVjdGVkO1xuXG4gICAgICAgIGlmICh1aWQgPT0gJycpIHtcbiAgICAgICAgICAgIHZhciByYW5kID0gTWF0aC5yYW5kb20oKSArIFwiXCI7XG4gICAgICAgICAgICBzZXRBdHRyaWJ1dGVzKHsgdWlkOiByYW5kIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbaXNTZWxlY3RlZCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICBJbnNwZWN0b3JDb250cm9scyxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgUGFuZWxCb2R5LFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfXygnU2VsZWN0IGxldmVscyB0byBzaG93IGNvbnRlbnQgdG86JyksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBsZXZlbHMsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShsZXZlbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEF0dHJpYnV0ZXMoeyBsZXZlbHM6IGxldmVscyB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogYWxsX2xldmVsc1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICksIGlzU2VsZWN0ZWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgJ2RpdicsXG4gICAgICAgICAgICB7IGNsYXNzTmFtZTogY2xhc3NOYW1lIH0sXG4gICAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgJ3NwYW4nLFxuICAgICAgICAgICAgICAgIHsgJ2NsYXNzJzogJ3BtcHJvLW1lbWJlcnNoaXAtdGl0bGUnIH0sXG4gICAgICAgICAgICAgICAgJ1JlcXVpcmUgTWVtYmVyc2hpcCdcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgUGFuZWxCb2R5LFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfXygnU2VsZWN0IGxldmVscyB0byBzaG93IGNvbnRlbnQgdG86JyksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBsZXZlbHMsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShsZXZlbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEF0dHJpYnV0ZXMoeyBsZXZlbHM6IGxldmVscyB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogYWxsX2xldmVsc1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KElubmVyQmxvY2tzLCB7IHRlbXBsYXRlTG9jazogZmFsc2UgfSlcbiAgICAgICAgKSwgIWlzU2VsZWN0ZWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgJ2RpdicsXG4gICAgICAgICAgICB7IGNsYXNzTmFtZTogY2xhc3NOYW1lIH0sXG4gICAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgJ3NwYW4nLFxuICAgICAgICAgICAgICAgIHsgJ2NsYXNzJzogJ3BtcHJvLW1lbWJlcnNoaXAtdGl0bGUnIH0sXG4gICAgICAgICAgICAgICAgJ1JlcXVpcmUgTWVtYmVyc2hpcDogJyxcbiAgICAgICAgICAgICAgICBsZXZlbHNcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoSW5uZXJCbG9ja3MsIHsgdGVtcGxhdGVMb2NrOiBmYWxzZSB9KVxuICAgICAgICApXTtcbiAgICB9LFxuICAgIHNhdmU6IGZ1bmN0aW9uIHNhdmUocHJvcHMpIHtcbiAgICAgICAgdmFyIF9wcm9wcyRhdHRyaWJ1dGVzMiA9IHByb3BzLmF0dHJpYnV0ZXMsXG4gICAgICAgICAgICBsZXZlbHMgPSBfcHJvcHMkYXR0cmlidXRlczIubGV2ZWxzLFxuICAgICAgICAgICAgdWlkID0gX3Byb3BzJGF0dHJpYnV0ZXMyLnVpZCxcbiAgICAgICAgICAgIGNsYXNzTmFtZSA9IHByb3BzLmNsYXNzTmFtZSxcbiAgICAgICAgICAgIGlzU2VsZWN0ZWQgPSBwcm9wcy5pc1NlbGVjdGVkO1xuXG4gICAgICAgIHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAnZGl2JyxcbiAgICAgICAgICAgIHsgY2xhc3NOYW1lOiBjbGFzc05hbWUgfSxcbiAgICAgICAgICAgIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChJbm5lckJsb2Nrcy5Db250ZW50LCBudWxsKVxuICAgICAgICApO1xuICAgIH1cbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYmxvY2tzL21lbWJlcnNoaXAvYmxvY2suanNcbi8vIG1vZHVsZSBpZCA9IDEyMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///120\n")},function(module,exports){eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTIxLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYmxvY2tzL21lbWJlcnNoaXAvZWRpdG9yLmNzcz9hMTBiIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ibG9ja3MvbWVtYmVyc2hpcC9lZGl0b3IuY3NzXG4vLyBtb2R1bGUgaWQgPSAxMjFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///121\n")}]);
 
js/pmpro-login.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function(){
2
+ // Focus
3
+ if ( jQuery( '#password_current' ).length ) {
4
+ jQuery( '#password_current' ).focus();
5
+ } else if ( jQuery( '#pass1' ).length ) {
6
+ jQuery( '#pass1' ).focus();
7
+ }
8
+
9
+ function pmpro_check_password_strength( pass_field ) {
10
+ var pass1 = jQuery( pass_field ).val();
11
+ var indicator = jQuery( '#pass-strength-result' );
12
+
13
+ var strength;
14
+ if ( pass1 != '' ) {
15
+ strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputBlacklist(), pass1 );
16
+ } else {
17
+ strength = -1;
18
+ }
19
+
20
+ var submitbutton;
21
+ if ( jQuery( '#resetpass-button' ).length ) {
22
+ submitbutton = jQuery( '#resetpass-button' );
23
+ } else {
24
+ submitbutton = jQuery( '#change-password input.pmpro_btn-submit' );
25
+ }
26
+
27
+ indicator.removeClass( 'empty bad good strong short' );
28
+
29
+ switch ( strength ) {
30
+ case -1:
31
+ indicator.addClass( 'empty' ).html( '&nbsp;' );
32
+ submitbutton.prop( 'disabled', true );
33
+ break;
34
+ case 2:
35
+ indicator.addClass( 'bad' ).html( pwsL10n.bad );
36
+ submitbutton.prop( 'disabled', true );
37
+ break;
38
+ case 3:
39
+ indicator.addClass( 'good' ).html( pwsL10n.good );
40
+ submitbutton.prop( 'disabled', false );
41
+ break;
42
+ case 4:
43
+ indicator.addClass( 'strong' ).html( pwsL10n.strong );
44
+ submitbutton.prop( 'disabled', false );
45
+ break;
46
+ case 5:
47
+ indicator.addClass( 'short' ).html( pwsL10n.mismatch );
48
+ submitbutton.prop( 'disabled', false );
49
+ break;
50
+ default:
51
+ indicator.addClass( 'short' ).html( pwsL10n['short'] );
52
+ submitbutton.prop( 'disabled', true );
53
+ }
54
+ }
55
+
56
+ // Set up Strong Password script.
57
+ if ( jQuery( '#pass1' ) ) {
58
+ pmpro_check_password_strength( jQuery( '#pass1' ) );
59
+ jQuery( '#pass1' ).bind( 'keyup paste', function() {
60
+ pmpro_check_password_strength( jQuery( '#pass1' ) );
61
+ });
62
+ }
63
+ });
languages/paid-memberships-pro-ca.mo CHANGED
Binary file
languages/paid-memberships-pro-ca.po CHANGED
@@ -4628,14 +4628,14 @@ msgstr "Telèfon"
4628
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4629
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4630
  #: pages/checkout.php:455 pages/checkout.php:460
4631
- msgid "E-mail Address"
4632
  msgstr "Correu electrònic"
4633
 
4634
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4635
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4636
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4637
  #: pages/checkout.php:464 pages/checkout.php:469
4638
- msgid "Confirm E-mail"
4639
  msgstr "Confirma Correu electrònic"
4640
 
4641
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
@@ -4756,7 +4756,7 @@ msgstr "Confirma Clau"
4756
 
4757
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4758
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4759
- msgid "Confirm E-mail Address"
4760
  msgstr "Confirma correu electrònic"
4761
 
4762
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
4628
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4629
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4630
  #: pages/checkout.php:455 pages/checkout.php:460
4631
+ msgid "Email Address"
4632
  msgstr "Correu electrònic"
4633
 
4634
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4635
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4636
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4637
  #: pages/checkout.php:464 pages/checkout.php:469
4638
+ msgid "Confirm Email"
4639
  msgstr "Confirma Correu electrònic"
4640
 
4641
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
4756
 
4757
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4758
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4759
+ msgid "Confirm Email Address"
4760
  msgstr "Confirma correu electrònic"
4761
 
4762
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-ca_AD.mo CHANGED
Binary file
languages/paid-memberships-pro-ca_AD.po CHANGED
@@ -4628,14 +4628,14 @@ msgstr "Telèfon"
4628
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4629
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4630
  #: pages/checkout.php:455 pages/checkout.php:460
4631
- msgid "E-mail Address"
4632
  msgstr "Correu electrònic"
4633
 
4634
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4635
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4636
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4637
  #: pages/checkout.php:464 pages/checkout.php:469
4638
- msgid "Confirm E-mail"
4639
  msgstr "Confirma Correu electrònic"
4640
 
4641
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
@@ -4756,7 +4756,7 @@ msgstr "Confirma Clau"
4756
 
4757
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4758
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4759
- msgid "Confirm E-mail Address"
4760
  msgstr "Confirma correu electrònic"
4761
 
4762
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
4628
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4629
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4630
  #: pages/checkout.php:455 pages/checkout.php:460
4631
+ msgid "Email Address"
4632
  msgstr "Correu electrònic"
4633
 
4634
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4635
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4636
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4637
  #: pages/checkout.php:464 pages/checkout.php:469
4638
+ msgid "Confirm Email"
4639
  msgstr "Confirma Correu electrònic"
4640
 
4641
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
4756
 
4757
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4758
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4759
+ msgid "Confirm Email Address"
4760
  msgstr "Confirma correu electrònic"
4761
 
4762
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-ca_ES.mo CHANGED
Binary file
languages/paid-memberships-pro-ca_ES.po CHANGED
@@ -4628,14 +4628,14 @@ msgstr "Telèfon"
4628
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4629
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4630
  #: pages/checkout.php:455 pages/checkout.php:460
4631
- msgid "E-mail Address"
4632
  msgstr "Correu electrònic"
4633
 
4634
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4635
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4636
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4637
  #: pages/checkout.php:464 pages/checkout.php:469
4638
- msgid "Confirm E-mail"
4639
  msgstr "Confirma Correu electrònic"
4640
 
4641
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
@@ -4756,7 +4756,7 @@ msgstr "Confirma Clau"
4756
 
4757
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4758
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4759
- msgid "Confirm E-mail Address"
4760
  msgstr "Confirma correu electrònic"
4761
 
4762
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
4628
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4629
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4630
  #: pages/checkout.php:455 pages/checkout.php:460
4631
+ msgid "Email Address"
4632
  msgstr "Correu electrònic"
4633
 
4634
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4635
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4636
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4637
  #: pages/checkout.php:464 pages/checkout.php:469
4638
+ msgid "Confirm Email"
4639
  msgstr "Confirma Correu electrònic"
4640
 
4641
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
4756
 
4757
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4758
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4759
+ msgid "Confirm Email Address"
4760
  msgstr "Confirma correu electrònic"
4761
 
4762
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-cs_CZ.mo CHANGED
Binary file
languages/paid-memberships-pro-cs_CZ.po CHANGED
@@ -3545,13 +3545,13 @@ msgstr "Telefon"
3545
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:209
3546
  #: pages/checkout.php:436 pages/checkout.php:438 pages/checkout.php:453
3547
  #: pages/checkout.php:460
3548
- msgid "E-mail Address"
3549
  msgstr "E-mailová adresa"
3550
 
3551
  #: pages/billing.php:201 pages/checkout.php:449 pages/billing.php:197
3552
  #: pages/checkout.php:445 pages/checkout.php:447 pages/checkout.php:462
3553
  #: pages/checkout.php:469
3554
- msgid "Confirm E-mail"
3555
  msgstr "Potvrdit e-mail"
3556
 
3557
  #: pages/billing.php:221 pages/billing.php:217
@@ -3653,7 +3653,7 @@ msgid "Confirm Password"
3653
  msgstr "Potvrzení hesla"
3654
 
3655
  #: pages/checkout.php:216 pages/checkout.php:213 pages/checkout.php:218
3656
- msgid "Confirm E-mail Address"
3657
  msgstr "Potvrzení e-mailu"
3658
 
3659
  #: pages/checkout.php:235 pages/checkout.php:232 pages/checkout.php:237
3545
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:209
3546
  #: pages/checkout.php:436 pages/checkout.php:438 pages/checkout.php:453
3547
  #: pages/checkout.php:460
3548
+ msgid "Email Address"
3549
  msgstr "E-mailová adresa"
3550
 
3551
  #: pages/billing.php:201 pages/checkout.php:449 pages/billing.php:197
3552
  #: pages/checkout.php:445 pages/checkout.php:447 pages/checkout.php:462
3553
  #: pages/checkout.php:469
3554
+ msgid "Confirm Email"
3555
  msgstr "Potvrdit e-mail"
3556
 
3557
  #: pages/billing.php:221 pages/billing.php:217
3653
  msgstr "Potvrzení hesla"
3654
 
3655
  #: pages/checkout.php:216 pages/checkout.php:213 pages/checkout.php:218
3656
+ msgid "Confirm Email Address"
3657
  msgstr "Potvrzení e-mailu"
3658
 
3659
  #: pages/checkout.php:235 pages/checkout.php:232 pages/checkout.php:237
languages/paid-memberships-pro-da_DK.mo CHANGED
Binary file
languages/paid-memberships-pro-da_DK.po CHANGED
@@ -2864,12 +2864,12 @@ msgstr "Telefon nr."
2864
  #: pages/billing.php:197 pages/checkout.php:207 pages/checkout.php:436
2865
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2866
  #: pages/checkout.php:460
2867
- msgid "E-mail Address"
2868
  msgstr "E-mail Adresse"
2869
 
2870
  #: pages/billing.php:201 pages/checkout.php:445 pages/billing.php:197
2871
  #: pages/checkout.php:462 pages/checkout.php:469
2872
- msgid "Confirm E-mail"
2873
  msgstr "Bekræft E-mail"
2874
 
2875
  #: pages/billing.php:221 pages/billing.php:217
@@ -2987,7 +2987,7 @@ msgid "Confirm Password"
2987
  msgstr "Bekræft Adgangskode"
2988
 
2989
  #: pages/checkout.php:216 pages/checkout.php:213
2990
- msgid "Confirm E-mail Address"
2991
  msgstr "Bekræft E-mail Adresse"
2992
 
2993
  #: pages/checkout.php:235 pages/checkout.php:232
2864
  #: pages/billing.php:197 pages/checkout.php:207 pages/checkout.php:436
2865
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2866
  #: pages/checkout.php:460
2867
+ msgid "Email Address"
2868
  msgstr "E-mail Adresse"
2869
 
2870
  #: pages/billing.php:201 pages/checkout.php:445 pages/billing.php:197
2871
  #: pages/checkout.php:462 pages/checkout.php:469
2872
+ msgid "Confirm Email"
2873
  msgstr "Bekræft E-mail"
2874
 
2875
  #: pages/billing.php:221 pages/billing.php:217
2987
  msgstr "Bekræft Adgangskode"
2988
 
2989
  #: pages/checkout.php:216 pages/checkout.php:213
2990
+ msgid "Confirm Email Address"
2991
  msgstr "Bekræft E-mail Adresse"
2992
 
2993
  #: pages/checkout.php:235 pages/checkout.php:232
languages/paid-memberships-pro-de_DE.mo CHANGED
Binary file
languages/paid-memberships-pro-de_DE.po CHANGED
@@ -7682,7 +7682,7 @@ msgstr "Telefon"
7682
  #: pages/checkout.php:449 pages/checkout.php:453 pages/checkout.php:455
7683
  #: pages/checkout.php:457 pages/checkout.php:460 pages/checkout.php:464
7684
  #: pages/checkout.php:467
7685
- msgid "E-mail Address"
7686
  msgstr "e-mail Adresse"
7687
 
7688
  #: pages/billing.php:236 pages/checkout.php:386 pages/billing.php:197
@@ -7693,7 +7693,7 @@ msgstr "e-mail Adresse"
7693
  #: pages/checkout.php:458 pages/checkout.php:462 pages/checkout.php:464
7694
  #: pages/checkout.php:466 pages/checkout.php:469 pages/checkout.php:473
7695
  #: pages/checkout.php:476
7696
- msgid "Confirm E-mail"
7697
  msgstr "e-mail bestätigen"
7698
 
7699
  #: pages/billing.php:259 pages/billing.php:217 pages/billing.php:221
@@ -7837,7 +7837,7 @@ msgstr "Passwort bestätigen"
7837
  #: pages/checkout.php:205 pages/checkout.php:213 pages/checkout.php:216
7838
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
7839
  #: pages/checkout.php:229 pages/checkout.php:236 pages/checkout.php:239
7840
- msgid "Confirm E-mail Address"
7841
  msgstr "e-mail Adresse bestätigen"
7842
 
7843
  #: pages/checkout.php:218 pages/checkout.php:232 pages/checkout.php:235
7682
  #: pages/checkout.php:449 pages/checkout.php:453 pages/checkout.php:455
7683
  #: pages/checkout.php:457 pages/checkout.php:460 pages/checkout.php:464
7684
  #: pages/checkout.php:467
7685
+ msgid "Email Address"
7686
  msgstr "e-mail Adresse"
7687
 
7688
  #: pages/billing.php:236 pages/checkout.php:386 pages/billing.php:197
7693
  #: pages/checkout.php:458 pages/checkout.php:462 pages/checkout.php:464
7694
  #: pages/checkout.php:466 pages/checkout.php:469 pages/checkout.php:473
7695
  #: pages/checkout.php:476
7696
+ msgid "Confirm Email"
7697
  msgstr "e-mail bestätigen"
7698
 
7699
  #: pages/billing.php:259 pages/billing.php:217 pages/billing.php:221
7837
  #: pages/checkout.php:205 pages/checkout.php:213 pages/checkout.php:216
7838
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
7839
  #: pages/checkout.php:229 pages/checkout.php:236 pages/checkout.php:239
7840
+ msgid "Confirm Email Address"
7841
  msgstr "e-mail Adresse bestätigen"
7842
 
7843
  #: pages/checkout.php:218 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-el_GR.mo CHANGED
Binary file
languages/paid-memberships-pro-el_GR.po CHANGED
@@ -4775,14 +4775,14 @@ msgstr "Τηλέφωνο"
4775
  #: pages/checkout.php:216 pages/checkout.php:218 pages/checkout.php:436
4776
  #: pages/checkout.php:438 pages/checkout.php:440 pages/checkout.php:449
4777
  #: pages/checkout.php:453 pages/checkout.php:455 pages/checkout.php:460
4778
- msgid "E-mail Address"
4779
  msgstr "Ηλεκτρονική Διεύθυνση"
4780
 
4781
  #: pages/billing.php:213 pages/checkout.php:466 pages/billing.php:197
4782
  #: pages/billing.php:201 pages/billing.php:210 pages/checkout.php:445
4783
  #: pages/checkout.php:447 pages/checkout.php:449 pages/checkout.php:458
4784
  #: pages/checkout.php:462 pages/checkout.php:464 pages/checkout.php:469
4785
- msgid "Confirm E-mail"
4786
  msgstr "Επιβεβαίωση Ηλεκτρονικής Διεύθυνσης"
4787
 
4788
  #: pages/billing.php:234 pages/billing.php:217 pages/billing.php:221
@@ -4905,7 +4905,7 @@ msgstr "Επιβεβαίωση Κωδικού"
4905
 
4906
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4907
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4908
- msgid "Confirm E-mail Address"
4909
  msgstr "Επιβεβαίωση Ηλεκτρονικής Διεύθυνσης"
4910
 
4911
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
4775
  #: pages/checkout.php:216 pages/checkout.php:218 pages/checkout.php:436
4776
  #: pages/checkout.php:438 pages/checkout.php:440 pages/checkout.php:449
4777
  #: pages/checkout.php:453 pages/checkout.php:455 pages/checkout.php:460
4778
+ msgid "Email Address"
4779
  msgstr "Ηλεκτρονική Διεύθυνση"
4780
 
4781
  #: pages/billing.php:213 pages/checkout.php:466 pages/billing.php:197
4782
  #: pages/billing.php:201 pages/billing.php:210 pages/checkout.php:445
4783
  #: pages/checkout.php:447 pages/checkout.php:449 pages/checkout.php:458
4784
  #: pages/checkout.php:462 pages/checkout.php:464 pages/checkout.php:469
4785
+ msgid "Confirm Email"
4786
  msgstr "Επιβεβαίωση Ηλεκτρονικής Διεύθυνσης"
4787
 
4788
  #: pages/billing.php:234 pages/billing.php:217 pages/billing.php:221
4905
 
4906
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4907
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4908
+ msgid "Confirm Email Address"
4909
  msgstr "Επιβεβαίωση Ηλεκτρονικής Διεύθυνσης"
4910
 
4911
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-en_GB.mo CHANGED
Binary file
languages/paid-memberships-pro-en_GB.po CHANGED
@@ -594,11 +594,11 @@ msgid "Confirm Password"
594
  msgstr ""
595
 
596
  #: pages/checkout.php:207 pages/checkout.php:464 pages/billing.php:193
597
- msgid "E-mail Address"
598
  msgstr ""
599
 
600
  #: pages/checkout.php:216
601
- msgid "Confirm E-mail Address"
602
  msgstr ""
603
 
604
  #: pages/checkout.php:235
@@ -674,7 +674,7 @@ msgid "Phone"
674
  msgstr ""
675
 
676
  #: pages/checkout.php:473 pages/billing.php:197
677
- msgid "Confirm E-mail"
678
  msgstr ""
679
 
680
  #: pages/checkout.php:504
594
  msgstr ""
595
 
596
  #: pages/checkout.php:207 pages/checkout.php:464 pages/billing.php:193
597
+ msgid "Email Address"
598
  msgstr ""
599
 
600
  #: pages/checkout.php:216
601
+ msgid "Confirm Email Address"
602
  msgstr ""
603
 
604
  #: pages/checkout.php:235
674
  msgstr ""
675
 
676
  #: pages/checkout.php:473 pages/billing.php:197
677
+ msgid "Confirm Email"
678
  msgstr ""
679
 
680
  #: pages/checkout.php:504
languages/paid-memberships-pro-es_CL.mo CHANGED
Binary file
languages/paid-memberships-pro-es_CL.po CHANGED
@@ -2163,11 +2163,11 @@ msgid "Phone"
2163
  msgstr "Teléfono"
2164
 
2165
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2166
- msgid "E-mail Address"
2167
  msgstr "Dirección de Email"
2168
 
2169
  #: pages/billing.php:197 pages/checkout.php:462
2170
- msgid "Confirm E-mail"
2171
  msgstr "Confirmar E-mail"
2172
 
2173
  #: pages/billing.php:217
@@ -2275,7 +2275,7 @@ msgid "Confirm Password"
2275
  msgstr "Confirma tu contraseña"
2276
 
2277
  #: pages/checkout.php:213
2278
- msgid "Confirm E-mail Address"
2279
  msgstr "Confirma tu dirección de E-mail"
2280
 
2281
  #: pages/checkout.php:232
2163
  msgstr "Teléfono"
2164
 
2165
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2166
+ msgid "Email Address"
2167
  msgstr "Dirección de Email"
2168
 
2169
  #: pages/billing.php:197 pages/checkout.php:462
2170
+ msgid "Confirm Email"
2171
  msgstr "Confirmar E-mail"
2172
 
2173
  #: pages/billing.php:217
2275
  msgstr "Confirma tu contraseña"
2276
 
2277
  #: pages/checkout.php:213
2278
+ msgid "Confirm Email Address"
2279
  msgstr "Confirma tu dirección de E-mail"
2280
 
2281
  #: pages/checkout.php:232
languages/paid-memberships-pro-es_CL.pot CHANGED
@@ -2163,11 +2163,11 @@ msgid "Phone"
2163
  msgstr "Teléfono"
2164
 
2165
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2166
- msgid "E-mail Address"
2167
  msgstr "Dirección de Email"
2168
 
2169
  #: pages/billing.php:197 pages/checkout.php:462
2170
- msgid "Confirm E-mail"
2171
  msgstr "Confirmar E-mail"
2172
 
2173
  #: pages/billing.php:217
@@ -2275,7 +2275,7 @@ msgid "Confirm Password"
2275
  msgstr "Confirma tu contraseña"
2276
 
2277
  #: pages/checkout.php:213
2278
- msgid "Confirm E-mail Address"
2279
  msgstr "Confirma tu dirección de E-mail"
2280
 
2281
  #: pages/checkout.php:232
2163
  msgstr "Teléfono"
2164
 
2165
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2166
+ msgid "Email Address"
2167
  msgstr "Dirección de Email"
2168
 
2169
  #: pages/billing.php:197 pages/checkout.php:462
2170
+ msgid "Confirm Email"
2171
  msgstr "Confirmar E-mail"
2172
 
2173
  #: pages/billing.php:217
2275
  msgstr "Confirma tu contraseña"
2276
 
2277
  #: pages/checkout.php:213
2278
+ msgid "Confirm Email Address"
2279
  msgstr "Confirma tu dirección de E-mail"
2280
 
2281
  #: pages/checkout.php:232
languages/paid-memberships-pro-es_ES.mo CHANGED
Binary file
languages/paid-memberships-pro-es_ES.po CHANGED
@@ -2177,11 +2177,11 @@ msgid "Phone"
2177
  msgstr "Teléfono"
2178
 
2179
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2180
- msgid "E-mail Address"
2181
  msgstr "Dirección de Email"
2182
 
2183
  #: pages/billing.php:197 pages/checkout.php:462
2184
- msgid "Confirm E-mail"
2185
  msgstr "Confirmar E-mail"
2186
 
2187
  #: pages/billing.php:217
@@ -2289,7 +2289,7 @@ msgid "Confirm Password"
2289
  msgstr "Confirma tu contraseña"
2290
 
2291
  #: pages/checkout.php:213
2292
- msgid "Confirm E-mail Address"
2293
  msgstr "Confirma tu dirección de E-mail"
2294
 
2295
  #: pages/checkout.php:232
2177
  msgstr "Teléfono"
2178
 
2179
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2180
+ msgid "Email Address"
2181
  msgstr "Dirección de Email"
2182
 
2183
  #: pages/billing.php:197 pages/checkout.php:462
2184
+ msgid "Confirm Email"
2185
  msgstr "Confirmar E-mail"
2186
 
2187
  #: pages/billing.php:217
2289
  msgstr "Confirma tu contraseña"
2290
 
2291
  #: pages/checkout.php:213
2292
+ msgid "Confirm Email Address"
2293
  msgstr "Confirma tu dirección de E-mail"
2294
 
2295
  #: pages/checkout.php:232
languages/paid-memberships-pro-es_ES.pot CHANGED
@@ -2163,11 +2163,11 @@ msgid "Phone"
2163
  msgstr "Teléfono"
2164
 
2165
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2166
- msgid "E-mail Address"
2167
  msgstr "Dirección de Email"
2168
 
2169
  #: pages/billing.php:197 pages/checkout.php:462
2170
- msgid "Confirm E-mail"
2171
  msgstr "Confirmar E-mail"
2172
 
2173
  #: pages/billing.php:217
@@ -2275,7 +2275,7 @@ msgid "Confirm Password"
2275
  msgstr "Confirma tu contraseña"
2276
 
2277
  #: pages/checkout.php:213
2278
- msgid "Confirm E-mail Address"
2279
  msgstr "Confirma tu dirección de E-mail"
2280
 
2281
  #: pages/checkout.php:232
2163
  msgstr "Teléfono"
2164
 
2165
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2166
+ msgid "Email Address"
2167
  msgstr "Dirección de Email"
2168
 
2169
  #: pages/billing.php:197 pages/checkout.php:462
2170
+ msgid "Confirm Email"
2171
  msgstr "Confirmar E-mail"
2172
 
2173
  #: pages/billing.php:217
2275
  msgstr "Confirma tu contraseña"
2276
 
2277
  #: pages/checkout.php:213
2278
+ msgid "Confirm Email Address"
2279
  msgstr "Confirma tu dirección de E-mail"
2280
 
2281
  #: pages/checkout.php:232
languages/paid-memberships-pro-es_PE.mo CHANGED
Binary file
languages/paid-memberships-pro-es_PE.po CHANGED
@@ -2163,11 +2163,11 @@ msgid "Phone"
2163
  msgstr "Teléfono"
2164
 
2165
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2166
- msgid "E-mail Address"
2167
  msgstr "Dirección de Email"
2168
 
2169
  #: pages/billing.php:197 pages/checkout.php:462
2170
- msgid "Confirm E-mail"
2171
  msgstr "Confirmar E-mail"
2172
 
2173
  #: pages/billing.php:217
@@ -2275,7 +2275,7 @@ msgid "Confirm Password"
2275
  msgstr "Confirma tu contraseña"
2276
 
2277
  #: pages/checkout.php:213
2278
- msgid "Confirm E-mail Address"
2279
  msgstr "Confirma tu dirección de E-mail"
2280
 
2281
  #: pages/checkout.php:232
2163
  msgstr "Teléfono"
2164
 
2165
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2166
+ msgid "Email Address"
2167
  msgstr "Dirección de Email"
2168
 
2169
  #: pages/billing.php:197 pages/checkout.php:462
2170
+ msgid "Confirm Email"
2171
  msgstr "Confirmar E-mail"
2172
 
2173
  #: pages/billing.php:217
2275
  msgstr "Confirma tu contraseña"
2276
 
2277
  #: pages/checkout.php:213
2278
+ msgid "Confirm Email Address"
2279
  msgstr "Confirma tu dirección de E-mail"
2280
 
2281
  #: pages/checkout.php:232
languages/paid-memberships-pro-es_PE.pot CHANGED
@@ -2163,11 +2163,11 @@ msgid "Phone"
2163
  msgstr "Teléfono"
2164
 
2165
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2166
- msgid "E-mail Address"
2167
  msgstr "Dirección de Email"
2168
 
2169
  #: pages/billing.php:197 pages/checkout.php:462
2170
- msgid "Confirm E-mail"
2171
  msgstr "Confirmar E-mail"
2172
 
2173
  #: pages/billing.php:217
@@ -2275,7 +2275,7 @@ msgid "Confirm Password"
2275
  msgstr "Confirma tu contraseña"
2276
 
2277
  #: pages/checkout.php:213
2278
- msgid "Confirm E-mail Address"
2279
  msgstr "Confirma tu dirección de E-mail"
2280
 
2281
  #: pages/checkout.php:232
2163
  msgstr "Teléfono"
2164
 
2165
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2166
+ msgid "Email Address"
2167
  msgstr "Dirección de Email"
2168
 
2169
  #: pages/billing.php:197 pages/checkout.php:462
2170
+ msgid "Confirm Email"
2171
  msgstr "Confirmar E-mail"
2172
 
2173
  #: pages/billing.php:217
2275
  msgstr "Confirma tu contraseña"
2276
 
2277
  #: pages/checkout.php:213
2278
+ msgid "Confirm Email Address"
2279
  msgstr "Confirma tu dirección de E-mail"
2280
 
2281
  #: pages/checkout.php:232
languages/paid-memberships-pro-et_EE.mo CHANGED
Binary file
languages/paid-memberships-pro-et_EE.po CHANGED
@@ -4360,14 +4360,14 @@ msgstr "Telefon"
4360
  #: pages/checkout.php:207 pages/checkout.php:209 pages/checkout.php:216
4361
  #: pages/checkout.php:436 pages/checkout.php:438 pages/checkout.php:440
4362
  #: pages/checkout.php:449 pages/checkout.php:453 pages/checkout.php:460
4363
- msgid "E-mail Address"
4364
  msgstr "Meiliaadress"
4365
 
4366
  #: pages/billing.php:210 pages/checkout.php:464 pages/billing.php:197
4367
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4368
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4369
  #: pages/checkout.php:469
4370
- msgid "Confirm E-mail"
4371
  msgstr "Kinnita E-mail"
4372
 
4373
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
@@ -4487,7 +4487,7 @@ msgstr "Kinnitage parool"
4487
 
4488
  #: pages/checkout.php:227 pages/checkout.php:213 pages/checkout.php:216
4489
  #: pages/checkout.php:218 pages/checkout.php:225
4490
- msgid "Confirm E-mail Address"
4491
  msgstr "Kinnitage Emaili aadress"
4492
 
4493
  #: pages/checkout.php:246 pages/checkout.php:232 pages/checkout.php:235
4360
  #: pages/checkout.php:207 pages/checkout.php:209 pages/checkout.php:216
4361
  #: pages/checkout.php:436 pages/checkout.php:438 pages/checkout.php:440
4362
  #: pages/checkout.php:449 pages/checkout.php:453 pages/checkout.php:460
4363
+ msgid "Email Address"
4364
  msgstr "Meiliaadress"
4365
 
4366
  #: pages/billing.php:210 pages/checkout.php:464 pages/billing.php:197
4367
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4368
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4369
  #: pages/checkout.php:469
4370
+ msgid "Confirm Email"
4371
  msgstr "Kinnita E-mail"
4372
 
4373
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
4487
 
4488
  #: pages/checkout.php:227 pages/checkout.php:213 pages/checkout.php:216
4489
  #: pages/checkout.php:218 pages/checkout.php:225
4490
+ msgid "Confirm Email Address"
4491
  msgstr "Kinnitage Emaili aadress"
4492
 
4493
  #: pages/checkout.php:246 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-fa_IR.mo CHANGED
Binary file
languages/paid-memberships-pro-fa_IR.po CHANGED
@@ -3962,13 +3962,13 @@ msgstr "شماره تلفن"
3962
  #: pages/checkout.php:207 pages/checkout.php:209 pages/checkout.php:436
3963
  #: pages/checkout.php:438 pages/checkout.php:440 pages/checkout.php:453
3964
  #: pages/checkout.php:460
3965
- msgid "E-mail Address"
3966
  msgstr "آدرس ایمیل"
3967
 
3968
  #: pages/billing.php:210 pages/checkout.php:458 pages/billing.php:197
3969
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
3970
  #: pages/checkout.php:449 pages/checkout.php:462 pages/checkout.php:469
3971
- msgid "Confirm E-mail"
3972
  msgstr "تایید آدرس ایمیل"
3973
 
3974
  #: pages/billing.php:230 pages/billing.php:217 pages/billing.php:221
@@ -4083,7 +4083,7 @@ msgstr "تایید رمز عبور"
4083
 
4084
  #: pages/checkout.php:225 pages/checkout.php:213 pages/checkout.php:216
4085
  #: pages/checkout.php:218
4086
- msgid "Confirm E-mail Address"
4087
  msgstr "تایید آدرس ایمیل"
4088
 
4089
  #: pages/checkout.php:244 pages/checkout.php:232 pages/checkout.php:235
3962
  #: pages/checkout.php:207 pages/checkout.php:209 pages/checkout.php:436
3963
  #: pages/checkout.php:438 pages/checkout.php:440 pages/checkout.php:453
3964
  #: pages/checkout.php:460
3965
+ msgid "Email Address"
3966
  msgstr "آدرس ایمیل"
3967
 
3968
  #: pages/billing.php:210 pages/checkout.php:458 pages/billing.php:197
3969
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
3970
  #: pages/checkout.php:449 pages/checkout.php:462 pages/checkout.php:469
3971
+ msgid "Confirm Email"
3972
  msgstr "تایید آدرس ایمیل"
3973
 
3974
  #: pages/billing.php:230 pages/billing.php:217 pages/billing.php:221
4083
 
4084
  #: pages/checkout.php:225 pages/checkout.php:213 pages/checkout.php:216
4085
  #: pages/checkout.php:218
4086
+ msgid "Confirm Email Address"
4087
  msgstr "تایید آدرس ایمیل"
4088
 
4089
  #: pages/checkout.php:244 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-fi.mo CHANGED
Binary file
languages/paid-memberships-pro-fi.po CHANGED
@@ -2663,11 +2663,11 @@ msgid "Phone"
2663
  msgstr "Puhelinnumero"
2664
 
2665
  #: pages/billing.php:206 pages/checkout.php:216 pages/checkout.php:449
2666
- msgid "E-mail Address"
2667
  msgstr "Sähköposti"
2668
 
2669
  #: pages/billing.php:210 pages/checkout.php:458
2670
- msgid "Confirm E-mail"
2671
  msgstr "Vahvista Sähköposti"
2672
 
2673
  #: pages/billing.php:230
@@ -2765,7 +2765,7 @@ msgid "Confirm Password"
2765
  msgstr "Vahvista salasana"
2766
 
2767
  #: pages/checkout.php:225
2768
- msgid "Confirm E-mail Address"
2769
  msgstr "Vahvista sähköpostiosoite"
2770
 
2771
  #: pages/checkout.php:244
2663
  msgstr "Puhelinnumero"
2664
 
2665
  #: pages/billing.php:206 pages/checkout.php:216 pages/checkout.php:449
2666
+ msgid "Email Address"
2667
  msgstr "Sähköposti"
2668
 
2669
  #: pages/billing.php:210 pages/checkout.php:458
2670
+ msgid "Confirm Email"
2671
  msgstr "Vahvista Sähköposti"
2672
 
2673
  #: pages/billing.php:230
2765
  msgstr "Vahvista salasana"
2766
 
2767
  #: pages/checkout.php:225
2768
+ msgid "Confirm Email Address"
2769
  msgstr "Vahvista sähköpostiosoite"
2770
 
2771
  #: pages/checkout.php:244
languages/paid-memberships-pro-fr_FR.mo CHANGED
Binary file
languages/paid-memberships-pro-fr_FR.po CHANGED
@@ -2744,11 +2744,11 @@ msgid "Phone"
2744
  msgstr "Téléphone"
2745
 
2746
  #: pages/billing.php:197 pages/checkout.php:207 pages/checkout.php:440
2747
- msgid "E-mail Address"
2748
  msgstr "Adresse courriel"
2749
 
2750
  #: pages/billing.php:201 pages/checkout.php:449
2751
- msgid "Confirm E-mail"
2752
  msgstr "Confirmer courriel"
2753
 
2754
  #: pages/billing.php:221
@@ -2853,7 +2853,7 @@ msgid "Confirm Password"
2853
  msgstr "Confirmez le mot de passe"
2854
 
2855
  #: pages/checkout.php:216
2856
- msgid "Confirm E-mail Address"
2857
  msgstr "Confirmer l'email"
2858
 
2859
  #: pages/checkout.php:235
2744
  msgstr "Téléphone"
2745
 
2746
  #: pages/billing.php:197 pages/checkout.php:207 pages/checkout.php:440
2747
+ msgid "Email Address"
2748
  msgstr "Adresse courriel"
2749
 
2750
  #: pages/billing.php:201 pages/checkout.php:449
2751
+ msgid "Confirm Email"
2752
  msgstr "Confirmer courriel"
2753
 
2754
  #: pages/billing.php:221
2853
  msgstr "Confirmez le mot de passe"
2854
 
2855
  #: pages/checkout.php:216
2856
+ msgid "Confirm Email Address"
2857
  msgstr "Confirmer l'email"
2858
 
2859
  #: pages/checkout.php:235
languages/paid-memberships-pro-he_IL.mo CHANGED
Binary file
languages/paid-memberships-pro-he_IL.po CHANGED
@@ -4425,14 +4425,14 @@ msgstr "‎טלפון"
4425
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4426
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4427
  #: pages/checkout.php:455 pages/checkout.php:460
4428
- msgid "E-mail Address"
4429
  msgstr "‎כתובת אימייל"
4430
 
4431
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4432
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4433
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4434
  #: pages/checkout.php:464 pages/checkout.php:469
4435
- msgid "Confirm E-mail"
4436
  msgstr "‎אימות אימייל"
4437
 
4438
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
@@ -4549,7 +4549,7 @@ msgstr "אימות סיסמה"
4549
 
4550
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4551
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4552
- msgid "Confirm E-mail Address"
4553
  msgstr "אימות אימייל"
4554
 
4555
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
4425
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4426
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4427
  #: pages/checkout.php:455 pages/checkout.php:460
4428
+ msgid "Email Address"
4429
  msgstr "‎כתובת אימייל"
4430
 
4431
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4432
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4433
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4434
  #: pages/checkout.php:464 pages/checkout.php:469
4435
+ msgid "Confirm Email"
4436
  msgstr "‎אימות אימייל"
4437
 
4438
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
4549
 
4550
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4551
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4552
+ msgid "Confirm Email Address"
4553
  msgstr "אימות אימייל"
4554
 
4555
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-it_IT.mo CHANGED
Binary file
languages/paid-memberships-pro-it_IT.po CHANGED
@@ -5287,7 +5287,7 @@ msgstr "Telefono"
5287
  #: pages/checkout.php:438 pages/checkout.php:440 pages/checkout.php:449
5288
  #: pages/checkout.php:453 pages/checkout.php:455 pages/checkout.php:457
5289
  #: pages/checkout.php:460
5290
- msgid "E-mail Address"
5291
  msgstr "Indirizzo Email"
5292
 
5293
  #: pages/billing.php:219 pages/checkout.php:473 pages/billing.php:197
@@ -5295,7 +5295,7 @@ msgstr "Indirizzo Email"
5295
  #: pages/billing.php:215 pages/checkout.php:445 pages/checkout.php:447
5296
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
5297
  #: pages/checkout.php:464 pages/checkout.php:466 pages/checkout.php:469
5298
- msgid "Confirm E-mail"
5299
  msgstr "Conferma Email"
5300
 
5301
  #: pages/billing.php:247 pages/billing.php:217 pages/billing.php:221
@@ -5429,7 +5429,7 @@ msgstr "Conferma Password"
5429
  #: pages/checkout.php:236 pages/checkout.php:213 pages/checkout.php:216
5430
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
5431
  #: pages/checkout.php:229
5432
- msgid "Confirm E-mail Address"
5433
  msgstr "Conferma Email"
5434
 
5435
  #: pages/checkout.php:255 pages/checkout.php:232 pages/checkout.php:235
5287
  #: pages/checkout.php:438 pages/checkout.php:440 pages/checkout.php:449
5288
  #: pages/checkout.php:453 pages/checkout.php:455 pages/checkout.php:457
5289
  #: pages/checkout.php:460
5290
+ msgid "Email Address"
5291
  msgstr "Indirizzo Email"
5292
 
5293
  #: pages/billing.php:219 pages/checkout.php:473 pages/billing.php:197
5295
  #: pages/billing.php:215 pages/checkout.php:445 pages/checkout.php:447
5296
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
5297
  #: pages/checkout.php:464 pages/checkout.php:466 pages/checkout.php:469
5298
+ msgid "Confirm Email"
5299
  msgstr "Conferma Email"
5300
 
5301
  #: pages/billing.php:247 pages/billing.php:217 pages/billing.php:221
5429
  #: pages/checkout.php:236 pages/checkout.php:213 pages/checkout.php:216
5430
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
5431
  #: pages/checkout.php:229
5432
+ msgid "Confirm Email Address"
5433
  msgstr "Conferma Email"
5434
 
5435
  #: pages/checkout.php:255 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-nb_NO.mo CHANGED
Binary file
languages/paid-memberships-pro-nb_NO.po CHANGED
@@ -3615,12 +3615,12 @@ msgstr "Telefon"
3615
 
3616
  # @ pmpro
3617
  #: pages/billing.php:206 pages/checkout.php:220 pages/checkout.php:457
3618
- msgid "E-mail Address"
3619
  msgstr "E-post-adresse"
3620
 
3621
  # @ pmpro
3622
  #: pages/billing.php:210 pages/checkout.php:466
3623
- msgid "Confirm E-mail"
3624
  msgstr "Bekreft e-post-adresse"
3625
 
3626
  # @ pmpro
@@ -3744,7 +3744,7 @@ msgstr "Bekreft passord"
3744
 
3745
  # @ pmpro
3746
  #: pages/checkout.php:229
3747
- msgid "Confirm E-mail Address"
3748
  msgstr "Bekreft e-post-adresse"
3749
 
3750
  # @ pmpro
3615
 
3616
  # @ pmpro
3617
  #: pages/billing.php:206 pages/checkout.php:220 pages/checkout.php:457
3618
+ msgid "Email Address"
3619
  msgstr "E-post-adresse"
3620
 
3621
  # @ pmpro
3622
  #: pages/billing.php:210 pages/checkout.php:466
3623
+ msgid "Confirm Email"
3624
  msgstr "Bekreft e-post-adresse"
3625
 
3626
  # @ pmpro
3744
 
3745
  # @ pmpro
3746
  #: pages/checkout.php:229
3747
+ msgid "Confirm Email Address"
3748
  msgstr "Bekreft e-post-adresse"
3749
 
3750
  # @ pmpro
languages/paid-memberships-pro-nl_NL.mo CHANGED
Binary file
languages/paid-memberships-pro-nl_NL.po CHANGED
@@ -2858,12 +2858,12 @@ msgstr "Telefoon"
2858
  #: pages/billing.php:197 pages/checkout.php:207 pages/checkout.php:436
2859
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2860
  #: pages/checkout.php:460
2861
- msgid "E-mail Address"
2862
  msgstr "E-mail adres"
2863
 
2864
  #: pages/billing.php:201 pages/checkout.php:445 pages/billing.php:197
2865
  #: pages/checkout.php:462 pages/checkout.php:469
2866
- msgid "Confirm E-mail"
2867
  msgstr "Bevestig e-mail"
2868
 
2869
  #: pages/billing.php:221 pages/billing.php:217
@@ -2980,7 +2980,7 @@ msgid "Confirm Password"
2980
  msgstr "Bevestig wachtwoord"
2981
 
2982
  #: pages/checkout.php:216 pages/checkout.php:213
2983
- msgid "Confirm E-mail Address"
2984
  msgstr "Bevestig e-mail adres"
2985
 
2986
  #: pages/checkout.php:235 pages/checkout.php:232
2858
  #: pages/billing.php:197 pages/checkout.php:207 pages/checkout.php:436
2859
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2860
  #: pages/checkout.php:460
2861
+ msgid "Email Address"
2862
  msgstr "E-mail adres"
2863
 
2864
  #: pages/billing.php:201 pages/checkout.php:445 pages/billing.php:197
2865
  #: pages/checkout.php:462 pages/checkout.php:469
2866
+ msgid "Confirm Email"
2867
  msgstr "Bevestig e-mail"
2868
 
2869
  #: pages/billing.php:221 pages/billing.php:217
2980
  msgstr "Bevestig wachtwoord"
2981
 
2982
  #: pages/checkout.php:216 pages/checkout.php:213
2983
+ msgid "Confirm Email Address"
2984
  msgstr "Bevestig e-mail adres"
2985
 
2986
  #: pages/checkout.php:235 pages/checkout.php:232
languages/paid-memberships-pro-pt_BR.mo CHANGED
Binary file
languages/paid-memberships-pro-pt_BR.po CHANGED
@@ -4559,14 +4559,14 @@ msgstr "Telefone"
4559
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4560
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4561
  #: pages/checkout.php:455 pages/checkout.php:460
4562
- msgid "E-mail Address"
4563
  msgstr "E-mail"
4564
 
4565
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4566
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4567
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4568
  #: pages/checkout.php:464 pages/checkout.php:469
4569
- msgid "Confirm E-mail"
4570
  msgstr "Confirmar E-mail"
4571
 
4572
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
@@ -4687,7 +4687,7 @@ msgstr "Confirmar Senha"
4687
 
4688
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4689
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4690
- msgid "Confirm E-mail Address"
4691
  msgstr "Confirmar Email"
4692
 
4693
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
4559
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4560
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4561
  #: pages/checkout.php:455 pages/checkout.php:460
4562
+ msgid "Email Address"
4563
  msgstr "E-mail"
4564
 
4565
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4566
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4567
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4568
  #: pages/checkout.php:464 pages/checkout.php:469
4569
+ msgid "Confirm Email"
4570
  msgstr "Confirmar E-mail"
4571
 
4572
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
4687
 
4688
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4689
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4690
+ msgid "Confirm Email Address"
4691
  msgstr "Confirmar Email"
4692
 
4693
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-pt_PT.mo CHANGED
Binary file
languages/paid-memberships-pro-pt_PT.po CHANGED
@@ -4556,14 +4556,14 @@ msgstr "Telefone"
4556
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4557
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4558
  #: pages/checkout.php:455 pages/checkout.php:460
4559
- msgid "E-mail Address"
4560
  msgstr "E-mail"
4561
 
4562
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4563
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4564
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4565
  #: pages/checkout.php:464 pages/checkout.php:469
4566
- msgid "Confirm E-mail"
4567
  msgstr "Confirmar E-mail"
4568
 
4569
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
@@ -4684,7 +4684,7 @@ msgstr "Confirmar Senha"
4684
 
4685
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4686
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4687
- msgid "Confirm E-mail Address"
4688
  msgstr "Confirmar E-mail"
4689
 
4690
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
4556
  #: pages/checkout.php:218 pages/checkout.php:436 pages/checkout.php:438
4557
  #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
4558
  #: pages/checkout.php:455 pages/checkout.php:460
4559
+ msgid "Email Address"
4560
  msgstr "E-mail"
4561
 
4562
  #: pages/billing.php:210 pages/checkout.php:466 pages/billing.php:197
4563
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
4564
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
4565
  #: pages/checkout.php:464 pages/checkout.php:469
4566
+ msgid "Confirm Email"
4567
  msgstr "Confirmar E-mail"
4568
 
4569
  #: pages/billing.php:231 pages/billing.php:217 pages/billing.php:221
4684
 
4685
  #: pages/checkout.php:229 pages/checkout.php:213 pages/checkout.php:216
4686
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
4687
+ msgid "Confirm Email Address"
4688
  msgstr "Confirmar E-mail"
4689
 
4690
  #: pages/checkout.php:248 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-sk_SK.mo CHANGED
Binary file
languages/paid-memberships-pro-sk_SK.po CHANGED
@@ -3115,13 +3115,13 @@ msgstr "Telefón"
3115
  #: pages/billing.php:197 pages/checkout.php:207 pages/checkout.php:436
3116
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
3117
  #: pages/checkout.php:460
3118
- msgid "E-mail Address"
3119
  msgstr "E-mail"
3120
 
3121
  # @ pmpro
3122
  #: pages/billing.php:201 pages/checkout.php:445 pages/billing.php:197
3123
  #: pages/checkout.php:462 pages/checkout.php:469
3124
- msgid "Confirm E-mail"
3125
  msgstr "Potvrdiť e-mail"
3126
 
3127
  # @ pmpro
@@ -3261,7 +3261,7 @@ msgstr "Potvrdiť heslo"
3261
 
3262
  # @ pmpro
3263
  #: pages/checkout.php:216 pages/checkout.php:213
3264
- msgid "Confirm E-mail Address"
3265
  msgstr "Potvrdiť e-mail"
3266
 
3267
  # @ pmpro
3115
  #: pages/billing.php:197 pages/checkout.php:207 pages/checkout.php:436
3116
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
3117
  #: pages/checkout.php:460
3118
+ msgid "Email Address"
3119
  msgstr "E-mail"
3120
 
3121
  # @ pmpro
3122
  #: pages/billing.php:201 pages/checkout.php:445 pages/billing.php:197
3123
  #: pages/checkout.php:462 pages/checkout.php:469
3124
+ msgid "Confirm Email"
3125
  msgstr "Potvrdiť e-mail"
3126
 
3127
  # @ pmpro
3261
 
3262
  # @ pmpro
3263
  #: pages/checkout.php:216 pages/checkout.php:213
3264
+ msgid "Confirm Email Address"
3265
  msgstr "Potvrdiť e-mail"
3266
 
3267
  # @ pmpro
languages/paid-memberships-pro-sr_RS.mo CHANGED
Binary file
languages/paid-memberships-pro-sr_RS.po CHANGED
@@ -600,11 +600,11 @@ msgid "Confirm Password"
600
  msgstr "Potvrdite Lozinku"
601
 
602
  #: pages/checkout.php:207 pages/checkout.php:464 pages/billing.php:193
603
- msgid "E-mail Address"
604
  msgstr "E-mail Adresa"
605
 
606
  #: pages/checkout.php:216
607
- msgid "Confirm E-mail Address"
608
  msgstr "Potvrdite E-mail Adresu"
609
 
610
  #: pages/checkout.php:235
@@ -682,7 +682,7 @@ msgid "Phone"
682
  msgstr "Telefon"
683
 
684
  #: pages/checkout.php:473 pages/billing.php:197
685
- msgid "Confirm E-mail"
686
  msgstr "Potvrdite E-mail"
687
 
688
  #: pages/checkout.php:504
600
  msgstr "Potvrdite Lozinku"
601
 
602
  #: pages/checkout.php:207 pages/checkout.php:464 pages/billing.php:193
603
+ msgid "Email Address"
604
  msgstr "E-mail Adresa"
605
 
606
  #: pages/checkout.php:216
607
+ msgid "Confirm Email Address"
608
  msgstr "Potvrdite E-mail Adresu"
609
 
610
  #: pages/checkout.php:235
682
  msgstr "Telefon"
683
 
684
  #: pages/checkout.php:473 pages/billing.php:197
685
+ msgid "Confirm Email"
686
  msgstr "Potvrdite E-mail"
687
 
688
  #: pages/checkout.php:504
languages/paid-memberships-pro-sv_SE.mo CHANGED
Binary file
languages/paid-memberships-pro-sv_SE.po CHANGED
@@ -5518,7 +5518,7 @@ msgstr "Telefon"
5518
  #: pages/checkout.php:436 pages/checkout.php:438 pages/checkout.php:440
5519
  #: pages/checkout.php:449 pages/checkout.php:453 pages/checkout.php:455
5520
  #: pages/checkout.php:457 pages/checkout.php:460
5521
- msgid "E-mail Address"
5522
  msgstr "E-post adress"
5523
 
5524
  #: pages/billing.php:216 pages/checkout.php:473 pages/billing.php:197
@@ -5527,7 +5527,7 @@ msgstr "E-post adress"
5527
  #: pages/checkout.php:447 pages/checkout.php:449 pages/checkout.php:458
5528
  #: pages/checkout.php:462 pages/checkout.php:464 pages/checkout.php:466
5529
  #: pages/checkout.php:469
5530
- msgid "Confirm E-mail"
5531
  msgstr "Verifiera e-post"
5532
 
5533
  #: pages/billing.php:244 pages/billing.php:217 pages/billing.php:221
@@ -5662,7 +5662,7 @@ msgstr "Bekräfta lösenord"
5662
  #: pages/checkout.php:236 pages/checkout.php:213 pages/checkout.php:216
5663
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
5664
  #: pages/checkout.php:229
5665
- msgid "Confirm E-mail Address"
5666
  msgstr "Bekräfta e-postadress"
5667
 
5668
  #: pages/checkout.php:255 pages/checkout.php:232 pages/checkout.php:235
5518
  #: pages/checkout.php:436 pages/checkout.php:438 pages/checkout.php:440
5519
  #: pages/checkout.php:449 pages/checkout.php:453 pages/checkout.php:455
5520
  #: pages/checkout.php:457 pages/checkout.php:460
5521
+ msgid "Email Address"
5522
  msgstr "E-post adress"
5523
 
5524
  #: pages/billing.php:216 pages/checkout.php:473 pages/billing.php:197
5527
  #: pages/checkout.php:447 pages/checkout.php:449 pages/checkout.php:458
5528
  #: pages/checkout.php:462 pages/checkout.php:464 pages/checkout.php:466
5529
  #: pages/checkout.php:469
5530
+ msgid "Confirm Email"
5531
  msgstr "Verifiera e-post"
5532
 
5533
  #: pages/billing.php:244 pages/billing.php:217 pages/billing.php:221
5662
  #: pages/checkout.php:236 pages/checkout.php:213 pages/checkout.php:216
5663
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
5664
  #: pages/checkout.php:229
5665
+ msgid "Confirm Email Address"
5666
  msgstr "Bekräfta e-postadress"
5667
 
5668
  #: pages/checkout.php:255 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-tr_TR.mo CHANGED
Binary file
languages/paid-memberships-pro-tr_TR.po CHANGED
@@ -2837,12 +2837,12 @@ msgstr "Telefon"
2837
  #: pages/billing.php:197 pages/checkout.php:207 pages/checkout.php:436
2838
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2839
  #: pages/checkout.php:460
2840
- msgid "E-mail Address"
2841
  msgstr "E-mail Adresi"
2842
 
2843
  #: pages/billing.php:201 pages/checkout.php:445 pages/billing.php:197
2844
  #: pages/checkout.php:462 pages/checkout.php:469
2845
- msgid "Confirm E-mail"
2846
  msgstr "E-mail tekrar"
2847
 
2848
  #: pages/billing.php:221 pages/billing.php:217
@@ -2959,7 +2959,7 @@ msgid "Confirm Password"
2959
  msgstr "Parola Tekrar"
2960
 
2961
  #: pages/checkout.php:216 pages/checkout.php:213
2962
- msgid "Confirm E-mail Address"
2963
  msgstr "E-mail doğrula"
2964
 
2965
  #: pages/checkout.php:235 pages/checkout.php:232
2837
  #: pages/billing.php:197 pages/checkout.php:207 pages/checkout.php:436
2838
  #: pages/billing.php:193 pages/checkout.php:204 pages/checkout.php:453
2839
  #: pages/checkout.php:460
2840
+ msgid "Email Address"
2841
  msgstr "E-mail Adresi"
2842
 
2843
  #: pages/billing.php:201 pages/checkout.php:445 pages/billing.php:197
2844
  #: pages/checkout.php:462 pages/checkout.php:469
2845
+ msgid "Confirm Email"
2846
  msgstr "E-mail tekrar"
2847
 
2848
  #: pages/billing.php:221 pages/billing.php:217
2959
  msgstr "Parola Tekrar"
2960
 
2961
  #: pages/checkout.php:216 pages/checkout.php:213
2962
+ msgid "Confirm Email Address"
2963
  msgstr "E-mail doğrula"
2964
 
2965
  #: pages/checkout.php:235 pages/checkout.php:232
languages/paid-memberships-pro-vi_VN.mo CHANGED
Binary file
languages/paid-memberships-pro-vi_VN.po CHANGED
@@ -3741,13 +3741,13 @@ msgstr "Số điện thoại"
3741
  #: pages/checkout.php:207 pages/checkout.php:209 pages/checkout.php:436
3742
  #: pages/checkout.php:438 pages/checkout.php:440 pages/checkout.php:453
3743
  #: pages/checkout.php:460
3744
- msgid "E-mail Address"
3745
  msgstr "Địa chỉ Email"
3746
 
3747
  #: pages/billing.php:210 pages/checkout.php:458 pages/billing.php:197
3748
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
3749
  #: pages/checkout.php:449 pages/checkout.php:462 pages/checkout.php:469
3750
- msgid "Confirm E-mail"
3751
  msgstr "Xác nhận E-mail"
3752
 
3753
  #: pages/billing.php:230 pages/billing.php:217 pages/billing.php:221
@@ -3864,7 +3864,7 @@ msgstr "Xác nhận mật khẩu"
3864
 
3865
  #: pages/checkout.php:225 pages/checkout.php:213 pages/checkout.php:216
3866
  #: pages/checkout.php:218
3867
- msgid "Confirm E-mail Address"
3868
  msgstr "Xác nhận địa chỉ E-mail"
3869
 
3870
  #: pages/checkout.php:244 pages/checkout.php:232 pages/checkout.php:235
3741
  #: pages/checkout.php:207 pages/checkout.php:209 pages/checkout.php:436
3742
  #: pages/checkout.php:438 pages/checkout.php:440 pages/checkout.php:453
3743
  #: pages/checkout.php:460
3744
+ msgid "Email Address"
3745
  msgstr "Địa chỉ Email"
3746
 
3747
  #: pages/billing.php:210 pages/checkout.php:458 pages/billing.php:197
3748
  #: pages/billing.php:201 pages/checkout.php:445 pages/checkout.php:447
3749
  #: pages/checkout.php:449 pages/checkout.php:462 pages/checkout.php:469
3750
+ msgid "Confirm Email"
3751
  msgstr "Xác nhận E-mail"
3752
 
3753
  #: pages/billing.php:230 pages/billing.php:217 pages/billing.php:221
3864
 
3865
  #: pages/checkout.php:225 pages/checkout.php:213 pages/checkout.php:216
3866
  #: pages/checkout.php:218
3867
+ msgid "Confirm Email Address"
3868
  msgstr "Xác nhận địa chỉ E-mail"
3869
 
3870
  #: pages/checkout.php:244 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro-zh_HK.mo CHANGED
Binary file
languages/paid-memberships-pro-zh_HK.po CHANGED
@@ -5417,7 +5417,7 @@ msgstr "電話"
5417
  #: pages/checkout.php:436 pages/checkout.php:438 pages/checkout.php:440
5418
  #: pages/checkout.php:449 pages/checkout.php:453 pages/checkout.php:455
5419
  #: pages/checkout.php:457 pages/checkout.php:460
5420
- msgid "E-mail Address"
5421
  msgstr "電子郵件地址"
5422
 
5423
  #: pages/billing.php:216 pages/checkout.php:473 pages/billing.php:197
@@ -5426,7 +5426,7 @@ msgstr "電子郵件地址"
5426
  #: pages/checkout.php:447 pages/checkout.php:449 pages/checkout.php:458
5427
  #: pages/checkout.php:462 pages/checkout.php:464 pages/checkout.php:466
5428
  #: pages/checkout.php:469
5429
- msgid "Confirm E-mail"
5430
  msgstr "確認電子郵件"
5431
 
5432
  #: pages/billing.php:244 pages/billing.php:217 pages/billing.php:221
@@ -5558,7 +5558,7 @@ msgstr "確認密碼"
5558
  #: pages/checkout.php:236 pages/checkout.php:213 pages/checkout.php:216
5559
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
5560
  #: pages/checkout.php:229
5561
- msgid "Confirm E-mail Address"
5562
  msgstr "確認電郵地址"
5563
 
5564
  #: pages/checkout.php:255 pages/checkout.php:232 pages/checkout.php:235
5417
  #: pages/checkout.php:436 pages/checkout.php:438 pages/checkout.php:440
5418
  #: pages/checkout.php:449 pages/checkout.php:453 pages/checkout.php:455
5419
  #: pages/checkout.php:457 pages/checkout.php:460
5420
+ msgid "Email Address"
5421
  msgstr "電子郵件地址"
5422
 
5423
  #: pages/billing.php:216 pages/checkout.php:473 pages/billing.php:197
5426
  #: pages/checkout.php:447 pages/checkout.php:449 pages/checkout.php:458
5427
  #: pages/checkout.php:462 pages/checkout.php:464 pages/checkout.php:466
5428
  #: pages/checkout.php:469
5429
+ msgid "Confirm Email"
5430
  msgstr "確認電子郵件"
5431
 
5432
  #: pages/billing.php:244 pages/billing.php:217 pages/billing.php:221
5558
  #: pages/checkout.php:236 pages/checkout.php:213 pages/checkout.php:216
5559
  #: pages/checkout.php:218 pages/checkout.php:225 pages/checkout.php:227
5560
  #: pages/checkout.php:229
5561
+ msgid "Confirm Email Address"
5562
  msgstr "確認電郵地址"
5563
 
5564
  #: pages/checkout.php:255 pages/checkout.php:232 pages/checkout.php:235
languages/paid-memberships-pro.mo CHANGED
Binary file
languages/paid-memberships-pro.po CHANGED
@@ -6,7 +6,7 @@ msgid ""
6
  msgstr ""
7
  "Project-Id-Version: paid-memberships-pro\n"
8
  "Report-Msgid-Bugs-To: info@paidmembershipspro.com\n"
9
- "POT-Creation-Date: 2020-02-20 14:05-0500\n"
10
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11
  "Last-Translator: \n"
12
  "Language-Team: Stranger Studios <info@paidmembershipspro.com>\n"
@@ -44,7 +44,7 @@ msgstr ""
44
  msgid "Check Again"
45
  msgstr ""
46
 
47
- #: adminpages/addons.php:94 adminpages/orders.php:984 adminpages/addons.php:76
48
  #: adminpages/addons.php:79 adminpages/addons.php:92 adminpages/addons.php:93
49
  #: adminpages/addons.php:94 adminpages/orders.php:605 adminpages/orders.php:712
50
  #: adminpages/orders.php:741 adminpages/orders.php:850
@@ -163,8 +163,8 @@ msgstr ""
163
  msgid "Activate %s"
164
  msgstr ""
165
 
166
- #: adminpages/addons.php:230 adminpages/discountcodes.php:779
167
- #: adminpages/membershiplevels.php:801 adminpages/orders.php:1338
168
  #: adminpages/addons.php:213 adminpages/addons.php:216
169
  #: adminpages/addons.php:229 adminpages/addons.php:230
170
  #: adminpages/addons.php:231 adminpages/discountcodes.php:771
@@ -209,9 +209,9 @@ msgstr ""
209
  msgid "WordPress.org"
210
  msgstr ""
211
 
212
- #: adminpages/addons.php:248 adminpages/orders.php:891
213
- #: adminpages/orders.php:1424 adminpages/orders.php:1434
214
- #: includes/profile.php:191 shortcodes/pmpro_account.php:158
215
  #: adminpages/addons.php:231 adminpages/addons.php:234
216
  #: adminpages/addons.php:247 adminpages/addons.php:248
217
  #: adminpages/addons.php:249 adminpages/orders.php:855
@@ -426,23 +426,24 @@ msgstr ""
426
  msgid "Members"
427
  msgstr ""
428
 
429
- #: adminpages/admin_header.php:212 adminpages/discountcodes.php:783
430
- #: includes/adminpages.php:52 includes/adminpages.php:167
431
- #: adminpages/admin_header.php:196 adminpages/admin_header.php:197
432
- #: adminpages/admin_header.php:204 adminpages/admin_header.php:212
433
- #: adminpages/discountcodes.php:775 adminpages/discountcodes.php:776
434
- #: adminpages/discountcodes.php:777 adminpages/discountcodes.php:783
435
- #: adminpages/orders.php:520 adminpages/orders.php:570
436
- #: adminpages/orders.php:677 adminpages/orders.php:706
437
- #: adminpages/orders.php:810 adminpages/orders.php:841
438
- #: adminpages/orders.php:852 adminpages/orders.php:939
439
- #: adminpages/orders.php:944 adminpages/orders.php:949
440
- #: adminpages/orders.php:994 includes/adminpages.php:17
441
- #: includes/adminpages.php:52 includes/adminpages.php:55
442
- #: includes/adminpages.php:56 includes/adminpages.php:84
443
- #: includes/adminpages.php:156 includes/adminpages.php:157
444
- #: includes/adminpages.php:163 includes/adminpages.php:165
445
- #: includes/adminpages.php:167 includes/adminpages.php:172
 
446
  msgid "Orders"
447
  msgstr ""
448
 
@@ -493,7 +494,7 @@ msgstr ""
493
  msgid "License"
494
  msgstr ""
495
 
496
- #: adminpages/admin_header.php:235 adminpages/discountcodes.php:750
497
  #: adminpages/admin_header.php:215 adminpages/admin_header.php:220
498
  #: adminpages/admin_header.php:227 adminpages/admin_header.php:235
499
  #: adminpages/discountcodes.php:552 adminpages/discountcodes.php:562
@@ -504,30 +505,31 @@ msgstr ""
504
  msgid "Levels"
505
  msgstr ""
506
 
507
- #: adminpages/admin_header.php:235 adminpages/pagesettings.php:85
508
- #: includes/metaboxes.php:130 adminpages/admin_header.php:128
509
- #: adminpages/admin_header.php:149 adminpages/admin_header.php:150
510
- #: adminpages/admin_header.php:159 adminpages/admin_header.php:171
511
- #: adminpages/admin_header.php:184 adminpages/admin_header.php:215
512
- #: adminpages/admin_header.php:220 adminpages/admin_header.php:227
513
- #: adminpages/admin_header.php:235 adminpages/membershiplevels.php:490
514
- #: adminpages/membershiplevels.php:496 adminpages/membershiplevels.php:498
515
- #: adminpages/membershiplevels.php:525 adminpages/membershiplevels.php:526
516
- #: adminpages/membershiplevels.php:569 adminpages/membershiplevels.php:607
517
- #: adminpages/membershiplevels.php:609 adminpages/membershiplevels.php:618
518
- #: adminpages/membershiplevels.php:619 adminpages/membershiplevels.php:631
519
- #: adminpages/membershiplevels.php:641 adminpages/membershiplevels.php:700
520
- #: adminpages/membershiplevels.php:702 adminpages/membershiplevels.php:728
521
- #: adminpages/membershiplevels.php:745 adminpages/membershiplevels.php:750
522
- #: adminpages/membershiplevels.php:755 adminpages/pagesettings.php:69
523
- #: adminpages/pagesettings.php:70 adminpages/pagesettings.php:71
524
- #: adminpages/pagesettings.php:85 includes/adminpages.php:44
525
- #: includes/adminpages.php:64 includes/adminpages.php:65
526
- #: includes/adminpages.php:69 includes/adminpages.php:70
527
- #: includes/adminpages.php:100 includes/adminpages.php:107
528
- #: includes/adminpages.php:111 includes/adminpages.php:116
529
- #: includes/metaboxes.php:126 includes/metaboxes.php:130
530
- #: includes/metaboxes.php:131 includes/metaboxes.php:132
 
531
  msgid "Membership Levels"
532
  msgstr ""
533
 
@@ -581,20 +583,20 @@ msgstr ""
581
  msgid "Payment Gateway &amp; SSL Settings"
582
  msgstr ""
583
 
584
- #: adminpages/admin_header.php:251 adminpages/orders.php:371
585
- #: adminpages/orders.php:1345 shortcodes/pmpro_account.php:111
586
- #: adminpages/admin_header.php:131 adminpages/admin_header.php:152
587
- #: adminpages/admin_header.php:162 adminpages/admin_header.php:171
588
- #: adminpages/admin_header.php:183 adminpages/admin_header.php:196
589
- #: adminpages/admin_header.php:231 adminpages/admin_header.php:236
590
- #: adminpages/admin_header.php:243 adminpages/admin_header.php:251
591
- #: adminpages/memberslist.php:115 adminpages/memberslist.php:148
592
- #: adminpages/memberslist.php:158 adminpages/memberslist.php:168
593
- #: adminpages/memberslist.php:172 adminpages/orders.php:371
594
- #: adminpages/orders.php:372 adminpages/orders.php:1345
595
- #: adminpages/orders.php:1350 adminpages/orders.php:1351
596
- #: adminpages/orders.php:1365 pages/account.php:52 pages/account.php:56
597
- #: pages/account.php:77 shortcodes/pmpro_account.php:106
598
  #: shortcodes/pmpro_account.php:108 shortcodes/pmpro_account.php:109
599
  #: shortcodes/pmpro_account.php:111
600
  msgid "Email"
@@ -638,10 +640,10 @@ msgstr ""
638
  msgid "Advanced Settings"
639
  msgstr ""
640
 
641
- #: adminpages/advancedsettings.php:13 adminpages/discountcodes.php:61
642
- #: adminpages/discountcodes.php:309 adminpages/emailsettings.php:16
643
  #: adminpages/membershiplevels.php:43 adminpages/pagesettings.php:29
644
- #: adminpages/pagesettings.php:68 adminpages/paymentsettings.php:19
645
  #: adminpages/advancedsettings.php:13 adminpages/discountcodes.php:58
646
  #: adminpages/discountcodes.php:61 adminpages/discountcodes.php:304
647
  #: adminpages/discountcodes.php:309 adminpages/emailsettings.php:16
@@ -650,49 +652,58 @@ msgstr ""
650
  msgid "Are you sure you want to do that? Try again."
651
  msgstr ""
652
 
653
- #: adminpages/advancedsettings.php:62 adminpages/advancedsettings.php:35
654
  #: adminpages/advancedsettings.php:42 adminpages/advancedsettings.php:43
655
  #: adminpages/advancedsettings.php:46 adminpages/advancedsettings.php:60
656
  #: adminpages/advancedsettings.php:61 adminpages/advancedsettings.php:62
657
  msgid "Your advanced settings have been updated."
658
  msgstr ""
659
 
660
- #: adminpages/advancedsettings.php:89 adminpages/advancedsettings.php:66
661
- #: adminpages/advancedsettings.php:68 adminpages/advancedsettings.php:71
662
- #: adminpages/advancedsettings.php:85 adminpages/advancedsettings.php:87
663
- #: adminpages/advancedsettings.php:89
664
  #, php-format
665
  msgid ""
666
- "This content is for !!levels!! members only. <a href=\"%s\">Register here</"
667
- "a>."
668
  msgstr ""
669
 
670
- #: adminpages/advancedsettings.php:94 adminpages/advancedsettings.php:71
671
- #: adminpages/advancedsettings.php:73 adminpages/advancedsettings.php:76
672
- #: adminpages/advancedsettings.php:90 adminpages/advancedsettings.php:92
673
- #: adminpages/advancedsettings.php:94
674
  #, php-format
675
  msgid ""
676
- "Please <a href=\"%s\">login</a> to view this content. (<a href=\"%s"
677
- "\">Register here</a>.)"
678
  msgstr ""
679
 
680
- #: adminpages/advancedsettings.php:99 adminpages/advancedsettings.php:76
681
- #: adminpages/advancedsettings.php:78 adminpages/advancedsettings.php:81
682
- #: adminpages/advancedsettings.php:95 adminpages/advancedsettings.php:97
683
- #: adminpages/advancedsettings.php:99
684
  msgid ""
685
  "This content is for members only. Visit the site and log in/register to read."
686
  msgstr ""
687
 
688
- #: adminpages/advancedsettings.php:118 adminpages/advancedsettings.php:85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
689
  #: adminpages/advancedsettings.php:92 adminpages/advancedsettings.php:94
690
  #: adminpages/advancedsettings.php:97 adminpages/advancedsettings.php:113
691
  #: adminpages/advancedsettings.php:115 adminpages/advancedsettings.php:118
692
  msgid "Message for Logged-in Non-members"
693
  msgstr ""
694
 
695
- #: adminpages/advancedsettings.php:122 adminpages/advancedsettings.php:89
696
  #: adminpages/advancedsettings.php:96 adminpages/advancedsettings.php:98
697
  #: adminpages/advancedsettings.php:101 adminpages/advancedsettings.php:117
698
  #: adminpages/advancedsettings.php:119 adminpages/advancedsettings.php:122
@@ -700,42 +711,46 @@ msgid ""
700
  "This message replaces the post content for non-members. Available variables"
701
  msgstr ""
702
 
703
- #: adminpages/advancedsettings.php:127 adminpages/advancedsettings.php:94
704
  #: adminpages/advancedsettings.php:101 adminpages/advancedsettings.php:103
705
  #: adminpages/advancedsettings.php:106 adminpages/advancedsettings.php:122
706
  #: adminpages/advancedsettings.php:124 adminpages/advancedsettings.php:127
707
  msgid "Message for Logged-out Users"
708
  msgstr ""
709
 
710
- #: adminpages/advancedsettings.php:131 adminpages/advancedsettings.php:98
 
 
 
 
711
  #: adminpages/advancedsettings.php:105 adminpages/advancedsettings.php:107
712
  #: adminpages/advancedsettings.php:110 adminpages/advancedsettings.php:126
713
  #: adminpages/advancedsettings.php:128 adminpages/advancedsettings.php:131
714
  msgid "This message replaces the post content for logged-out visitors."
715
  msgstr ""
716
 
717
- #: adminpages/advancedsettings.php:136 adminpages/advancedsettings.php:103
718
  #: adminpages/advancedsettings.php:110 adminpages/advancedsettings.php:112
719
  #: adminpages/advancedsettings.php:115 adminpages/advancedsettings.php:131
720
  #: adminpages/advancedsettings.php:133 adminpages/advancedsettings.php:136
721
  msgid "Message for RSS Feed"
722
  msgstr ""
723
 
724
- #: adminpages/advancedsettings.php:140 adminpages/advancedsettings.php:107
725
  #: adminpages/advancedsettings.php:114 adminpages/advancedsettings.php:116
726
  #: adminpages/advancedsettings.php:119 adminpages/advancedsettings.php:135
727
  #: adminpages/advancedsettings.php:137 adminpages/advancedsettings.php:140
728
  msgid "This message replaces the post content in RSS feeds."
729
  msgstr ""
730
 
731
- #: adminpages/advancedsettings.php:151 adminpages/advancedsettings.php:122
732
  #: adminpages/advancedsettings.php:125 adminpages/advancedsettings.php:141
733
  #: adminpages/advancedsettings.php:143 adminpages/advancedsettings.php:148
734
  #: adminpages/advancedsettings.php:151
735
  msgid "Filter searches and archives?"
736
  msgstr ""
737
 
738
- #: adminpages/advancedsettings.php:155 adminpages/advancedsettings.php:126
739
  #: adminpages/advancedsettings.php:129 adminpages/advancedsettings.php:145
740
  #: adminpages/advancedsettings.php:147 adminpages/advancedsettings.php:152
741
  #: adminpages/advancedsettings.php:155
@@ -743,7 +758,7 @@ msgid ""
743
  "No - Non-members will see restricted posts/pages in searches and archives."
744
  msgstr ""
745
 
746
- #: adminpages/advancedsettings.php:156 adminpages/advancedsettings.php:127
747
  #: adminpages/advancedsettings.php:130 adminpages/advancedsettings.php:146
748
  #: adminpages/advancedsettings.php:148 adminpages/advancedsettings.php:153
749
  #: adminpages/advancedsettings.php:156
@@ -751,7 +766,7 @@ msgid ""
751
  "Yes - Only members will see restricted posts/pages in searches and archives."
752
  msgstr ""
753
 
754
- #: adminpages/advancedsettings.php:162 adminpages/advancedsettings.php:113
755
  #: adminpages/advancedsettings.php:120 adminpages/advancedsettings.php:133
756
  #: adminpages/advancedsettings.php:136 adminpages/advancedsettings.php:152
757
  #: adminpages/advancedsettings.php:154 adminpages/advancedsettings.php:159
@@ -759,7 +774,7 @@ msgstr ""
759
  msgid "Show Excerpts to Non-Members?"
760
  msgstr ""
761
 
762
- #: adminpages/advancedsettings.php:166 adminpages/advancedsettings.php:117
763
  #: adminpages/advancedsettings.php:124 adminpages/advancedsettings.php:137
764
  #: adminpages/advancedsettings.php:140 adminpages/advancedsettings.php:156
765
  #: adminpages/advancedsettings.php:158 adminpages/advancedsettings.php:163
@@ -767,7 +782,7 @@ msgstr ""
767
  msgid "No - Hide excerpts."
768
  msgstr ""
769
 
770
- #: adminpages/advancedsettings.php:167 adminpages/advancedsettings.php:118
771
  #: adminpages/advancedsettings.php:125 adminpages/advancedsettings.php:138
772
  #: adminpages/advancedsettings.php:141 adminpages/advancedsettings.php:157
773
  #: adminpages/advancedsettings.php:159 adminpages/advancedsettings.php:164
@@ -775,7 +790,25 @@ msgstr ""
775
  msgid "Yes - Show excerpts."
776
  msgstr ""
777
 
778
- #: adminpages/advancedsettings.php:179 adminpages/advancedsettings.php:176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
779
  #: adminpages/advancedsettings.php:179 adminpages/advancedsettings.php:195
780
  #: adminpages/advancedsettings.php:202 adminpages/advancedsettings.php:215
781
  #: adminpages/advancedsettings.php:218 adminpages/advancedsettings.php:234
@@ -783,10 +816,12 @@ msgstr ""
783
  msgid "Use reCAPTCHA?"
784
  msgstr ""
785
 
786
- #: adminpages/advancedsettings.php:183 adminpages/advancedsettings.php:228
787
- #: adminpages/advancedsettings.php:300 adminpages/membershiplevels.php:818
788
  #: adminpages/paymentsettings.php:257
789
- #: classes/gateways/class.pmprogateway_stripe.php:321 includes/profile.php:125
 
 
790
  #: adminpages/advancedsettings.php:128 adminpages/advancedsettings.php:135
791
  #: adminpages/advancedsettings.php:148 adminpages/advancedsettings.php:151
792
  #: adminpages/advancedsettings.php:167 adminpages/advancedsettings.php:169
@@ -839,7 +874,7 @@ msgstr ""
839
  msgid "No"
840
  msgstr ""
841
 
842
- #: adminpages/advancedsettings.php:184 adminpages/advancedsettings.php:181
843
  #: adminpages/advancedsettings.php:184 adminpages/advancedsettings.php:200
844
  #: adminpages/advancedsettings.php:207 adminpages/advancedsettings.php:220
845
  #: adminpages/advancedsettings.php:223 adminpages/advancedsettings.php:239
@@ -847,7 +882,7 @@ msgstr ""
847
  msgid "Yes - Free memberships only."
848
  msgstr ""
849
 
850
- #: adminpages/advancedsettings.php:185 adminpages/advancedsettings.php:182
851
  #: adminpages/advancedsettings.php:185 adminpages/advancedsettings.php:201
852
  #: adminpages/advancedsettings.php:208 adminpages/advancedsettings.php:221
853
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:240
@@ -855,7 +890,7 @@ msgstr ""
855
  msgid "Yes - All memberships."
856
  msgstr ""
857
 
858
- #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:184
859
  #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:203
860
  #: adminpages/advancedsettings.php:210 adminpages/advancedsettings.php:223
861
  #: adminpages/advancedsettings.php:226 adminpages/advancedsettings.php:242
@@ -863,7 +898,7 @@ msgstr ""
863
  msgid "A free reCAPTCHA key is required."
864
  msgstr ""
865
 
866
- #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:184
867
  #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:203
868
  #: adminpages/advancedsettings.php:210 adminpages/advancedsettings.php:223
869
  #: adminpages/advancedsettings.php:226 adminpages/advancedsettings.php:242
@@ -871,46 +906,112 @@ msgstr ""
871
  msgid "Click here to signup for reCAPTCHA"
872
  msgstr ""
873
 
874
- #: adminpages/advancedsettings.php:195 adminpages/advancedsettings.php:192
875
  #: adminpages/advancedsettings.php:195 adminpages/advancedsettings.php:250
876
  msgid "reCAPTCHA Version"
877
  msgstr ""
878
 
879
- #: adminpages/advancedsettings.php:198 adminpages/advancedsettings.php:195
880
  #: adminpages/advancedsettings.php:198 adminpages/advancedsettings.php:252
881
  msgid " v2 - Checkbox"
882
  msgstr ""
883
 
884
- #: adminpages/advancedsettings.php:199 adminpages/advancedsettings.php:196
885
  #: adminpages/advancedsettings.php:199 adminpages/advancedsettings.php:253
886
  msgid "v3 - Invisible"
887
  msgstr ""
888
 
889
- #: adminpages/advancedsettings.php:201 adminpages/advancedsettings.php:198
890
  #: adminpages/advancedsettings.php:201 adminpages/advancedsettings.php:255
891
  msgid "Changing your version will require new API keys."
892
  msgstr ""
893
 
894
- #: adminpages/advancedsettings.php:205 adminpages/advancedsettings.php:202
895
  #: adminpages/advancedsettings.php:205 adminpages/advancedsettings.php:248
896
  #: adminpages/advancedsettings.php:257
897
  msgid "reCAPTCHA Site Key"
898
  msgstr ""
899
 
900
- #: adminpages/advancedsettings.php:211 adminpages/advancedsettings.php:208
901
  #: adminpages/advancedsettings.php:211 adminpages/advancedsettings.php:251
902
  #: adminpages/advancedsettings.php:260
903
  msgid "reCAPTCHA Secret Key"
904
  msgstr ""
905
 
906
- #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:144
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
907
  #: adminpages/advancedsettings.php:147 adminpages/advancedsettings.php:163
908
  #: adminpages/advancedsettings.php:165 adminpages/advancedsettings.php:221
909
  #: adminpages/advancedsettings.php:224
910
  msgid "Hide Ads From Members?"
911
  msgstr ""
912
 
913
- #: adminpages/advancedsettings.php:229 adminpages/advancedsettings.php:129
914
  #: adminpages/advancedsettings.php:136 adminpages/advancedsettings.php:149
915
  #: adminpages/advancedsettings.php:152 adminpages/advancedsettings.php:168
916
  #: adminpages/advancedsettings.php:170 adminpages/advancedsettings.php:226
@@ -918,7 +1019,7 @@ msgstr ""
918
  msgid "Hide Ads From All Members"
919
  msgstr ""
920
 
921
- #: adminpages/advancedsettings.php:230 adminpages/advancedsettings.php:130
922
  #: adminpages/advancedsettings.php:137 adminpages/advancedsettings.php:150
923
  #: adminpages/advancedsettings.php:153 adminpages/advancedsettings.php:169
924
  #: adminpages/advancedsettings.php:171 adminpages/advancedsettings.php:227
@@ -926,7 +1027,7 @@ msgstr ""
926
  msgid "Hide Ads From Certain Members"
927
  msgstr ""
928
 
929
- #: adminpages/advancedsettings.php:237 adminpages/advancedsettings.php:137
930
  #: adminpages/advancedsettings.php:144 adminpages/advancedsettings.php:157
931
  #: adminpages/advancedsettings.php:160 adminpages/advancedsettings.php:176
932
  #: adminpages/advancedsettings.php:178 adminpages/advancedsettings.php:234
@@ -934,7 +1035,7 @@ msgstr ""
934
  msgid "Ads from the following plugins will be automatically turned off"
935
  msgstr ""
936
 
937
- #: adminpages/advancedsettings.php:238 adminpages/advancedsettings.php:138
938
  #: adminpages/advancedsettings.php:145 adminpages/advancedsettings.php:158
939
  #: adminpages/advancedsettings.php:161 adminpages/advancedsettings.php:177
940
  #: adminpages/advancedsettings.php:179 adminpages/advancedsettings.php:235
@@ -942,25 +1043,7 @@ msgstr ""
942
  msgid "To hide ads in your template code, use code like the following"
943
  msgstr ""
944
 
945
- #: adminpages/advancedsettings.php:246 adminpages/advancedsettings.php:246
946
- msgid "Notifications"
947
- msgstr ""
948
-
949
- #: adminpages/advancedsettings.php:250 adminpages/advancedsettings.php:250
950
- msgid "Show all notifications."
951
- msgstr ""
952
-
953
- #: adminpages/advancedsettings.php:253 adminpages/advancedsettings.php:253
954
- msgid "Show only security notifications."
955
- msgstr ""
956
-
957
- #: adminpages/advancedsettings.php:257 adminpages/advancedsettings.php:257
958
- msgid ""
959
- "Notifications are occasionally shown on the Paid Memberships Pro settings "
960
- "pages."
961
- msgstr ""
962
-
963
- #: adminpages/advancedsettings.php:262 adminpages/advancedsettings.php:149
964
  #: adminpages/advancedsettings.php:156 adminpages/advancedsettings.php:169
965
  #: adminpages/advancedsettings.php:172 adminpages/advancedsettings.php:188
966
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:244
@@ -968,7 +1051,7 @@ msgstr ""
968
  msgid "Choose Levels to Hide Ads From"
969
  msgstr ""
970
 
971
- #: adminpages/advancedsettings.php:296 adminpages/advancedsettings.php:183
972
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:203
973
  #: adminpages/advancedsettings.php:206 adminpages/advancedsettings.php:222
974
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:278
@@ -976,7 +1059,7 @@ msgstr ""
976
  msgid "Redirect all traffic from registration page to /susbcription/?"
977
  msgstr ""
978
 
979
- #: adminpages/advancedsettings.php:296 adminpages/advancedsettings.php:183
980
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:203
981
  #: adminpages/advancedsettings.php:206 adminpages/advancedsettings.php:222
982
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:278
@@ -984,9 +1067,11 @@ msgstr ""
984
  msgid "multisite only"
985
  msgstr ""
986
 
987
- #: adminpages/advancedsettings.php:301 adminpages/membershiplevels.php:818
988
  #: adminpages/paymentsettings.php:258
989
- #: classes/gateways/class.pmprogateway_stripe.php:323 includes/profile.php:126
 
 
990
  #: adminpages/advancedsettings.php:188 adminpages/advancedsettings.php:195
991
  #: adminpages/advancedsettings.php:208 adminpages/advancedsettings.php:211
992
  #: adminpages/advancedsettings.php:227 adminpages/advancedsettings.php:229
@@ -1032,25 +1117,7 @@ msgstr ""
1032
  msgid "Yes"
1033
  msgstr ""
1034
 
1035
- #: adminpages/advancedsettings.php:308 adminpages/advancedsettings.php:218
1036
- #: adminpages/advancedsettings.php:225 adminpages/advancedsettings.php:238
1037
- #: adminpages/advancedsettings.php:241 adminpages/advancedsettings.php:257
1038
- #: adminpages/advancedsettings.php:266 adminpages/advancedsettings.php:290
1039
- #: adminpages/advancedsettings.php:308
1040
- msgid "Require Terms of Service on signups?"
1041
- msgstr ""
1042
-
1043
- #: adminpages/advancedsettings.php:315 adminpages/advancedsettings.php:225
1044
- #: adminpages/advancedsettings.php:232 adminpages/advancedsettings.php:245
1045
- #: adminpages/advancedsettings.php:248 adminpages/advancedsettings.php:264
1046
- #: adminpages/advancedsettings.php:273 adminpages/advancedsettings.php:297
1047
- #: adminpages/advancedsettings.php:315
1048
- msgid ""
1049
- "If yes, create a WordPress page containing your TOS agreement and assign it "
1050
- "using the dropdown above."
1051
- msgstr ""
1052
-
1053
- #: adminpages/advancedsettings.php:427 adminpages/pagesettings.php:331
1054
  #: adminpages/paymentsettings.php:288 adminpages/advancedsettings.php:284
1055
  #: adminpages/advancedsettings.php:355 adminpages/advancedsettings.php:359
1056
  #: adminpages/advancedsettings.php:368 adminpages/advancedsettings.php:375
@@ -1153,9 +1220,9 @@ msgid ""
1153
  "that you may use the software on this site or any other site free of charge."
1154
  msgstr ""
1155
 
1156
- #: adminpages/dashboard.php:215 adminpages/orders.php:1298
1157
- #: adminpages/reports/login.php:179 classes/class.memberorder.php:858
1158
- #: pages/checkout.php:118 shortcodes/pmpro_account.php:110
1159
  #: adminpages/dashboard.php:215 adminpages/dashboard.php:223
1160
  #: adminpages/memberslist.php:112 adminpages/memberslist.php:145
1161
  #: adminpages/memberslist.php:155 adminpages/memberslist.php:165
@@ -1172,10 +1239,10 @@ msgid "Username"
1172
  msgstr ""
1173
 
1174
  #: adminpages/dashboard.php:216 adminpages/dashboard.php:284
1175
- #: adminpages/orders.php:1300 adminpages/reports/login.php:181
1176
  #: includes/privacy.php:241 pages/billing.php:57 pages/cancel.php:60
1177
- #: pages/invoice.php:104 pages/levels.php:35 shortcodes/pmpro_account.php:44
1178
- #: shortcodes/pmpro_account.php:128 adminpages/dashboard.php:216
1179
  #: adminpages/dashboard.php:284 adminpages/dashboard.php:292
1180
  #: adminpages/memberslist.php:175 adminpages/orders.php:1300
1181
  #: adminpages/orders.php:1306 adminpages/reports/login.php:181
@@ -1183,13 +1250,14 @@ msgstr ""
1183
  #: pages/account.php:92 pages/billing.php:16 pages/billing.php:25
1184
  #: pages/billing.php:27 pages/billing.php:28 pages/billing.php:30
1185
  #: pages/billing.php:41 pages/billing.php:44 pages/billing.php:45
1186
- #: pages/billing.php:49 pages/billing.php:50 pages/cancel.php:52
1187
- #: pages/cancel.php:60 pages/cancel.php:61 pages/invoice.php:89
1188
- #: pages/invoice.php:101 pages/invoice.php:102 pages/invoice.php:103
1189
- #: pages/invoice.php:109 pages/levels.php:13 pages/levels.php:35
1190
- #: shortcodes/pmpro_account.php:43 shortcodes/pmpro_account.php:44
1191
- #: shortcodes/pmpro_account.php:123 shortcodes/pmpro_account.php:125
1192
- #: shortcodes/pmpro_account.php:126 shortcodes/pmpro_account.php:128
 
1193
  msgid "Level"
1194
  msgstr ""
1195
 
@@ -1203,8 +1271,8 @@ msgstr ""
1203
  msgid "Joined"
1204
  msgstr ""
1205
 
1206
- #: adminpages/dashboard.php:218 adminpages/discountcodes.php:748
1207
- #: adminpages/reports/login.php:183 includes/profile.php:122
1208
  #: adminpages/dashboard.php:218 adminpages/dashboard.php:226
1209
  #: adminpages/discountcodes.php:550 adminpages/discountcodes.php:560
1210
  #: adminpages/discountcodes.php:588 adminpages/discountcodes.php:589
@@ -1223,7 +1291,7 @@ msgid "Expires"
1223
  msgstr ""
1224
 
1225
  #: adminpages/dashboard.php:224 adminpages/reports/login.php:261
1226
- #: classes/class-pmpro-members-list-table.php:252 adminpages/dashboard.php:224
1227
  #: adminpages/dashboard.php:232 adminpages/memberslist.php:195
1228
  #: adminpages/memberslist.php:223 adminpages/memberslist.php:251
1229
  #: adminpages/memberslist.php:261 adminpages/memberslist.php:262
@@ -1231,13 +1299,14 @@ msgstr ""
1231
  #: adminpages/memberslist.php:272 adminpages/reports/login.php:210
1232
  #: adminpages/reports/login.php:212 adminpages/reports/login.php:228
1233
  #: adminpages/reports/login.php:232 adminpages/reports/login.php:261
 
1234
  #: classes/class-pmpro-members-list-table.php:257
1235
  msgid "No members found."
1236
  msgstr ""
1237
 
1238
- #: adminpages/dashboard.php:282 adminpages/discountcodes.php:447
1239
- #: adminpages/discountcodes.php:746 adminpages/orders.php:408
1240
- #: adminpages/orders.php:1297 adminpages/dashboard.php:282
1241
  #: adminpages/dashboard.php:290 adminpages/discountcodes.php:311
1242
  #: adminpages/discountcodes.php:314 adminpages/discountcodes.php:315
1243
  #: adminpages/discountcodes.php:316 adminpages/discountcodes.php:321
@@ -1281,8 +1350,8 @@ msgstr ""
1281
  msgid "User"
1282
  msgstr ""
1283
 
1284
- #: adminpages/dashboard.php:285 adminpages/orders.php:622
1285
- #: adminpages/orders.php:1301 adminpages/templates/orders-email.php:64
1286
  #: adminpages/templates/orders-print.php:93 includes/privacy.php:285
1287
  #: pages/confirmation.php:98 pages/invoice.php:80 adminpages/dashboard.php:285
1288
  #: adminpages/dashboard.php:293 adminpages/orders.php:320
@@ -1300,15 +1369,16 @@ msgstr ""
1300
  #: adminpages/orders.php:1312 adminpages/orders.php:1357
1301
  #: adminpages/templates/orders-email.php:64
1302
  #: adminpages/templates/orders-print.php:93 includes/privacy.php:285
1303
- #: pages/confirmation.php:95 pages/confirmation.php:96 pages/invoice.php:77
1304
- #: pages/invoice.php:78 pages/invoice.php:79 pages/invoice.php:82
 
1305
  #: pages/invoice.php:84
1306
  msgid "Total"
1307
  msgstr ""
1308
 
1309
- #: adminpages/dashboard.php:286 adminpages/orders.php:705
1310
- #: adminpages/orders.php:1305 includes/privacy.php:202 includes/privacy.php:309
1311
- #: pages/invoice.php:27 shortcodes/pmpro_account.php:130
1312
  #: adminpages/dashboard.php:286 adminpages/dashboard.php:294
1313
  #: adminpages/orders.php:373 adminpages/orders.php:423
1314
  #: adminpages/orders.php:495 adminpages/orders.php:524
@@ -1327,9 +1397,9 @@ msgstr ""
1327
  msgid "Status"
1328
  msgstr ""
1329
 
1330
- #: adminpages/dashboard.php:287 adminpages/orders.php:806
1331
- #: adminpages/orders.php:1306 pages/invoice.php:102
1332
- #: shortcodes/pmpro_account.php:127 adminpages/dashboard.php:287
1333
  #: adminpages/dashboard.php:295 adminpages/orders.php:442
1334
  #: adminpages/orders.php:492 adminpages/orders.php:493
1335
  #: adminpages/orders.php:565 adminpages/orders.php:594
@@ -1345,13 +1415,13 @@ msgstr ""
1345
  #: adminpages/orders.php:1312 adminpages/orders.php:1317
1346
  #: adminpages/orders.php:1362 pages/account.php:91 pages/invoice.php:87
1347
  #: pages/invoice.php:99 pages/invoice.php:100 pages/invoice.php:101
1348
- #: pages/invoice.php:105 pages/invoice.php:107 shortcodes/pmpro_account.php:122
1349
- #: shortcodes/pmpro_account.php:124 shortcodes/pmpro_account.php:125
1350
- #: shortcodes/pmpro_account.php:127
1351
  msgid "Date"
1352
  msgstr ""
1353
 
1354
- #: adminpages/dashboard.php:294 adminpages/orders.php:1457
1355
  #: adminpages/dashboard.php:294 adminpages/dashboard.php:302
1356
  #: adminpages/orders.php:674 adminpages/orders.php:977
1357
  #: adminpages/orders.php:995 adminpages/orders.php:1005
@@ -1364,7 +1434,8 @@ msgstr ""
1364
  msgid "No orders found."
1365
  msgstr ""
1366
 
1367
- #: adminpages/dashboard.php:311 adminpages/orders.php:1369
 
1368
  #: adminpages/dashboard.php:311 adminpages/dashboard.php:319
1369
  #: adminpages/orders.php:630 adminpages/orders.php:933
1370
  #: adminpages/orders.php:943 adminpages/orders.php:972
@@ -1376,7 +1447,8 @@ msgstr ""
1376
  msgid "deleted"
1377
  msgstr ""
1378
 
1379
- #: adminpages/dashboard.php:313 adminpages/orders.php:1371
 
1380
  #: adminpages/dashboard.php:313 adminpages/dashboard.php:321
1381
  #: adminpages/orders.php:1275 adminpages/orders.php:1347
1382
  #: adminpages/orders.php:1371 adminpages/orders.php:1376
@@ -1384,46 +1456,48 @@ msgstr ""
1384
  msgid "none"
1385
  msgstr ""
1386
 
1387
- #: adminpages/dashboard.php:377 adminpages/dashboard.php:372
1388
- #: adminpages/dashboard.php:377 adminpages/dashboard.php:380
 
 
1389
  msgid "No news found."
1390
  msgstr ""
1391
 
1392
- #: adminpages/dashboard.php:383 adminpages/dashboard.php:378
1393
  #: adminpages/dashboard.php:383 adminpages/dashboard.php:386
1394
  #, php-format
1395
  msgid "Posted %s"
1396
  msgstr ""
1397
 
1398
- #: adminpages/discountcodes.php:105 adminpages/discountcodes.php:64
1399
  #: adminpages/discountcodes.php:65 adminpages/discountcodes.php:70
1400
  #: adminpages/discountcodes.php:71 adminpages/discountcodes.php:102
1401
  #: adminpages/discountcodes.php:105
1402
  msgid "Discount code added successfully."
1403
  msgstr ""
1404
 
1405
- #: adminpages/discountcodes.php:111 adminpages/discountcodes.php:48
1406
  #: adminpages/discountcodes.php:49 adminpages/discountcodes.php:54
1407
  #: adminpages/discountcodes.php:77 adminpages/discountcodes.php:108
1408
  #: adminpages/discountcodes.php:111
1409
  msgid "Discount code updated successfully."
1410
  msgstr ""
1411
 
1412
- #: adminpages/discountcodes.php:119 adminpages/discountcodes.php:71
1413
  #: adminpages/discountcodes.php:72 adminpages/discountcodes.php:73
1414
  #: adminpages/discountcodes.php:78 adminpages/discountcodes.php:85
1415
  #: adminpages/discountcodes.php:116 adminpages/discountcodes.php:119
1416
  msgid "Error adding discount code. That code may already be in use."
1417
  msgstr ""
1418
 
1419
- #: adminpages/discountcodes.php:123 adminpages/discountcodes.php:55
1420
  #: adminpages/discountcodes.php:56 adminpages/discountcodes.php:61
1421
  #: adminpages/discountcodes.php:89 adminpages/discountcodes.php:120
1422
  #: adminpages/discountcodes.php:123
1423
  msgid "Error updating discount code. That code may already be in use."
1424
  msgstr ""
1425
 
1426
- #: adminpages/discountcodes.php:285 adminpages/discountcodes.php:196
1427
  #: adminpages/discountcodes.php:197 adminpages/discountcodes.php:198
1428
  #: adminpages/discountcodes.php:203 adminpages/discountcodes.php:247
1429
  #: adminpages/discountcodes.php:280 adminpages/discountcodes.php:285
@@ -1431,14 +1505,14 @@ msgstr ""
1431
  msgid "Error saving values for the %s level."
1432
  msgstr ""
1433
 
1434
- #: adminpages/discountcodes.php:293 adminpages/discountcodes.php:204
1435
  #: adminpages/discountcodes.php:205 adminpages/discountcodes.php:206
1436
  #: adminpages/discountcodes.php:211 adminpages/discountcodes.php:255
1437
  #: adminpages/discountcodes.php:288 adminpages/discountcodes.php:293
1438
  msgid "There were errors updating the level values: "
1439
  msgstr ""
1440
 
1441
- #: adminpages/discountcodes.php:333 adminpages/discountcodes.php:234
1442
  #: adminpages/discountcodes.php:237 adminpages/discountcodes.php:238
1443
  #: adminpages/discountcodes.php:239 adminpages/discountcodes.php:244
1444
  #: adminpages/discountcodes.php:288 adminpages/discountcodes.php:328
@@ -1447,7 +1521,7 @@ msgstr ""
1447
  msgid "Code %s deleted successfully."
1448
  msgstr ""
1449
 
1450
- #: adminpages/discountcodes.php:338 adminpages/discountcodes.php:239
1451
  #: adminpages/discountcodes.php:242 adminpages/discountcodes.php:243
1452
  #: adminpages/discountcodes.php:244 adminpages/discountcodes.php:249
1453
  #: adminpages/discountcodes.php:293 adminpages/discountcodes.php:333
@@ -1457,7 +1531,7 @@ msgid ""
1457
  "try again."
1458
  msgstr ""
1459
 
1460
- #: adminpages/discountcodes.php:344 adminpages/discountcodes.php:245
1461
  #: adminpages/discountcodes.php:248 adminpages/discountcodes.php:249
1462
  #: adminpages/discountcodes.php:250 adminpages/discountcodes.php:255
1463
  #: adminpages/discountcodes.php:299 adminpages/discountcodes.php:339
@@ -1465,7 +1539,7 @@ msgstr ""
1465
  msgid "Error deleting code. Please try again."
1466
  msgstr ""
1467
 
1468
- #: adminpages/discountcodes.php:350 adminpages/discountcodes.php:251
1469
  #: adminpages/discountcodes.php:254 adminpages/discountcodes.php:255
1470
  #: adminpages/discountcodes.php:256 adminpages/discountcodes.php:261
1471
  #: adminpages/discountcodes.php:305 adminpages/discountcodes.php:345
@@ -1473,7 +1547,7 @@ msgstr ""
1473
  msgid "Code not found."
1474
  msgstr ""
1475
 
1476
- #: adminpages/discountcodes.php:356 adminpages/membershiplevels.php:169
1477
  #: adminpages/discountcodes.php:356 adminpages/membershiplevels.php:169
1478
  #, php-format
1479
  msgid ""
@@ -1483,7 +1557,7 @@ msgid ""
1483
  "information, <a target=\"_blank\" href=\"%s\">see our post here</a>."
1484
  msgstr ""
1485
 
1486
- #: adminpages/discountcodes.php:371 adminpages/discountcodes.php:264
1487
  #: adminpages/discountcodes.php:267 adminpages/discountcodes.php:268
1488
  #: adminpages/discountcodes.php:269 adminpages/discountcodes.php:274
1489
  #: adminpages/discountcodes.php:318 adminpages/discountcodes.php:358
@@ -1491,7 +1565,7 @@ msgstr ""
1491
  msgid "Edit Discount Code"
1492
  msgstr ""
1493
 
1494
- #: adminpages/discountcodes.php:373 adminpages/discountcodes.php:266
1495
  #: adminpages/discountcodes.php:269 adminpages/discountcodes.php:270
1496
  #: adminpages/discountcodes.php:271 adminpages/discountcodes.php:276
1497
  #: adminpages/discountcodes.php:320 adminpages/discountcodes.php:360
@@ -1503,9 +1577,9 @@ msgstr ""
1503
  msgid "Add New Discount Code"
1504
  msgstr ""
1505
 
1506
- #: adminpages/discountcodes.php:442 adminpages/discountcodes.php:745
1507
  #: adminpages/membershiplevels.php:347 adminpages/membershiplevels.php:773
1508
- #: adminpages/orders.php:1296 adminpages/reports/login.php:178
1509
  #: adminpages/templates/orders-email.php:46
1510
  #: adminpages/templates/orders-print.php:75 adminpages/discountcodes.php:306
1511
  #: adminpages/discountcodes.php:309 adminpages/discountcodes.php:310
@@ -1547,7 +1621,7 @@ msgstr ""
1547
  msgid "ID"
1548
  msgstr ""
1549
 
1550
- #: adminpages/discountcodes.php:443 adminpages/orders.php:401
1551
  #: adminpages/discountcodes.php:307 adminpages/discountcodes.php:310
1552
  #: adminpages/discountcodes.php:311 adminpages/discountcodes.php:312
1553
  #: adminpages/discountcodes.php:317 adminpages/discountcodes.php:382
@@ -1561,7 +1635,7 @@ msgstr ""
1561
  msgid "This will be generated when you save."
1562
  msgstr ""
1563
 
1564
- #: adminpages/discountcodes.php:485 includes/privacy.php:186
1565
  #: adminpages/discountcodes.php:349 adminpages/discountcodes.php:352
1566
  #: adminpages/discountcodes.php:353 adminpages/discountcodes.php:354
1567
  #: adminpages/discountcodes.php:359 adminpages/discountcodes.php:424
@@ -1570,9 +1644,9 @@ msgstr ""
1570
  msgid "Start Date"
1571
  msgstr ""
1572
 
1573
- #: adminpages/discountcodes.php:503
1574
  #: classes/gateways/class.pmprogateway_braintree.php:479
1575
- #: classes/gateways/class.pmprogateway_stripe.php:573 pages/billing.php:330
1576
  #: pages/checkout.php:389 adminpages/discountcodes.php:367
1577
  #: adminpages/discountcodes.php:370 adminpages/discountcodes.php:371
1578
  #: adminpages/discountcodes.php:372 adminpages/discountcodes.php:377
@@ -1616,16 +1690,16 @@ msgstr ""
1616
  #: pages/billing.php:253 pages/billing.php:262 pages/billing.php:265
1617
  #: pages/billing.php:268 pages/billing.php:310 pages/billing.php:313
1618
  #: pages/billing.php:316 pages/billing.php:317 pages/billing.php:319
1619
- #: pages/billing.php:321 pages/billing.php:322 pages/billing.php:342
1620
- #: pages/checkout.php:389 pages/checkout.php:463 pages/checkout.php:471
1621
- #: pages/checkout.php:508 pages/checkout.php:524 pages/checkout.php:525
1622
- #: pages/checkout.php:532 pages/checkout.php:553 pages/checkout.php:562
1623
- #: pages/checkout.php:571 pages/checkout.php:575 pages/checkout.php:582
1624
- #: pages/checkout.php:585
1625
  msgid "Expiration Date"
1626
  msgstr ""
1627
 
1628
- #: adminpages/discountcodes.php:521 adminpages/discountcodes.php:749
1629
  #: adminpages/discountcodes.php:385 adminpages/discountcodes.php:388
1630
  #: adminpages/discountcodes.php:389 adminpages/discountcodes.php:390
1631
  #: adminpages/discountcodes.php:395 adminpages/discountcodes.php:460
@@ -1638,7 +1712,7 @@ msgstr ""
1638
  msgid "Uses"
1639
  msgstr ""
1640
 
1641
- #: adminpages/discountcodes.php:524 adminpages/discountcodes.php:388
1642
  #: adminpages/discountcodes.php:391 adminpages/discountcodes.php:392
1643
  #: adminpages/discountcodes.php:393 adminpages/discountcodes.php:398
1644
  #: adminpages/discountcodes.php:463 adminpages/discountcodes.php:504
@@ -1646,14 +1720,14 @@ msgstr ""
1646
  msgid "Leave blank for unlimited uses."
1647
  msgstr ""
1648
 
1649
- #: adminpages/discountcodes.php:533 adminpages/discountcodes.php:400
1650
  #: adminpages/discountcodes.php:401 adminpages/discountcodes.php:402
1651
  #: adminpages/discountcodes.php:407 adminpages/discountcodes.php:472
1652
  #: adminpages/discountcodes.php:513 adminpages/discountcodes.php:533
1653
  msgid "Which Levels Will This Code Apply To?"
1654
  msgstr ""
1655
 
1656
- #: adminpages/discountcodes.php:571 adminpages/membershiplevels.php:401
1657
  #: adminpages/discountcodes.php:427 adminpages/discountcodes.php:430
1658
  #: adminpages/discountcodes.php:431 adminpages/discountcodes.php:432
1659
  #: adminpages/discountcodes.php:437 adminpages/discountcodes.php:510
@@ -1668,7 +1742,7 @@ msgstr ""
1668
  msgid "Initial Payment"
1669
  msgstr ""
1670
 
1671
- #: adminpages/discountcodes.php:582 adminpages/membershiplevels.php:412
1672
  #: adminpages/discountcodes.php:428 adminpages/discountcodes.php:431
1673
  #: adminpages/discountcodes.php:441 adminpages/discountcodes.php:442
1674
  #: adminpages/discountcodes.php:443 adminpages/discountcodes.php:448
@@ -1682,7 +1756,7 @@ msgstr ""
1682
  msgid "The initial amount collected at registration."
1683
  msgstr ""
1684
 
1685
- #: adminpages/discountcodes.php:587 adminpages/membershiplevels.php:417
1686
  #: adminpages/discountcodes.php:432 adminpages/discountcodes.php:435
1687
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:447
1688
  #: adminpages/discountcodes.php:448 adminpages/discountcodes.php:453
@@ -1696,7 +1770,7 @@ msgstr ""
1696
  msgid "Recurring Subscription"
1697
  msgstr ""
1698
 
1699
- #: adminpages/discountcodes.php:588 adminpages/membershiplevels.php:418
1700
  #: adminpages/discountcodes.php:433 adminpages/discountcodes.php:436
1701
  #: adminpages/discountcodes.php:447 adminpages/discountcodes.php:448
1702
  #: adminpages/discountcodes.php:449 adminpages/discountcodes.php:454
@@ -1710,7 +1784,7 @@ msgstr ""
1710
  msgid "Check if this level has a recurring subscription payment."
1711
  msgstr ""
1712
 
1713
- #: adminpages/discountcodes.php:592 adminpages/membershiplevels.php:422
1714
  #: adminpages/discountcodes.php:440 adminpages/discountcodes.php:451
1715
  #: adminpages/discountcodes.php:452 adminpages/discountcodes.php:453
1716
  #: adminpages/discountcodes.php:458 adminpages/discountcodes.php:531
@@ -1724,7 +1798,7 @@ msgstr ""
1724
  msgid "Billing Amount"
1725
  msgstr ""
1726
 
1727
- #: adminpages/discountcodes.php:603 adminpages/membershiplevels.php:433
1728
  #: classes/gateways/class.pmprogateway_stripe.php:750
1729
  #: adminpages/discountcodes.php:603 adminpages/membershiplevels.php:349
1730
  #: adminpages/membershiplevels.php:351 adminpages/membershiplevels.php:370
@@ -1756,7 +1830,7 @@ msgstr ""
1756
  msgid "per"
1757
  msgstr ""
1758
 
1759
- #: adminpages/discountcodes.php:607 adminpages/discountcodes.php:661
1760
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1761
  #: classes/gateways/class.pmprogateway_stripe.php:616
1762
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
@@ -1804,7 +1878,7 @@ msgstr ""
1804
  msgid "Day(s)"
1805
  msgstr ""
1806
 
1807
- #: adminpages/discountcodes.php:607 adminpages/discountcodes.php:661
1808
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1809
  #: classes/gateways/class.pmprogateway_stripe.php:618
1810
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
@@ -1852,7 +1926,7 @@ msgstr ""
1852
  msgid "Month(s)"
1853
  msgstr ""
1854
 
1855
- #: adminpages/discountcodes.php:607 adminpages/discountcodes.php:661
1856
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1857
  #: classes/gateways/class.pmprogateway_stripe.php:617
1858
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
@@ -1900,7 +1974,7 @@ msgstr ""
1900
  msgid "Week(s)"
1901
  msgstr ""
1902
 
1903
- #: adminpages/discountcodes.php:607 adminpages/discountcodes.php:661
1904
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1905
  #: classes/gateways/class.pmprogateway_stripe.php:619
1906
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
@@ -1948,7 +2022,7 @@ msgstr ""
1948
  msgid "Year(s)"
1949
  msgstr ""
1950
 
1951
- #: adminpages/discountcodes.php:615 adminpages/membershiplevels.php:446
1952
  #: adminpages/discountcodes.php:451 adminpages/discountcodes.php:454
1953
  #: adminpages/discountcodes.php:474 adminpages/discountcodes.php:475
1954
  #: adminpages/discountcodes.php:476 adminpages/discountcodes.php:481
@@ -1962,7 +2036,7 @@ msgstr ""
1962
  msgid "The amount to be billed one cycle after the initial payment."
1963
  msgstr ""
1964
 
1965
- #: adminpages/discountcodes.php:620 adminpages/membershiplevels.php:463
1966
  #: adminpages/discountcodes.php:456 adminpages/discountcodes.php:459
1967
  #: adminpages/discountcodes.php:479 adminpages/discountcodes.php:480
1968
  #: adminpages/discountcodes.php:481 adminpages/discountcodes.php:486
@@ -1977,7 +2051,7 @@ msgstr ""
1977
  msgid "Billing Cycle Limit"
1978
  msgstr ""
1979
 
1980
- #: adminpages/discountcodes.php:623 adminpages/membershiplevels.php:467
1981
  #: adminpages/discountcodes.php:459 adminpages/discountcodes.php:462
1982
  #: adminpages/discountcodes.php:482 adminpages/discountcodes.php:483
1983
  #: adminpages/discountcodes.php:484 adminpages/discountcodes.php:489
@@ -1995,7 +2069,7 @@ msgid ""
1995
  "initial payment. Set to zero if membership is indefinite."
1996
  msgstr ""
1997
 
1998
- #: adminpages/discountcodes.php:628 adminpages/membershiplevels.php:486
1999
  #: adminpages/discountcodes.php:464 adminpages/discountcodes.php:467
2000
  #: adminpages/discountcodes.php:487 adminpages/discountcodes.php:488
2001
  #: adminpages/discountcodes.php:489 adminpages/discountcodes.php:494
@@ -2010,7 +2084,7 @@ msgstr ""
2010
  msgid "Custom Trial"
2011
  msgstr ""
2012
 
2013
- #: adminpages/discountcodes.php:629 adminpages/membershiplevels.php:488
2014
  #: adminpages/discountcodes.php:465 adminpages/discountcodes.php:468
2015
  #: adminpages/discountcodes.php:488 adminpages/discountcodes.php:489
2016
  #: adminpages/discountcodes.php:490 adminpages/discountcodes.php:495
@@ -2025,7 +2099,7 @@ msgstr ""
2025
  msgid "Check to add a custom trial period."
2026
  msgstr ""
2027
 
2028
- #: adminpages/discountcodes.php:633 adminpages/membershiplevels.php:508
2029
  #: adminpages/discountcodes.php:469 adminpages/discountcodes.php:472
2030
  #: adminpages/discountcodes.php:492 adminpages/discountcodes.php:493
2031
  #: adminpages/discountcodes.php:494 adminpages/discountcodes.php:499
@@ -2041,7 +2115,7 @@ msgstr ""
2041
  msgid "Trial Billing Amount"
2042
  msgstr ""
2043
 
2044
- #: adminpages/discountcodes.php:644 adminpages/membershiplevels.php:519
2045
  #: adminpages/discountcodes.php:472 adminpages/discountcodes.php:475
2046
  #: adminpages/discountcodes.php:503 adminpages/discountcodes.php:504
2047
  #: adminpages/discountcodes.php:505 adminpages/discountcodes.php:510
@@ -2057,7 +2131,7 @@ msgstr ""
2057
  msgid "for the first"
2058
  msgstr ""
2059
 
2060
- #: adminpages/discountcodes.php:646 adminpages/membershiplevels.php:521
2061
  #: adminpages/discountcodes.php:474 adminpages/discountcodes.php:477
2062
  #: adminpages/discountcodes.php:505 adminpages/discountcodes.php:506
2063
  #: adminpages/discountcodes.php:507 adminpages/discountcodes.php:512
@@ -2073,7 +2147,7 @@ msgstr ""
2073
  msgid "subscription payments"
2074
  msgstr ""
2075
 
2076
- #: adminpages/discountcodes.php:651 adminpages/membershiplevels.php:544
2077
  #: adminpages/discountcodes.php:479 adminpages/discountcodes.php:482
2078
  #: adminpages/discountcodes.php:510 adminpages/discountcodes.php:511
2079
  #: adminpages/discountcodes.php:512 adminpages/discountcodes.php:517
@@ -2089,7 +2163,7 @@ msgstr ""
2089
  msgid "Membership Expiration"
2090
  msgstr ""
2091
 
2092
- #: adminpages/discountcodes.php:652 adminpages/membershiplevels.php:545
2093
  #: adminpages/discountcodes.php:483 adminpages/discountcodes.php:511
2094
  #: adminpages/discountcodes.php:512 adminpages/discountcodes.php:513
2095
  #: adminpages/discountcodes.php:518 adminpages/discountcodes.php:591
@@ -2105,7 +2179,7 @@ msgstr ""
2105
  msgid "Check this to set when membership access expires."
2106
  msgstr ""
2107
 
2108
- #: adminpages/discountcodes.php:656 adminpages/membershiplevels.php:560
2109
  #: adminpages/discountcodes.php:484 adminpages/discountcodes.php:487
2110
  #: adminpages/discountcodes.php:515 adminpages/discountcodes.php:516
2111
  #: adminpages/discountcodes.php:517 adminpages/discountcodes.php:522
@@ -2121,7 +2195,7 @@ msgstr ""
2121
  msgid "Expires In"
2122
  msgstr ""
2123
 
2124
- #: adminpages/discountcodes.php:669 adminpages/membershiplevels.php:573
2125
  #: adminpages/discountcodes.php:500 adminpages/discountcodes.php:528
2126
  #: adminpages/discountcodes.php:529 adminpages/discountcodes.php:530
2127
  #: adminpages/discountcodes.php:535 adminpages/discountcodes.php:608
@@ -2140,19 +2214,19 @@ msgid ""
2140
  "expires."
2141
  msgstr ""
2142
 
2143
- #: adminpages/discountcodes.php:717 adminpages/discountcodes.php:717
2144
  #: adminpages/discountcodes.php:718
2145
  msgid ""
2146
  "Discount codes allow you to override your membership level's default pricing."
2147
  msgstr ""
2148
 
2149
- #: adminpages/discountcodes.php:728 adminpages/discountcodes.php:700
2150
  #: adminpages/discountcodes.php:728 adminpages/discountcodes.php:729
2151
  #, php-format
2152
  msgid "%d discount codes found."
2153
  msgstr ""
2154
 
2155
- #: adminpages/discountcodes.php:733 adminpages/discountcodes.php:535
2156
  #: adminpages/discountcodes.php:538 adminpages/discountcodes.php:566
2157
  #: adminpages/discountcodes.php:567 adminpages/discountcodes.php:568
2158
  #: adminpages/discountcodes.php:573 adminpages/discountcodes.php:646
@@ -2161,7 +2235,7 @@ msgstr ""
2161
  msgid "Search Discount Codes"
2162
  msgstr ""
2163
 
2164
- #: adminpages/discountcodes.php:736 adminpages/reports/login.php:119
2165
  #: adminpages/discountcodes.php:538 adminpages/discountcodes.php:541
2166
  #: adminpages/discountcodes.php:569 adminpages/discountcodes.php:570
2167
  #: adminpages/discountcodes.php:571 adminpages/discountcodes.php:576
@@ -2173,7 +2247,7 @@ msgstr ""
2173
  msgid "Search"
2174
  msgstr ""
2175
 
2176
- #: adminpages/discountcodes.php:747 adminpages/discountcodes.php:549
2177
  #: adminpages/discountcodes.php:559 adminpages/discountcodes.php:587
2178
  #: adminpages/discountcodes.php:588 adminpages/discountcodes.php:589
2179
  #: adminpages/discountcodes.php:594 adminpages/discountcodes.php:667
@@ -2182,8 +2256,8 @@ msgstr ""
2182
  msgid "Starts"
2183
  msgstr ""
2184
 
2185
- #: adminpages/discountcodes.php:773 adminpages/membershiplevels.php:799
2186
- #: adminpages/orders.php:1332 adminpages/discountcodes.php:765
2187
  #: adminpages/discountcodes.php:766 adminpages/discountcodes.php:767
2188
  #: adminpages/discountcodes.php:773 adminpages/membershiplevels.php:760
2189
  #: adminpages/membershiplevels.php:777 adminpages/membershiplevels.php:782
@@ -2194,8 +2268,8 @@ msgstr ""
2194
  msgid "Edit"
2195
  msgstr ""
2196
 
2197
- #: adminpages/discountcodes.php:776 adminpages/membershiplevels.php:800
2198
- #: adminpages/orders.php:1335 adminpages/discountcodes.php:768
2199
  #: adminpages/discountcodes.php:769 adminpages/discountcodes.php:770
2200
  #: adminpages/discountcodes.php:776 adminpages/membershiplevels.php:761
2201
  #: adminpages/membershiplevels.php:778 adminpages/membershiplevels.php:783
@@ -2206,7 +2280,7 @@ msgstr ""
2206
  msgid "Copy"
2207
  msgstr ""
2208
 
2209
- #: adminpages/discountcodes.php:779 adminpages/discountcodes.php:617
2210
  #: adminpages/discountcodes.php:622 adminpages/discountcodes.php:650
2211
  #: adminpages/discountcodes.php:651 adminpages/discountcodes.php:652
2212
  #: adminpages/discountcodes.php:653 adminpages/discountcodes.php:658
@@ -2221,7 +2295,7 @@ msgid ""
2221
  "code anymore."
2222
  msgstr ""
2223
 
2224
- #: adminpages/discountcodes.php:783 adminpages/discountcodes.php:775
2225
  #: adminpages/discountcodes.php:776 adminpages/discountcodes.php:777
2226
  #: adminpages/discountcodes.php:783
2227
  msgid " View Orders"
@@ -2396,23 +2470,23 @@ msgstr ""
2396
  msgid "Paid Memberships Pro Support License"
2397
  msgstr ""
2398
 
2399
- #: adminpages/license.php:47 adminpages/license.php:47 includes/license.php:91
2400
  msgid ""
2401
  "Enter your support license key.</strong> Your license key can be found in "
2402
  "your membership email receipt or in your <a href=\"https://www."
2403
- "paidmembershipspro.com/login/?redirect_to=%2Fmembership-account%2F"
2404
- "%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign"
2405
  "%3Dmembership-account%26utm_content%3Dno-key\" target=\"_blank\">Membership "
2406
  "Account</a>."
2407
  msgstr ""
2408
 
2409
- #: adminpages/license.php:49 adminpages/license.php:49 includes/license.php:93
2410
  msgid ""
2411
- "Visit the PMPro <a href=\"https://www.paidmembershipspro.com/login/?"
2412
- "redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin%26utm_medium"
2413
- "%3Dpmpro-license%26utm_campaign%3Dmembership-account%26utm_content%3Dkey-not-"
2414
- "valid\" target=\"_blank\">Membership Account</a> page to confirm that your "
2415
- "account is active and to find your license key."
2416
  msgstr ""
2417
 
2418
  #: adminpages/license.php:49 adminpages/license.php:49 includes/license.php:91
@@ -2479,10 +2553,10 @@ msgstr ""
2479
  msgid "Error updating membership level."
2480
  msgstr ""
2481
 
2482
- #: adminpages/membershiplevels.php:219 adminpages/membershiplevels.php:179
2483
- #: adminpages/membershiplevels.php:181 adminpages/membershiplevels.php:183
2484
- #: adminpages/membershiplevels.php:193 adminpages/membershiplevels.php:202
2485
- #: adminpages/membershiplevels.php:219
2486
  #, php-format
2487
  msgid ""
2488
  "There was an error canceling the subscription for user with ID=%d. You will "
@@ -2490,10 +2564,10 @@ msgid ""
2490
  "active."
2491
  msgstr ""
2492
 
2493
- #: adminpages/membershiplevels.php:227 adminpages/membershiplevels.php:182
2494
- #: adminpages/membershiplevels.php:184 adminpages/membershiplevels.php:186
2495
- #: adminpages/membershiplevels.php:201 adminpages/membershiplevels.php:210
2496
- #: adminpages/membershiplevels.php:227
2497
  msgid "Last Invoice"
2498
  msgstr ""
2499
 
@@ -2814,8 +2888,8 @@ msgstr ""
2814
  msgid "Save Level"
2815
  msgstr ""
2816
 
2817
- #: adminpages/membershiplevels.php:641 adminpages/orders.php:930
2818
- #: pages/billing.php:380 pages/cancel.php:83 shortcodes/pmpro_account.php:72
2819
  #: adminpages/membershiplevels.php:506 adminpages/membershiplevels.php:508
2820
  #: adminpages/membershiplevels.php:517 adminpages/membershiplevels.php:518
2821
  #: adminpages/membershiplevels.php:530 adminpages/membershiplevels.php:540
@@ -2832,11 +2906,11 @@ msgstr ""
2832
  #: pages/billing.php:299 pages/billing.php:330 pages/billing.php:339
2833
  #: pages/billing.php:342 pages/billing.php:344 pages/billing.php:348
2834
  #: pages/billing.php:363 pages/billing.php:364 pages/billing.php:365
2835
- #: pages/billing.php:371 pages/billing.php:372 pages/billing.php:392
2836
- #: pages/billing.php:397 pages/billing.php:401 pages/billing.php:406
2837
- #: pages/cancel.php:71 pages/cancel.php:83 pages/cancel.php:84
2838
- #: shortcodes/pmpro_account.php:70 shortcodes/pmpro_account.php:72
2839
- #: shortcodes/pmpro_account.php:73
2840
  msgid "Cancel"
2841
  msgstr ""
2842
 
@@ -2876,7 +2950,7 @@ msgstr ""
2876
 
2877
  #: adminpages/membershiplevels.php:776 pages/cancel.php:61
2878
  #: pages/confirmation.php:82 pages/invoice.php:64
2879
- #: shortcodes/pmpro_account.php:46 adminpages/membershiplevels.php:510
2880
  #: adminpages/membershiplevels.php:516 adminpages/membershiplevels.php:518
2881
  #: adminpages/membershiplevels.php:544 adminpages/membershiplevels.php:545
2882
  #: adminpages/membershiplevels.php:586 adminpages/membershiplevels.php:632
@@ -2888,11 +2962,11 @@ msgstr ""
2888
  #: adminpages/membershiplevels.php:766 adminpages/membershiplevels.php:771
2889
  #: adminpages/membershiplevels.php:776 pages/account.php:20 pages/cancel.php:53
2890
  #: pages/cancel.php:61 pages/cancel.php:62 pages/confirmation.php:80
2891
- #: pages/confirmation.php:81 pages/confirmation.php:83
2892
- #: pages/confirmation.php:84 pages/confirmation.php:89 pages/invoice.php:62
2893
- #: pages/invoice.php:63 pages/invoice.php:64 pages/invoice.php:68
2894
- #: pages/invoice.php:70 shortcodes/pmpro_account.php:45
2895
- #: shortcodes/pmpro_account.php:46
2896
  msgid "Expiration"
2897
  msgstr ""
2898
 
@@ -2971,19 +3045,19 @@ msgid ""
2971
  "\">Register Helper Add On</a>."
2972
  msgstr ""
2973
 
2974
- #: adminpages/orders.php:156 adminpages/orders.php:26 adminpages/orders.php:67
2975
  #: adminpages/orders.php:156 adminpages/orders.php:162
2976
  #: adminpages/orders.php:174 adminpages/orders.php:175
2977
  msgid "Order deleted successfully."
2978
  msgstr ""
2979
 
2980
- #: adminpages/orders.php:159 adminpages/orders.php:31 adminpages/orders.php:72
2981
  #: adminpages/orders.php:159 adminpages/orders.php:165
2982
  #: adminpages/orders.php:177 adminpages/orders.php:180
2983
  msgid "Error deleting order."
2984
  msgstr ""
2985
 
2986
- #: adminpages/orders.php:296 adminpages/orders.php:119
2987
  #: adminpages/orders.php:169 adminpages/orders.php:270
2988
  #: adminpages/orders.php:284 adminpages/orders.php:285
2989
  #: adminpages/orders.php:295 adminpages/orders.php:296
@@ -2991,7 +3065,7 @@ msgstr ""
2991
  msgid "Order saved successfully."
2992
  msgstr ""
2993
 
2994
- #: adminpages/orders.php:299 adminpages/orders.php:124
2995
  #: adminpages/orders.php:174 adminpages/orders.php:275
2996
  #: adminpages/orders.php:287 adminpages/orders.php:288
2997
  #: adminpages/orders.php:298 adminpages/orders.php:299
@@ -2999,7 +3073,7 @@ msgstr ""
2999
  msgid "Error updating order timestamp."
3000
  msgstr ""
3001
 
3002
- #: adminpages/orders.php:303 adminpages/orders.php:130
3003
  #: adminpages/orders.php:180 adminpages/orders.php:281
3004
  #: adminpages/orders.php:291 adminpages/orders.php:292
3005
  #: adminpages/orders.php:302 adminpages/orders.php:303
@@ -3007,7 +3081,7 @@ msgstr ""
3007
  msgid "Error saving order."
3008
  msgstr ""
3009
 
3010
- #: adminpages/orders.php:370 adminpages/orders.php:1341
3011
  #: pages/confirmation.php:49 pages/invoice.php:22 adminpages/orders.php:370
3012
  #: adminpages/orders.php:371 adminpages/orders.php:1341
3013
  #: adminpages/orders.php:1346 adminpages/orders.php:1347
@@ -3017,7 +3091,7 @@ msgstr ""
3017
  msgid "Print"
3018
  msgstr ""
3019
 
3020
- #: adminpages/orders.php:419 adminpages/orders.php:220
3021
  #: adminpages/orders.php:270 adminpages/orders.php:342
3022
  #: adminpages/orders.php:359 adminpages/orders.php:371
3023
  #: adminpages/orders.php:390 adminpages/orders.php:401
@@ -3027,7 +3101,7 @@ msgstr ""
3027
  msgid "Randomly generated for you."
3028
  msgstr ""
3029
 
3030
- #: adminpages/orders.php:424 adminpages/orders.php:225
3031
  #: adminpages/orders.php:275 adminpages/orders.php:347
3032
  #: adminpages/orders.php:364 adminpages/orders.php:376
3033
  #: adminpages/orders.php:395 adminpages/orders.php:406
@@ -3037,7 +3111,7 @@ msgstr ""
3037
  msgid "User ID"
3038
  msgstr ""
3039
 
3040
- #: adminpages/orders.php:437 adminpages/orders.php:234
3041
  #: adminpages/orders.php:284 adminpages/orders.php:356
3042
  #: adminpages/orders.php:376 adminpages/orders.php:385
3043
  #: adminpages/orders.php:407 adminpages/orders.php:418
@@ -3047,7 +3121,7 @@ msgstr ""
3047
  msgid "Membership Level ID"
3048
  msgstr ""
3049
 
3050
- #: adminpages/orders.php:450 includes/privacy.php:245 adminpages/orders.php:243
3051
  #: adminpages/orders.php:293 adminpages/orders.php:365
3052
  #: adminpages/orders.php:389 adminpages/orders.php:394
3053
  #: adminpages/orders.php:420 adminpages/orders.php:431
@@ -3057,7 +3131,7 @@ msgstr ""
3057
  msgid "Billing Name"
3058
  msgstr ""
3059
 
3060
- #: adminpages/orders.php:464 includes/privacy.php:249 adminpages/orders.php:251
3061
  #: adminpages/orders.php:301 adminpages/orders.php:373
3062
  #: adminpages/orders.php:401 adminpages/orders.php:402
3063
  #: adminpages/orders.php:432 adminpages/orders.php:443
@@ -3067,7 +3141,7 @@ msgstr ""
3067
  msgid "Billing Street"
3068
  msgstr ""
3069
 
3070
- #: adminpages/orders.php:477 includes/privacy.php:253 includes/privacy.php:358
3071
  #: adminpages/orders.php:258 adminpages/orders.php:308
3072
  #: adminpages/orders.php:380 adminpages/orders.php:409
3073
  #: adminpages/orders.php:412 adminpages/orders.php:443
@@ -3078,7 +3152,7 @@ msgstr ""
3078
  msgid "Billing City"
3079
  msgstr ""
3080
 
3081
- #: adminpages/orders.php:490 includes/privacy.php:257 adminpages/orders.php:265
3082
  #: adminpages/orders.php:315 adminpages/orders.php:387
3083
  #: adminpages/orders.php:416 adminpages/orders.php:423
3084
  #: adminpages/orders.php:454 adminpages/orders.php:465
@@ -3088,7 +3162,7 @@ msgstr ""
3088
  msgid "Billing State"
3089
  msgstr ""
3090
 
3091
- #: adminpages/orders.php:503 includes/privacy.php:261 includes/privacy.php:360
3092
  #: adminpages/orders.php:272 adminpages/orders.php:322
3093
  #: adminpages/orders.php:394 adminpages/orders.php:423
3094
  #: adminpages/orders.php:434 adminpages/orders.php:465
@@ -3099,7 +3173,7 @@ msgstr ""
3099
  msgid "Billing Postal Code"
3100
  msgstr ""
3101
 
3102
- #: adminpages/orders.php:516 includes/privacy.php:265 includes/privacy.php:362
3103
  #: adminpages/orders.php:279 adminpages/orders.php:329
3104
  #: adminpages/orders.php:401 adminpages/orders.php:430
3105
  #: adminpages/orders.php:445 adminpages/orders.php:476
@@ -3110,7 +3184,7 @@ msgstr ""
3110
  msgid "Billing Country"
3111
  msgstr ""
3112
 
3113
- #: adminpages/orders.php:530 includes/privacy.php:269 adminpages/orders.php:287
3114
  #: adminpages/orders.php:337 adminpages/orders.php:409
3115
  #: adminpages/orders.php:438 adminpages/orders.php:457
3116
  #: adminpages/orders.php:488 adminpages/orders.php:499
@@ -3120,7 +3194,7 @@ msgstr ""
3120
  msgid "Billing Phone"
3121
  msgstr ""
3122
 
3123
- #: adminpages/orders.php:560 adminpages/orders.php:1307
3124
  #: classes/class.pmproemail.php:313 classes/class.pmproemail.php:322
3125
  #: classes/class.pmproemail.php:331 classes/class.pmproemail.php:413
3126
  #: classes/class.pmproemail.php:422 classes/class.pmproemail.php:740
@@ -3216,12 +3290,13 @@ msgstr ""
3216
  msgid "Discount Code"
3217
  msgstr ""
3218
 
3219
- #: adminpages/orders.php:571 classes/class.pmproemail.php:865
3220
- #: classes/class.pmproemail.php:915 includes/init.php:193
3221
- #: includes/profile.php:48 adminpages/orders.php:571 adminpages/orders.php:575
3222
  #: adminpages/orders.php:576 adminpages/orders.php:586
3223
- #: classes/class.pmproemail.php:868 classes/class.pmproemail.php:876
3224
- #: classes/class.pmproemail.php:877 classes/class.pmproemail.php:905
 
3225
  #: includes/init.php:193 includes/init.php:229 includes/init.php:232
3226
  #: includes/init.php:233 includes/init.php:235 includes/init.php:237
3227
  #: includes/init.php:245 includes/init.php:253 includes/init.php:258
@@ -3232,7 +3307,7 @@ msgstr ""
3232
  msgid "None"
3233
  msgstr ""
3234
 
3235
- #: adminpages/orders.php:582 includes/privacy.php:273 adminpages/orders.php:296
3236
  #: adminpages/orders.php:346 adminpages/orders.php:418
3237
  #: adminpages/orders.php:447 adminpages/orders.php:470
3238
  #: adminpages/orders.php:501 adminpages/orders.php:512
@@ -3242,7 +3317,7 @@ msgstr ""
3242
  msgid "Sub Total"
3243
  msgstr ""
3244
 
3245
- #: adminpages/orders.php:595 adminpages/templates/orders-email.php:60
3246
  #: adminpages/templates/orders-print.php:89 includes/privacy.php:277
3247
  #: pages/confirmation.php:94 pages/invoice.php:76 adminpages/orders.php:304
3248
  #: adminpages/orders.php:354 adminpages/orders.php:426
@@ -3252,13 +3327,14 @@ msgstr ""
3252
  #: adminpages/orders.php:599 adminpages/orders.php:600
3253
  #: adminpages/orders.php:610 adminpages/templates/orders-email.php:60
3254
  #: adminpages/templates/orders-print.php:89 includes/privacy.php:277
3255
- #: pages/confirmation.php:91 pages/confirmation.php:92 pages/invoice.php:73
3256
- #: pages/invoice.php:74 pages/invoice.php:75 pages/invoice.php:78
 
3257
  #: pages/invoice.php:80
3258
  msgid "Tax"
3259
  msgstr ""
3260
 
3261
- #: adminpages/orders.php:608 includes/privacy.php:281 adminpages/orders.php:312
3262
  #: adminpages/orders.php:362 adminpages/orders.php:434
3263
  #: adminpages/orders.php:463 adminpages/orders.php:492
3264
  #: adminpages/orders.php:523 adminpages/orders.php:534
@@ -3268,7 +3344,7 @@ msgstr ""
3268
  msgid "Coupon Amount"
3269
  msgstr ""
3270
 
3271
- #: adminpages/orders.php:632 adminpages/orders.php:325
3272
  #: adminpages/orders.php:375 adminpages/orders.php:447
3273
  #: adminpages/orders.php:476 adminpages/orders.php:513
3274
  #: adminpages/orders.php:544 adminpages/orders.php:555
@@ -3278,7 +3354,7 @@ msgstr ""
3278
  msgid "Should be subtotal + tax - couponamount."
3279
  msgstr ""
3280
 
3281
- #: adminpages/orders.php:637 includes/privacy.php:289 adminpages/orders.php:330
3282
  #: adminpages/orders.php:380 adminpages/orders.php:452
3283
  #: adminpages/orders.php:481 adminpages/orders.php:518
3284
  #: adminpages/orders.php:549 adminpages/orders.php:560
@@ -3288,7 +3364,7 @@ msgstr ""
3288
  msgid "Payment Type"
3289
  msgstr ""
3290
 
3291
- #: adminpages/orders.php:648 adminpages/orders.php:335
3292
  #: adminpages/orders.php:385 adminpages/orders.php:457
3293
  #: adminpages/orders.php:486 adminpages/orders.php:528
3294
  #: adminpages/orders.php:559 adminpages/orders.php:570
@@ -3298,10 +3374,10 @@ msgstr ""
3298
  msgid "e.g. PayPal Express, PayPal Standard, Credit Card."
3299
  msgstr ""
3300
 
3301
- #: adminpages/orders.php:652
3302
  #: classes/gateways/class.pmprogateway_braintree.php:466
3303
  #: classes/gateways/class.pmprogateway_stripe.php:556 includes/privacy.php:293
3304
- #: pages/billing.php:288 pages/checkout.php:374 adminpages/orders.php:339
3305
  #: adminpages/orders.php:389 adminpages/orders.php:461
3306
  #: adminpages/orders.php:490 adminpages/orders.php:532
3307
  #: adminpages/orders.php:563 adminpages/orders.php:574
@@ -3349,15 +3425,15 @@ msgstr ""
3349
  #: pages/billing.php:250 pages/billing.php:253 pages/billing.php:262
3350
  #: pages/billing.php:268 pages/billing.php:271 pages/billing.php:274
3351
  #: pages/billing.php:275 pages/billing.php:279 pages/billing.php:280
3352
- #: pages/billing.php:294 pages/checkout.php:374 pages/checkout.php:423
3353
- #: pages/checkout.php:431 pages/checkout.php:493 pages/checkout.php:507
3354
- #: pages/checkout.php:510 pages/checkout.php:516 pages/checkout.php:517
3355
- #: pages/checkout.php:525 pages/checkout.php:527 pages/checkout.php:534
3356
- #: pages/checkout.php:537
3357
  msgid "Card Type"
3358
  msgstr ""
3359
 
3360
- #: adminpages/orders.php:662 adminpages/orders.php:344
3361
  #: adminpages/orders.php:394 adminpages/orders.php:466
3362
  #: adminpages/orders.php:495 adminpages/orders.php:540
3363
  #: adminpages/orders.php:571 adminpages/orders.php:582
@@ -3367,7 +3443,7 @@ msgstr ""
3367
  msgid "e.g. Visa, MasterCard, AMEX, etc"
3368
  msgstr ""
3369
 
3370
- #: adminpages/orders.php:666
3371
  #: classes/gateways/class.pmprogateway_twocheckout.php:138
3372
  #: includes/privacy.php:297 adminpages/orders.php:348 adminpages/orders.php:398
3373
  #: adminpages/orders.php:470 adminpages/orders.php:499
@@ -3384,7 +3460,7 @@ msgstr ""
3384
  msgid "Account Number"
3385
  msgstr ""
3386
 
3387
- #: adminpages/orders.php:677 adminpages/orders.php:353
3388
  #: adminpages/orders.php:403 adminpages/orders.php:475
3389
  #: adminpages/orders.php:504 adminpages/orders.php:553
3390
  #: adminpages/orders.php:584 adminpages/orders.php:595
@@ -3394,7 +3470,7 @@ msgstr ""
3394
  msgid "Obscure all but last 4 digits."
3395
  msgstr ""
3396
 
3397
- #: adminpages/orders.php:687 includes/privacy.php:301 adminpages/orders.php:358
3398
  #: adminpages/orders.php:408 adminpages/orders.php:480
3399
  #: adminpages/orders.php:509 adminpages/orders.php:561
3400
  #: adminpages/orders.php:592 adminpages/orders.php:603
@@ -3404,7 +3480,7 @@ msgstr ""
3404
  msgid "Expiration Month"
3405
  msgstr ""
3406
 
3407
- #: adminpages/orders.php:695 includes/privacy.php:305 adminpages/orders.php:365
3408
  #: adminpages/orders.php:415 adminpages/orders.php:487
3409
  #: adminpages/orders.php:516 adminpages/orders.php:569
3410
  #: adminpages/orders.php:600 adminpages/orders.php:611
@@ -3414,8 +3490,8 @@ msgstr ""
3414
  msgid "Expiration Year"
3415
  msgstr ""
3416
 
3417
- #: adminpages/orders.php:727 adminpages/orders.php:1303
3418
- #: classes/class.memberorder.php:861 includes/privacy.php:313
3419
  #: adminpages/orders.php:394 adminpages/orders.php:444
3420
  #: adminpages/orders.php:516 adminpages/orders.php:545
3421
  #: adminpages/orders.php:604 adminpages/orders.php:612
@@ -3435,7 +3511,7 @@ msgstr ""
3435
  msgid "Gateway"
3436
  msgstr ""
3437
 
3438
- #: adminpages/orders.php:750 adminpages/paymentsettings.php:146
3439
  #: includes/privacy.php:317 adminpages/orders.php:411 adminpages/orders.php:461
3440
  #: adminpages/orders.php:462 adminpages/orders.php:534
3441
  #: adminpages/orders.php:563 adminpages/orders.php:633
@@ -3450,7 +3526,7 @@ msgstr ""
3450
  msgid "Gateway Environment"
3451
  msgstr ""
3452
 
3453
- #: adminpages/orders.php:762 adminpages/paymentsettings.php:150
3454
  #: adminpages/orders.php:415 adminpages/orders.php:465
3455
  #: adminpages/orders.php:466 adminpages/orders.php:538
3456
  #: adminpages/orders.php:567 adminpages/orders.php:640
@@ -3465,7 +3541,7 @@ msgstr ""
3465
  msgid "Sandbox/Testing"
3466
  msgstr ""
3467
 
3468
- #: adminpages/orders.php:767 adminpages/paymentsettings.php:151
3469
  #: adminpages/orders.php:416 adminpages/orders.php:466
3470
  #: adminpages/orders.php:467 adminpages/orders.php:539
3471
  #: adminpages/orders.php:568 adminpages/orders.php:642
@@ -3480,7 +3556,7 @@ msgstr ""
3480
  msgid "Live/Production"
3481
  msgstr ""
3482
 
3483
- #: adminpages/orders.php:775 includes/privacy.php:321 adminpages/orders.php:423
3484
  #: adminpages/orders.php:473 adminpages/orders.php:474
3485
  #: adminpages/orders.php:546 adminpages/orders.php:575
3486
  #: adminpages/orders.php:650 adminpages/orders.php:681
@@ -3490,7 +3566,7 @@ msgstr ""
3490
  msgid "Payment Transaction ID"
3491
  msgstr ""
3492
 
3493
- #: adminpages/orders.php:785 adminpages/orders.php:428
3494
  #: adminpages/orders.php:478 adminpages/orders.php:479
3495
  #: adminpages/orders.php:551 adminpages/orders.php:580
3496
  #: adminpages/orders.php:659 adminpages/orders.php:690
@@ -3500,7 +3576,7 @@ msgstr ""
3500
  msgid "Generated by the gateway. Useful to cross reference orders."
3501
  msgstr ""
3502
 
3503
- #: adminpages/orders.php:790 classes/class.memberorder.php:862
3504
  #: includes/privacy.php:325 adminpages/orders.php:432 adminpages/orders.php:482
3505
  #: adminpages/orders.php:483 adminpages/orders.php:555
3506
  #: adminpages/orders.php:584 adminpages/orders.php:664
@@ -3514,7 +3590,7 @@ msgstr ""
3514
  msgid "Subscription Transaction ID"
3515
  msgstr ""
3516
 
3517
- #: adminpages/orders.php:801 adminpages/orders.php:437
3518
  #: adminpages/orders.php:487 adminpages/orders.php:488
3519
  #: adminpages/orders.php:560 adminpages/orders.php:589
3520
  #: adminpages/orders.php:674 adminpages/orders.php:705
@@ -3524,7 +3600,7 @@ msgstr ""
3524
  msgid "Generated by the gateway. Useful to cross reference subscriptions."
3525
  msgstr ""
3526
 
3527
- #: adminpages/orders.php:848 adminpages/orders.php:477
3528
  #: adminpages/orders.php:527 adminpages/orders.php:599
3529
  #: adminpages/orders.php:628 adminpages/orders.php:716
3530
  #: adminpages/orders.php:747 adminpages/orders.php:758
@@ -3534,7 +3610,7 @@ msgstr ""
3534
  msgid "Affiliate ID"
3535
  msgstr ""
3536
 
3537
- #: adminpages/orders.php:862 adminpages/orders.php:485
3538
  #: adminpages/orders.php:535 adminpages/orders.php:607
3539
  #: adminpages/orders.php:636 adminpages/orders.php:728
3540
  #: adminpages/orders.php:759 adminpages/orders.php:770
@@ -3544,13 +3620,13 @@ msgstr ""
3544
  msgid "Affiliate SubID"
3545
  msgstr ""
3546
 
3547
- #: adminpages/orders.php:884 adminpages/orders.php:848
3548
  #: adminpages/orders.php:884 adminpages/orders.php:888
3549
  #: adminpages/orders.php:893 adminpages/orders.php:903
3550
  msgid "TOS Consent"
3551
  msgstr ""
3552
 
3553
- #: adminpages/orders.php:901 adminpages/orders.php:495
3554
  #: adminpages/orders.php:545 adminpages/orders.php:617
3555
  #: adminpages/orders.php:646 adminpages/orders.php:742
3556
  #: adminpages/orders.php:773 adminpages/orders.php:784
@@ -3560,7 +3636,7 @@ msgstr ""
3560
  msgid "Notes"
3561
  msgstr ""
3562
 
3563
- #: adminpages/orders.php:929 adminpages/orders.php:510
3564
  #: adminpages/orders.php:560 adminpages/orders.php:632
3565
  #: adminpages/orders.php:661 adminpages/orders.php:764
3566
  #: adminpages/orders.php:795 adminpages/orders.php:806
@@ -3570,7 +3646,7 @@ msgstr ""
3570
  msgid "Save Order"
3571
  msgstr ""
3572
 
3573
- #: adminpages/orders.php:962 adminpages/memberslist.php:26
3574
  #: adminpages/orders.php:522 adminpages/orders.php:591
3575
  #: adminpages/orders.php:698 adminpages/orders.php:727
3576
  #: adminpages/orders.php:833 adminpages/orders.php:864
@@ -3580,10 +3656,9 @@ msgstr ""
3580
  msgid "Export to CSV"
3581
  msgstr ""
3582
 
3583
- #: adminpages/orders.php:982 adminpages/reports/login.php:103
3584
  #: adminpages/reports/memberships.php:349 adminpages/reports/sales.php:288
3585
- #: classes/class-pmpro-members-list-table.php:600
3586
- #: classes/class-pmpro-members-list-table.php:660 adminpages/memberslist.php:30
3587
  #: adminpages/orders.php:603 adminpages/orders.php:710
3588
  #: adminpages/orders.php:739 adminpages/orders.php:848
3589
  #: adminpages/orders.php:879 adminpages/orders.php:890
@@ -3609,7 +3684,7 @@ msgstr ""
3609
  msgid "Show"
3610
  msgstr ""
3611
 
3612
- #: adminpages/orders.php:986 adminpages/orders.php:606
3613
  #: adminpages/orders.php:713 adminpages/orders.php:742
3614
  #: adminpages/orders.php:852 adminpages/orders.php:883
3615
  #: adminpages/orders.php:894 adminpages/orders.php:985
@@ -3618,7 +3693,7 @@ msgstr ""
3618
  msgid "Within a Date Range"
3619
  msgstr ""
3620
 
3621
- #: adminpages/orders.php:988 adminpages/orders.php:607
3622
  #: adminpages/orders.php:714 adminpages/orders.php:743
3623
  #: adminpages/orders.php:854 adminpages/orders.php:885
3624
  #: adminpages/orders.php:896 adminpages/orders.php:987
@@ -3627,7 +3702,7 @@ msgstr ""
3627
  msgid "Predefined Date Range"
3628
  msgstr ""
3629
 
3630
- #: adminpages/orders.php:990 adminpages/orders.php:608
3631
  #: adminpages/orders.php:715 adminpages/orders.php:744
3632
  #: adminpages/orders.php:856 adminpages/orders.php:887
3633
  #: adminpages/orders.php:898 adminpages/orders.php:989
@@ -3636,13 +3711,13 @@ msgstr ""
3636
  msgid "Within a Level"
3637
  msgstr ""
3638
 
3639
- #: adminpages/orders.php:992 adminpages/orders.php:992
3640
  #: adminpages/orders.php:997 adminpages/orders.php:1002
3641
  #: adminpages/orders.php:1047
3642
  msgid "With a Discount Code"
3643
  msgstr ""
3644
 
3645
- #: adminpages/orders.php:994 adminpages/orders.php:609
3646
  #: adminpages/orders.php:716 adminpages/orders.php:745
3647
  #: adminpages/orders.php:858 adminpages/orders.php:889
3648
  #: adminpages/orders.php:900 adminpages/orders.php:991
@@ -3651,19 +3726,19 @@ msgstr ""
3651
  msgid "Within a Status"
3652
  msgstr ""
3653
 
3654
- #: adminpages/orders.php:996 adminpages/orders.php:996
3655
  #: adminpages/orders.php:1001 adminpages/orders.php:1006
3656
  #: adminpages/orders.php:1051
3657
  msgid "Only Paid Orders"
3658
  msgstr ""
3659
 
3660
- #: adminpages/orders.php:998 adminpages/orders.php:998
3661
  #: adminpages/orders.php:1003 adminpages/orders.php:1008
3662
  #: adminpages/orders.php:1053
3663
  msgid "Only Free Orders"
3664
  msgstr ""
3665
 
3666
- #: adminpages/orders.php:1001 adminpages/orders.php:612
3667
  #: adminpages/orders.php:719 adminpages/orders.php:748
3668
  #: adminpages/orders.php:861 adminpages/orders.php:892
3669
  #: adminpages/orders.php:903 adminpages/orders.php:994
@@ -3672,7 +3747,7 @@ msgstr ""
3672
  msgid "From"
3673
  msgstr ""
3674
 
3675
- #: adminpages/orders.php:1016 adminpages/orders.php:624
3676
  #: adminpages/orders.php:731 adminpages/orders.php:760
3677
  #: adminpages/orders.php:876 adminpages/orders.php:907
3678
  #: adminpages/orders.php:918 adminpages/orders.php:1009
@@ -3681,7 +3756,7 @@ msgstr ""
3681
  msgid "To"
3682
  msgstr ""
3683
 
3684
- #: adminpages/orders.php:1029 adminpages/orders.php:636
3685
  #: adminpages/orders.php:743 adminpages/orders.php:772
3686
  #: adminpages/orders.php:889 adminpages/orders.php:920
3687
  #: adminpages/orders.php:931 adminpages/orders.php:1022
@@ -3690,7 +3765,7 @@ msgstr ""
3690
  msgid "filter by "
3691
  msgstr ""
3692
 
3693
- #: adminpages/orders.php:1079 adminpages/orders.php:674
3694
  #: adminpages/orders.php:780 adminpages/orders.php:809
3695
  #: adminpages/orders.php:932 adminpages/orders.php:963
3696
  #: adminpages/orders.php:969 adminpages/orders.php:1060
@@ -3699,7 +3774,7 @@ msgstr ""
3699
  msgid "Filter"
3700
  msgstr ""
3701
 
3702
- #: adminpages/orders.php:1213 adminpages/orders.php:1216
3703
  #: adminpages/orders.php:535 adminpages/orders.php:538
3704
  #: adminpages/orders.php:777 adminpages/orders.php:780
3705
  #: adminpages/orders.php:883 adminpages/orders.php:886
@@ -3715,7 +3790,7 @@ msgstr ""
3715
  msgid "Search Orders"
3716
  msgstr ""
3717
 
3718
- #: adminpages/orders.php:1289 adminpages/orders.php:590
3719
  #: adminpages/orders.php:893 adminpages/orders.php:903
3720
  #: adminpages/orders.php:930 adminpages/orders.php:959
3721
  #: adminpages/orders.php:1096 adminpages/orders.php:1127
@@ -3726,7 +3801,7 @@ msgstr ""
3726
  msgid "%d orders found."
3727
  msgstr ""
3728
 
3729
- #: adminpages/orders.php:1302 adminpages/orders.php:1419
3730
  #: adminpages/orders.php:603 adminpages/orders.php:651
3731
  #: adminpages/orders.php:906 adminpages/orders.php:916
3732
  #: adminpages/orders.php:943 adminpages/orders.php:954
@@ -3743,7 +3818,7 @@ msgstr ""
3743
  msgid "Payment"
3744
  msgstr ""
3745
 
3746
- #: adminpages/orders.php:1304 adminpages/orders.php:605
3747
  #: adminpages/orders.php:908 adminpages/orders.php:918
3748
  #: adminpages/orders.php:945 adminpages/orders.php:974
3749
  #: adminpages/orders.php:1111 adminpages/orders.php:1142
@@ -3753,7 +3828,7 @@ msgstr ""
3753
  msgid "Transaction IDs"
3754
  msgstr ""
3755
 
3756
- #: adminpages/orders.php:1338 adminpages/orders.php:664
3757
  #: adminpages/orders.php:967 adminpages/orders.php:985
3758
  #: adminpages/orders.php:995 adminpages/orders.php:998
3759
  #: adminpages/orders.php:1027 adminpages/orders.php:1056
@@ -3768,7 +3843,7 @@ msgid ""
3768
  "want to delete order %s?"
3769
  msgstr ""
3770
 
3771
- #: adminpages/orders.php:1428 adminpages/orders.php:653
3772
  #: adminpages/orders.php:956 adminpages/orders.php:974
3773
  #: adminpages/orders.php:984 adminpages/orders.php:1013
3774
  #: adminpages/orders.php:1042 adminpages/orders.php:1192
@@ -3779,7 +3854,7 @@ msgstr ""
3779
  msgid "Subscription"
3780
  msgstr ""
3781
 
3782
- #: adminpages/orders.php:1445 adminpages/discountcodes.php:614
3783
  #: adminpages/discountcodes.php:619 adminpages/discountcodes.php:647
3784
  #: adminpages/discountcodes.php:648 adminpages/discountcodes.php:649
3785
  #: adminpages/discountcodes.php:650 adminpages/discountcodes.php:655
@@ -3803,54 +3878,74 @@ msgstr ""
3803
  msgid "edit"
3804
  msgstr ""
3805
 
3806
- #: adminpages/pagesettings.php:62 adminpages/pagesettings.php:54
3807
  #: adminpages/pagesettings.php:55 adminpages/pagesettings.php:62
3808
  msgid "Your page settings have been updated."
3809
  msgstr ""
3810
 
3811
- #: adminpages/pagesettings.php:79 adminpages/pagesettings.php:51
 
 
 
 
3812
  #: adminpages/pagesettings.php:64 adminpages/pagesettings.php:65
3813
  #: adminpages/pagesettings.php:79
3814
  msgid "Membership Account"
3815
  msgstr ""
3816
 
3817
- #: adminpages/pagesettings.php:80 adminpages/pagesettings.php:54
3818
  #: adminpages/pagesettings.php:65 adminpages/pagesettings.php:66
3819
  #: adminpages/pagesettings.php:80
3820
  msgid "Membership Billing"
3821
  msgstr ""
3822
 
3823
- #: adminpages/pagesettings.php:81 adminpages/pagesettings.php:57
3824
  #: adminpages/pagesettings.php:66 adminpages/pagesettings.php:67
3825
  #: adminpages/pagesettings.php:81
3826
  msgid "Membership Cancel"
3827
  msgstr ""
3828
 
3829
- #: adminpages/pagesettings.php:82 adminpages/pagesettings.php:60
3830
  #: adminpages/pagesettings.php:67 adminpages/pagesettings.php:68
3831
  #: adminpages/pagesettings.php:82
3832
  msgid "Membership Checkout"
3833
  msgstr ""
3834
 
3835
- #: adminpages/pagesettings.php:83 adminpages/pagesettings.php:63
3836
  #: adminpages/pagesettings.php:68 adminpages/pagesettings.php:69
3837
  #: adminpages/pagesettings.php:83
3838
  msgid "Membership Confirmation"
3839
  msgstr ""
3840
 
3841
- #: adminpages/pagesettings.php:84 adminpages/pagesettings.php:66
3842
  #: adminpages/pagesettings.php:69 adminpages/pagesettings.php:70
3843
  #: adminpages/pagesettings.php:84
3844
  msgid "Membership Invoice"
3845
  msgstr ""
3846
 
3847
- #: adminpages/pagesettings.php:98 adminpages/pagesettings.php:83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3848
  #: adminpages/pagesettings.php:84 adminpages/pagesettings.php:98
3849
  #: adminpages/pagesettings.php:111
3850
  msgid "The following pages have been created for you"
3851
  msgstr ""
3852
 
3853
- #: adminpages/pagesettings.php:126 adminpages/pagesettings.php:97
3854
  #: adminpages/pagesettings.php:98 adminpages/pagesettings.php:112
3855
  #: adminpages/pagesettings.php:113 adminpages/pagesettings.php:124
3856
  #: adminpages/pagesettings.php:126
@@ -3859,7 +3954,7 @@ msgid ""
3859
  "page."
3860
  msgstr ""
3861
 
3862
- #: adminpages/pagesettings.php:128 adminpages/pagesettings.php:101
3863
  #: adminpages/pagesettings.php:102 adminpages/pagesettings.php:104
3864
  #: adminpages/pagesettings.php:114 adminpages/pagesettings.php:117
3865
  #: adminpages/pagesettings.php:126 adminpages/pagesettings.php:128
@@ -3868,7 +3963,7 @@ msgid ""
3868
  "Assign the WordPress pages for each required Paid Memberships Pro page or"
3869
  msgstr ""
3870
 
3871
- #: adminpages/pagesettings.php:129 adminpages/pagesettings.php:102
3872
  #: adminpages/pagesettings.php:103 adminpages/pagesettings.php:104
3873
  #: adminpages/pagesettings.php:115 adminpages/pagesettings.php:118
3874
  #: adminpages/pagesettings.php:127 adminpages/pagesettings.php:129
@@ -3876,17 +3971,17 @@ msgstr ""
3876
  msgid "click here to let us generate them for you"
3877
  msgstr ""
3878
 
3879
- #: adminpages/pagesettings.php:145 adminpages/pagesettings.php:111
3880
  #: adminpages/pagesettings.php:112 adminpages/pagesettings.php:127
3881
  #: adminpages/pagesettings.php:131 adminpages/pagesettings.php:140
3882
  #: adminpages/pagesettings.php:143 adminpages/pagesettings.php:145
3883
  msgid "Account Page"
3884
  msgstr ""
3885
 
3886
- #: adminpages/pagesettings.php:149 adminpages/pagesettings.php:166
3887
- #: adminpages/pagesettings.php:183 adminpages/pagesettings.php:201
3888
- #: adminpages/pagesettings.php:219 adminpages/pagesettings.php:237
3889
- #: adminpages/pagesettings.php:255 adminpages/pagesettings.php:306
3890
  #: adminpages/pagesettings.php:115 adminpages/pagesettings.php:116
3891
  #: adminpages/pagesettings.php:131 adminpages/pagesettings.php:133
3892
  #: adminpages/pagesettings.php:134 adminpages/pagesettings.php:135
@@ -3919,10 +4014,11 @@ msgstr ""
3919
  msgid "Choose One"
3920
  msgstr ""
3921
 
3922
- #: adminpages/pagesettings.php:153 adminpages/pagesettings.php:170
3923
- #: adminpages/pagesettings.php:187 adminpages/pagesettings.php:205
3924
- #: adminpages/pagesettings.php:223 adminpages/pagesettings.php:241
3925
- #: adminpages/pagesettings.php:259 adminpages/pagesettings.php:312
 
3926
  #: adminpages/pagesettings.php:119 adminpages/pagesettings.php:120
3927
  #: adminpages/pagesettings.php:132 adminpages/pagesettings.php:134
3928
  #: adminpages/pagesettings.php:135 adminpages/pagesettings.php:137
@@ -3960,10 +4056,11 @@ msgstr ""
3960
  msgid "edit page"
3961
  msgstr ""
3962
 
3963
- #: adminpages/pagesettings.php:156 adminpages/pagesettings.php:173
3964
- #: adminpages/pagesettings.php:190 adminpages/pagesettings.php:208
3965
- #: adminpages/pagesettings.php:226 adminpages/pagesettings.php:244
3966
- #: adminpages/pagesettings.php:262 adminpages/pagesettings.php:315
 
3967
  #: adminpages/pagesettings.php:121 adminpages/pagesettings.php:122
3968
  #: adminpages/pagesettings.php:123 adminpages/pagesettings.php:136
3969
  #: adminpages/pagesettings.php:138 adminpages/pagesettings.php:140
@@ -4002,10 +4099,10 @@ msgstr ""
4002
  msgid "view page"
4003
  msgstr ""
4004
 
4005
- #: adminpages/pagesettings.php:158 adminpages/pagesettings.php:175
4006
- #: adminpages/pagesettings.php:192 adminpages/pagesettings.php:210
4007
- #: adminpages/pagesettings.php:228 adminpages/pagesettings.php:246
4008
- #: adminpages/pagesettings.php:264 adminpages/pagesettings.php:121
4009
  #: adminpages/pagesettings.php:123 adminpages/pagesettings.php:125
4010
  #: adminpages/pagesettings.php:126 adminpages/pagesettings.php:134
4011
  #: adminpages/pagesettings.php:138 adminpages/pagesettings.php:141
@@ -4042,12 +4139,12 @@ msgstr ""
4042
  msgid "Include the shortcode"
4043
  msgstr ""
4044
 
4045
- #: adminpages/pagesettings.php:158 adminpages/pagesettings.php:156
4046
  #: adminpages/pagesettings.php:158
4047
  msgid "or the Membership Account block"
4048
  msgstr ""
4049
 
4050
- #: adminpages/pagesettings.php:162 adminpages/pagesettings.php:125
4051
  #: adminpages/pagesettings.php:127 adminpages/pagesettings.php:129
4052
  #: adminpages/pagesettings.php:130 adminpages/pagesettings.php:145
4053
  #: adminpages/pagesettings.php:149 adminpages/pagesettings.php:155
@@ -4056,12 +4153,12 @@ msgstr ""
4056
  msgid "Billing Information Page"
4057
  msgstr ""
4058
 
4059
- #: adminpages/pagesettings.php:175 adminpages/pagesettings.php:173
4060
  #: adminpages/pagesettings.php:175
4061
  msgid "or the Membership Billing block"
4062
  msgstr ""
4063
 
4064
- #: adminpages/pagesettings.php:179 adminpages/pagesettings.php:138
4065
  #: adminpages/pagesettings.php:142 adminpages/pagesettings.php:147
4066
  #: adminpages/pagesettings.php:148 adminpages/pagesettings.php:163
4067
  #: adminpages/pagesettings.php:167 adminpages/pagesettings.php:170
@@ -4070,12 +4167,12 @@ msgstr ""
4070
  msgid "Cancel Page"
4071
  msgstr ""
4072
 
4073
- #: adminpages/pagesettings.php:192 adminpages/pagesettings.php:190
4074
  #: adminpages/pagesettings.php:192
4075
  msgid "or the Membership Cancel block"
4076
  msgstr ""
4077
 
4078
- #: adminpages/pagesettings.php:197 adminpages/pagesettings.php:152
4079
  #: adminpages/pagesettings.php:158 adminpages/pagesettings.php:166
4080
  #: adminpages/pagesettings.php:167 adminpages/pagesettings.php:182
4081
  #: adminpages/pagesettings.php:186 adminpages/pagesettings.php:189
@@ -4084,12 +4181,12 @@ msgstr ""
4084
  msgid "Checkout Page"
4085
  msgstr ""
4086
 
4087
- #: adminpages/pagesettings.php:210 adminpages/pagesettings.php:208
4088
  #: adminpages/pagesettings.php:210
4089
  msgid "or the Membership Checkout block"
4090
  msgstr ""
4091
 
4092
- #: adminpages/pagesettings.php:215 adminpages/pagesettings.php:166
4093
  #: adminpages/pagesettings.php:174 adminpages/pagesettings.php:185
4094
  #: adminpages/pagesettings.php:186 adminpages/pagesettings.php:201
4095
  #: adminpages/pagesettings.php:202 adminpages/pagesettings.php:205
@@ -4098,12 +4195,12 @@ msgstr ""
4098
  msgid "Confirmation Page"
4099
  msgstr ""
4100
 
4101
- #: adminpages/pagesettings.php:228 adminpages/pagesettings.php:226
4102
  #: adminpages/pagesettings.php:228
4103
  msgid "or the Membership Confirmation block"
4104
  msgstr ""
4105
 
4106
- #: adminpages/pagesettings.php:233 adminpages/pagesettings.php:180
4107
  #: adminpages/pagesettings.php:190 adminpages/pagesettings.php:205
4108
  #: adminpages/pagesettings.php:206 adminpages/pagesettings.php:218
4109
  #: adminpages/pagesettings.php:221 adminpages/pagesettings.php:225
@@ -4112,12 +4209,12 @@ msgstr ""
4112
  msgid "Invoice Page"
4113
  msgstr ""
4114
 
4115
- #: adminpages/pagesettings.php:246 adminpages/pagesettings.php:244
4116
  #: adminpages/pagesettings.php:246
4117
  msgid "or the Membership Invoice block"
4118
  msgstr ""
4119
 
4120
- #: adminpages/pagesettings.php:251 adminpages/pagesettings.php:194
4121
  #: adminpages/pagesettings.php:206 adminpages/pagesettings.php:224
4122
  #: adminpages/pagesettings.php:225 adminpages/pagesettings.php:234
4123
  #: adminpages/pagesettings.php:237 adminpages/pagesettings.php:240
@@ -4126,12 +4223,12 @@ msgstr ""
4126
  msgid "Levels Page"
4127
  msgstr ""
4128
 
4129
- #: adminpages/pagesettings.php:264 adminpages/pagesettings.php:262
4130
  #: adminpages/pagesettings.php:264
4131
  msgid "or the Membership Levels block"
4132
  msgstr ""
4133
 
4134
- #: adminpages/pagesettings.php:274 adminpages/pagesettings.php:272
4135
  #: adminpages/pagesettings.php:274 adminpages/pagesettings.php:280
4136
  #, php-format
4137
  msgid ""
@@ -4140,20 +4237,33 @@ msgid ""
4140
  "\">Advanced Levels Page Add On</a>."
4141
  msgstr ""
4142
 
4143
- #: adminpages/pagesettings.php:283 adminpages/pagesettings.php:245
4144
- #: adminpages/pagesettings.php:246 adminpages/pagesettings.php:261
4145
- #: adminpages/pagesettings.php:266 adminpages/pagesettings.php:281
4146
- #: adminpages/pagesettings.php:283 adminpages/pagesettings.php:289
4147
- msgid "Additional Page Settings"
4148
  msgstr ""
4149
 
4150
- #: adminpages/pagesettings.php:318 adminpages/pagesettings.php:280
 
4151
  #: adminpages/pagesettings.php:281 adminpages/pagesettings.php:296
4152
  #: adminpages/pagesettings.php:301 adminpages/pagesettings.php:316
4153
  #: adminpages/pagesettings.php:318 adminpages/pagesettings.php:324
4154
  msgid "Generate Page"
4155
  msgstr ""
4156
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4157
  #: adminpages/paymentsettings.php:64 adminpages/paymentsettings.php:49
4158
  #: adminpages/paymentsettings.php:64 adminpages/paymentsettings.php:77
4159
  #: adminpages/paymentsettings.php:82
@@ -4243,7 +4353,7 @@ msgstr ""
4243
  msgid "Sales Tax"
4244
  msgstr ""
4245
 
4246
- #: adminpages/paymentsettings.php:225 pages/billing.php:134
4247
  #: adminpages/paymentsettings.php:188 adminpages/paymentsettings.php:205
4248
  #: adminpages/paymentsettings.php:222 adminpages/paymentsettings.php:224
4249
  #: adminpages/paymentsettings.php:225 adminpages/paymentsettings.php:398
@@ -4252,7 +4362,7 @@ msgstr ""
4252
  #: pages/billing.php:91 pages/billing.php:94 pages/billing.php:96
4253
  #: pages/billing.php:97 pages/billing.php:100 pages/billing.php:117
4254
  #: pages/billing.php:120 pages/billing.php:121 pages/billing.php:123
4255
- #: pages/billing.php:125 pages/billing.php:126
4256
  msgid "optional"
4257
  msgstr ""
4258
 
@@ -4447,19 +4557,19 @@ msgid "Visits, Views, and Logins Report"
4447
  msgstr ""
4448
 
4449
  #: adminpages/reports/login.php:104
4450
- #: classes/class-pmpro-members-list-table.php:260
4451
  #: adminpages/memberslist.php:279 adminpages/memberslist.php:283
4452
  #: adminpages/reports/login.php:66 adminpages/reports/login.php:68
4453
  #: adminpages/reports/login.php:84 adminpages/reports/login.php:88
4454
  #: adminpages/reports/login.php:104
 
4455
  #: classes/class-pmpro-members-list-table.php:265
4456
  msgid "All Users"
4457
  msgstr ""
4458
 
4459
  #: adminpages/reports/login.php:105 adminpages/reports/memberships.php:373
4460
  #: adminpages/reports/sales.php:311
4461
- #: classes/class-pmpro-members-list-table.php:606
4462
- #: classes/class-pmpro-members-list-table.php:662
4463
  #: classes/class.pmproemail.php:182 classes/class.pmproemail.php:227
4464
  #: adminpages/memberslist.php:32 adminpages/reports/login.php:67
4465
  #: adminpages/reports/login.php:69 adminpages/reports/login.php:85
@@ -4558,7 +4668,7 @@ msgid "Logins All Time"
4558
  msgstr ""
4559
 
4560
  #: adminpages/reports/login.php:261
4561
- #: classes/class-pmpro-members-list-table.php:254
4562
  #: adminpages/memberslist.php:195 adminpages/memberslist.php:223
4563
  #: adminpages/memberslist.php:251 adminpages/memberslist.php:261
4564
  #: adminpages/memberslist.php:262 adminpages/memberslist.php:266
@@ -4566,6 +4676,7 @@ msgstr ""
4566
  #: adminpages/reports/login.php:210 adminpages/reports/login.php:212
4567
  #: adminpages/reports/login.php:228 adminpages/reports/login.php:232
4568
  #: adminpages/reports/login.php:261
 
4569
  #: classes/class-pmpro-members-list-table.php:259
4570
  msgid "Search all levels"
4571
  msgstr ""
@@ -4591,34 +4702,6 @@ msgstr ""
4591
  msgid "This Year"
4592
  msgstr ""
4593
 
4594
- #: adminpages/reports/memberships.php:351 adminpages/reports/sales.php:290
4595
- #: adminpages/reports/memberships.php:258
4596
- #: adminpages/reports/memberships.php:265
4597
- #: adminpages/reports/memberships.php:278
4598
- #: adminpages/reports/memberships.php:294
4599
- #: adminpages/reports/memberships.php:306
4600
- #: adminpages/reports/memberships.php:330
4601
- #: adminpages/reports/memberships.php:351 adminpages/reports/sales.php:187
4602
- #: adminpages/reports/sales.php:195 adminpages/reports/sales.php:196
4603
- #: adminpages/reports/sales.php:204 adminpages/reports/sales.php:205
4604
- #: adminpages/reports/sales.php:221 adminpages/reports/sales.php:290
4605
- msgid "Daily"
4606
- msgstr ""
4607
-
4608
- #: adminpages/reports/memberships.php:352 adminpages/reports/sales.php:291
4609
- #: adminpages/reports/memberships.php:259
4610
- #: adminpages/reports/memberships.php:266
4611
- #: adminpages/reports/memberships.php:279
4612
- #: adminpages/reports/memberships.php:295
4613
- #: adminpages/reports/memberships.php:307
4614
- #: adminpages/reports/memberships.php:331
4615
- #: adminpages/reports/memberships.php:352 adminpages/reports/sales.php:188
4616
- #: adminpages/reports/sales.php:196 adminpages/reports/sales.php:197
4617
- #: adminpages/reports/sales.php:205 adminpages/reports/sales.php:206
4618
- #: adminpages/reports/sales.php:222 adminpages/reports/sales.php:291
4619
- msgid "Monthly"
4620
- msgstr ""
4621
-
4622
  #: adminpages/reports/memberships.php:353 adminpages/reports/sales.php:292
4623
  #: adminpages/reports/memberships.php:260
4624
  #: adminpages/reports/memberships.php:267
@@ -4707,20 +4790,6 @@ msgstr ""
4707
  msgid "All Codes"
4708
  msgstr ""
4709
 
4710
- #: adminpages/reports/memberships.php:402 adminpages/reports/sales.php:336
4711
- #: adminpages/reports/memberships.php:295
4712
- #: adminpages/reports/memberships.php:304
4713
- #: adminpages/reports/memberships.php:317
4714
- #: adminpages/reports/memberships.php:331
4715
- #: adminpages/reports/memberships.php:345
4716
- #: adminpages/reports/memberships.php:369
4717
- #: adminpages/reports/memberships.php:402 adminpages/reports/sales.php:222
4718
- #: adminpages/reports/sales.php:230 adminpages/reports/sales.php:231
4719
- #: adminpages/reports/sales.php:239 adminpages/reports/sales.php:240
4720
- #: adminpages/reports/sales.php:256 adminpages/reports/sales.php:336
4721
- msgid "Generate Report"
4722
- msgstr ""
4723
-
4724
  #: adminpages/reports/sales.php:18 adminpages/reports/sales.php:18
4725
  msgid "Sales and Revenue (Testing/Sandbox)"
4726
  msgstr ""
@@ -4743,6 +4812,19 @@ msgstr ""
4743
  msgid "Revenue"
4744
  msgstr ""
4745
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4746
  #: adminpages/reports/sales.php:339 adminpages/reports/sales.php:339
4747
  msgid ""
4748
  "Average line calculated using data prior to current day, month, or year."
@@ -4791,8 +4873,9 @@ msgstr ""
4791
  #: adminpages/templates/orders-print.php:85 pages/confirmation.php:93
4792
  #: pages/invoice.php:75 adminpages/templates/orders-email.php:56
4793
  #: adminpages/templates/orders-print.php:85 pages/confirmation.php:90
4794
- #: pages/confirmation.php:91 pages/invoice.php:72 pages/invoice.php:73
4795
- #: pages/invoice.php:74 pages/invoice.php:77 pages/invoice.php:79
 
4796
  msgid "Subtotal"
4797
  msgstr ""
4798
 
@@ -4811,9 +4894,10 @@ msgstr ""
4811
  msgid "Update complete."
4812
  msgstr ""
4813
 
4814
- #: blocks/blocks.php:35
 
 
4815
  #: includes/compatibility/elementor/class-pmpro-elementor.php:61
4816
- #: blocks/blocks.php:35
4817
  msgid "Paid Memberships Pro"
4818
  msgstr ""
4819
 
@@ -4830,69 +4914,151 @@ msgid ""
4830
  "site's plugin page."
4831
  msgstr ""
4832
 
4833
- #: classes/class-pmpro-members-list-table.php:258
4834
- #: adminpages/memberslist.php:274 adminpages/memberslist.php:278
4835
- #: classes/class-pmpro-members-list-table.php:263
4836
- msgid "You can also try searching:"
4837
  msgstr ""
4838
 
4839
- #: classes/class-pmpro-members-list-table.php:261
4840
- #: classes/class-pmpro-members-list-table.php:629
4841
- #: classes/class-pmpro-members-list-table.php:672 adminpages/memberslist.php:42
4842
- #: adminpages/memberslist.php:276 adminpages/memberslist.php:280
4843
- #: classes/class-pmpro-members-list-table.php:266
4844
- #: classes/class-pmpro-members-list-table.php:561
4845
- #: classes/class-pmpro-members-list-table.php:604
4846
- #: classes/class-pmpro-members-list-table.php:629
4847
- #: classes/class-pmpro-members-list-table.php:672
4848
- msgid "Cancelled Members"
4849
  msgstr ""
4850
 
4851
- #: classes/class-pmpro-members-list-table.php:262
4852
- #: classes/class-pmpro-members-list-table.php:634
4853
- #: classes/class-pmpro-members-list-table.php:673 adminpages/memberslist.php:43
4854
- #: adminpages/memberslist.php:277 adminpages/memberslist.php:281
4855
- #: classes/class-pmpro-members-list-table.php:267
4856
- #: classes/class-pmpro-members-list-table.php:566
4857
- #: classes/class-pmpro-members-list-table.php:605
4858
- #: classes/class-pmpro-members-list-table.php:634
4859
- #: classes/class-pmpro-members-list-table.php:673
4860
- msgid "Expired Members"
4861
  msgstr ""
4862
 
4863
- #: classes/class-pmpro-members-list-table.php:263
4864
- #: classes/class-pmpro-members-list-table.php:639
4865
- #: classes/class-pmpro-members-list-table.php:674 adminpages/memberslist.php:42
4866
- #: adminpages/memberslist.php:44 adminpages/memberslist.php:278
4867
- #: adminpages/memberslist.php:282
4868
- #: classes/class-pmpro-members-list-table.php:268
4869
- #: classes/class-pmpro-members-list-table.php:571
4870
- #: classes/class-pmpro-members-list-table.php:606
4871
- #: classes/class-pmpro-members-list-table.php:639
4872
- #: classes/class-pmpro-members-list-table.php:674
4873
- msgid "Old Members"
4874
  msgstr ""
4875
 
4876
- #: classes/class-pmpro-members-list-table.php:546
4877
- #: classes/class-pmpro-members-list-table.php:483
4878
- #: classes/class-pmpro-members-list-table.php:551
4879
  #, php-format
4880
- msgid "Select %s"
4881
  msgstr ""
4882
 
4883
- #: classes/class-pmpro-members-list-table.php:747
4884
- #: classes/class-pmpro-members-list-table.php:679
4885
- #: classes/class-pmpro-members-list-table.php:747
4886
- msgid "Invalid Nonce"
4887
  msgstr ""
4888
 
4889
- #: classes/class-pmpro-members-list-table.php:748
4890
- #: classes/class-pmpro-members-list-table.php:680
4891
- #: classes/class-pmpro-members-list-table.php:748
4892
- msgid "Error"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4893
  msgstr ""
4894
 
4895
- #: classes/class.memberorder.php:856 classes/class.memberorder.php:553
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4896
  #: classes/class.memberorder.php:561 classes/class.memberorder.php:564
4897
  #: classes/class.memberorder.php:573 classes/class.memberorder.php:644
4898
  #: classes/class.memberorder.php:697 classes/class.memberorder.php:699
@@ -4909,36 +5075,24 @@ msgid ""
4909
  "active."
4910
  msgstr ""
4911
 
4912
- #: classes/class.memberorder.php:857 classes/class.memberorder.php:741
4913
  #: classes/class.memberorder.php:744 classes/class.memberorder.php:761
4914
  #: classes/class.memberorder.php:812 classes/class.memberorder.php:857
4915
  msgid "User Email"
4916
  msgstr ""
4917
 
4918
- #: classes/class.memberorder.php:859 classes/class.memberorder.php:742
4919
  #: classes/class.memberorder.php:745 classes/class.memberorder.php:762
4920
  #: classes/class.memberorder.php:813 classes/class.memberorder.php:858
4921
  #: classes/class.memberorder.php:859
4922
  msgid "User Display Name"
4923
  msgstr ""
4924
 
4925
- #: classes/class.memberorder.php:860 adminpages/orders.php:195
4926
- #: adminpages/orders.php:245 adminpages/orders.php:317
4927
- #: adminpages/orders.php:321 adminpages/orders.php:346
4928
- #: adminpages/orders.php:352 adminpages/orders.php:362
4929
- #: adminpages/orders.php:364 adminpages/orders.php:370
4930
- #: adminpages/orders.php:382 classes/class.memberorder.php:743
4931
- #: classes/class.memberorder.php:746 classes/class.memberorder.php:763
4932
- #: classes/class.memberorder.php:814 classes/class.memberorder.php:859
4933
- #: classes/class.memberorder.php:860
4934
- msgid "Order"
4935
- msgstr ""
4936
-
4937
- #: classes/class.memberorder.php:864 classes/class.memberorder.php:864
4938
  msgid "Edit User"
4939
  msgstr ""
4940
 
4941
- #: classes/class.memberorder.php:865 classes/class.memberorder.php:865
4942
  msgid "Edit Order"
4943
  msgstr ""
4944
 
@@ -5103,7 +5257,7 @@ msgstr ""
5103
  #: classes/class.pmproemail.php:769 classes/class.pmproemail.php:789
5104
  #: classes/class.pmproemail.php:818 classes/class.pmproemail.php:825
5105
  #: classes/class.pmproemail.php:833 classes/class.pmproemail.php:834
5106
- #: classes/class.pmproemail.php:862
5107
  #, php-format
5108
  msgid "Your membership at %s has been changed"
5109
  msgstr ""
@@ -5117,8 +5271,9 @@ msgstr ""
5117
  #: classes/class.pmproemail.php:830 classes/class.pmproemail.php:838
5118
  #: classes/class.pmproemail.php:839 classes/class.pmproemail.php:863
5119
  #: classes/class.pmproemail.php:867 classes/class.pmproemail.php:870
5120
- #: classes/class.pmproemail.php:877 classes/class.pmproemail.php:885
5121
- #: classes/class.pmproemail.php:886 classes/class.pmproemail.php:914
 
5122
  #, php-format
5123
  msgid "The new level is %s"
5124
  msgstr ""
@@ -5129,7 +5284,7 @@ msgstr ""
5129
  #: classes/class.pmproemail.php:775 classes/class.pmproemail.php:795
5130
  #: classes/class.pmproemail.php:825 classes/class.pmproemail.php:832
5131
  #: classes/class.pmproemail.php:840 classes/class.pmproemail.php:841
5132
- #: classes/class.pmproemail.php:869
5133
  msgid "Your membership has been cancelled"
5134
  msgstr ""
5135
 
@@ -5145,8 +5300,9 @@ msgstr ""
5145
  #: classes/class.pmproemail.php:836 classes/class.pmproemail.php:844
5146
  #: classes/class.pmproemail.php:845 classes/class.pmproemail.php:869
5147
  #: classes/class.pmproemail.php:873 classes/class.pmproemail.php:876
5148
- #: classes/class.pmproemail.php:884 classes/class.pmproemail.php:892
5149
- #: classes/class.pmproemail.php:893 classes/class.pmproemail.php:921
 
5150
  #, php-format
5151
  msgid "This membership will expire on %s"
5152
  msgstr ""
@@ -5163,8 +5319,9 @@ msgstr ""
5163
  #: classes/class.pmproemail.php:840 classes/class.pmproemail.php:848
5164
  #: classes/class.pmproemail.php:849 classes/class.pmproemail.php:873
5165
  #: classes/class.pmproemail.php:877 classes/class.pmproemail.php:880
5166
- #: classes/class.pmproemail.php:888 classes/class.pmproemail.php:896
5167
- #: classes/class.pmproemail.php:897 classes/class.pmproemail.php:925
 
5168
  msgid "This membership does not expire"
5169
  msgstr ""
5170
 
@@ -5175,7 +5332,7 @@ msgstr ""
5175
  #: classes/class.pmproemail.php:826 classes/class.pmproemail.php:859
5176
  #: classes/class.pmproemail.php:866 classes/class.pmproemail.php:872
5177
  #: classes/class.pmproemail.php:880 classes/class.pmproemail.php:881
5178
- #: classes/class.pmproemail.php:909
5179
  #, php-format
5180
  msgid "Membership for %s at %s has been changed"
5181
  msgstr ""
@@ -5186,7 +5343,7 @@ msgstr ""
5186
  #: classes/class.pmproemail.php:832 classes/class.pmproemail.php:865
5187
  #: classes/class.pmproemail.php:872 classes/class.pmproemail.php:879
5188
  #: classes/class.pmproemail.php:887 classes/class.pmproemail.php:888
5189
- #: classes/class.pmproemail.php:916
5190
  msgid "Membership has been cancelled"
5191
  msgstr ""
5192
 
@@ -5195,16 +5352,18 @@ msgstr ""
5195
  #: classes/class.pmproemail.php:869 classes/class.pmproemail.php:904
5196
  #: classes/class.pmproemail.php:911 classes/class.pmproemail.php:919
5197
  #: classes/class.pmproemail.php:927 classes/class.pmproemail.php:928
5198
- #: classes/class.pmproemail.php:956
5199
  msgid "Invoice for Order #: "
5200
  msgstr ""
5201
 
5202
  #: classes/class.pmproemail.php:1014 classes/class.pmproemail.php:1003
 
5203
  #, php-format
5204
  msgid "Payment action required for your %s membership"
5205
  msgstr ""
5206
 
5207
  #: classes/class.pmproemail.php:1051 classes/class.pmproemail.php:1040
 
5208
  #, php-format
5209
  msgid "Payment action required: membership for %s at %s"
5210
  msgstr ""
@@ -5212,7 +5371,7 @@ msgstr ""
5212
  #: classes/class.pmproemail.php:1087 classes/class.pmproemail.php:948
5213
  #: classes/class.pmproemail.php:955 classes/class.pmproemail.php:963
5214
  #: classes/class.pmproemail.php:971 classes/class.pmproemail.php:972
5215
- #: classes/class.pmproemail.php:1076
5216
  msgid ""
5217
  "<p>An administrator at !!sitename!! has changed your membership level.</p>\n"
5218
  "\n"
@@ -5235,6 +5394,7 @@ msgstr ""
5235
  #: classes/gateways/class.pmprogateway_authorizenet.php:171
5236
  #: classes/gateways/class.pmprogateway_authorizenet.php:172
5237
  #: classes/gateways/class.pmprogateway_authorizenet.php:173
 
5238
  #: classes/gateways/class.pmprogateway_check.php:60
5239
  #: classes/gateways/class.pmprogateway_check.php:193
5240
  #: classes/gateways/class.pmprogateway_check.php:210
@@ -5283,9 +5443,11 @@ msgstr ""
5283
  #: classes/gateways/class.pmprogateway_authorizenet.php:227
5284
  #: classes/gateways/class.pmprogateway_authorizenet.php:228
5285
  #: classes/gateways/class.pmprogateway_authorizenet.php:229
 
5286
  #: classes/gateways/class.pmprogateway_authorizenet.php:244
5287
  #: classes/gateways/class.pmprogateway_authorizenet.php:245
5288
  #: classes/gateways/class.pmprogateway_authorizenet.php:246
 
5289
  #: classes/gateways/class.pmprogateway_check.php:111
5290
  #: classes/gateways/class.pmprogateway_check.php:116
5291
  #: classes/gateways/class.pmprogateway_check.php:134
@@ -5336,6 +5498,7 @@ msgstr ""
5336
  #: classes/gateways/class.pmprogateway_authorizenet.php:228
5337
  #: classes/gateways/class.pmprogateway_authorizenet.php:229
5338
  #: classes/gateways/class.pmprogateway_authorizenet.php:230
 
5339
  #: classes/gateways/class.pmprogateway_check.php:118
5340
  #: classes/gateways/class.pmprogateway_check.php:251
5341
  #: classes/gateways/class.pmprogateway_check.php:252
@@ -5351,8 +5514,9 @@ msgid ""
5351
  msgstr ""
5352
 
5353
  #: classes/gateways/class.pmprogateway_authorizenet.php:55
5354
- #: paid-memberships-pro.php:155
5355
  #: classes/gateways/class.pmprogateway_authorizenet.php:39
 
5356
  #: paid-memberships-pro.php:122 paid-memberships-pro.php:123
5357
  #: paid-memberships-pro.php:130 paid-memberships-pro.php:131
5358
  #: paid-memberships-pro.php:132 paid-memberships-pro.php:133
@@ -5369,6 +5533,7 @@ msgstr ""
5369
  #: adminpages/paymentsettings.php:269
5370
  #: classes/gateways/class.pmprogateway_authorizenet.php:98
5371
  #: classes/gateways/class.pmprogateway_authorizenet.php:99
 
5372
  msgid "Login Name"
5373
  msgstr ""
5374
 
@@ -5377,6 +5542,7 @@ msgstr ""
5377
  #: adminpages/paymentsettings.php:277
5378
  #: classes/gateways/class.pmprogateway_authorizenet.php:106
5379
  #: classes/gateways/class.pmprogateway_authorizenet.php:107
 
5380
  msgid "Transaction Key"
5381
  msgstr ""
5382
 
@@ -5385,6 +5551,7 @@ msgstr ""
5385
  #: adminpages/paymentsettings.php:501 adminpages/paymentsettings.php:503
5386
  #: classes/gateways/class.pmprogateway_authorizenet.php:114
5387
  #: classes/gateways/class.pmprogateway_authorizenet.php:115
 
5388
  msgid "Silent Post URL"
5389
  msgstr ""
5390
 
@@ -5393,6 +5560,7 @@ msgstr ""
5393
  #: adminpages/paymentsettings.php:504 adminpages/paymentsettings.php:506
5394
  #: classes/gateways/class.pmprogateway_authorizenet.php:117
5395
  #: classes/gateways/class.pmprogateway_authorizenet.php:118
 
5396
  msgid ""
5397
  "To fully integrate with Authorize.net, be sure to set your Silent Post URL to"
5398
  msgstr ""
@@ -5409,6 +5577,8 @@ msgstr ""
5409
  #: classes/gateways/class.pmprogateway_authorizenet.php:910
5410
  #: classes/gateways/class.pmprogateway_authorizenet.php:911
5411
  #: classes/gateways/class.pmprogateway_authorizenet.php:912
 
 
5412
  msgid "Could not connect to Authorize.net"
5413
  msgstr ""
5414
 
@@ -5453,7 +5623,7 @@ msgid ""
5453
  msgstr ""
5454
 
5455
  #: classes/gateways/class.pmprogateway_braintree.php:251
5456
- #: paid-memberships-pro.php:156
5457
  #: classes/gateways/class.pmprogateway_braintree.php:63
5458
  #: classes/gateways/class.pmprogateway_braintree.php:76
5459
  #: classes/gateways/class.pmprogateway_braintree.php:77
@@ -5464,6 +5634,7 @@ msgstr ""
5464
  #: classes/gateways/class.pmprogateway_braintree.php:246
5465
  #: classes/gateways/class.pmprogateway_braintree.php:247
5466
  #: classes/gateways/class.pmprogateway_braintree.php:250
 
5467
  #: paid-memberships-pro.php:123 paid-memberships-pro.php:124
5468
  #: paid-memberships-pro.php:131 paid-memberships-pro.php:132
5469
  #: paid-memberships-pro.php:133 paid-memberships-pro.php:134
@@ -5491,6 +5662,7 @@ msgstr ""
5491
  #: classes/gateways/class.pmprogateway_braintree.php:308
5492
  #: classes/gateways/class.pmprogateway_braintree.php:311
5493
  #: classes/gateways/class.pmprogateway_braintree.php:312
 
5494
  #: classes/gateways/class.pmprogateway_cybersource.php:93
5495
  #: classes/gateways/class.pmprogateway_cybersource.php:94
5496
  #: classes/gateways/class.pmprogateway_cybersource.php:106
@@ -5511,6 +5683,7 @@ msgstr ""
5511
  #: classes/gateways/class.pmprogateway_braintree.php:316
5512
  #: classes/gateways/class.pmprogateway_braintree.php:319
5513
  #: classes/gateways/class.pmprogateway_braintree.php:320
 
5514
  msgid "Public Key"
5515
  msgstr ""
5516
 
@@ -5528,6 +5701,7 @@ msgstr ""
5528
  #: classes/gateways/class.pmprogateway_braintree.php:324
5529
  #: classes/gateways/class.pmprogateway_braintree.php:327
5530
  #: classes/gateways/class.pmprogateway_braintree.php:328
 
5531
  msgid "Private Key"
5532
  msgstr ""
5533
 
@@ -5545,6 +5719,7 @@ msgstr ""
5545
  #: classes/gateways/class.pmprogateway_braintree.php:332
5546
  #: classes/gateways/class.pmprogateway_braintree.php:335
5547
  #: classes/gateways/class.pmprogateway_braintree.php:336
 
5548
  msgid "Client-Side Encryption Key"
5549
  msgstr ""
5550
 
@@ -5565,6 +5740,7 @@ msgstr ""
5565
  #: classes/gateways/class.pmprogateway_braintree.php:340
5566
  #: classes/gateways/class.pmprogateway_braintree.php:343
5567
  #: classes/gateways/class.pmprogateway_braintree.php:344
 
5568
  #: classes/gateways/class.pmprogateway_stripe.php:181
5569
  #: classes/gateways/class.pmprogateway_stripe.php:182
5570
  #: classes/gateways/class.pmprogateway_stripe.php:192
@@ -5697,7 +5873,7 @@ msgid "We Accept %s"
5697
  msgstr ""
5698
 
5699
  #: classes/gateways/class.pmprogateway_braintree.php:475
5700
- #: classes/gateways/class.pmprogateway_stripe.php:569 pages/billing.php:326
5701
  #: pages/checkout.php:385 classes/gateways/class.pmprogateway_braintree.php:303
5702
  #: classes/gateways/class.pmprogateway_braintree.php:316
5703
  #: classes/gateways/class.pmprogateway_braintree.php:318
@@ -5738,15 +5914,15 @@ msgstr ""
5738
  #: pages/billing.php:263 pages/billing.php:305 pages/billing.php:309
5739
  #: pages/billing.php:311 pages/billing.php:312 pages/billing.php:313
5740
  #: pages/billing.php:314 pages/billing.php:317 pages/billing.php:318
5741
- #: pages/billing.php:337 pages/checkout.php:385 pages/checkout.php:459
5742
- #: pages/checkout.php:467 pages/checkout.php:503 pages/checkout.php:519
5743
- #: pages/checkout.php:520 pages/checkout.php:527 pages/checkout.php:548
5744
- #: pages/checkout.php:557 pages/checkout.php:566 pages/checkout.php:570
5745
- #: pages/checkout.php:577 pages/checkout.php:580
5746
  msgid "Card Number"
5747
  msgstr ""
5748
 
5749
- #: classes/gateways/class.pmprogateway_braintree.php:503 pages/billing.php:365
5750
  #: classes/gateways/class.pmprogateway_braintree.php:340
5751
  #: classes/gateways/class.pmprogateway_braintree.php:353
5752
  #: classes/gateways/class.pmprogateway_braintree.php:355
@@ -5776,15 +5952,16 @@ msgstr ""
5776
  #: pages/billing.php:285 pages/billing.php:294 pages/billing.php:297
5777
  #: pages/billing.php:301 pages/billing.php:343 pages/billing.php:348
5778
  #: pages/billing.php:351 pages/billing.php:352 pages/billing.php:354
5779
- #: pages/billing.php:356 pages/billing.php:357 pages/billing.php:380
5780
- #: pages/checkout.php:540 pages/checkout.php:556 pages/checkout.php:557
5781
- #: pages/checkout.php:564 pages/checkout.php:585 pages/checkout.php:594
5782
- #: pages/checkout.php:603 pages/checkout.php:605 pages/checkout.php:607
5783
- #: pages/checkout.php:608 pages/checkout.php:612 pages/checkout.php:615
 
5784
  msgid "CVV"
5785
  msgstr ""
5786
 
5787
- #: classes/gateways/class.pmprogateway_braintree.php:504 pages/billing.php:366
5788
  #: pages/checkout.php:421 classes/gateways/class.pmprogateway_braintree.php:341
5789
  #: classes/gateways/class.pmprogateway_braintree.php:354
5790
  #: classes/gateways/class.pmprogateway_braintree.php:356
@@ -5820,12 +5997,13 @@ msgstr ""
5820
  #: pages/billing.php:286 pages/billing.php:295 pages/billing.php:298
5821
  #: pages/billing.php:302 pages/billing.php:344 pages/billing.php:349
5822
  #: pages/billing.php:352 pages/billing.php:353 pages/billing.php:355
5823
- #: pages/billing.php:357 pages/billing.php:358 pages/billing.php:381
5824
- #: pages/checkout.php:421 pages/checkout.php:493 pages/checkout.php:501
5825
- #: pages/checkout.php:541 pages/checkout.php:557 pages/checkout.php:558
5826
- #: pages/checkout.php:565 pages/checkout.php:586 pages/checkout.php:595
5827
- #: pages/checkout.php:604 pages/checkout.php:606 pages/checkout.php:608
5828
- #: pages/checkout.php:609 pages/checkout.php:613 pages/checkout.php:616
 
5829
  msgid "what's this?"
5830
  msgstr ""
5831
 
@@ -6181,7 +6359,7 @@ msgid "Could not find the subscription."
6181
  msgstr ""
6182
 
6183
  #: classes/gateways/class.pmprogateway_check.php:49
6184
- #: paid-memberships-pro.php:149 adminpages/orders.php:399
6185
  #: adminpages/orders.php:449 adminpages/paymentsettings.php:157
6186
  #: adminpages/paymentsettings.php:159
6187
  #: classes/gateways/class.pmprogateway_check.php:48
@@ -6782,7 +6960,7 @@ msgid ""
6782
  msgstr ""
6783
 
6784
  #: classes/gateways/class.pmprogateway_paypal.php:68
6785
- #: paid-memberships-pro.php:152
6786
  #: classes/gateways/class.pmprogateway_paypal.php:57
6787
  #: classes/gateways/class.pmprogateway_paypal.php:68
6788
  #: paid-memberships-pro.php:119 paid-memberships-pro.php:120
@@ -7044,7 +7222,7 @@ msgid "Submit and Confirm"
7044
  msgstr ""
7045
 
7046
  #: classes/gateways/class.pmprogateway_paypal.php:703
7047
- #: classes/gateways/class.pmprogateway_paypalexpress.php:784
7048
  #: classes/gateways/class.pmprogateway_paypalstandard.php:587
7049
  #: classes/gateways/class.pmprogateway_paypal.php:385
7050
  #: classes/gateways/class.pmprogateway_paypal.php:605
@@ -7054,6 +7232,7 @@ msgstr ""
7054
  #: classes/gateways/class.pmprogateway_paypal.php:681
7055
  #: classes/gateways/class.pmprogateway_paypal.php:693
7056
  #: classes/gateways/class.pmprogateway_paypal.php:694
 
7057
  #: classes/gateways/class.pmprogateway_paypalexpress.php:301
7058
  #: classes/gateways/class.pmprogateway_paypalexpress.php:303
7059
  #: classes/gateways/class.pmprogateway_paypalexpress.php:305
@@ -7066,6 +7245,7 @@ msgstr ""
7066
  #: classes/gateways/class.pmprogateway_paypalexpress.php:780
7067
  #: classes/gateways/class.pmprogateway_paypalexpress.php:781
7068
  #: classes/gateways/class.pmprogateway_paypalexpress.php:783
 
7069
  #: classes/gateways/class.pmprogateway_paypalexpress.php:785
7070
  #: classes/gateways/class.pmprogateway_paypalexpress.php:786
7071
  #: classes/gateways/class.pmprogateway_paypalstandard.php:216
@@ -7082,7 +7262,7 @@ msgid ""
7082
  msgstr ""
7083
 
7084
  #: classes/gateways/class.pmprogateway_paypalexpress.php:84
7085
- #: paid-memberships-pro.php:151
7086
  #: classes/gateways/class.pmprogateway_paypalexpress.php:63
7087
  #: classes/gateways/class.pmprogateway_paypalexpress.php:73
7088
  #: classes/gateways/class.pmprogateway_paypalexpress.php:84
@@ -7134,7 +7314,7 @@ msgid "The PayPal Token was lost."
7134
  msgstr ""
7135
 
7136
  #: classes/gateways/class.pmprogateway_paypalstandard.php:71
7137
- #: paid-memberships-pro.php:154
7138
  #: classes/gateways/class.pmprogateway_paypalstandard.php:60
7139
  #: classes/gateways/class.pmprogateway_paypalstandard.php:71
7140
  #: paid-memberships-pro.php:121 paid-memberships-pro.php:122
@@ -7164,7 +7344,7 @@ msgid "User requested cancellation"
7164
  msgstr ""
7165
 
7166
  #: classes/gateways/class.pmprogateway_stripe.php:231
7167
- #: paid-memberships-pro.php:150
7168
  #: classes/gateways/class.pmprogateway_stripe.php:93
7169
  #: classes/gateways/class.pmprogateway_stripe.php:94
7170
  #: classes/gateways/class.pmprogateway_stripe.php:104
@@ -7178,6 +7358,7 @@ msgstr ""
7178
  #: classes/gateways/class.pmprogateway_stripe.php:201
7179
  #: classes/gateways/class.pmprogateway_stripe.php:203
7180
  #: classes/gateways/class.pmprogateway_stripe.php:229
 
7181
  #: paid-memberships-pro.php:117 paid-memberships-pro.php:118
7182
  #: paid-memberships-pro.php:125 paid-memberships-pro.php:126
7183
  #: paid-memberships-pro.php:127 paid-memberships-pro.php:128
@@ -7204,6 +7385,7 @@ msgstr ""
7204
  #: classes/gateways/class.pmprogateway_stripe.php:258
7205
  #: classes/gateways/class.pmprogateway_stripe.php:283
7206
  #: classes/gateways/class.pmprogateway_stripe.php:284
 
7207
  msgid "Stripe Settings"
7208
  msgstr ""
7209
 
@@ -7225,6 +7407,7 @@ msgstr ""
7225
  #: classes/gateways/class.pmprogateway_stripe.php:269
7226
  #: classes/gateways/class.pmprogateway_stripe.php:288
7227
  #: classes/gateways/class.pmprogateway_stripe.php:289
 
7228
  msgid "Publishable Key"
7229
  msgstr ""
7230
 
@@ -7234,6 +7417,7 @@ msgstr ""
7234
  #: classes/gateways/class.pmprogateway_stripe.php:271
7235
  #: classes/gateways/class.pmprogateway_stripe.php:297
7236
  #: classes/gateways/class.pmprogateway_stripe.php:298
 
7237
  msgid "Your Publishable Key appears incorrect."
7238
  msgstr ""
7239
 
@@ -7255,6 +7439,7 @@ msgstr ""
7255
  #: classes/gateways/class.pmprogateway_stripe.php:279
7256
  #: classes/gateways/class.pmprogateway_stripe.php:305
7257
  #: classes/gateways/class.pmprogateway_stripe.php:306
 
7258
  msgid "Secret Key"
7259
  msgstr ""
7260
 
@@ -7356,6 +7541,7 @@ msgstr ""
7356
  #: classes/gateways/class.pmprogateway_stripe.php:368
7357
  #: classes/gateways/class.pmprogateway_stripe.php:378
7358
  #: classes/gateways/class.pmprogateway_stripe.php:379
 
7359
  #: classes/gateways/class.pmprogateway_stripe.php:381
7360
  msgid "Verification steps confirmed. Your payment is processing."
7361
  msgstr ""
@@ -7468,7 +7654,7 @@ msgid ""
7468
  "at predefined times. Be sure to click Update User after making changes."
7469
  msgstr ""
7470
 
7471
- #: classes/gateways/class.pmprogateway_stripe.php:675 pages/billing.php:379
7472
  #: classes/gateways/class.pmprogateway_stripe.php:578
7473
  #: classes/gateways/class.pmprogateway_stripe.php:579
7474
  #: classes/gateways/class.pmprogateway_stripe.php:589
@@ -7494,8 +7680,9 @@ msgstr ""
7494
  #: pages/billing.php:298 pages/billing.php:329 pages/billing.php:338
7495
  #: pages/billing.php:341 pages/billing.php:343 pages/billing.php:347
7496
  #: pages/billing.php:362 pages/billing.php:363 pages/billing.php:364
7497
- #: pages/billing.php:370 pages/billing.php:371 pages/billing.php:391
7498
- #: pages/billing.php:396 pages/billing.php:400 pages/billing.php:405
 
7499
  msgid "Update"
7500
  msgstr ""
7501
 
@@ -7595,8 +7782,8 @@ msgstr ""
7595
  msgid "Error getting subscription with Stripe:"
7596
  msgstr ""
7597
 
7598
- #: classes/gateways/class.pmprogateway_stripe.php:1595
7599
- #: classes/gateways/class.pmprogateway_stripe.php:1600
7600
  #: classes/gateways/class.pmprogateway_stripe.php:278
7601
  #: classes/gateways/class.pmprogateway_stripe.php:279
7602
  #: classes/gateways/class.pmprogateway_stripe.php:286
@@ -7642,8 +7829,8 @@ msgstr ""
7642
  msgid "Error creating plan with Stripe:"
7643
  msgstr ""
7644
 
7645
- #: classes/gateways/class.pmprogateway_stripe.php:1631
7646
- #: classes/gateways/class.pmprogateway_stripe.php:1645
7647
  #: classes/gateways/class.pmprogateway_stripe.php:294
7648
  #: classes/gateways/class.pmprogateway_stripe.php:295
7649
  #: classes/gateways/class.pmprogateway_stripe.php:302
@@ -7684,7 +7871,7 @@ msgstr ""
7684
  msgid "Error subscribing customer to plan with Stripe:"
7685
  msgstr ""
7686
 
7687
- #: classes/gateways/class.pmprogateway_stripe.php:1736
7688
  #: classes/gateways/class.pmprogateway_stripe.php:769
7689
  #: classes/gateways/class.pmprogateway_stripe.php:770
7690
  #: classes/gateways/class.pmprogateway_stripe.php:780
@@ -7712,7 +7899,7 @@ msgstr ""
7712
  msgid "Could not cancel the old subscription. Updates have not been processed."
7713
  msgstr ""
7714
 
7715
- #: classes/gateways/class.pmprogateway_stripe.php:1887
7716
  #: classes/gateways/class.pmprogateway_stripe.php:383
7717
  #: classes/gateways/class.pmprogateway_stripe.php:389
7718
  #: classes/gateways/class.pmprogateway_stripe.php:410
@@ -7749,7 +7936,7 @@ msgstr ""
7749
  msgid "Could not cancel old subscription."
7750
  msgstr ""
7751
 
7752
- #: classes/gateways/class.pmprogateway_stripe.php:1903
7753
  #: classes/gateways/class.pmprogateway_stripe.php:1533
7754
  #: classes/gateways/class.pmprogateway_stripe.php:1534
7755
  #: classes/gateways/class.pmprogateway_stripe.php:1535
@@ -7782,8 +7969,8 @@ msgstr ""
7782
  msgid "Could not find the customer."
7783
  msgstr ""
7784
 
7785
- #: classes/gateways/class.pmprogateway_stripe.php:2070
7786
- #: classes/gateways/class.pmprogateway_stripe.php:2076
7787
  #: classes/gateways/class.pmprogateway_stripe.php:1836
7788
  #: classes/gateways/class.pmprogateway_stripe.php:1837
7789
  #: classes/gateways/class.pmprogateway_stripe.php:1847
@@ -7806,7 +7993,7 @@ msgstr ""
7806
  msgid "Error: "
7807
  msgstr ""
7808
 
7809
- #: classes/gateways/class.pmprogateway_stripe.php:2090
7810
  #: classes/gateways/class.pmprogateway_stripe.php:1849
7811
  #: classes/gateways/class.pmprogateway_stripe.php:1850
7812
  #: classes/gateways/class.pmprogateway_stripe.php:1860
@@ -7828,7 +8015,7 @@ msgstr ""
7828
  msgid "Error: Unkown error while refunding charge #%s"
7829
  msgstr ""
7830
 
7831
- #: classes/gateways/class.pmprogateway_stripe.php:2549
7832
  #: classes/gateways/class.pmprogateway_stripe.php:2438
7833
  #: classes/gateways/class.pmprogateway_stripe.php:2479
7834
  #: classes/gateways/class.pmprogateway_stripe.php:2485
@@ -7839,7 +8026,7 @@ msgid ""
7839
  "complete the verification steps issued by your payment provider."
7840
  msgstr ""
7841
 
7842
- #: classes/gateways/class.pmprogateway_stripe.php:2566
7843
  #: classes/gateways/class.pmprogateway_stripe.php:2455
7844
  #: classes/gateways/class.pmprogateway_stripe.php:2496
7845
  #: classes/gateways/class.pmprogateway_stripe.php:2502
@@ -7851,7 +8038,7 @@ msgid ""
7851
  msgstr ""
7852
 
7853
  #: classes/gateways/class.pmprogateway_twocheckout.php:59
7854
- #: paid-memberships-pro.php:157
7855
  #: classes/gateways/class.pmprogateway_twocheckout.php:53
7856
  #: classes/gateways/class.pmprogateway_twocheckout.php:59
7857
  #: classes/gateways/class.pmprogateway_twocheckout.php:60
@@ -7961,16 +8148,6 @@ msgid ""
7961
  "to update this add on."
7962
  msgstr ""
7963
 
7964
- #: includes/admin.php:47 includes/admin.php:47
7965
- msgid ""
7966
- "<strong>Welcome to Paid Memberships Pro</strong> &mdash; We&lsquo;re here to "
7967
- "help you #GetPaid."
7968
- msgstr ""
7969
-
7970
- #: includes/admin.php:48 includes/admin.php:48
7971
- msgid "Get Started Using Paid Memberships Pro"
7972
- msgstr ""
7973
-
7974
  #: includes/adminpages.php:47 includes/adminpages.php:9
7975
  #: includes/adminpages.php:39 includes/adminpages.php:47
7976
  #: includes/adminpages.php:48 includes/adminpages.php:93
@@ -8048,18 +8225,19 @@ msgstr ""
8048
  msgid "Membership Invoice Page"
8049
  msgstr ""
8050
 
8051
- #: includes/adminpages.php:347 includes/adminpages.php:277
8052
- #: includes/adminpages.php:313 includes/adminpages.php:326
8053
- #: includes/adminpages.php:330 includes/adminpages.php:345
8054
  #: includes/adminpages.php:347
8055
- msgid "Membership Levels Page"
 
 
 
 
8056
  msgstr ""
8057
 
8058
- #: includes/adminpages.php:365 includes/adminpages.php:365
8059
  msgid "Members Per Page"
8060
  msgstr ""
8061
 
8062
- #: includes/adminpages.php:403 includes/adminpages.php:261
8063
  #: includes/adminpages.php:265 includes/adminpages.php:274
8064
  #: includes/adminpages.php:316 includes/adminpages.php:349
8065
  #: includes/adminpages.php:362 includes/adminpages.php:366
@@ -8067,7 +8245,7 @@ msgstr ""
8067
  msgid "Docs"
8068
  msgstr ""
8069
 
8070
- #: includes/adminpages.php:403 includes/adminpages.php:261
8071
  #: includes/adminpages.php:265 includes/adminpages.php:274
8072
  #: includes/adminpages.php:316 includes/adminpages.php:349
8073
  #: includes/adminpages.php:362 includes/adminpages.php:366
@@ -8075,7 +8253,7 @@ msgstr ""
8075
  msgid "View PMPro Documentation"
8076
  msgstr ""
8077
 
8078
- #: includes/adminpages.php:404 includes/adminpages.php:262
8079
  #: includes/adminpages.php:266 includes/adminpages.php:275
8080
  #: includes/adminpages.php:317 includes/adminpages.php:350
8081
  #: includes/adminpages.php:363 includes/adminpages.php:367
@@ -8083,7 +8261,7 @@ msgstr ""
8083
  msgid "Support"
8084
  msgstr ""
8085
 
8086
- #: includes/adminpages.php:404 includes/adminpages.php:262
8087
  #: includes/adminpages.php:266 includes/adminpages.php:275
8088
  #: includes/adminpages.php:317 includes/adminpages.php:350
8089
  #: includes/adminpages.php:363 includes/adminpages.php:367
@@ -8105,14 +8283,36 @@ msgid ""
8105
  "</p>"
8106
  msgstr ""
8107
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8108
  #: includes/compatibility/elementor.php:36
8109
  msgid "Non-members"
8110
  msgstr ""
8111
 
 
8112
  #: includes/compatibility/elementor/class-pmpro-elementor-content-restriction.php:27
8113
  msgid "Require Membership Level"
8114
  msgstr ""
8115
 
 
8116
  #: includes/compatibility/elementor/class-pmpro-elementor-content-restriction.php:39
8117
  msgid "Require membership level to see this content."
8118
  msgstr ""
@@ -9114,8 +9314,9 @@ msgstr ""
9114
  #: includes/currencies.php:85 includes/currencies.php:87
9115
  #: includes/currencies.php:94 includes/currencies.php:97
9116
  #: includes/currencies.php:99 includes/currencies.php:100
9117
- #: includes/currencies.php:107 includes/currencies.php:124
9118
- #: includes/currencies.php:127
 
9119
  msgid "US Dollars (&#36;)"
9120
  msgstr ""
9121
 
@@ -9127,7 +9328,7 @@ msgstr ""
9127
  #: includes/currencies.php:88 includes/currencies.php:90
9128
  #: includes/currencies.php:97 includes/currencies.php:100
9129
  #: includes/currencies.php:102 includes/currencies.php:103
9130
- #: includes/currencies.php:110
9131
  msgid "Euros (&euro;)"
9132
  msgstr ""
9133
 
@@ -9139,7 +9340,7 @@ msgstr ""
9139
  #: includes/currencies.php:87 includes/currencies.php:89
9140
  #: includes/currencies.php:96 includes/currencies.php:99
9141
  #: includes/currencies.php:101 includes/currencies.php:102
9142
- #: includes/currencies.php:109
9143
  msgid "Pounds Sterling (&pound;)"
9144
  msgstr ""
9145
 
@@ -9169,7 +9370,7 @@ msgstr ""
9169
  #: includes/currencies.php:86 includes/currencies.php:88
9170
  #: includes/currencies.php:95 includes/currencies.php:98
9171
  #: includes/currencies.php:100 includes/currencies.php:101
9172
- #: includes/currencies.php:108
9173
  msgid "Canadian Dollars (&#36;)"
9174
  msgstr ""
9175
 
@@ -9194,7 +9395,7 @@ msgstr ""
9194
  msgid "Danish Krone"
9195
  msgstr ""
9196
 
9197
- #: includes/currencies.php:44
9198
  msgid "Ghanaian Cedi (&#8373;)"
9199
  msgstr ""
9200
 
@@ -9202,7 +9403,7 @@ msgstr ""
9202
  #: includes/currencies.php:16 includes/currencies.php:28
9203
  #: includes/currencies.php:35 includes/currencies.php:43
9204
  #: includes/currencies.php:45 includes/currencies.php:46
9205
- #: includes/currencies.php:53
9206
  msgid "Hong Kong Dollar (&#36;)"
9207
  msgstr ""
9208
 
@@ -9210,21 +9411,23 @@ msgstr ""
9210
  #: includes/currencies.php:17 includes/currencies.php:29
9211
  #: includes/currencies.php:36 includes/currencies.php:44
9212
  #: includes/currencies.php:46 includes/currencies.php:47
9213
- #: includes/currencies.php:54
9214
  msgid "Hungarian Forint"
9215
  msgstr ""
9216
 
9217
  #: includes/currencies.php:50 includes/currencies.php:18
9218
  #: includes/currencies.php:30 includes/currencies.php:37
9219
  #: includes/currencies.php:45 includes/currencies.php:47
9220
- #: includes/currencies.php:48 includes/currencies.php:55
 
9221
  msgid "Indian Rupee"
9222
  msgstr ""
9223
 
9224
  #: includes/currencies.php:51 includes/currencies.php:19
9225
  #: includes/currencies.php:31 includes/currencies.php:38
9226
  #: includes/currencies.php:46 includes/currencies.php:48
9227
- #: includes/currencies.php:49 includes/currencies.php:56
 
9228
  msgid "Indonesia Rupiah"
9229
  msgstr ""
9230
 
@@ -9232,7 +9435,7 @@ msgstr ""
9232
  #: includes/currencies.php:20 includes/currencies.php:32
9233
  #: includes/currencies.php:39 includes/currencies.php:47
9234
  #: includes/currencies.php:49 includes/currencies.php:50
9235
- #: includes/currencies.php:57
9236
  msgid "Israeli Shekel"
9237
  msgstr ""
9238
 
@@ -9240,12 +9443,12 @@ msgstr ""
9240
  #: includes/currencies.php:21 includes/currencies.php:34
9241
  #: includes/currencies.php:41 includes/currencies.php:49
9242
  #: includes/currencies.php:51 includes/currencies.php:52
9243
- #: includes/currencies.php:59
9244
  msgid "Japanese Yen (&yen;)"
9245
  msgstr ""
9246
 
9247
  #: includes/currencies.php:59 includes/currencies.php:54
9248
- #: includes/currencies.php:64
9249
  msgid "Kenyan Shilling"
9250
  msgstr ""
9251
 
@@ -9253,7 +9456,7 @@ msgstr ""
9253
  #: includes/currencies.php:22 includes/currencies.php:38
9254
  #: includes/currencies.php:45 includes/currencies.php:55
9255
  #: includes/currencies.php:56 includes/currencies.php:57
9256
- #: includes/currencies.php:65
9257
  msgid "Malaysian Ringgits"
9258
  msgstr ""
9259
 
@@ -9261,13 +9464,13 @@ msgstr ""
9261
  #: includes/currencies.php:23 includes/currencies.php:39
9262
  #: includes/currencies.php:46 includes/currencies.php:56
9263
  #: includes/currencies.php:57 includes/currencies.php:58
9264
- #: includes/currencies.php:66
9265
  msgid "Mexican Peso (&#36;)"
9266
  msgstr ""
9267
 
9268
  #: includes/currencies.php:62 includes/currencies.php:57
9269
  #: includes/currencies.php:58 includes/currencies.php:59
9270
- #: includes/currencies.php:67
9271
  msgid "Nigerian Naira (&#8358;)"
9272
  msgstr ""
9273
 
@@ -9275,7 +9478,8 @@ msgstr ""
9275
  #: includes/currencies.php:24 includes/currencies.php:40
9276
  #: includes/currencies.php:47 includes/currencies.php:57
9277
  #: includes/currencies.php:58 includes/currencies.php:59
9278
- #: includes/currencies.php:60 includes/currencies.php:68
 
9279
  msgid "New Zealand Dollar (&#36;)"
9280
  msgstr ""
9281
 
@@ -9283,7 +9487,8 @@ msgstr ""
9283
  #: includes/currencies.php:25 includes/currencies.php:41
9284
  #: includes/currencies.php:48 includes/currencies.php:58
9285
  #: includes/currencies.php:59 includes/currencies.php:60
9286
- #: includes/currencies.php:61 includes/currencies.php:69
 
9287
  msgid "Norwegian Krone"
9288
  msgstr ""
9289
 
@@ -9291,7 +9496,8 @@ msgstr ""
9291
  #: includes/currencies.php:26 includes/currencies.php:42
9292
  #: includes/currencies.php:49 includes/currencies.php:59
9293
  #: includes/currencies.php:60 includes/currencies.php:61
9294
- #: includes/currencies.php:62 includes/currencies.php:70
 
9295
  msgid "Philippine Pesos"
9296
  msgstr ""
9297
 
@@ -9299,12 +9505,14 @@ msgstr ""
9299
  #: includes/currencies.php:27 includes/currencies.php:43
9300
  #: includes/currencies.php:50 includes/currencies.php:60
9301
  #: includes/currencies.php:61 includes/currencies.php:62
9302
- #: includes/currencies.php:63 includes/currencies.php:71
 
9303
  msgid "Polish Zloty"
9304
  msgstr ""
9305
 
9306
  #: includes/currencies.php:68 includes/currencies.php:63
9307
- #: includes/currencies.php:65 includes/currencies.php:73
 
9308
  msgid "Russian Ruble (&#8381;)"
9309
  msgstr ""
9310
 
@@ -9313,7 +9521,8 @@ msgstr ""
9313
  #: includes/currencies.php:52 includes/currencies.php:62
9314
  #: includes/currencies.php:64 includes/currencies.php:65
9315
  #: includes/currencies.php:68 includes/currencies.php:70
9316
- #: includes/currencies.php:71 includes/currencies.php:78
 
9317
  msgid "Singapore Dollar (&#36;)"
9318
  msgstr ""
9319
 
@@ -9321,7 +9530,8 @@ msgstr ""
9321
  #: includes/currencies.php:57 includes/currencies.php:67
9322
  #: includes/currencies.php:69 includes/currencies.php:70
9323
  #: includes/currencies.php:73 includes/currencies.php:75
9324
- #: includes/currencies.php:76 includes/currencies.php:83
 
9325
  msgid "South African Rand (R)"
9326
  msgstr ""
9327
 
@@ -9330,7 +9540,8 @@ msgstr ""
9330
  #: includes/currencies.php:61 includes/currencies.php:71
9331
  #: includes/currencies.php:73 includes/currencies.php:75
9332
  #: includes/currencies.php:78 includes/currencies.php:80
9333
- #: includes/currencies.php:81 includes/currencies.php:88
 
9334
  msgid "South Korean Won"
9335
  msgstr ""
9336
 
@@ -9340,7 +9551,7 @@ msgstr ""
9340
  #: includes/currencies.php:72 includes/currencies.php:74
9341
  #: includes/currencies.php:78 includes/currencies.php:81
9342
  #: includes/currencies.php:83 includes/currencies.php:84
9343
- #: includes/currencies.php:91
9344
  msgid "Swedish Krona"
9345
  msgstr ""
9346
 
@@ -9350,7 +9561,7 @@ msgstr ""
9350
  #: includes/currencies.php:73 includes/currencies.php:75
9351
  #: includes/currencies.php:79 includes/currencies.php:82
9352
  #: includes/currencies.php:84 includes/currencies.php:85
9353
- #: includes/currencies.php:92
9354
  msgid "Swiss Franc"
9355
  msgstr ""
9356
 
@@ -9360,7 +9571,7 @@ msgstr ""
9360
  #: includes/currencies.php:74 includes/currencies.php:76
9361
  #: includes/currencies.php:80 includes/currencies.php:83
9362
  #: includes/currencies.php:85 includes/currencies.php:86
9363
- #: includes/currencies.php:93
9364
  msgid "Taiwan New Dollars"
9365
  msgstr ""
9366
 
@@ -9370,7 +9581,7 @@ msgstr ""
9370
  #: includes/currencies.php:75 includes/currencies.php:77
9371
  #: includes/currencies.php:81 includes/currencies.php:84
9372
  #: includes/currencies.php:86 includes/currencies.php:87
9373
- #: includes/currencies.php:94
9374
  msgid "Thai Baht"
9375
  msgstr ""
9376
 
@@ -9379,7 +9590,8 @@ msgstr ""
9379
  #: includes/currencies.php:66 includes/currencies.php:76
9380
  #: includes/currencies.php:78 includes/currencies.php:82
9381
  #: includes/currencies.php:85 includes/currencies.php:87
9382
- #: includes/currencies.php:88 includes/currencies.php:95
 
9383
  msgid "Turkish Lira"
9384
  msgstr ""
9385
 
@@ -9388,7 +9600,8 @@ msgstr ""
9388
  #: includes/currencies.php:67 includes/currencies.php:77
9389
  #: includes/currencies.php:79 includes/currencies.php:84
9390
  #: includes/currencies.php:87 includes/currencies.php:89
9391
- #: includes/currencies.php:90 includes/currencies.php:97
 
9392
  msgid "Vietnamese Dong"
9393
  msgstr ""
9394
 
@@ -9422,7 +9635,7 @@ msgstr ""
9422
  msgid "Profile Start Date Issue Detected and Fixed at %s"
9423
  msgstr ""
9424
 
9425
- #: includes/functions.php:384 includes/functions.php:496
9426
  #: includes/functions.php:160 includes/functions.php:196
9427
  #: includes/functions.php:200 includes/functions.php:202
9428
  #: includes/functions.php:203 includes/functions.php:204
@@ -9430,80 +9643,82 @@ msgstr ""
9430
  #: includes/functions.php:309 includes/functions.php:315
9431
  #: includes/functions.php:320 includes/functions.php:321
9432
  #: includes/functions.php:329 includes/functions.php:340
9433
- #: includes/functions.php:433 includes/functions.php:452
9434
- #: includes/functions.php:455 includes/functions.php:464
 
9435
  #, php-format
9436
  msgid "The price for membership is <strong>%s</strong> now"
9437
  msgstr ""
9438
 
9439
- #: includes/functions.php:386 includes/functions.php:498
9440
  #: includes/functions.php:202 includes/functions.php:204
9441
  #: includes/functions.php:205 includes/functions.php:206
9442
  #: includes/functions.php:209 includes/functions.php:245
9443
  #: includes/functions.php:311 includes/functions.php:317
9444
  #: includes/functions.php:322 includes/functions.php:323
9445
  #: includes/functions.php:331 includes/functions.php:342
9446
- #: includes/functions.php:435 includes/functions.php:454
9447
- #: includes/functions.php:457 includes/functions.php:466
 
9448
  #, php-format
9449
  msgid "<strong>%s</strong> now"
9450
  msgstr ""
9451
 
9452
- #: includes/functions.php:393 includes/functions.php:330
9453
- #: includes/functions.php:349
9454
  #, php-format
9455
  msgid " and then <strong>%1$s per %2$s for %3$d more %4$s</strong>."
9456
  msgstr ""
9457
 
9458
- #: includes/functions.php:395 includes/functions.php:332
9459
- #: includes/functions.php:351
9460
  #, php-format
9461
  msgid " and then <strong>%1$s every %2$d %3$s for %4$d more payments</strong>."
9462
  msgstr ""
9463
 
9464
- #: includes/functions.php:398 includes/functions.php:335
9465
- #: includes/functions.php:354
9466
  #, php-format
9467
  msgid " and then <strong>%1$s after %2$d %3$s</strong>."
9468
  msgstr ""
9469
 
9470
- #: includes/functions.php:403 includes/functions.php:340
9471
- #: includes/functions.php:359
9472
  #, php-format
9473
  msgid "The price for membership is <strong>%1$s per %2$s</strong>."
9474
  msgstr ""
9475
 
9476
- #: includes/functions.php:405 includes/functions.php:342
9477
- #: includes/functions.php:361
9478
  #, php-format
9479
  msgid "<strong>%1$s per %2$s</strong>."
9480
  msgstr ""
9481
 
9482
- #: includes/functions.php:409 includes/functions.php:346
9483
- #: includes/functions.php:365
9484
  #, php-format
9485
  msgid "The price for membership is <strong>%1$s every %2$d %3$s</strong>."
9486
  msgstr ""
9487
 
9488
- #: includes/functions.php:411 includes/functions.php:348
9489
- #: includes/functions.php:367
9490
  #, php-format
9491
  msgid "<strong>%1$s every %2$d %3$s</strong>."
9492
  msgstr ""
9493
 
9494
- #: includes/functions.php:416 includes/functions.php:353
9495
- #: includes/functions.php:372
9496
  #, php-format
9497
  msgid " and then <strong>%1$s per %2$s</strong>."
9498
  msgstr ""
9499
 
9500
- #: includes/functions.php:418 includes/functions.php:355
9501
- #: includes/functions.php:374
9502
  #, php-format
9503
  msgid " and then <strong>%1$s every %2$d %3$s</strong>."
9504
  msgstr ""
9505
 
9506
- #: includes/functions.php:433 includes/functions.php:202
9507
  #: includes/functions.php:238 includes/functions.php:249
9508
  #: includes/functions.php:260 includes/functions.php:261
9509
  #: includes/functions.php:262 includes/functions.php:264
@@ -9511,11 +9726,11 @@ msgstr ""
9511
  #: includes/functions.php:307 includes/functions.php:370
9512
  #: includes/functions.php:373 includes/functions.php:379
9513
  #: includes/functions.php:384 includes/functions.php:389
9514
- #: includes/functions.php:393 pages/levels.php:82
9515
  msgid "After your initial payment, your first payment is Free."
9516
  msgstr ""
9517
 
9518
- #: includes/functions.php:435 includes/functions.php:206
9519
  #: includes/functions.php:242 includes/functions.php:253
9520
  #: includes/functions.php:264 includes/functions.php:265
9521
  #: includes/functions.php:266 includes/functions.php:268
@@ -9523,92 +9738,94 @@ msgstr ""
9523
  #: includes/functions.php:311 includes/functions.php:372
9524
  #: includes/functions.php:377 includes/functions.php:383
9525
  #: includes/functions.php:388 includes/functions.php:391
9526
- #: includes/functions.php:397 pages/levels.php:86
9527
  #, php-format
9528
  msgid "After your initial payment, your first %d payments are Free."
9529
  msgstr ""
9530
 
9531
- #: includes/functions.php:439 includes/functions.php:213
9532
  #: includes/functions.php:249 includes/functions.php:260
9533
  #: includes/functions.php:271 includes/functions.php:272
9534
  #: includes/functions.php:273 includes/functions.php:275
9535
  #: includes/functions.php:278 includes/functions.php:282
9536
  #: includes/functions.php:318 includes/functions.php:376
9537
  #: includes/functions.php:384 includes/functions.php:390
9538
- #: includes/functions.php:395 includes/functions.php:404 pages/levels.php:93
 
9539
  #, php-format
9540
  msgid "After your initial payment, your first payment will cost %s."
9541
  msgstr ""
9542
 
9543
- #: includes/functions.php:441 includes/functions.php:378
9544
- #: includes/functions.php:397
9545
  #, php-format
9546
  msgid "After your initial payment, your first %1$d payments will cost %2$s."
9547
  msgstr ""
9548
 
9549
- #: includes/functions.php:451 includes/functions.php:552
9550
  #: includes/functions.php:388 includes/functions.php:407
9551
- #: includes/functions.php:489 includes/functions.php:508
 
9552
  #, php-format
9553
  msgid "Customers in %1$s will be charged %2$s%% tax."
9554
  msgstr ""
9555
 
9556
- #: includes/functions.php:509 includes/functions.php:446
9557
- #: includes/functions.php:465
9558
  #, php-format
9559
  msgid "<strong>%1$s per %2$s for %3$d more %4$s</strong>"
9560
  msgstr ""
9561
 
9562
- #: includes/functions.php:511 includes/functions.php:448
9563
- #: includes/functions.php:467
9564
  #, php-format
9565
  msgid "<strong>%1$s every %2$d %3$s for %4$d more payments</strong>"
9566
  msgstr ""
9567
 
9568
- #: includes/functions.php:514 includes/functions.php:451
9569
- #: includes/functions.php:470
9570
  #, php-format
9571
  msgid "<strong>%1$s after %2$d %3$s</strong>"
9572
  msgstr ""
9573
 
9574
- #: includes/functions.php:517 includes/functions.php:454
9575
- #: includes/functions.php:473
9576
  #, php-format
9577
  msgid "<strong>%1$s every %2$s</strong>"
9578
  msgstr ""
9579
 
9580
- #: includes/functions.php:519 includes/functions.php:456
9581
- #: includes/functions.php:475
9582
  #, php-format
9583
  msgid "<strong>%1$s every %2$d %3$s</strong>"
9584
  msgstr ""
9585
 
9586
- #: includes/functions.php:541 includes/functions.php:478
9587
  #: includes/functions.php:497 includes/functions.php:511
9588
- #: includes/functions.php:520
9589
  msgid "Trial pricing has been applied to the first payment."
9590
  msgstr ""
9591
 
9592
- #: includes/functions.php:543 includes/functions.php:480
9593
  #: includes/functions.php:499 includes/functions.php:513
9594
- #: includes/functions.php:522
9595
  #, php-format
9596
  msgid "Trial pricing has been applied to the first %d payments."
9597
  msgstr ""
9598
 
9599
- #: includes/functions.php:568 includes/functions.php:505
9600
- #: includes/functions.php:524
9601
  #, php-format
9602
  msgid "Membership expires after %1$d %2$s."
9603
  msgstr ""
9604
 
9605
- #: includes/functions.php:587 includes/functions.php:524
9606
- #: includes/functions.php:543
9607
  #, php-format
9608
  msgid "%1$s membership expires after %2$d %3$s"
9609
  msgstr ""
9610
 
9611
- #: includes/functions.php:945 includes/functions.php:491
9612
  #: includes/functions.php:514 includes/functions.php:525
9613
  #: includes/functions.php:536 includes/functions.php:537
9614
  #: includes/functions.php:538 includes/functions.php:545
@@ -9623,13 +9840,13 @@ msgstr ""
9623
  msgid "User ID not found."
9624
  msgstr ""
9625
 
9626
- #: includes/functions.php:957 includes/functions.php:886
9627
  #: includes/functions.php:889 includes/functions.php:894
9628
- #: includes/functions.php:913
9629
  msgid "No membership_id specified in pmpro_changeMembershipLevel."
9630
  msgstr ""
9631
 
9632
- #: includes/functions.php:963 includes/functions.php:971
9633
  #: includes/functions.php:508 includes/functions.php:531
9634
  #: includes/functions.php:542 includes/functions.php:553
9635
  #: includes/functions.php:554 includes/functions.php:555
@@ -9641,12 +9858,13 @@ msgstr ""
9641
  #: includes/functions.php:892 includes/functions.php:895
9642
  #: includes/functions.php:900 includes/functions.php:903
9643
  #: includes/functions.php:908 includes/functions.php:919
9644
- #: includes/functions.php:927 includes/functions.php:965
9645
- #: includes/functions.php:967 includes/functions.php:976
 
9646
  msgid "Invalid level."
9647
  msgstr ""
9648
 
9649
- #: includes/functions.php:982 includes/functions.php:520
9650
  #: includes/functions.php:542 includes/functions.php:553
9651
  #: includes/functions.php:564 includes/functions.php:565
9652
  #: includes/functions.php:566 includes/functions.php:573
@@ -9657,11 +9875,12 @@ msgstr ""
9657
  #: includes/functions.php:797 includes/functions.php:911
9658
  #: includes/functions.php:914 includes/functions.php:919
9659
  #: includes/functions.php:938 includes/functions.php:976
9660
- #: includes/functions.php:978 includes/functions.php:987
 
9661
  msgid "not changing?"
9662
  msgstr ""
9663
 
9664
- #: includes/functions.php:1038 includes/functions.php:537
9665
  #: includes/functions.php:559 includes/functions.php:570
9666
  #: includes/functions.php:581 includes/functions.php:582
9667
  #: includes/functions.php:583 includes/functions.php:590
@@ -9687,20 +9906,21 @@ msgstr ""
9687
  #: includes/functions.php:967 includes/functions.php:970
9688
  #: includes/functions.php:975 includes/functions.php:994
9689
  #: includes/functions.php:1017 includes/functions.php:1037
9690
- #: includes/functions.php:1046
9691
  msgid "Error interacting with database"
9692
  msgstr ""
9693
 
9694
- #: includes/functions.php:1140 includes/functions.php:907
9695
  #: includes/functions.php:1064 includes/functions.php:1067
9696
  #: includes/functions.php:1077 includes/functions.php:1096
9697
  #: includes/functions.php:1123 includes/functions.php:1127
9698
  #: includes/functions.php:1129 includes/functions.php:1138
 
9699
  #, php-format
9700
  msgid "Error interacting with database: %s"
9701
  msgstr ""
9702
 
9703
- #: includes/functions.php:1218 includes/functions.php:1256
9704
  #: includes/functions.php:629 includes/functions.php:651
9705
  #: includes/functions.php:667 includes/functions.php:668
9706
  #: includes/functions.php:678 includes/functions.php:681
@@ -9724,13 +9944,14 @@ msgstr ""
9724
  #: includes/functions.php:1179 includes/functions.php:1193
9725
  #: includes/functions.php:1198 includes/functions.php:1202
9726
  #: includes/functions.php:1204 includes/functions.php:1212
9727
- #: includes/functions.php:1213 includes/functions.php:1237
9728
- #: includes/functions.php:1241 includes/functions.php:1243
9729
- #: includes/functions.php:1252
 
9730
  msgid "Membership level not found."
9731
  msgstr ""
9732
 
9733
- #: includes/functions.php:1630 includes/functions.php:1100
9734
  #: includes/functions.php:1101 includes/functions.php:1118
9735
  #: includes/functions.php:1142 includes/functions.php:1143
9736
  #: includes/functions.php:1150 includes/functions.php:1157
@@ -9741,10 +9962,11 @@ msgstr ""
9741
  #: includes/functions.php:1547 includes/functions.php:1586
9742
  #: includes/functions.php:1605 includes/functions.php:1609
9743
  #: includes/functions.php:1611 includes/functions.php:1620
 
9744
  msgid "No code was given to check."
9745
  msgstr ""
9746
 
9747
- #: includes/functions.php:1639 includes/functions.php:1050
9748
  #: includes/functions.php:1072 includes/functions.php:1088
9749
  #: includes/functions.php:1099 includes/functions.php:1102
9750
  #: includes/functions.php:1109 includes/functions.php:1110
@@ -9758,11 +9980,11 @@ msgstr ""
9758
  #: includes/functions.php:1542 includes/functions.php:1556
9759
  #: includes/functions.php:1595 includes/functions.php:1614
9760
  #: includes/functions.php:1618 includes/functions.php:1620
9761
- #: includes/functions.php:1629
9762
  msgid "The discount code could not be found."
9763
  msgstr ""
9764
 
9765
- #: includes/functions.php:1654 includes/functions.php:1066
9766
  #: includes/functions.php:1088 includes/functions.php:1104
9767
  #: includes/functions.php:1115 includes/functions.php:1118
9768
  #: includes/functions.php:1124 includes/functions.php:1125
@@ -9776,12 +9998,12 @@ msgstr ""
9776
  #: includes/functions.php:1557 includes/functions.php:1571
9777
  #: includes/functions.php:1610 includes/functions.php:1629
9778
  #: includes/functions.php:1633 includes/functions.php:1635
9779
- #: includes/functions.php:1644
9780
  #, php-format
9781
  msgid "This discount code goes into effect on %s."
9782
  msgstr ""
9783
 
9784
- #: includes/functions.php:1661 includes/functions.php:1075
9785
  #: includes/functions.php:1097 includes/functions.php:1113
9786
  #: includes/functions.php:1124 includes/functions.php:1127
9787
  #: includes/functions.php:1131 includes/functions.php:1132
@@ -9795,12 +10017,12 @@ msgstr ""
9795
  #: includes/functions.php:1564 includes/functions.php:1578
9796
  #: includes/functions.php:1617 includes/functions.php:1636
9797
  #: includes/functions.php:1640 includes/functions.php:1642
9798
- #: includes/functions.php:1651
9799
  #, php-format
9800
  msgid "This discount code expired on %s."
9801
  msgstr ""
9802
 
9803
- #: includes/functions.php:1670 includes/functions.php:1087
9804
  #: includes/functions.php:1109 includes/functions.php:1125
9805
  #: includes/functions.php:1136 includes/functions.php:1139
9806
  #: includes/functions.php:1141 includes/functions.php:1142
@@ -9814,11 +10036,11 @@ msgstr ""
9814
  #: includes/functions.php:1573 includes/functions.php:1587
9815
  #: includes/functions.php:1626 includes/functions.php:1646
9816
  #: includes/functions.php:1650 includes/functions.php:1652
9817
- #: includes/functions.php:1661
9818
  msgid "This discount code is no longer valid."
9819
  msgstr ""
9820
 
9821
- #: includes/functions.php:1689 includes/functions.php:1102
9822
  #: includes/functions.php:1124 includes/functions.php:1140
9823
  #: includes/functions.php:1151 includes/functions.php:1154
9824
  #: includes/functions.php:1155 includes/functions.php:1164
@@ -9832,10 +10054,11 @@ msgstr ""
9832
  #: includes/functions.php:1606 includes/functions.php:1645
9833
  #: includes/functions.php:1666 includes/functions.php:1670
9834
  #: includes/functions.php:1672 includes/functions.php:1681
 
9835
  msgid "This discount code does not apply to this membership level."
9836
  msgstr ""
9837
 
9838
- #: includes/functions.php:1727 includes/functions.php:1110
9839
  #: includes/functions.php:1132 includes/functions.php:1148
9840
  #: includes/functions.php:1159 includes/functions.php:1162
9841
  #: includes/functions.php:1172 includes/functions.php:1180
@@ -9849,11 +10072,11 @@ msgstr ""
9849
  #: includes/functions.php:1630 includes/functions.php:1644
9850
  #: includes/functions.php:1683 includes/functions.php:1703
9851
  #: includes/functions.php:1707 includes/functions.php:1709
9852
- #: includes/functions.php:1718
9853
  msgid "This discount code is okay."
9854
  msgstr ""
9855
 
9856
- #: includes/functions.php:1755 includes/functions.php:1134
9857
  #: includes/functions.php:1156 includes/functions.php:1172
9858
  #: includes/functions.php:1183 includes/functions.php:1186
9859
  #: includes/functions.php:1196 includes/functions.php:1205
@@ -9867,11 +10090,11 @@ msgstr ""
9867
  #: includes/functions.php:1658 includes/functions.php:1672
9868
  #: includes/functions.php:1711 includes/functions.php:1730
9869
  #: includes/functions.php:1734 includes/functions.php:1736
9870
- #: includes/functions.php:1745
9871
  msgid "and"
9872
  msgstr ""
9873
 
9874
- #: includes/functions.php:2155 includes/functions.php:1319
9875
  #: includes/functions.php:1341 includes/functions.php:1361
9876
  #: includes/functions.php:1372 includes/functions.php:1375
9877
  #: includes/functions.php:1385 includes/functions.php:1394
@@ -9888,16 +10111,18 @@ msgstr ""
9888
  #: includes/functions.php:2030 includes/functions.php:2033
9889
  #: includes/functions.php:2034 includes/functions.php:2061
9890
  #: includes/functions.php:2100 includes/functions.php:2102
 
9891
  msgid "Sign Up for !!name!! Now"
9892
  msgstr ""
9893
 
9894
- #: includes/functions.php:2179 includes/functions.php:2021
9895
  #: includes/functions.php:2054 includes/functions.php:2085
9896
  #: includes/functions.php:2124 includes/functions.php:2126
 
9897
  msgid "Sign Up Now"
9898
  msgstr ""
9899
 
9900
- #: includes/init.php:171 includes/profile.php:36 pages/checkout.php:47
9901
  #: pages/confirmation.php:53 pages/confirmation.php:126 pages/invoice.php:26
9902
  #: adminpages/orders.php:601 adminpages/orders.php:904
9903
  #: adminpages/orders.php:914 adminpages/orders.php:941
@@ -9918,9 +10143,10 @@ msgstr ""
9918
  #: pages/confirmation.php:70 pages/confirmation.php:91
9919
  #: pages/confirmation.php:103 pages/confirmation.php:105
9920
  #: pages/confirmation.php:113 pages/confirmation.php:116
9921
- #: pages/confirmation.php:123 pages/confirmation.php:124 pages/invoice.php:26
9922
- #: pages/invoice.php:27 pages/invoice.php:28 pages/invoice.php:49
9923
- #: pages/invoice.php:51 pages/invoice.php:70
 
9924
  msgid "Membership Level"
9925
  msgstr ""
9926
 
@@ -9992,6 +10218,124 @@ msgstr ""
9992
  msgid "Years"
9993
  msgstr ""
9994
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9995
  #: includes/metaboxes.php:40 includes/metaboxes.php:38
9996
  #: includes/metaboxes.php:39 includes/metaboxes.php:40
9997
  msgid ""
@@ -10091,11 +10435,6 @@ msgstr ""
10091
  msgid "Paid Memberships Pro User Data"
10092
  msgstr ""
10093
 
10094
- #: includes/privacy.php:175 adminpages/memberslist.php:184
10095
- #: adminpages/memberslist.php:212 includes/privacy.php:175
10096
- msgid "Never"
10097
- msgstr ""
10098
-
10099
  #: includes/privacy.php:182 includes/privacy.php:182
10100
  msgid "Level ID"
10101
  msgstr ""
@@ -10193,17 +10532,17 @@ msgstr ""
10193
  msgid "That post has since been updated."
10194
  msgstr ""
10195
 
10196
- #: includes/profile.php:45 includes/profile.php:34 includes/profile.php:36
10197
  #: includes/profile.php:39 includes/profile.php:45
10198
  msgid "Current Level"
10199
  msgstr ""
10200
 
10201
- #: includes/profile.php:72 shortcodes/pmpro_account.php:148
10202
  #: includes/profile.php:72 shortcodes/pmpro_account.php:148
10203
  msgid "Paid"
10204
  msgstr ""
10205
 
10206
- #: includes/profile.php:74 includes/profile.php:226 includes/profile.php:273
10207
  #: includes/profile.php:54 includes/profile.php:60 includes/profile.php:65
10208
  #: includes/profile.php:68 includes/profile.php:74 includes/profile.php:195
10209
  #: includes/profile.php:221 includes/profile.php:226 includes/profile.php:242
@@ -10211,25 +10550,115 @@ msgstr ""
10211
  msgid "Not paying."
10212
  msgstr ""
10213
 
10214
- #: includes/profile.php:82 includes/profile.php:64 includes/profile.php:68
10215
  #: includes/profile.php:73 includes/profile.php:76 includes/profile.php:82
10216
  msgid ""
10217
  "This will not change the subscription at the gateway unless the 'Cancel' "
10218
  "checkbox is selected below."
10219
  msgstr ""
10220
 
10221
- #: includes/profile.php:156 includes/profile.php:156
10222
  msgid "Send the user an email about this change."
10223
  msgstr ""
10224
 
10225
- #: includes/profile.php:162 includes/profile.php:162
10226
  msgid "Cancel this user's subscription at the gateway."
10227
  msgstr ""
10228
 
10229
- #: includes/profile.php:176 includes/profile.php:176
10230
  msgid "TOS Consent History"
10231
  msgstr ""
10232
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10233
  #: includes/updates.php:110 includes/updates.php:97 includes/updates.php:110
10234
  msgid "Paid Memberships Pro Data Update Required"
10235
  msgstr ""
@@ -10246,35 +10675,11 @@ msgstr ""
10246
  msgid "All Paid Memberships Pro updates have finished."
10247
  msgstr ""
10248
 
10249
- #: includes/updates/upgrade_1.php:7 includes/updates/upgrade_1.php:7
10250
- #: includes/upgradecheck.php:401 includes/upgradecheck.php:410
10251
- #: includes/upgradecheck.php:422 includes/upgradecheck.php:442
10252
- #: includes/upgradecheck.php:542 includes/upgradecheck.php:561
10253
- #: includes/upgradecheck.php:563
10254
  #, php-format
10255
  msgid ""
10256
- "This content is for !!levels!! members only.<br /><a href=\"%s\">Register</a>"
10257
- msgstr ""
10258
-
10259
- #: includes/updates/upgrade_1.php:10 includes/updates/upgrade_1.php:10
10260
- #: includes/upgradecheck.php:404 includes/upgradecheck.php:413
10261
- #: includes/upgradecheck.php:425 includes/upgradecheck.php:445
10262
- #: includes/upgradecheck.php:545 includes/upgradecheck.php:564
10263
- #: includes/upgradecheck.php:566
10264
- #, php-format
10265
- msgid ""
10266
- "This content is for !!levels!! members only.<br /><a href=\"%s\">Log In</a> "
10267
- "<a href=\"%s\">Register</a>"
10268
- msgstr ""
10269
-
10270
- #: includes/updates/upgrade_1.php:14 includes/updates/upgrade_1.php:14
10271
- #: includes/upgradecheck.php:408 includes/upgradecheck.php:417
10272
- #: includes/upgradecheck.php:429 includes/upgradecheck.php:449
10273
- #: includes/upgradecheck.php:549 includes/upgradecheck.php:568
10274
- #: includes/upgradecheck.php:570
10275
- msgid ""
10276
- "This content is for !!levels!! members only. Visit the site and log in/"
10277
- "register to read."
10278
  msgstr ""
10279
 
10280
  #: includes/updates/upgrade_1_9_4.php:26 includes/updates/upgrade_1_9_4.php:26
@@ -10292,10 +10697,22 @@ msgid ""
10292
  "the issues</a>."
10293
  msgstr ""
10294
 
 
 
 
 
 
 
 
 
 
 
 
 
10295
  #: pages/billing.php:33 pages/billing.php:14 pages/billing.php:23
10296
  #: pages/billing.php:25 pages/billing.php:26 pages/billing.php:27
10297
  #: pages/billing.php:28 pages/billing.php:31 pages/billing.php:32
10298
- #: pages/billing.php:389
10299
  #, php-format
10300
  msgid "Logged in as <strong>%s</strong>."
10301
  msgstr ""
@@ -10303,7 +10720,7 @@ msgstr ""
10303
  #: pages/billing.php:33 pages/billing.php:14 pages/billing.php:23
10304
  #: pages/billing.php:25 pages/billing.php:26 pages/billing.php:27
10305
  #: pages/billing.php:28 pages/billing.php:31 pages/billing.php:32
10306
- #: pages/billing.php:389
10307
  msgid "logout"
10308
  msgstr ""
10309
 
@@ -10311,6 +10728,7 @@ msgstr ""
10311
  #: pages/billing.php:27 pages/billing.php:29 pages/billing.php:30
10312
  #: pages/billing.php:32 pages/billing.php:43 pages/billing.php:46
10313
  #: pages/billing.php:47 pages/billing.php:51 pages/billing.php:52
 
10314
  msgid "Membership Fee"
10315
  msgstr ""
10316
 
@@ -10318,7 +10736,7 @@ msgstr ""
10318
  #: pages/billing.php:31 pages/billing.php:33 pages/billing.php:34
10319
  #: pages/billing.php:36 pages/billing.php:47 pages/billing.php:50
10320
  #: pages/billing.php:51 pages/billing.php:55 pages/billing.php:56
10321
- #: pages/levels.php:70
10322
  #, php-format
10323
  msgid "%s every %d %s."
10324
  msgstr ""
@@ -10327,7 +10745,7 @@ msgstr ""
10327
  #: pages/billing.php:33 pages/billing.php:35 pages/billing.php:36
10328
  #: pages/billing.php:38 pages/billing.php:49 pages/billing.php:52
10329
  #: pages/billing.php:53 pages/billing.php:57 pages/billing.php:58
10330
- #: pages/levels.php:66
10331
  #, php-format
10332
  msgid "%s per %s."
10333
  msgstr ""
@@ -10336,20 +10754,31 @@ msgstr ""
10336
  #: pages/billing.php:29 pages/billing.php:33 pages/billing.php:42
10337
  #: pages/billing.php:44 pages/billing.php:45 pages/billing.php:47
10338
  #: pages/billing.php:59 pages/billing.php:62 pages/billing.php:63
10339
- #: pages/billing.php:67 pages/billing.php:68
10340
  msgid "Duration"
10341
  msgstr ""
10342
 
10343
- #: pages/billing.php:94 pages/billing.php:39 pages/billing.php:43
 
 
 
 
 
 
 
 
 
 
10344
  #: pages/billing.php:52 pages/billing.php:54 pages/billing.php:55
10345
  #: pages/billing.php:57 pages/billing.php:77 pages/billing.php:80
10346
  #: pages/billing.php:81 pages/billing.php:85 pages/billing.php:86
 
10347
  msgid ""
10348
  "Your payment subscription is managed by PayPal. Please <a href=\"http://www."
10349
  "paypal.com\">login to PayPal here</a> to update your billing information."
10350
  msgstr ""
10351
 
10352
- #: pages/billing.php:117 pages/checkout.php:226 pages/confirmation.php:66
10353
  #: pages/invoice.php:48 adminpages/memberslist.php:117
10354
  #: adminpages/memberslist.php:150 adminpages/memberslist.php:160
10355
  #: adminpages/memberslist.php:170 adminpages/memberslist.php:174
@@ -10357,218 +10786,198 @@ msgstr ""
10357
  #: pages/billing.php:62 pages/billing.php:71 pages/billing.php:74
10358
  #: pages/billing.php:76 pages/billing.php:77 pages/billing.php:80
10359
  #: pages/billing.php:100 pages/billing.php:103 pages/billing.php:104
10360
- #: pages/billing.php:108 pages/billing.php:109 pages/checkout.php:226
10361
- #: pages/checkout.php:275 pages/checkout.php:283 pages/checkout.php:298
10362
- #: pages/checkout.php:300 pages/checkout.php:302 pages/checkout.php:311
10363
- #: pages/checkout.php:314 pages/checkout.php:317 pages/checkout.php:319
10364
- #: pages/checkout.php:321 pages/checkout.php:326 pages/checkout.php:329
10365
- #: pages/confirmation.php:59 pages/confirmation.php:61
10366
  #: pages/confirmation.php:65 pages/confirmation.php:66
10367
  #: pages/confirmation.php:67 pages/confirmation.php:69 pages/invoice.php:46
10368
  #: pages/invoice.php:47 pages/invoice.php:48 pages/invoice.php:49
10369
  msgid "Billing Address"
10370
  msgstr ""
10371
 
10372
- #: pages/billing.php:121 pages/checkout.php:230 pages/billing.php:65
10373
- #: pages/billing.php:69 pages/billing.php:78 pages/billing.php:81
10374
- #: pages/billing.php:83 pages/billing.php:84 pages/billing.php:87
10375
- #: pages/billing.php:104 pages/billing.php:107 pages/billing.php:108
10376
- #: pages/billing.php:110 pages/billing.php:112 pages/billing.php:113
10377
- #: pages/checkout.php:230 pages/checkout.php:279 pages/checkout.php:287
10378
- #: pages/checkout.php:305 pages/checkout.php:307 pages/checkout.php:309
10379
- #: pages/checkout.php:318 pages/checkout.php:321 pages/checkout.php:324
10380
- #: pages/checkout.php:326 pages/checkout.php:328 pages/checkout.php:333
10381
- #: pages/checkout.php:336
10382
- msgid "First Name"
10383
- msgstr ""
10384
-
10385
- #: pages/billing.php:125 pages/checkout.php:234 pages/billing.php:69
10386
- #: pages/billing.php:73 pages/billing.php:82 pages/billing.php:85
10387
- #: pages/billing.php:87 pages/billing.php:88 pages/billing.php:91
10388
- #: pages/billing.php:108 pages/billing.php:111 pages/billing.php:112
10389
- #: pages/billing.php:114 pages/billing.php:116 pages/billing.php:117
10390
- #: pages/checkout.php:234 pages/checkout.php:283 pages/checkout.php:291
10391
- #: pages/checkout.php:309 pages/checkout.php:311 pages/checkout.php:313
10392
- #: pages/checkout.php:322 pages/checkout.php:325 pages/checkout.php:328
10393
- #: pages/checkout.php:330 pages/checkout.php:332 pages/checkout.php:337
10394
- #: pages/checkout.php:340
10395
- msgid "Last Name"
10396
- msgstr ""
10397
-
10398
- #: pages/billing.php:129 pages/checkout.php:238 pages/billing.php:73
10399
  #: pages/billing.php:77 pages/billing.php:86 pages/billing.php:89
10400
  #: pages/billing.php:91 pages/billing.php:92 pages/billing.php:95
10401
  #: pages/billing.php:112 pages/billing.php:115 pages/billing.php:116
10402
  #: pages/billing.php:118 pages/billing.php:120 pages/billing.php:121
10403
- #: pages/checkout.php:238 pages/checkout.php:287 pages/checkout.php:295
10404
- #: pages/checkout.php:313 pages/checkout.php:315 pages/checkout.php:317
10405
- #: pages/checkout.php:326 pages/checkout.php:329 pages/checkout.php:332
10406
- #: pages/checkout.php:334 pages/checkout.php:336 pages/checkout.php:341
10407
- #: pages/checkout.php:344
10408
  msgid "Address 1"
10409
  msgstr ""
10410
 
10411
- #: pages/billing.php:133 pages/checkout.php:242 pages/billing.php:77
10412
  #: pages/billing.php:81 pages/billing.php:90 pages/billing.php:93
10413
  #: pages/billing.php:95 pages/billing.php:96 pages/billing.php:99
10414
  #: pages/billing.php:116 pages/billing.php:119 pages/billing.php:120
10415
  #: pages/billing.php:122 pages/billing.php:124 pages/billing.php:125
10416
- #: pages/checkout.php:242 pages/checkout.php:291 pages/checkout.php:299
10417
- #: pages/checkout.php:317 pages/checkout.php:319 pages/checkout.php:321
10418
- #: pages/checkout.php:330 pages/checkout.php:333 pages/checkout.php:336
10419
- #: pages/checkout.php:338 pages/checkout.php:340 pages/checkout.php:345
10420
- #: pages/checkout.php:348
10421
  msgid "Address 2"
10422
  msgstr ""
10423
 
10424
- #: pages/billing.php:143 pages/checkout.php:249 pages/billing.php:87
10425
  #: pages/billing.php:91 pages/billing.php:100 pages/billing.php:103
10426
  #: pages/billing.php:105 pages/billing.php:106 pages/billing.php:109
10427
  #: pages/billing.php:126 pages/billing.php:129 pages/billing.php:130
10428
  #: pages/billing.php:132 pages/billing.php:134 pages/billing.php:135
10429
- #: pages/checkout.php:249 pages/checkout.php:298 pages/checkout.php:306
10430
- #: pages/checkout.php:327 pages/checkout.php:329 pages/checkout.php:331
10431
- #: pages/checkout.php:340 pages/checkout.php:343 pages/checkout.php:346
10432
- #: pages/checkout.php:348 pages/checkout.php:350 pages/checkout.php:355
10433
- #: pages/checkout.php:358
10434
  msgid "City"
10435
  msgstr ""
10436
 
10437
- #: pages/billing.php:147 pages/checkout.php:253 pages/billing.php:91
10438
  #: pages/billing.php:95 pages/billing.php:104 pages/billing.php:107
10439
  #: pages/billing.php:109 pages/billing.php:110 pages/billing.php:113
10440
  #: pages/billing.php:130 pages/billing.php:133 pages/billing.php:134
10441
  #: pages/billing.php:136 pages/billing.php:138 pages/billing.php:139
10442
- #: pages/checkout.php:253 pages/checkout.php:302 pages/checkout.php:310
10443
- #: pages/checkout.php:331 pages/checkout.php:333 pages/checkout.php:335
10444
- #: pages/checkout.php:344 pages/checkout.php:347 pages/checkout.php:350
10445
- #: pages/checkout.php:352 pages/checkout.php:354 pages/checkout.php:359
10446
- #: pages/checkout.php:362
10447
  msgid "State"
10448
  msgstr ""
10449
 
10450
- #: pages/billing.php:151 pages/checkout.php:257 pages/billing.php:95
10451
  #: pages/billing.php:99 pages/billing.php:108 pages/billing.php:111
10452
  #: pages/billing.php:113 pages/billing.php:114 pages/billing.php:117
10453
  #: pages/billing.php:134 pages/billing.php:137 pages/billing.php:138
10454
  #: pages/billing.php:140 pages/billing.php:142 pages/billing.php:143
10455
- #: pages/checkout.php:257 pages/checkout.php:306 pages/checkout.php:314
10456
- #: pages/checkout.php:335 pages/checkout.php:337 pages/checkout.php:339
10457
- #: pages/checkout.php:348 pages/checkout.php:351 pages/checkout.php:354
10458
- #: pages/checkout.php:356 pages/checkout.php:358 pages/checkout.php:363
10459
- #: pages/checkout.php:366
10460
  msgid "Postal Code"
10461
  msgstr ""
10462
 
10463
- #: pages/billing.php:160 pages/checkout.php:262 pages/billing.php:104
10464
  #: pages/billing.php:108 pages/billing.php:117 pages/billing.php:120
10465
  #: pages/billing.php:122 pages/billing.php:123 pages/billing.php:126
10466
  #: pages/billing.php:143 pages/billing.php:146 pages/billing.php:147
10467
  #: pages/billing.php:149 pages/billing.php:151 pages/billing.php:152
10468
- #: pages/checkout.php:262 pages/checkout.php:311 pages/checkout.php:319
10469
- #: pages/checkout.php:344 pages/checkout.php:346 pages/checkout.php:348
10470
- #: pages/checkout.php:357 pages/checkout.php:360 pages/checkout.php:363
10471
- #: pages/checkout.php:365 pages/checkout.php:367 pages/checkout.php:372
10472
- #: pages/checkout.php:375
10473
  msgid "City, State Zip"
10474
  msgstr ""
10475
 
10476
- #: pages/billing.php:213 pages/checkout.php:299 pages/billing.php:157
10477
  #: pages/billing.php:161 pages/billing.php:170 pages/billing.php:173
10478
  #: pages/billing.php:175 pages/billing.php:176 pages/billing.php:179
10479
  #: pages/billing.php:196 pages/billing.php:199 pages/billing.php:200
10480
  #: pages/billing.php:202 pages/billing.php:204 pages/billing.php:205
10481
- #: pages/checkout.php:299 pages/checkout.php:348 pages/checkout.php:356
10482
- #: pages/checkout.php:397 pages/checkout.php:399 pages/checkout.php:401
10483
- #: pages/checkout.php:410 pages/checkout.php:413 pages/checkout.php:416
10484
- #: pages/checkout.php:418 pages/checkout.php:420 pages/checkout.php:425
10485
- #: pages/checkout.php:428
10486
  msgid "Country"
10487
  msgstr ""
10488
 
10489
- #: pages/billing.php:238 pages/checkout.php:315 pages/billing.php:182
10490
  #: pages/billing.php:186 pages/billing.php:195 pages/billing.php:198
10491
  #: pages/billing.php:200 pages/billing.php:201 pages/billing.php:204
10492
  #: pages/billing.php:221 pages/billing.php:224 pages/billing.php:225
10493
  #: pages/billing.php:227 pages/billing.php:229 pages/billing.php:230
10494
- #: pages/checkout.php:315 pages/checkout.php:364 pages/checkout.php:372
10495
- #: pages/checkout.php:422 pages/checkout.php:424 pages/checkout.php:426
10496
- #: pages/checkout.php:435 pages/checkout.php:438 pages/checkout.php:441
10497
- #: pages/checkout.php:443 pages/checkout.php:445 pages/checkout.php:450
10498
- #: pages/checkout.php:453
10499
  msgid "Phone"
10500
  msgstr ""
10501
 
10502
- #: pages/billing.php:249 pages/checkout.php:148 pages/checkout.php:330
10503
  #: pages/billing.php:193 pages/billing.php:197 pages/billing.php:206
10504
  #: pages/billing.php:209 pages/billing.php:211 pages/billing.php:212
10505
  #: pages/billing.php:215 pages/billing.php:232 pages/billing.php:235
10506
  #: pages/billing.php:236 pages/billing.php:238 pages/billing.php:240
10507
- #: pages/billing.php:241 pages/checkout.php:148 pages/checkout.php:197
10508
- #: pages/checkout.php:204 pages/checkout.php:205 pages/checkout.php:207
10509
- #: pages/checkout.php:209 pages/checkout.php:216 pages/checkout.php:218
10510
- #: pages/checkout.php:220 pages/checkout.php:227 pages/checkout.php:230
10511
- #: pages/checkout.php:330 pages/checkout.php:379 pages/checkout.php:387
10512
- #: pages/checkout.php:436 pages/checkout.php:438 pages/checkout.php:440
10513
- #: pages/checkout.php:449 pages/checkout.php:453 pages/checkout.php:455
10514
- #: pages/checkout.php:457 pages/checkout.php:460 pages/checkout.php:464
10515
- #: pages/checkout.php:467
10516
- msgid "E-mail Address"
10517
- msgstr ""
10518
-
10519
- #: pages/billing.php:253 pages/checkout.php:337 pages/billing.php:197
10520
  #: pages/billing.php:201 pages/billing.php:210 pages/billing.php:213
10521
  #: pages/billing.php:215 pages/billing.php:216 pages/billing.php:219
10522
  #: pages/billing.php:236 pages/billing.php:239 pages/billing.php:240
10523
  #: pages/billing.php:242 pages/billing.php:244 pages/billing.php:245
10524
- #: pages/checkout.php:337 pages/checkout.php:386 pages/checkout.php:394
10525
- #: pages/checkout.php:445 pages/checkout.php:447 pages/checkout.php:449
10526
- #: pages/checkout.php:458 pages/checkout.php:462 pages/checkout.php:464
10527
- #: pages/checkout.php:466 pages/checkout.php:469 pages/checkout.php:473
10528
- #: pages/checkout.php:476
10529
- msgid "Confirm E-mail"
10530
  msgstr ""
10531
 
10532
- #: pages/billing.php:276 pages/billing.php:217 pages/billing.php:221
10533
  #: pages/billing.php:230 pages/billing.php:231 pages/billing.php:234
10534
  #: pages/billing.php:238 pages/billing.php:244 pages/billing.php:247
10535
  #: pages/billing.php:259 pages/billing.php:262 pages/billing.php:263
10536
  #: pages/billing.php:267 pages/billing.php:268 pages/billing.php:270
 
10537
  msgid "Credit Card Information"
10538
  msgstr ""
10539
 
10540
- #: pages/billing.php:277 pages/billing.php:217 pages/billing.php:221
10541
  #: pages/billing.php:230 pages/billing.php:232 pages/billing.php:235
10542
  #: pages/billing.php:239 pages/billing.php:245 pages/billing.php:248
10543
  #: pages/billing.php:260 pages/billing.php:263 pages/billing.php:264
10544
  #: pages/billing.php:268 pages/billing.php:269 pages/billing.php:271
 
10545
  #, php-format
10546
  msgid "We accept %s"
10547
  msgstr ""
10548
 
10549
- #: pages/billing.php:412 pages/billing.php:404 pages/billing.php:406
 
10550
  #, php-format
10551
- msgid ""
10552
- "You do not have an active membership. <a href='%s'>Choose a membership level."
10553
- "</a>"
10554
  msgstr ""
10555
 
10556
- #: pages/billing.php:415 pages/billing.php:407 pages/billing.php:409
 
10557
  #, php-format
10558
  msgid "You do not have an active membership. <a href='%s'>Register here.</a>"
10559
  msgstr ""
10560
 
10561
- #: pages/billing.php:418 pages/billing.php:410 pages/billing.php:412
 
10562
  #, php-format
10563
- msgid "Your membership is not active. <a href='%s'>Renew now.</a>"
 
 
10564
  msgstr ""
10565
 
10566
- #: pages/billing.php:421 pages/billing.php:309 pages/billing.php:313
10567
  #: pages/billing.php:344 pages/billing.php:353 pages/billing.php:356
10568
  #: pages/billing.php:360 pages/billing.php:364 pages/billing.php:378
10569
  #: pages/billing.php:380 pages/billing.php:381 pages/billing.php:385
10570
  #: pages/billing.php:387 pages/billing.php:408 pages/billing.php:413
10571
- #: pages/billing.php:415 pages/billing.php:417 pages/billing.php:422
 
10572
  msgid ""
10573
  "This subscription is not recurring. So you don't need to update your billing "
10574
  "information."
@@ -10593,7 +11002,7 @@ msgstr ""
10593
  msgid "No, keep this membership"
10594
  msgstr ""
10595
 
10596
- #: pages/cancel.php:56 shortcodes/pmpro_account.php:40 pages/account.php:14
10597
  #: pages/cancel.php:48 pages/cancel.php:56 pages/cancel.php:57
10598
  #: shortcodes/pmpro_account.php:39 shortcodes/pmpro_account.php:40
10599
  msgid "My Memberships"
@@ -10689,7 +11098,7 @@ msgstr ""
10689
  #: pages/checkout.php:213 pages/checkout.php:216 pages/checkout.php:218
10690
  #: pages/checkout.php:225 pages/checkout.php:227 pages/checkout.php:229
10691
  #: pages/checkout.php:236 pages/checkout.php:239
10692
- msgid "Confirm E-mail Address"
10693
  msgstr ""
10694
 
10695
  #: pages/checkout.php:169 pages/checkout.php:169 pages/checkout.php:218
@@ -10802,8 +11211,9 @@ msgstr ""
10802
  #: pages/confirmation.php:51 pages/confirmation.php:52
10803
  #: pages/confirmation.php:102 pages/confirmation.php:104
10804
  #: pages/confirmation.php:112 pages/confirmation.php:115
10805
- #: pages/confirmation.php:122 pages/confirmation.php:123 pages/invoice.php:25
10806
- #: pages/invoice.php:26 pages/invoice.php:27
 
10807
  msgid "Account"
10808
  msgstr ""
10809
 
@@ -10824,60 +11234,54 @@ msgid "Payment Method"
10824
  msgstr ""
10825
 
10826
  #: pages/confirmation.php:81 pages/invoice.php:63 pages/confirmation.php:79
10827
- #: pages/confirmation.php:80 pages/confirmation.php:82
10828
- #: pages/confirmation.php:83 pages/confirmation.php:88 pages/invoice.php:61
10829
- #: pages/invoice.php:62 pages/invoice.php:63 pages/invoice.php:67
10830
- #: pages/invoice.php:69
10831
  msgid "ending in"
10832
  msgstr ""
10833
 
10834
  #: pages/confirmation.php:90 pages/invoice.php:72 pages/invoice.php:105
10835
  #: pages/confirmation.php:61 pages/confirmation.php:63
10836
  #: pages/confirmation.php:65 pages/confirmation.php:71
10837
- #: pages/confirmation.php:87 pages/confirmation.php:88 pages/invoice.php:50
10838
- #: pages/invoice.php:52 pages/invoice.php:69 pages/invoice.php:70
10839
- #: pages/invoice.php:71 pages/invoice.php:90 pages/invoice.php:102
10840
- #: pages/invoice.php:103 pages/invoice.php:104 pages/invoice.php:107
10841
- #: pages/invoice.php:109 pages/invoice.php:110
 
10842
  msgid "Total Billed"
10843
  msgstr ""
10844
 
10845
  #: pages/confirmation.php:96 pages/invoice.php:78 pages/confirmation.php:93
10846
- #: pages/confirmation.php:94 pages/invoice.php:75 pages/invoice.php:76
10847
- #: pages/invoice.php:77 pages/invoice.php:80 pages/invoice.php:82
 
10848
  msgid "Coupon"
10849
  msgstr ""
10850
 
10851
  #: pages/confirmation.php:113 pages/confirmation.php:97
10852
  #: pages/confirmation.php:100 pages/confirmation.php:103
10853
  #: pages/confirmation.php:110 pages/confirmation.php:111
 
10854
  #, php-format
10855
  msgid ""
10856
  "Below are details about your membership account. A welcome email has been "
10857
  "sent to %s."
10858
  msgstr ""
10859
 
10860
- #: pages/confirmation.php:126 shortcodes/pmpro_account.php:151
10861
  #: pages/confirmation.php:103 pages/confirmation.php:105
10862
  #: pages/confirmation.php:113 pages/confirmation.php:116
10863
  #: pages/confirmation.php:123 pages/confirmation.php:124
10864
- #: shortcodes/pmpro_account.php:151
10865
  msgid "Pending"
10866
  msgstr ""
10867
 
10868
- #: pages/confirmation.php:134 pages/invoice.php:136 pages/confirmation.php:111
10869
- #: pages/confirmation.php:113 pages/confirmation.php:121
10870
- #: pages/confirmation.php:124 pages/confirmation.php:131
10871
- #: pages/confirmation.php:132 pages/invoice.php:121 pages/invoice.php:133
10872
- #: pages/invoice.php:134 pages/invoice.php:135 pages/invoice.php:139
10873
- #: pages/invoice.php:141
10874
- msgid "View Your Membership Account &rarr;"
10875
- msgstr ""
10876
-
10877
- #: pages/confirmation.php:136 pages/confirmation.php:113
10878
  #: pages/confirmation.php:115 pages/confirmation.php:123
10879
  #: pages/confirmation.php:126 pages/confirmation.php:133
10880
- #: pages/confirmation.php:134
10881
  msgid ""
10882
  "If your account is not activated within a few minutes, please contact the "
10883
  "site owner."
@@ -10888,20 +11292,20 @@ msgid "Success"
10888
  msgstr ""
10889
 
10890
  #: pages/invoice.php:103 pages/invoice.php:88 pages/invoice.php:100
10891
- #: pages/invoice.php:101 pages/invoice.php:102 pages/invoice.php:106
10892
- #: pages/invoice.php:108
10893
  msgid "Invoice #"
10894
  msgstr ""
10895
 
10896
  #: pages/invoice.php:129 pages/invoice.php:114 pages/invoice.php:126
10897
- #: pages/invoice.php:127 pages/invoice.php:128 pages/invoice.php:132
10898
- #: pages/invoice.php:134
10899
  msgid "No invoices found."
10900
  msgstr ""
10901
 
10902
- #: pages/invoice.php:140 pages/invoice.php:125 pages/invoice.php:137
10903
- #: pages/invoice.php:138 pages/invoice.php:139 pages/invoice.php:143
10904
- #: pages/invoice.php:145
10905
  msgid "&larr; View All Invoices"
10906
  msgstr ""
10907
 
@@ -10916,10 +11320,9 @@ msgstr ""
10916
  msgid "Select"
10917
  msgstr ""
10918
 
10919
- #: pages/levels.php:78 shortcodes/pmpro_account.php:60 pages/account.php:33
10920
- #: pages/levels.php:57 pages/levels.php:78 pages/levels.php:123
10921
- #: shortcodes/pmpro_account.php:59 shortcodes/pmpro_account.php:60
10922
- #: shortcodes/pmpro_account.php:61
10923
  msgid "Renew"
10924
  msgstr ""
10925
 
@@ -10928,17 +11331,17 @@ msgstr ""
10928
  msgid "Your&nbsp;Level"
10929
  msgstr ""
10930
 
10931
- #: pages/levels.php:98 pages/levels.php:79 pages/levels.php:98
10932
  #: pages/levels.php:129 pages/levels.php:145
10933
  msgid "&larr; Return to Your Account"
10934
  msgstr ""
10935
 
10936
- #: pages/levels.php:100 pages/levels.php:81 pages/levels.php:100
10937
  #: pages/levels.php:131 pages/levels.php:147
10938
  msgid "&larr; Return to Home"
10939
  msgstr ""
10940
 
10941
- #: paid-memberships-pro.php:148 adminpages/orders.php:398
10942
  #: adminpages/orders.php:448 paid-memberships-pro.php:115
10943
  #: paid-memberships-pro.php:116 paid-memberships-pro.php:123
10944
  #: paid-memberships-pro.php:124 paid-memberships-pro.php:125
@@ -10950,7 +11353,7 @@ msgstr ""
10950
  msgid "Testing Only"
10951
  msgstr ""
10952
 
10953
- #: paid-memberships-pro.php:153 paid-memberships-pro.php:120
10954
  #: paid-memberships-pro.php:121 paid-memberships-pro.php:128
10955
  #: paid-memberships-pro.php:129 paid-memberships-pro.php:130
10956
  #: paid-memberships-pro.php:131 paid-memberships-pro.php:132
@@ -10961,7 +11364,7 @@ msgstr ""
10961
  msgid "PayPal Payflow Pro/PayPal Pro"
10962
  msgstr ""
10963
 
10964
- #: paid-memberships-pro.php:158 paid-memberships-pro.php:125
10965
  #: paid-memberships-pro.php:126 paid-memberships-pro.php:133
10966
  #: paid-memberships-pro.php:134 paid-memberships-pro.php:135
10967
  #: paid-memberships-pro.php:136 paid-memberships-pro.php:137
@@ -10972,12 +11375,12 @@ msgstr ""
10972
  msgid "Cybersource"
10973
  msgstr ""
10974
 
10975
- #: paid-memberships-pro.php:162 paid-memberships-pro.php:161
10976
  #: paid-memberships-pro.php:162
10977
  msgid "Default"
10978
  msgstr ""
10979
 
10980
- #: paid-memberships-pro.php:183 paid-memberships-pro.php:156
10981
  #: paid-memberships-pro.php:157 paid-memberships-pro.php:158
10982
  #: paid-memberships-pro.php:159 paid-memberships-pro.php:160
10983
  #: paid-memberships-pro.php:161 paid-memberships-pro.php:166
@@ -10986,88 +11389,90 @@ msgstr ""
10986
  msgid "Once a month"
10987
  msgstr ""
10988
 
10989
- #: preheaders/account.php:10 preheaders/levels.php:22 preheaders/account.php:7
10990
  #: preheaders/account.php:9 preheaders/account.php:10 preheaders/levels.php:19
10991
  #: preheaders/levels.php:21 preheaders/levels.php:22
10992
  msgid "Your membership status has been updated - Thank you!"
10993
  msgstr ""
10994
 
10995
- #: preheaders/account.php:12 preheaders/levels.php:24 preheaders/account.php:11
10996
  #: preheaders/account.php:12 preheaders/levels.php:23 preheaders/levels.php:24
10997
  msgid ""
10998
  "Sorry, your request could not be completed - please try again in a few "
10999
  "moments."
11000
  msgstr ""
11001
 
11002
- #: preheaders/billing.php:153 preheaders/checkout.php:336
11003
  #: preheaders/billing.php:145 preheaders/billing.php:147
11004
- #: preheaders/billing.php:151 preheaders/billing.php:258
11005
- #: preheaders/billing.php:265 preheaders/billing.php:266
11006
- #: preheaders/billing.php:270 preheaders/billing.php:273
11007
- #: preheaders/billing.php:279 preheaders/checkout.php:322
11008
- #: preheaders/checkout.php:332 preheaders/checkout.php:336
11009
- #: preheaders/checkout.php:364 preheaders/checkout.php:458
11010
- #: preheaders/checkout.php:464 preheaders/checkout.php:465
11011
- #: preheaders/checkout.php:470 preheaders/checkout.php:481
11012
- #: preheaders/checkout.php:482
11013
  msgid "Please complete all required fields."
11014
  msgstr ""
11015
 
11016
- #: preheaders/billing.php:156 preheaders/checkout.php:344
11017
  #: preheaders/billing.php:148 preheaders/billing.php:150
11018
- #: preheaders/billing.php:154 preheaders/billing.php:263
11019
- #: preheaders/billing.php:268 preheaders/billing.php:269
11020
- #: preheaders/billing.php:273 preheaders/billing.php:276
11021
- #: preheaders/billing.php:284 preheaders/checkout.php:330
11022
- #: preheaders/checkout.php:340 preheaders/checkout.php:344
11023
- #: preheaders/checkout.php:372 preheaders/checkout.php:466
11024
- #: preheaders/checkout.php:473 preheaders/checkout.php:474
11025
- #: preheaders/checkout.php:478 preheaders/checkout.php:491
11026
- #: preheaders/checkout.php:492
11027
  msgid "Your email addresses do not match. Please try again."
11028
  msgstr ""
11029
 
11030
- #: preheaders/billing.php:159 preheaders/checkout.php:349
11031
  #: preheaders/billing.php:151 preheaders/billing.php:153
11032
- #: preheaders/billing.php:157 preheaders/billing.php:268
11033
- #: preheaders/billing.php:271 preheaders/billing.php:272
11034
- #: preheaders/billing.php:276 preheaders/billing.php:279
11035
- #: preheaders/billing.php:289 preheaders/checkout.php:335
11036
- #: preheaders/checkout.php:345 preheaders/checkout.php:349
11037
- #: preheaders/checkout.php:377 preheaders/checkout.php:471
11038
- #: preheaders/checkout.php:478 preheaders/checkout.php:480
11039
- #: preheaders/checkout.php:483 preheaders/checkout.php:497
11040
- #: preheaders/checkout.php:498
11041
  msgid "The email address entered is in an invalid format. Please try again."
11042
  msgstr ""
11043
 
11044
- #: preheaders/billing.php:163 preheaders/billing.php:155
11045
  #: preheaders/billing.php:157 preheaders/billing.php:161
11046
- #: preheaders/billing.php:274 preheaders/billing.php:275
11047
- #: preheaders/billing.php:276 preheaders/billing.php:280
11048
- #: preheaders/billing.php:283 preheaders/billing.php:295
 
11049
  msgid "All good!"
11050
  msgstr ""
11051
 
11052
- #: preheaders/billing.php:230 preheaders/billing.php:222
11053
  #: preheaders/billing.php:224 preheaders/billing.php:228
11054
- #: preheaders/billing.php:340 preheaders/billing.php:345
11055
- #: preheaders/billing.php:346 preheaders/billing.php:350
11056
- #: preheaders/billing.php:353 preheaders/billing.php:370
 
11057
  #, php-format
11058
  msgid "Information updated. <a href=\"%s\">&laquo; back to my account</a>"
11059
  msgstr ""
11060
 
11061
- #: preheaders/billing.php:236 preheaders/billing.php:228
11062
  #: preheaders/billing.php:230 preheaders/billing.php:234
11063
- #: preheaders/billing.php:347 preheaders/billing.php:351
11064
- #: preheaders/billing.php:352 preheaders/billing.php:356
11065
- #: preheaders/billing.php:359 preheaders/billing.php:378
11066
- #: preheaders/billing.php:380
11067
  msgid "Error updating billing information."
11068
  msgstr ""
11069
 
11070
- #: preheaders/cancel.php:60 preheaders/cancel.php:24 preheaders/cancel.php:25
11071
  #: preheaders/cancel.php:28 preheaders/cancel.php:59 preheaders/cancel.php:60
11072
  msgid "Your membership has been cancelled."
11073
  msgstr ""
@@ -11315,7 +11720,7 @@ msgstr ""
11315
  msgid "The <strong>%s</strong> code has been applied to your order."
11316
  msgstr ""
11317
 
11318
- #: services/authnet-silent-post.php:149 services/authnet-silent-post.php:133
11319
  #: services/authnet-silent-post.php:138 services/authnet-silent-post.php:141
11320
  #: services/authnet-silent-post.php:144 services/authnet-silent-post.php:145
11321
  #: services/authnet-silent-post.php:149
@@ -11324,75 +11729,49 @@ msgid ""
11324
  "Information From Authorize.net"
11325
  msgstr ""
11326
 
11327
- #: shortcodes/pmpro_account.php:45 pages/account.php:19
11328
  #: shortcodes/pmpro_account.php:44 shortcodes/pmpro_account.php:45
11329
  msgid "Billing"
11330
  msgstr ""
11331
 
11332
- #: shortcodes/pmpro_account.php:64 pages/account.php:36
11333
- #: shortcodes/pmpro_account.php:62 shortcodes/pmpro_account.php:64
11334
- #: shortcodes/pmpro_account.php:65
11335
- msgid "Update Billing Info"
11336
- msgstr ""
11337
-
11338
- #: shortcodes/pmpro_account.php:70 pages/account.php:42
11339
- #: shortcodes/pmpro_account.php:68 shortcodes/pmpro_account.php:70
11340
- #: shortcodes/pmpro_account.php:71
11341
- msgid "Change"
11342
- msgstr ""
11343
-
11344
- #: shortcodes/pmpro_account.php:95 pages/account.php:64
11345
  #: shortcodes/pmpro_account.php:90 shortcodes/pmpro_account.php:92
11346
  #: shortcodes/pmpro_account.php:93 shortcodes/pmpro_account.php:95
11347
  msgid "View all Membership Options"
11348
  msgstr ""
11349
 
11350
- #: shortcodes/pmpro_account.php:104 pages/account.php:46 pages/account.php:50
11351
  #: pages/account.php:71 shortcodes/pmpro_account.php:99
11352
  #: shortcodes/pmpro_account.php:101 shortcodes/pmpro_account.php:102
11353
  #: shortcodes/pmpro_account.php:104
11354
  msgid "My Account"
11355
  msgstr ""
11356
 
11357
- #: shortcodes/pmpro_account.php:115 pages/account.php:55 pages/account.php:59
11358
- #: pages/account.php:80 shortcodes/pmpro_account.php:110
11359
- #: shortcodes/pmpro_account.php:112 shortcodes/pmpro_account.php:113
11360
- #: shortcodes/pmpro_account.php:115
11361
- msgid "Edit Profile"
11362
- msgstr ""
11363
-
11364
- #: shortcodes/pmpro_account.php:116 pages/account.php:56 pages/account.php:60
11365
- #: pages/account.php:81 shortcodes/pmpro_account.php:111
11366
- #: shortcodes/pmpro_account.php:113 shortcodes/pmpro_account.php:114
11367
- #: shortcodes/pmpro_account.php:116
11368
- msgid "Change Password"
11369
- msgstr ""
11370
-
11371
- #: shortcodes/pmpro_account.php:123 pages/account.php:87 pages/account.php:125
11372
  #: pages/account.php:129 shortcodes/pmpro_account.php:118
11373
  #: shortcodes/pmpro_account.php:120 shortcodes/pmpro_account.php:121
11374
  #: shortcodes/pmpro_account.php:123
11375
  msgid "Past Invoices"
11376
  msgstr ""
11377
 
11378
- #: shortcodes/pmpro_account.php:129 pages/account.php:93
11379
  #: shortcodes/pmpro_account.php:124 shortcodes/pmpro_account.php:126
11380
  #: shortcodes/pmpro_account.php:127 shortcodes/pmpro_account.php:129
11381
  msgid "Amount"
11382
  msgstr ""
11383
 
11384
- #: shortcodes/pmpro_account.php:153 shortcodes/pmpro_account.php:153
11385
  msgid "Refunded"
11386
  msgstr ""
11387
 
11388
- #: shortcodes/pmpro_account.php:168 pages/account.php:121 pages/account.php:140
11389
  #: pages/account.php:144 shortcodes/pmpro_account.php:152
11390
  #: shortcodes/pmpro_account.php:154 shortcodes/pmpro_account.php:155
11391
  #: shortcodes/pmpro_account.php:157 shortcodes/pmpro_account.php:168
11392
  msgid "View All Invoices"
11393
  msgstr ""
11394
 
11395
- #: shortcodes/pmpro_account.php:175 pages/account.php:128 pages/account.php:146
11396
  #: pages/account.php:150 shortcodes/pmpro_account.php:159
11397
  #: shortcodes/pmpro_account.php:161 shortcodes/pmpro_account.php:162
11398
  #: shortcodes/pmpro_account.php:164 shortcodes/pmpro_account.php:175
@@ -11417,6 +11796,24 @@ msgstr ""
11417
  msgid "User Forum"
11418
  msgstr ""
11419
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11420
  #: adminpages/advancedsettings.php:143 adminpages/membershiplevels.php:457
11421
  #: adminpages/membershiplevels.php:463 adminpages/membershiplevels.php:465
11422
  #: adminpages/membershiplevels.php:492 adminpages/membershiplevels.php:493
@@ -11608,6 +12005,25 @@ msgid ""
11608
  "still get an email confirmation from PMPro after checkout.)"
11609
  msgstr ""
11610
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11611
  #: adminpages/membershiplevels.php:364
11612
  msgid ""
11613
  "Stripe integration currently only supports billing periods of \"Month\" or "
@@ -11945,6 +12361,23 @@ msgstr ""
11945
  msgid "No users avaliable."
11946
  msgstr ""
11947
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11948
  #: classes/class.pmproemail.php:342 classes/class.pmproemail.php:345
11949
  #: classes/class.pmproemail.php:363 classes/class.pmproemail.php:366
11950
  #: classes/class.pmproemail.php:375
@@ -12088,10 +12521,26 @@ msgid ""
12088
  "here."
12089
  msgstr ""
12090
 
 
 
 
 
 
 
 
 
 
 
12091
  #: includes/adminpages.php:56
12092
  msgid "<span style=\"color:#7FFF00\">License</span>"
12093
  msgstr ""
12094
 
 
 
 
 
 
 
12095
  #: includes/currencies.php:11
12096
  msgid "Brazilian Real (&#36;)"
12097
  msgstr ""
@@ -12343,6 +12792,34 @@ msgstr ""
12343
  msgid "Start the Update"
12344
  msgstr ""
12345
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12346
  #: pages/account.php:10
12347
  msgid "Your membership is <strong>active</strong>."
12348
  msgstr ""
@@ -12352,11 +12829,27 @@ msgstr ""
12352
  msgid "Your first payment will cost %s."
12353
  msgstr ""
12354
 
 
 
 
 
 
12355
  #: pages/account.php:38 pages/account.php:42
12356
  #, php-format
12357
  msgid "Your first %d payments will cost %s."
12358
  msgstr ""
12359
 
 
 
 
 
 
 
 
 
 
 
 
12360
  #: pages/account.php:87 pages/account.php:91
12361
  msgid "Billing Information"
12362
  msgstr ""
6
  msgstr ""
7
  "Project-Id-Version: paid-memberships-pro\n"
8
  "Report-Msgid-Bugs-To: info@paidmembershipspro.com\n"
9
+ "POT-Creation-Date: 2020-05-01 15:56-0400\n"
10
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11
  "Last-Translator: \n"
12
  "Language-Team: Stranger Studios <info@paidmembershipspro.com>\n"
44
  msgid "Check Again"
45
  msgstr ""
46
 
47
+ #: adminpages/addons.php:94 adminpages/orders.php:994 adminpages/addons.php:76
48
  #: adminpages/addons.php:79 adminpages/addons.php:92 adminpages/addons.php:93
49
  #: adminpages/addons.php:94 adminpages/orders.php:605 adminpages/orders.php:712
50
  #: adminpages/orders.php:741 adminpages/orders.php:850
163
  msgid "Activate %s"
164
  msgstr ""
165
 
166
+ #: adminpages/addons.php:230 adminpages/discountcodes.php:781
167
+ #: adminpages/membershiplevels.php:801 adminpages/orders.php:1353
168
  #: adminpages/addons.php:213 adminpages/addons.php:216
169
  #: adminpages/addons.php:229 adminpages/addons.php:230
170
  #: adminpages/addons.php:231 adminpages/discountcodes.php:771
209
  msgid "WordPress.org"
210
  msgstr ""
211
 
212
+ #: adminpages/addons.php:248 adminpages/orders.php:901
213
+ #: adminpages/orders.php:1445 adminpages/orders.php:1455
214
+ #: includes/profile.php:186 shortcodes/pmpro_account.php:234
215
  #: adminpages/addons.php:231 adminpages/addons.php:234
216
  #: adminpages/addons.php:247 adminpages/addons.php:248
217
  #: adminpages/addons.php:249 adminpages/orders.php:855
426
  msgid "Members"
427
  msgstr ""
428
 
429
+ #: adminpages/admin_header.php:212 adminpages/discountcodes.php:785
430
+ #: classes/class-pmpro-admin-activity-email.php:219 includes/adminpages.php:52
431
+ #: includes/adminpages.php:167 adminpages/admin_header.php:196
432
+ #: adminpages/admin_header.php:197 adminpages/admin_header.php:204
433
+ #: adminpages/admin_header.php:212 adminpages/discountcodes.php:775
434
+ #: adminpages/discountcodes.php:776 adminpages/discountcodes.php:777
435
+ #: adminpages/discountcodes.php:783 adminpages/orders.php:520
436
+ #: adminpages/orders.php:570 adminpages/orders.php:677
437
+ #: adminpages/orders.php:706 adminpages/orders.php:810
438
+ #: adminpages/orders.php:841 adminpages/orders.php:852
439
+ #: adminpages/orders.php:939 adminpages/orders.php:944
440
+ #: adminpages/orders.php:949 adminpages/orders.php:994
441
+ #: includes/adminpages.php:17 includes/adminpages.php:52
442
+ #: includes/adminpages.php:55 includes/adminpages.php:56
443
+ #: includes/adminpages.php:84 includes/adminpages.php:156
444
+ #: includes/adminpages.php:157 includes/adminpages.php:163
445
+ #: includes/adminpages.php:165 includes/adminpages.php:167
446
+ #: includes/adminpages.php:172
447
  msgid "Orders"
448
  msgstr ""
449
 
494
  msgid "License"
495
  msgstr ""
496
 
497
+ #: adminpages/admin_header.php:235 adminpages/discountcodes.php:752
498
  #: adminpages/admin_header.php:215 adminpages/admin_header.php:220
499
  #: adminpages/admin_header.php:227 adminpages/admin_header.php:235
500
  #: adminpages/discountcodes.php:552 adminpages/discountcodes.php:562
505
  msgid "Levels"
506
  msgstr ""
507
 
508
+ #: adminpages/admin_header.php:235 adminpages/pagesettings.php:98
509
+ #: includes/compatibility/beaver-builder.php:130 includes/metaboxes.php:130
510
+ #: adminpages/admin_header.php:128 adminpages/admin_header.php:149
511
+ #: adminpages/admin_header.php:150 adminpages/admin_header.php:159
512
+ #: adminpages/admin_header.php:171 adminpages/admin_header.php:184
513
+ #: adminpages/admin_header.php:215 adminpages/admin_header.php:220
514
+ #: adminpages/admin_header.php:227 adminpages/admin_header.php:235
515
+ #: adminpages/membershiplevels.php:490 adminpages/membershiplevels.php:496
516
+ #: adminpages/membershiplevels.php:498 adminpages/membershiplevels.php:525
517
+ #: adminpages/membershiplevels.php:526 adminpages/membershiplevels.php:569
518
+ #: adminpages/membershiplevels.php:607 adminpages/membershiplevels.php:609
519
+ #: adminpages/membershiplevels.php:618 adminpages/membershiplevels.php:619
520
+ #: adminpages/membershiplevels.php:631 adminpages/membershiplevels.php:641
521
+ #: adminpages/membershiplevels.php:700 adminpages/membershiplevels.php:702
522
+ #: adminpages/membershiplevels.php:728 adminpages/membershiplevels.php:745
523
+ #: adminpages/membershiplevels.php:750 adminpages/membershiplevels.php:755
524
+ #: adminpages/pagesettings.php:69 adminpages/pagesettings.php:70
525
+ #: adminpages/pagesettings.php:71 adminpages/pagesettings.php:85
526
+ #: includes/adminpages.php:44 includes/adminpages.php:64
527
+ #: includes/adminpages.php:65 includes/adminpages.php:69
528
+ #: includes/adminpages.php:70 includes/adminpages.php:100
529
+ #: includes/adminpages.php:107 includes/adminpages.php:111
530
+ #: includes/adminpages.php:116 includes/metaboxes.php:126
531
+ #: includes/metaboxes.php:130 includes/metaboxes.php:131
532
+ #: includes/metaboxes.php:132
533
  msgid "Membership Levels"
534
  msgstr ""
535
 
583
  msgid "Payment Gateway &amp; SSL Settings"
584
  msgstr ""
585
 
586
+ #: adminpages/admin_header.php:251 adminpages/orders.php:376
587
+ #: adminpages/orders.php:1360 includes/profile.php:539
588
+ #: shortcodes/pmpro_account.php:160 adminpages/admin_header.php:131
589
+ #: adminpages/admin_header.php:152 adminpages/admin_header.php:162
590
+ #: adminpages/admin_header.php:171 adminpages/admin_header.php:183
591
+ #: adminpages/admin_header.php:196 adminpages/admin_header.php:231
592
+ #: adminpages/admin_header.php:236 adminpages/admin_header.php:243
593
+ #: adminpages/admin_header.php:251 adminpages/memberslist.php:115
594
+ #: adminpages/memberslist.php:148 adminpages/memberslist.php:158
595
+ #: adminpages/memberslist.php:168 adminpages/memberslist.php:172
596
+ #: adminpages/orders.php:371 adminpages/orders.php:372
597
+ #: adminpages/orders.php:1345 adminpages/orders.php:1350
598
+ #: adminpages/orders.php:1351 adminpages/orders.php:1365 pages/account.php:52
599
+ #: pages/account.php:56 pages/account.php:77 shortcodes/pmpro_account.php:106
600
  #: shortcodes/pmpro_account.php:108 shortcodes/pmpro_account.php:109
601
  #: shortcodes/pmpro_account.php:111
602
  msgid "Email"
640
  msgid "Advanced Settings"
641
  msgstr ""
642
 
643
+ #: adminpages/advancedsettings.php:13 adminpages/discountcodes.php:63
644
+ #: adminpages/discountcodes.php:311 adminpages/emailsettings.php:16
645
  #: adminpages/membershiplevels.php:43 adminpages/pagesettings.php:29
646
+ #: adminpages/pagesettings.php:72 adminpages/paymentsettings.php:19
647
  #: adminpages/advancedsettings.php:13 adminpages/discountcodes.php:58
648
  #: adminpages/discountcodes.php:61 adminpages/discountcodes.php:304
649
  #: adminpages/discountcodes.php:309 adminpages/emailsettings.php:16
652
  msgid "Are you sure you want to do that? Try again."
653
  msgstr ""
654
 
655
+ #: adminpages/advancedsettings.php:67 adminpages/advancedsettings.php:35
656
  #: adminpages/advancedsettings.php:42 adminpages/advancedsettings.php:43
657
  #: adminpages/advancedsettings.php:46 adminpages/advancedsettings.php:60
658
  #: adminpages/advancedsettings.php:61 adminpages/advancedsettings.php:62
659
  msgid "Your advanced settings have been updated."
660
  msgstr ""
661
 
662
+ #: adminpages/advancedsettings.php:104 includes/updates/upgrade_1.php:7
 
 
 
663
  #, php-format
664
  msgid ""
665
+ "This content is for !!levels!! members only.<br /><a href=\"%s\">Join Now</a>"
 
666
  msgstr ""
667
 
668
+ #: adminpages/advancedsettings.php:109
 
 
 
669
  #, php-format
670
  msgid ""
671
+ "This content is for !!levels!! members only.<br /><a href=\"%s\">Log In</a> "
672
+ "<a href=\"%s\">Join Now</a>"
673
  msgstr ""
674
 
675
+ #: adminpages/advancedsettings.php:114 includes/updates/upgrade_1.php:13
676
+ #: adminpages/advancedsettings.php:76 adminpages/advancedsettings.php:78
677
+ #: adminpages/advancedsettings.php:81 adminpages/advancedsettings.php:95
678
+ #: adminpages/advancedsettings.php:97 adminpages/advancedsettings.php:99
679
  msgid ""
680
  "This content is for members only. Visit the site and log in/register to read."
681
  msgstr ""
682
 
683
+ #: adminpages/advancedsettings.php:138
684
+ msgid "WordPress Dashboard"
685
+ msgstr ""
686
+
687
+ #: adminpages/advancedsettings.php:141
688
+ msgid "Block all users with the Subscriber role from accessing the Dashboard."
689
+ msgstr ""
690
+
691
+ #: adminpages/advancedsettings.php:146
692
+ msgid "WordPress Toolbar"
693
+ msgstr ""
694
+
695
+ #: adminpages/advancedsettings.php:149
696
+ msgid "Hide the Toolbar from all users with the Subscriber role."
697
+ msgstr ""
698
+
699
+ #: adminpages/advancedsettings.php:162 adminpages/advancedsettings.php:85
700
  #: adminpages/advancedsettings.php:92 adminpages/advancedsettings.php:94
701
  #: adminpages/advancedsettings.php:97 adminpages/advancedsettings.php:113
702
  #: adminpages/advancedsettings.php:115 adminpages/advancedsettings.php:118
703
  msgid "Message for Logged-in Non-members"
704
  msgstr ""
705
 
706
+ #: adminpages/advancedsettings.php:166 adminpages/advancedsettings.php:89
707
  #: adminpages/advancedsettings.php:96 adminpages/advancedsettings.php:98
708
  #: adminpages/advancedsettings.php:101 adminpages/advancedsettings.php:117
709
  #: adminpages/advancedsettings.php:119 adminpages/advancedsettings.php:122
711
  "This message replaces the post content for non-members. Available variables"
712
  msgstr ""
713
 
714
+ #: adminpages/advancedsettings.php:171 adminpages/advancedsettings.php:94
715
  #: adminpages/advancedsettings.php:101 adminpages/advancedsettings.php:103
716
  #: adminpages/advancedsettings.php:106 adminpages/advancedsettings.php:122
717
  #: adminpages/advancedsettings.php:124 adminpages/advancedsettings.php:127
718
  msgid "Message for Logged-out Users"
719
  msgstr ""
720
 
721
+ #: adminpages/advancedsettings.php:175 adminpages/advancedsettings.php:184
722
+ msgid "Available variables"
723
+ msgstr ""
724
+
725
+ #: adminpages/advancedsettings.php:175 adminpages/advancedsettings.php:98
726
  #: adminpages/advancedsettings.php:105 adminpages/advancedsettings.php:107
727
  #: adminpages/advancedsettings.php:110 adminpages/advancedsettings.php:126
728
  #: adminpages/advancedsettings.php:128 adminpages/advancedsettings.php:131
729
  msgid "This message replaces the post content for logged-out visitors."
730
  msgstr ""
731
 
732
+ #: adminpages/advancedsettings.php:180 adminpages/advancedsettings.php:103
733
  #: adminpages/advancedsettings.php:110 adminpages/advancedsettings.php:112
734
  #: adminpages/advancedsettings.php:115 adminpages/advancedsettings.php:131
735
  #: adminpages/advancedsettings.php:133 adminpages/advancedsettings.php:136
736
  msgid "Message for RSS Feed"
737
  msgstr ""
738
 
739
+ #: adminpages/advancedsettings.php:184 adminpages/advancedsettings.php:107
740
  #: adminpages/advancedsettings.php:114 adminpages/advancedsettings.php:116
741
  #: adminpages/advancedsettings.php:119 adminpages/advancedsettings.php:135
742
  #: adminpages/advancedsettings.php:137 adminpages/advancedsettings.php:140
743
  msgid "This message replaces the post content in RSS feeds."
744
  msgstr ""
745
 
746
+ #: adminpages/advancedsettings.php:197 adminpages/advancedsettings.php:122
747
  #: adminpages/advancedsettings.php:125 adminpages/advancedsettings.php:141
748
  #: adminpages/advancedsettings.php:143 adminpages/advancedsettings.php:148
749
  #: adminpages/advancedsettings.php:151
750
  msgid "Filter searches and archives?"
751
  msgstr ""
752
 
753
+ #: adminpages/advancedsettings.php:201 adminpages/advancedsettings.php:126
754
  #: adminpages/advancedsettings.php:129 adminpages/advancedsettings.php:145
755
  #: adminpages/advancedsettings.php:147 adminpages/advancedsettings.php:152
756
  #: adminpages/advancedsettings.php:155
758
  "No - Non-members will see restricted posts/pages in searches and archives."
759
  msgstr ""
760
 
761
+ #: adminpages/advancedsettings.php:202 adminpages/advancedsettings.php:127
762
  #: adminpages/advancedsettings.php:130 adminpages/advancedsettings.php:146
763
  #: adminpages/advancedsettings.php:148 adminpages/advancedsettings.php:153
764
  #: adminpages/advancedsettings.php:156
766
  "Yes - Only members will see restricted posts/pages in searches and archives."
767
  msgstr ""
768
 
769
+ #: adminpages/advancedsettings.php:208 adminpages/advancedsettings.php:113
770
  #: adminpages/advancedsettings.php:120 adminpages/advancedsettings.php:133
771
  #: adminpages/advancedsettings.php:136 adminpages/advancedsettings.php:152
772
  #: adminpages/advancedsettings.php:154 adminpages/advancedsettings.php:159
774
  msgid "Show Excerpts to Non-Members?"
775
  msgstr ""
776
 
777
+ #: adminpages/advancedsettings.php:212 adminpages/advancedsettings.php:117
778
  #: adminpages/advancedsettings.php:124 adminpages/advancedsettings.php:137
779
  #: adminpages/advancedsettings.php:140 adminpages/advancedsettings.php:156
780
  #: adminpages/advancedsettings.php:158 adminpages/advancedsettings.php:163
782
  msgid "No - Hide excerpts."
783
  msgstr ""
784
 
785
+ #: adminpages/advancedsettings.php:213 adminpages/advancedsettings.php:118
786
  #: adminpages/advancedsettings.php:125 adminpages/advancedsettings.php:138
787
  #: adminpages/advancedsettings.php:141 adminpages/advancedsettings.php:157
788
  #: adminpages/advancedsettings.php:159 adminpages/advancedsettings.php:164
790
  msgid "Yes - Show excerpts."
791
  msgstr ""
792
 
793
+ #: adminpages/advancedsettings.php:227 adminpages/advancedsettings.php:218
794
+ #: adminpages/advancedsettings.php:225 adminpages/advancedsettings.php:238
795
+ #: adminpages/advancedsettings.php:241 adminpages/advancedsettings.php:257
796
+ #: adminpages/advancedsettings.php:266 adminpages/advancedsettings.php:290
797
+ #: adminpages/advancedsettings.php:308
798
+ msgid "Require Terms of Service on signups?"
799
+ msgstr ""
800
+
801
+ #: adminpages/advancedsettings.php:234 adminpages/advancedsettings.php:225
802
+ #: adminpages/advancedsettings.php:232 adminpages/advancedsettings.php:245
803
+ #: adminpages/advancedsettings.php:248 adminpages/advancedsettings.php:264
804
+ #: adminpages/advancedsettings.php:273 adminpages/advancedsettings.php:297
805
+ #: adminpages/advancedsettings.php:315
806
+ msgid ""
807
+ "If yes, create a WordPress page containing your TOS agreement and assign it "
808
+ "using the dropdown above."
809
+ msgstr ""
810
+
811
+ #: adminpages/advancedsettings.php:239 adminpages/advancedsettings.php:176
812
  #: adminpages/advancedsettings.php:179 adminpages/advancedsettings.php:195
813
  #: adminpages/advancedsettings.php:202 adminpages/advancedsettings.php:215
814
  #: adminpages/advancedsettings.php:218 adminpages/advancedsettings.php:234
816
  msgid "Use reCAPTCHA?"
817
  msgstr ""
818
 
819
+ #: adminpages/advancedsettings.php:243 adminpages/advancedsettings.php:335
820
+ #: adminpages/advancedsettings.php:392 adminpages/membershiplevels.php:818
821
  #: adminpages/paymentsettings.php:257
822
+ #: classes/gateways/class.pmprogateway_stripe.php:321
823
+ #: includes/compatibility/beaver-builder.php:43
824
+ #: includes/compatibility/beaver-builder.php:137 includes/profile.php:120
825
  #: adminpages/advancedsettings.php:128 adminpages/advancedsettings.php:135
826
  #: adminpages/advancedsettings.php:148 adminpages/advancedsettings.php:151
827
  #: adminpages/advancedsettings.php:167 adminpages/advancedsettings.php:169
874
  msgid "No"
875
  msgstr ""
876
 
877
+ #: adminpages/advancedsettings.php:244 adminpages/advancedsettings.php:181
878
  #: adminpages/advancedsettings.php:184 adminpages/advancedsettings.php:200
879
  #: adminpages/advancedsettings.php:207 adminpages/advancedsettings.php:220
880
  #: adminpages/advancedsettings.php:223 adminpages/advancedsettings.php:239
882
  msgid "Yes - Free memberships only."
883
  msgstr ""
884
 
885
+ #: adminpages/advancedsettings.php:245 adminpages/advancedsettings.php:182
886
  #: adminpages/advancedsettings.php:185 adminpages/advancedsettings.php:201
887
  #: adminpages/advancedsettings.php:208 adminpages/advancedsettings.php:221
888
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:240
890
  msgid "Yes - All memberships."
891
  msgstr ""
892
 
893
+ #: adminpages/advancedsettings.php:247 adminpages/advancedsettings.php:184
894
  #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:203
895
  #: adminpages/advancedsettings.php:210 adminpages/advancedsettings.php:223
896
  #: adminpages/advancedsettings.php:226 adminpages/advancedsettings.php:242
898
  msgid "A free reCAPTCHA key is required."
899
  msgstr ""
900
 
901
+ #: adminpages/advancedsettings.php:247 adminpages/advancedsettings.php:184
902
  #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:203
903
  #: adminpages/advancedsettings.php:210 adminpages/advancedsettings.php:223
904
  #: adminpages/advancedsettings.php:226 adminpages/advancedsettings.php:242
906
  msgid "Click here to signup for reCAPTCHA"
907
  msgstr ""
908
 
909
+ #: adminpages/advancedsettings.php:255 adminpages/advancedsettings.php:192
910
  #: adminpages/advancedsettings.php:195 adminpages/advancedsettings.php:250
911
  msgid "reCAPTCHA Version"
912
  msgstr ""
913
 
914
+ #: adminpages/advancedsettings.php:258 adminpages/advancedsettings.php:195
915
  #: adminpages/advancedsettings.php:198 adminpages/advancedsettings.php:252
916
  msgid " v2 - Checkbox"
917
  msgstr ""
918
 
919
+ #: adminpages/advancedsettings.php:259 adminpages/advancedsettings.php:196
920
  #: adminpages/advancedsettings.php:199 adminpages/advancedsettings.php:253
921
  msgid "v3 - Invisible"
922
  msgstr ""
923
 
924
+ #: adminpages/advancedsettings.php:261 adminpages/advancedsettings.php:198
925
  #: adminpages/advancedsettings.php:201 adminpages/advancedsettings.php:255
926
  msgid "Changing your version will require new API keys."
927
  msgstr ""
928
 
929
+ #: adminpages/advancedsettings.php:265 adminpages/advancedsettings.php:202
930
  #: adminpages/advancedsettings.php:205 adminpages/advancedsettings.php:248
931
  #: adminpages/advancedsettings.php:257
932
  msgid "reCAPTCHA Site Key"
933
  msgstr ""
934
 
935
+ #: adminpages/advancedsettings.php:271 adminpages/advancedsettings.php:208
936
  #: adminpages/advancedsettings.php:211 adminpages/advancedsettings.php:251
937
  #: adminpages/advancedsettings.php:260
938
  msgid "reCAPTCHA Secret Key"
939
  msgstr ""
940
 
941
+ #: adminpages/advancedsettings.php:284 adminpages/advancedsettings.php:246
942
+ msgid "Notifications"
943
+ msgstr ""
944
+
945
+ #: adminpages/advancedsettings.php:288 adminpages/advancedsettings.php:250
946
+ msgid "Show all notifications."
947
+ msgstr ""
948
+
949
+ #: adminpages/advancedsettings.php:291 adminpages/advancedsettings.php:253
950
+ msgid "Show only security notifications."
951
+ msgstr ""
952
+
953
+ #: adminpages/advancedsettings.php:295 adminpages/advancedsettings.php:257
954
+ msgid ""
955
+ "Notifications are occasionally shown on the Paid Memberships Pro settings "
956
+ "pages."
957
+ msgstr ""
958
+
959
+ #: adminpages/advancedsettings.php:300
960
+ msgid "Activity Email Frequency"
961
+ msgstr ""
962
+
963
+ #: adminpages/advancedsettings.php:305 adminpages/reports/memberships.php:351
964
+ #: adminpages/reports/sales.php:290 adminpages/reports/memberships.php:258
965
+ #: adminpages/reports/memberships.php:265
966
+ #: adminpages/reports/memberships.php:278
967
+ #: adminpages/reports/memberships.php:294
968
+ #: adminpages/reports/memberships.php:306
969
+ #: adminpages/reports/memberships.php:330
970
+ #: adminpages/reports/memberships.php:351 adminpages/reports/sales.php:187
971
+ #: adminpages/reports/sales.php:195 adminpages/reports/sales.php:196
972
+ #: adminpages/reports/sales.php:204 adminpages/reports/sales.php:205
973
+ #: adminpages/reports/sales.php:221 adminpages/reports/sales.php:290
974
+ msgid "Daily"
975
+ msgstr ""
976
+
977
+ #: adminpages/advancedsettings.php:308
978
+ msgid "Weekly"
979
+ msgstr ""
980
+
981
+ #: adminpages/advancedsettings.php:311 adminpages/reports/memberships.php:352
982
+ #: adminpages/reports/sales.php:291 adminpages/reports/memberships.php:259
983
+ #: adminpages/reports/memberships.php:266
984
+ #: adminpages/reports/memberships.php:279
985
+ #: adminpages/reports/memberships.php:295
986
+ #: adminpages/reports/memberships.php:307
987
+ #: adminpages/reports/memberships.php:331
988
+ #: adminpages/reports/memberships.php:352 adminpages/reports/sales.php:188
989
+ #: adminpages/reports/sales.php:196 adminpages/reports/sales.php:197
990
+ #: adminpages/reports/sales.php:205 adminpages/reports/sales.php:206
991
+ #: adminpages/reports/sales.php:222 adminpages/reports/sales.php:291
992
+ msgid "Monthly"
993
+ msgstr ""
994
+
995
+ #: adminpages/advancedsettings.php:314 includes/privacy.php:175
996
+ #: adminpages/memberslist.php:184 adminpages/memberslist.php:212
997
+ #: includes/privacy.php:175
998
+ msgid "Never"
999
+ msgstr ""
1000
+
1001
+ #: adminpages/advancedsettings.php:318
1002
+ msgid ""
1003
+ "Send periodic sales and revenue updates from this site to the administration "
1004
+ "email address."
1005
+ msgstr ""
1006
+
1007
+ #: adminpages/advancedsettings.php:331 adminpages/advancedsettings.php:144
1008
  #: adminpages/advancedsettings.php:147 adminpages/advancedsettings.php:163
1009
  #: adminpages/advancedsettings.php:165 adminpages/advancedsettings.php:221
1010
  #: adminpages/advancedsettings.php:224
1011
  msgid "Hide Ads From Members?"
1012
  msgstr ""
1013
 
1014
+ #: adminpages/advancedsettings.php:336 adminpages/advancedsettings.php:129
1015
  #: adminpages/advancedsettings.php:136 adminpages/advancedsettings.php:149
1016
  #: adminpages/advancedsettings.php:152 adminpages/advancedsettings.php:168
1017
  #: adminpages/advancedsettings.php:170 adminpages/advancedsettings.php:226
1019
  msgid "Hide Ads From All Members"
1020
  msgstr ""
1021
 
1022
+ #: adminpages/advancedsettings.php:337 adminpages/advancedsettings.php:130
1023
  #: adminpages/advancedsettings.php:137 adminpages/advancedsettings.php:150
1024
  #: adminpages/advancedsettings.php:153 adminpages/advancedsettings.php:169
1025
  #: adminpages/advancedsettings.php:171 adminpages/advancedsettings.php:227
1027
  msgid "Hide Ads From Certain Members"
1028
  msgstr ""
1029
 
1030
+ #: adminpages/advancedsettings.php:344 adminpages/advancedsettings.php:137
1031
  #: adminpages/advancedsettings.php:144 adminpages/advancedsettings.php:157
1032
  #: adminpages/advancedsettings.php:160 adminpages/advancedsettings.php:176
1033
  #: adminpages/advancedsettings.php:178 adminpages/advancedsettings.php:234
1035
  msgid "Ads from the following plugins will be automatically turned off"
1036
  msgstr ""
1037
 
1038
+ #: adminpages/advancedsettings.php:345 adminpages/advancedsettings.php:138
1039
  #: adminpages/advancedsettings.php:145 adminpages/advancedsettings.php:158
1040
  #: adminpages/advancedsettings.php:161 adminpages/advancedsettings.php:177
1041
  #: adminpages/advancedsettings.php:179 adminpages/advancedsettings.php:235
1043
  msgid "To hide ads in your template code, use code like the following"
1044
  msgstr ""
1045
 
1046
+ #: adminpages/advancedsettings.php:354 adminpages/advancedsettings.php:149
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1047
  #: adminpages/advancedsettings.php:156 adminpages/advancedsettings.php:169
1048
  #: adminpages/advancedsettings.php:172 adminpages/advancedsettings.php:188
1049
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:244
1051
  msgid "Choose Levels to Hide Ads From"
1052
  msgstr ""
1053
 
1054
+ #: adminpages/advancedsettings.php:388 adminpages/advancedsettings.php:183
1055
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:203
1056
  #: adminpages/advancedsettings.php:206 adminpages/advancedsettings.php:222
1057
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:278
1059
  msgid "Redirect all traffic from registration page to /susbcription/?"
1060
  msgstr ""
1061
 
1062
+ #: adminpages/advancedsettings.php:388 adminpages/advancedsettings.php:183
1063
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:203
1064
  #: adminpages/advancedsettings.php:206 adminpages/advancedsettings.php:222
1065
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:278
1067
  msgid "multisite only"
1068
  msgstr ""
1069
 
1070
+ #: adminpages/advancedsettings.php:393 adminpages/membershiplevels.php:818
1071
  #: adminpages/paymentsettings.php:258
1072
+ #: classes/gateways/class.pmprogateway_stripe.php:323
1073
+ #: includes/compatibility/beaver-builder.php:42
1074
+ #: includes/compatibility/beaver-builder.php:136 includes/profile.php:121
1075
  #: adminpages/advancedsettings.php:188 adminpages/advancedsettings.php:195
1076
  #: adminpages/advancedsettings.php:208 adminpages/advancedsettings.php:211
1077
  #: adminpages/advancedsettings.php:227 adminpages/advancedsettings.php:229
1117
  msgid "Yes"
1118
  msgstr ""
1119
 
1120
+ #: adminpages/advancedsettings.php:507 adminpages/pagesettings.php:439
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1121
  #: adminpages/paymentsettings.php:288 adminpages/advancedsettings.php:284
1122
  #: adminpages/advancedsettings.php:355 adminpages/advancedsettings.php:359
1123
  #: adminpages/advancedsettings.php:368 adminpages/advancedsettings.php:375
1220
  "that you may use the software on this site or any other site free of charge."
1221
  msgstr ""
1222
 
1223
+ #: adminpages/dashboard.php:215 adminpages/orders.php:1313
1224
+ #: adminpages/reports/login.php:179 classes/class.memberorder.php:870
1225
+ #: pages/checkout.php:118 shortcodes/pmpro_account.php:159
1226
  #: adminpages/dashboard.php:215 adminpages/dashboard.php:223
1227
  #: adminpages/memberslist.php:112 adminpages/memberslist.php:145
1228
  #: adminpages/memberslist.php:155 adminpages/memberslist.php:165
1239
  msgstr ""
1240
 
1241
  #: adminpages/dashboard.php:216 adminpages/dashboard.php:284
1242
+ #: adminpages/orders.php:1315 adminpages/reports/login.php:181
1243
  #: includes/privacy.php:241 pages/billing.php:57 pages/cancel.php:60
1244
+ #: pages/invoice.php:104 pages/levels.php:35 shortcodes/pmpro_account.php:42
1245
+ #: shortcodes/pmpro_account.php:204 adminpages/dashboard.php:216
1246
  #: adminpages/dashboard.php:284 adminpages/dashboard.php:292
1247
  #: adminpages/memberslist.php:175 adminpages/orders.php:1300
1248
  #: adminpages/orders.php:1306 adminpages/reports/login.php:181
1250
  #: pages/account.php:92 pages/billing.php:16 pages/billing.php:25
1251
  #: pages/billing.php:27 pages/billing.php:28 pages/billing.php:30
1252
  #: pages/billing.php:41 pages/billing.php:44 pages/billing.php:45
1253
+ #: pages/billing.php:49 pages/billing.php:50 pages/billing.php:57
1254
+ #: pages/cancel.php:52 pages/cancel.php:60 pages/cancel.php:61
1255
+ #: pages/invoice.php:89 pages/invoice.php:101 pages/invoice.php:102
1256
+ #: pages/invoice.php:103 pages/invoice.php:104 pages/invoice.php:109
1257
+ #: pages/levels.php:13 pages/levels.php:35 shortcodes/pmpro_account.php:43
1258
+ #: shortcodes/pmpro_account.php:44 shortcodes/pmpro_account.php:123
1259
+ #: shortcodes/pmpro_account.php:125 shortcodes/pmpro_account.php:126
1260
+ #: shortcodes/pmpro_account.php:128
1261
  msgid "Level"
1262
  msgstr ""
1263
 
1271
  msgid "Joined"
1272
  msgstr ""
1273
 
1274
+ #: adminpages/dashboard.php:218 adminpages/discountcodes.php:750
1275
+ #: adminpages/reports/login.php:183 includes/profile.php:117
1276
  #: adminpages/dashboard.php:218 adminpages/dashboard.php:226
1277
  #: adminpages/discountcodes.php:550 adminpages/discountcodes.php:560
1278
  #: adminpages/discountcodes.php:588 adminpages/discountcodes.php:589
1291
  msgstr ""
1292
 
1293
  #: adminpages/dashboard.php:224 adminpages/reports/login.php:261
1294
+ #: classes/class-pmpro-members-list-table.php:226 adminpages/dashboard.php:224
1295
  #: adminpages/dashboard.php:232 adminpages/memberslist.php:195
1296
  #: adminpages/memberslist.php:223 adminpages/memberslist.php:251
1297
  #: adminpages/memberslist.php:261 adminpages/memberslist.php:262
1299
  #: adminpages/memberslist.php:272 adminpages/reports/login.php:210
1300
  #: adminpages/reports/login.php:212 adminpages/reports/login.php:228
1301
  #: adminpages/reports/login.php:232 adminpages/reports/login.php:261
1302
+ #: classes/class-pmpro-members-list-table.php:252
1303
  #: classes/class-pmpro-members-list-table.php:257
1304
  msgid "No members found."
1305
  msgstr ""
1306
 
1307
+ #: adminpages/dashboard.php:282 adminpages/discountcodes.php:449
1308
+ #: adminpages/discountcodes.php:748 adminpages/orders.php:413
1309
+ #: adminpages/orders.php:1312 adminpages/dashboard.php:282
1310
  #: adminpages/dashboard.php:290 adminpages/discountcodes.php:311
1311
  #: adminpages/discountcodes.php:314 adminpages/discountcodes.php:315
1312
  #: adminpages/discountcodes.php:316 adminpages/discountcodes.php:321
1350
  msgid "User"
1351
  msgstr ""
1352
 
1353
+ #: adminpages/dashboard.php:285 adminpages/orders.php:627
1354
+ #: adminpages/orders.php:1316 adminpages/templates/orders-email.php:64
1355
  #: adminpages/templates/orders-print.php:93 includes/privacy.php:285
1356
  #: pages/confirmation.php:98 pages/invoice.php:80 adminpages/dashboard.php:285
1357
  #: adminpages/dashboard.php:293 adminpages/orders.php:320
1369
  #: adminpages/orders.php:1312 adminpages/orders.php:1357
1370
  #: adminpages/templates/orders-email.php:64
1371
  #: adminpages/templates/orders-print.php:93 includes/privacy.php:285
1372
+ #: pages/confirmation.php:95 pages/confirmation.php:96
1373
+ #: pages/confirmation.php:98 pages/invoice.php:77 pages/invoice.php:78
1374
+ #: pages/invoice.php:79 pages/invoice.php:80 pages/invoice.php:82
1375
  #: pages/invoice.php:84
1376
  msgid "Total"
1377
  msgstr ""
1378
 
1379
+ #: adminpages/dashboard.php:286 adminpages/orders.php:710
1380
+ #: adminpages/orders.php:1320 includes/privacy.php:202 includes/privacy.php:309
1381
+ #: pages/invoice.php:27 shortcodes/pmpro_account.php:206
1382
  #: adminpages/dashboard.php:286 adminpages/dashboard.php:294
1383
  #: adminpages/orders.php:373 adminpages/orders.php:423
1384
  #: adminpages/orders.php:495 adminpages/orders.php:524
1397
  msgid "Status"
1398
  msgstr ""
1399
 
1400
+ #: adminpages/dashboard.php:287 adminpages/orders.php:811
1401
+ #: adminpages/orders.php:1321 pages/invoice.php:102
1402
+ #: shortcodes/pmpro_account.php:203 adminpages/dashboard.php:287
1403
  #: adminpages/dashboard.php:295 adminpages/orders.php:442
1404
  #: adminpages/orders.php:492 adminpages/orders.php:493
1405
  #: adminpages/orders.php:565 adminpages/orders.php:594
1415
  #: adminpages/orders.php:1312 adminpages/orders.php:1317
1416
  #: adminpages/orders.php:1362 pages/account.php:91 pages/invoice.php:87
1417
  #: pages/invoice.php:99 pages/invoice.php:100 pages/invoice.php:101
1418
+ #: pages/invoice.php:102 pages/invoice.php:105 pages/invoice.php:107
1419
+ #: shortcodes/pmpro_account.php:122 shortcodes/pmpro_account.php:124
1420
+ #: shortcodes/pmpro_account.php:125 shortcodes/pmpro_account.php:127
1421
  msgid "Date"
1422
  msgstr ""
1423
 
1424
+ #: adminpages/dashboard.php:294 adminpages/orders.php:1478
1425
  #: adminpages/dashboard.php:294 adminpages/dashboard.php:302
1426
  #: adminpages/orders.php:674 adminpages/orders.php:977
1427
  #: adminpages/orders.php:995 adminpages/orders.php:1005
1434
  msgid "No orders found."
1435
  msgstr ""
1436
 
1437
+ #: adminpages/dashboard.php:311 adminpages/dashboard.php:326
1438
+ #: adminpages/orders.php:1384 adminpages/orders.php:1396
1439
  #: adminpages/dashboard.php:311 adminpages/dashboard.php:319
1440
  #: adminpages/orders.php:630 adminpages/orders.php:933
1441
  #: adminpages/orders.php:943 adminpages/orders.php:972
1447
  msgid "deleted"
1448
  msgstr ""
1449
 
1450
+ #: adminpages/dashboard.php:313 adminpages/dashboard.php:328
1451
+ #: adminpages/orders.php:1386 adminpages/orders.php:1398
1452
  #: adminpages/dashboard.php:313 adminpages/dashboard.php:321
1453
  #: adminpages/orders.php:1275 adminpages/orders.php:1347
1454
  #: adminpages/orders.php:1371 adminpages/orders.php:1376
1456
  msgid "none"
1457
  msgstr ""
1458
 
1459
+ #: adminpages/dashboard.php:383
1460
+ #: classes/class-pmpro-admin-activity-email.php:344
1461
+ #: adminpages/dashboard.php:372 adminpages/dashboard.php:377
1462
+ #: adminpages/dashboard.php:380
1463
  msgid "No news found."
1464
  msgstr ""
1465
 
1466
+ #: adminpages/dashboard.php:389 adminpages/dashboard.php:378
1467
  #: adminpages/dashboard.php:383 adminpages/dashboard.php:386
1468
  #, php-format
1469
  msgid "Posted %s"
1470
  msgstr ""
1471
 
1472
+ #: adminpages/discountcodes.php:107 adminpages/discountcodes.php:64
1473
  #: adminpages/discountcodes.php:65 adminpages/discountcodes.php:70
1474
  #: adminpages/discountcodes.php:71 adminpages/discountcodes.php:102
1475
  #: adminpages/discountcodes.php:105
1476
  msgid "Discount code added successfully."
1477
  msgstr ""
1478
 
1479
+ #: adminpages/discountcodes.php:113 adminpages/discountcodes.php:48
1480
  #: adminpages/discountcodes.php:49 adminpages/discountcodes.php:54
1481
  #: adminpages/discountcodes.php:77 adminpages/discountcodes.php:108
1482
  #: adminpages/discountcodes.php:111
1483
  msgid "Discount code updated successfully."
1484
  msgstr ""
1485
 
1486
+ #: adminpages/discountcodes.php:121 adminpages/discountcodes.php:71
1487
  #: adminpages/discountcodes.php:72 adminpages/discountcodes.php:73
1488
  #: adminpages/discountcodes.php:78 adminpages/discountcodes.php:85
1489
  #: adminpages/discountcodes.php:116 adminpages/discountcodes.php:119
1490
  msgid "Error adding discount code. That code may already be in use."
1491
  msgstr ""
1492
 
1493
+ #: adminpages/discountcodes.php:125 adminpages/discountcodes.php:55
1494
  #: adminpages/discountcodes.php:56 adminpages/discountcodes.php:61
1495
  #: adminpages/discountcodes.php:89 adminpages/discountcodes.php:120
1496
  #: adminpages/discountcodes.php:123
1497
  msgid "Error updating discount code. That code may already be in use."
1498
  msgstr ""
1499
 
1500
+ #: adminpages/discountcodes.php:287 adminpages/discountcodes.php:196
1501
  #: adminpages/discountcodes.php:197 adminpages/discountcodes.php:198
1502
  #: adminpages/discountcodes.php:203 adminpages/discountcodes.php:247
1503
  #: adminpages/discountcodes.php:280 adminpages/discountcodes.php:285
1505
  msgid "Error saving values for the %s level."
1506
  msgstr ""
1507
 
1508
+ #: adminpages/discountcodes.php:295 adminpages/discountcodes.php:204
1509
  #: adminpages/discountcodes.php:205 adminpages/discountcodes.php:206
1510
  #: adminpages/discountcodes.php:211 adminpages/discountcodes.php:255
1511
  #: adminpages/discountcodes.php:288 adminpages/discountcodes.php:293
1512
  msgid "There were errors updating the level values: "
1513
  msgstr ""
1514
 
1515
+ #: adminpages/discountcodes.php:335 adminpages/discountcodes.php:234
1516
  #: adminpages/discountcodes.php:237 adminpages/discountcodes.php:238
1517
  #: adminpages/discountcodes.php:239 adminpages/discountcodes.php:244
1518
  #: adminpages/discountcodes.php:288 adminpages/discountcodes.php:328
1521
  msgid "Code %s deleted successfully."
1522
  msgstr ""
1523
 
1524
+ #: adminpages/discountcodes.php:340 adminpages/discountcodes.php:239
1525
  #: adminpages/discountcodes.php:242 adminpages/discountcodes.php:243
1526
  #: adminpages/discountcodes.php:244 adminpages/discountcodes.php:249
1527
  #: adminpages/discountcodes.php:293 adminpages/discountcodes.php:333
1531
  "try again."
1532
  msgstr ""
1533
 
1534
+ #: adminpages/discountcodes.php:346 adminpages/discountcodes.php:245
1535
  #: adminpages/discountcodes.php:248 adminpages/discountcodes.php:249
1536
  #: adminpages/discountcodes.php:250 adminpages/discountcodes.php:255
1537
  #: adminpages/discountcodes.php:299 adminpages/discountcodes.php:339
1539
  msgid "Error deleting code. Please try again."
1540
  msgstr ""
1541
 
1542
+ #: adminpages/discountcodes.php:352 adminpages/discountcodes.php:251
1543
  #: adminpages/discountcodes.php:254 adminpages/discountcodes.php:255
1544
  #: adminpages/discountcodes.php:256 adminpages/discountcodes.php:261
1545
  #: adminpages/discountcodes.php:305 adminpages/discountcodes.php:345
1547
  msgid "Code not found."
1548
  msgstr ""
1549
 
1550
+ #: adminpages/discountcodes.php:358 adminpages/membershiplevels.php:169
1551
  #: adminpages/discountcodes.php:356 adminpages/membershiplevels.php:169
1552
  #, php-format
1553
  msgid ""
1557
  "information, <a target=\"_blank\" href=\"%s\">see our post here</a>."
1558
  msgstr ""
1559
 
1560
+ #: adminpages/discountcodes.php:373 adminpages/discountcodes.php:264
1561
  #: adminpages/discountcodes.php:267 adminpages/discountcodes.php:268
1562
  #: adminpages/discountcodes.php:269 adminpages/discountcodes.php:274
1563
  #: adminpages/discountcodes.php:318 adminpages/discountcodes.php:358
1565
  msgid "Edit Discount Code"
1566
  msgstr ""
1567
 
1568
+ #: adminpages/discountcodes.php:375 adminpages/discountcodes.php:266
1569
  #: adminpages/discountcodes.php:269 adminpages/discountcodes.php:270
1570
  #: adminpages/discountcodes.php:271 adminpages/discountcodes.php:276
1571
  #: adminpages/discountcodes.php:320 adminpages/discountcodes.php:360
1577
  msgid "Add New Discount Code"
1578
  msgstr ""
1579
 
1580
+ #: adminpages/discountcodes.php:444 adminpages/discountcodes.php:747
1581
  #: adminpages/membershiplevels.php:347 adminpages/membershiplevels.php:773
1582
+ #: adminpages/orders.php:1311 adminpages/reports/login.php:178
1583
  #: adminpages/templates/orders-email.php:46
1584
  #: adminpages/templates/orders-print.php:75 adminpages/discountcodes.php:306
1585
  #: adminpages/discountcodes.php:309 adminpages/discountcodes.php:310
1621
  msgid "ID"
1622
  msgstr ""
1623
 
1624
+ #: adminpages/discountcodes.php:445 adminpages/orders.php:406
1625
  #: adminpages/discountcodes.php:307 adminpages/discountcodes.php:310
1626
  #: adminpages/discountcodes.php:311 adminpages/discountcodes.php:312
1627
  #: adminpages/discountcodes.php:317 adminpages/discountcodes.php:382
1635
  msgid "This will be generated when you save."
1636
  msgstr ""
1637
 
1638
+ #: adminpages/discountcodes.php:487 includes/privacy.php:186
1639
  #: adminpages/discountcodes.php:349 adminpages/discountcodes.php:352
1640
  #: adminpages/discountcodes.php:353 adminpages/discountcodes.php:354
1641
  #: adminpages/discountcodes.php:359 adminpages/discountcodes.php:424
1644
  msgid "Start Date"
1645
  msgstr ""
1646
 
1647
+ #: adminpages/discountcodes.php:505
1648
  #: classes/gateways/class.pmprogateway_braintree.php:479
1649
+ #: classes/gateways/class.pmprogateway_stripe.php:573 pages/billing.php:339
1650
  #: pages/checkout.php:389 adminpages/discountcodes.php:367
1651
  #: adminpages/discountcodes.php:370 adminpages/discountcodes.php:371
1652
  #: adminpages/discountcodes.php:372 adminpages/discountcodes.php:377
1690
  #: pages/billing.php:253 pages/billing.php:262 pages/billing.php:265
1691
  #: pages/billing.php:268 pages/billing.php:310 pages/billing.php:313
1692
  #: pages/billing.php:316 pages/billing.php:317 pages/billing.php:319
1693
+ #: pages/billing.php:321 pages/billing.php:322 pages/billing.php:330
1694
+ #: pages/billing.php:342 pages/checkout.php:389 pages/checkout.php:463
1695
+ #: pages/checkout.php:471 pages/checkout.php:508 pages/checkout.php:524
1696
+ #: pages/checkout.php:525 pages/checkout.php:532 pages/checkout.php:553
1697
+ #: pages/checkout.php:562 pages/checkout.php:571 pages/checkout.php:575
1698
+ #: pages/checkout.php:582 pages/checkout.php:585
1699
  msgid "Expiration Date"
1700
  msgstr ""
1701
 
1702
+ #: adminpages/discountcodes.php:523 adminpages/discountcodes.php:751
1703
  #: adminpages/discountcodes.php:385 adminpages/discountcodes.php:388
1704
  #: adminpages/discountcodes.php:389 adminpages/discountcodes.php:390
1705
  #: adminpages/discountcodes.php:395 adminpages/discountcodes.php:460
1712
  msgid "Uses"
1713
  msgstr ""
1714
 
1715
+ #: adminpages/discountcodes.php:526 adminpages/discountcodes.php:388
1716
  #: adminpages/discountcodes.php:391 adminpages/discountcodes.php:392
1717
  #: adminpages/discountcodes.php:393 adminpages/discountcodes.php:398
1718
  #: adminpages/discountcodes.php:463 adminpages/discountcodes.php:504
1720
  msgid "Leave blank for unlimited uses."
1721
  msgstr ""
1722
 
1723
+ #: adminpages/discountcodes.php:535 adminpages/discountcodes.php:400
1724
  #: adminpages/discountcodes.php:401 adminpages/discountcodes.php:402
1725
  #: adminpages/discountcodes.php:407 adminpages/discountcodes.php:472
1726
  #: adminpages/discountcodes.php:513 adminpages/discountcodes.php:533
1727
  msgid "Which Levels Will This Code Apply To?"
1728
  msgstr ""
1729
 
1730
+ #: adminpages/discountcodes.php:573 adminpages/membershiplevels.php:401
1731
  #: adminpages/discountcodes.php:427 adminpages/discountcodes.php:430
1732
  #: adminpages/discountcodes.php:431 adminpages/discountcodes.php:432
1733
  #: adminpages/discountcodes.php:437 adminpages/discountcodes.php:510
1742
  msgid "Initial Payment"
1743
  msgstr ""
1744
 
1745
+ #: adminpages/discountcodes.php:584 adminpages/membershiplevels.php:412
1746
  #: adminpages/discountcodes.php:428 adminpages/discountcodes.php:431
1747
  #: adminpages/discountcodes.php:441 adminpages/discountcodes.php:442
1748
  #: adminpages/discountcodes.php:443 adminpages/discountcodes.php:448
1756
  msgid "The initial amount collected at registration."
1757
  msgstr ""
1758
 
1759
+ #: adminpages/discountcodes.php:589 adminpages/membershiplevels.php:417
1760
  #: adminpages/discountcodes.php:432 adminpages/discountcodes.php:435
1761
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:447
1762
  #: adminpages/discountcodes.php:448 adminpages/discountcodes.php:453
1770
  msgid "Recurring Subscription"
1771
  msgstr ""
1772
 
1773
+ #: adminpages/discountcodes.php:590 adminpages/membershiplevels.php:418
1774
  #: adminpages/discountcodes.php:433 adminpages/discountcodes.php:436
1775
  #: adminpages/discountcodes.php:447 adminpages/discountcodes.php:448
1776
  #: adminpages/discountcodes.php:449 adminpages/discountcodes.php:454
1784
  msgid "Check if this level has a recurring subscription payment."
1785
  msgstr ""
1786
 
1787
+ #: adminpages/discountcodes.php:594 adminpages/membershiplevels.php:422
1788
  #: adminpages/discountcodes.php:440 adminpages/discountcodes.php:451
1789
  #: adminpages/discountcodes.php:452 adminpages/discountcodes.php:453
1790
  #: adminpages/discountcodes.php:458 adminpages/discountcodes.php:531
1798
  msgid "Billing Amount"
1799
  msgstr ""
1800
 
1801
+ #: adminpages/discountcodes.php:605 adminpages/membershiplevels.php:433
1802
  #: classes/gateways/class.pmprogateway_stripe.php:750
1803
  #: adminpages/discountcodes.php:603 adminpages/membershiplevels.php:349
1804
  #: adminpages/membershiplevels.php:351 adminpages/membershiplevels.php:370
1830
  msgid "per"
1831
  msgstr ""
1832
 
1833
+ #: adminpages/discountcodes.php:609 adminpages/discountcodes.php:663
1834
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1835
  #: classes/gateways/class.pmprogateway_stripe.php:616
1836
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
1878
  msgid "Day(s)"
1879
  msgstr ""
1880
 
1881
+ #: adminpages/discountcodes.php:609 adminpages/discountcodes.php:663
1882
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1883
  #: classes/gateways/class.pmprogateway_stripe.php:618
1884
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
1926
  msgid "Month(s)"
1927
  msgstr ""
1928
 
1929
+ #: adminpages/discountcodes.php:609 adminpages/discountcodes.php:663
1930
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1931
  #: classes/gateways/class.pmprogateway_stripe.php:617
1932
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
1974
  msgid "Week(s)"
1975
  msgstr ""
1976
 
1977
+ #: adminpages/discountcodes.php:609 adminpages/discountcodes.php:663
1978
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1979
  #: classes/gateways/class.pmprogateway_stripe.php:619
1980
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
2022
  msgid "Year(s)"
2023
  msgstr ""
2024
 
2025
+ #: adminpages/discountcodes.php:617 adminpages/membershiplevels.php:446
2026
  #: adminpages/discountcodes.php:451 adminpages/discountcodes.php:454
2027
  #: adminpages/discountcodes.php:474 adminpages/discountcodes.php:475
2028
  #: adminpages/discountcodes.php:476 adminpages/discountcodes.php:481
2036
  msgid "The amount to be billed one cycle after the initial payment."
2037
  msgstr ""
2038
 
2039
+ #: adminpages/discountcodes.php:622 adminpages/membershiplevels.php:463
2040
  #: adminpages/discountcodes.php:456 adminpages/discountcodes.php:459
2041
  #: adminpages/discountcodes.php:479 adminpages/discountcodes.php:480
2042
  #: adminpages/discountcodes.php:481 adminpages/discountcodes.php:486
2051
  msgid "Billing Cycle Limit"
2052
  msgstr ""
2053
 
2054
+ #: adminpages/discountcodes.php:625 adminpages/membershiplevels.php:467
2055
  #: adminpages/discountcodes.php:459 adminpages/discountcodes.php:462
2056
  #: adminpages/discountcodes.php:482 adminpages/discountcodes.php:483
2057
  #: adminpages/discountcodes.php:484 adminpages/discountcodes.php:489
2069
  "initial payment. Set to zero if membership is indefinite."
2070
  msgstr ""
2071
 
2072
+ #: adminpages/discountcodes.php:630 adminpages/membershiplevels.php:486
2073
  #: adminpages/discountcodes.php:464 adminpages/discountcodes.php:467
2074
  #: adminpages/discountcodes.php:487 adminpages/discountcodes.php:488
2075
  #: adminpages/discountcodes.php:489 adminpages/discountcodes.php:494
2084
  msgid "Custom Trial"
2085
  msgstr ""
2086
 
2087
+ #: adminpages/discountcodes.php:631 adminpages/membershiplevels.php:488
2088
  #: adminpages/discountcodes.php:465 adminpages/discountcodes.php:468
2089
  #: adminpages/discountcodes.php:488 adminpages/discountcodes.php:489
2090
  #: adminpages/discountcodes.php:490 adminpages/discountcodes.php:495
2099
  msgid "Check to add a custom trial period."
2100
  msgstr ""
2101
 
2102
+ #: adminpages/discountcodes.php:635 adminpages/membershiplevels.php:508
2103
  #: adminpages/discountcodes.php:469 adminpages/discountcodes.php:472
2104
  #: adminpages/discountcodes.php:492 adminpages/discountcodes.php:493
2105
  #: adminpages/discountcodes.php:494 adminpages/discountcodes.php:499
2115
  msgid "Trial Billing Amount"
2116
  msgstr ""
2117
 
2118
+ #: adminpages/discountcodes.php:646 adminpages/membershiplevels.php:519
2119
  #: adminpages/discountcodes.php:472 adminpages/discountcodes.php:475
2120
  #: adminpages/discountcodes.php:503 adminpages/discountcodes.php:504
2121
  #: adminpages/discountcodes.php:505 adminpages/discountcodes.php:510
2131
  msgid "for the first"
2132
  msgstr ""
2133
 
2134
+ #: adminpages/discountcodes.php:648 adminpages/membershiplevels.php:521
2135
  #: adminpages/discountcodes.php:474 adminpages/discountcodes.php:477
2136
  #: adminpages/discountcodes.php:505 adminpages/discountcodes.php:506
2137
  #: adminpages/discountcodes.php:507 adminpages/discountcodes.php:512
2147
  msgid "subscription payments"
2148
  msgstr ""
2149
 
2150
+ #: adminpages/discountcodes.php:653 adminpages/membershiplevels.php:544
2151
  #: adminpages/discountcodes.php:479 adminpages/discountcodes.php:482
2152
  #: adminpages/discountcodes.php:510 adminpages/discountcodes.php:511
2153
  #: adminpages/discountcodes.php:512 adminpages/discountcodes.php:517
2163
  msgid "Membership Expiration"
2164
  msgstr ""
2165
 
2166
+ #: adminpages/discountcodes.php:654 adminpages/membershiplevels.php:545
2167
  #: adminpages/discountcodes.php:483 adminpages/discountcodes.php:511
2168
  #: adminpages/discountcodes.php:512 adminpages/discountcodes.php:513
2169
  #: adminpages/discountcodes.php:518 adminpages/discountcodes.php:591
2179
  msgid "Check this to set when membership access expires."
2180
  msgstr ""
2181
 
2182
+ #: adminpages/discountcodes.php:658 adminpages/membershiplevels.php:560
2183
  #: adminpages/discountcodes.php:484 adminpages/discountcodes.php:487
2184
  #: adminpages/discountcodes.php:515 adminpages/discountcodes.php:516
2185
  #: adminpages/discountcodes.php:517 adminpages/discountcodes.php:522
2195
  msgid "Expires In"
2196
  msgstr ""
2197
 
2198
+ #: adminpages/discountcodes.php:671 adminpages/membershiplevels.php:573
2199
  #: adminpages/discountcodes.php:500 adminpages/discountcodes.php:528
2200
  #: adminpages/discountcodes.php:529 adminpages/discountcodes.php:530
2201
  #: adminpages/discountcodes.php:535 adminpages/discountcodes.php:608
2214
  "expires."
2215
  msgstr ""
2216
 
2217
+ #: adminpages/discountcodes.php:719 adminpages/discountcodes.php:717
2218
  #: adminpages/discountcodes.php:718
2219
  msgid ""
2220
  "Discount codes allow you to override your membership level's default pricing."
2221
  msgstr ""
2222
 
2223
+ #: adminpages/discountcodes.php:730 adminpages/discountcodes.php:700
2224
  #: adminpages/discountcodes.php:728 adminpages/discountcodes.php:729
2225
  #, php-format
2226
  msgid "%d discount codes found."
2227
  msgstr ""
2228
 
2229
+ #: adminpages/discountcodes.php:735 adminpages/discountcodes.php:535
2230
  #: adminpages/discountcodes.php:538 adminpages/discountcodes.php:566
2231
  #: adminpages/discountcodes.php:567 adminpages/discountcodes.php:568
2232
  #: adminpages/discountcodes.php:573 adminpages/discountcodes.php:646
2235
  msgid "Search Discount Codes"
2236
  msgstr ""
2237
 
2238
+ #: adminpages/discountcodes.php:738 adminpages/reports/login.php:119
2239
  #: adminpages/discountcodes.php:538 adminpages/discountcodes.php:541
2240
  #: adminpages/discountcodes.php:569 adminpages/discountcodes.php:570
2241
  #: adminpages/discountcodes.php:571 adminpages/discountcodes.php:576
2247
  msgid "Search"
2248
  msgstr ""
2249
 
2250
+ #: adminpages/discountcodes.php:749 adminpages/discountcodes.php:549
2251
  #: adminpages/discountcodes.php:559 adminpages/discountcodes.php:587
2252
  #: adminpages/discountcodes.php:588 adminpages/discountcodes.php:589
2253
  #: adminpages/discountcodes.php:594 adminpages/discountcodes.php:667
2256
  msgid "Starts"
2257
  msgstr ""
2258
 
2259
+ #: adminpages/discountcodes.php:775 adminpages/membershiplevels.php:799
2260
+ #: adminpages/orders.php:1347 adminpages/discountcodes.php:765
2261
  #: adminpages/discountcodes.php:766 adminpages/discountcodes.php:767
2262
  #: adminpages/discountcodes.php:773 adminpages/membershiplevels.php:760
2263
  #: adminpages/membershiplevels.php:777 adminpages/membershiplevels.php:782
2268
  msgid "Edit"
2269
  msgstr ""
2270
 
2271
+ #: adminpages/discountcodes.php:778 adminpages/membershiplevels.php:800
2272
+ #: adminpages/orders.php:1350 adminpages/discountcodes.php:768
2273
  #: adminpages/discountcodes.php:769 adminpages/discountcodes.php:770
2274
  #: adminpages/discountcodes.php:776 adminpages/membershiplevels.php:761
2275
  #: adminpages/membershiplevels.php:778 adminpages/membershiplevels.php:783
2280
  msgid "Copy"
2281
  msgstr ""
2282
 
2283
+ #: adminpages/discountcodes.php:781 adminpages/discountcodes.php:617
2284
  #: adminpages/discountcodes.php:622 adminpages/discountcodes.php:650
2285
  #: adminpages/discountcodes.php:651 adminpages/discountcodes.php:652
2286
  #: adminpages/discountcodes.php:653 adminpages/discountcodes.php:658
2295
  "code anymore."
2296
  msgstr ""
2297
 
2298
+ #: adminpages/discountcodes.php:785 adminpages/discountcodes.php:775
2299
  #: adminpages/discountcodes.php:776 adminpages/discountcodes.php:777
2300
  #: adminpages/discountcodes.php:783
2301
  msgid " View Orders"
2470
  msgid "Paid Memberships Pro Support License"
2471
  msgstr ""
2472
 
2473
+ #: adminpages/license.php:47
2474
  msgid ""
2475
  "Enter your support license key.</strong> Your license key can be found in "
2476
  "your membership email receipt or in your <a href=\"https://www."
2477
+ "paidmembershipspro.com/membership-account/?redirect_to=%2Fmembership-account"
2478
+ "%2F%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign"
2479
  "%3Dmembership-account%26utm_content%3Dno-key\" target=\"_blank\">Membership "
2480
  "Account</a>."
2481
  msgstr ""
2482
 
2483
+ #: adminpages/license.php:49
2484
  msgid ""
2485
+ "Visit the PMPro <a href=\"https://www.paidmembershipspro.com/membership-"
2486
+ "account/?redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin"
2487
+ "%26utm_medium%3Dpmpro-license%26utm_campaign%3Dmembership-account"
2488
+ "%26utm_content%3Dkey-not-valid\" target=\"_blank\">Membership Account</a> "
2489
+ "page to confirm that your account is active and to find your license key."
2490
  msgstr ""
2491
 
2492
  #: adminpages/license.php:49 adminpages/license.php:49 includes/license.php:91
2553
  msgid "Error updating membership level."
2554
  msgstr ""
2555
 
2556
+ #: adminpages/membershiplevels.php:219 classes/class-pmpro-levels.php:232
2557
+ #: adminpages/membershiplevels.php:179 adminpages/membershiplevels.php:181
2558
+ #: adminpages/membershiplevels.php:183 adminpages/membershiplevels.php:193
2559
+ #: adminpages/membershiplevels.php:202 adminpages/membershiplevels.php:219
2560
  #, php-format
2561
  msgid ""
2562
  "There was an error canceling the subscription for user with ID=%d. You will "
2564
  "active."
2565
  msgstr ""
2566
 
2567
+ #: adminpages/membershiplevels.php:227 classes/class-pmpro-levels.php:240
2568
+ #: adminpages/membershiplevels.php:182 adminpages/membershiplevels.php:184
2569
+ #: adminpages/membershiplevels.php:186 adminpages/membershiplevels.php:201
2570
+ #: adminpages/membershiplevels.php:210 adminpages/membershiplevels.php:227
2571
  msgid "Last Invoice"
2572
  msgstr ""
2573
 
2888
  msgid "Save Level"
2889
  msgstr ""
2890
 
2891
+ #: adminpages/membershiplevels.php:641 adminpages/orders.php:940
2892
+ #: includes/profile.php:567 pages/billing.php:390 pages/cancel.php:83
2893
  #: adminpages/membershiplevels.php:506 adminpages/membershiplevels.php:508
2894
  #: adminpages/membershiplevels.php:517 adminpages/membershiplevels.php:518
2895
  #: adminpages/membershiplevels.php:530 adminpages/membershiplevels.php:540
2906
  #: pages/billing.php:299 pages/billing.php:330 pages/billing.php:339
2907
  #: pages/billing.php:342 pages/billing.php:344 pages/billing.php:348
2908
  #: pages/billing.php:363 pages/billing.php:364 pages/billing.php:365
2909
+ #: pages/billing.php:371 pages/billing.php:372 pages/billing.php:380
2910
+ #: pages/billing.php:392 pages/billing.php:397 pages/billing.php:401
2911
+ #: pages/billing.php:406 pages/cancel.php:71 pages/cancel.php:83
2912
+ #: pages/cancel.php:84 shortcodes/pmpro_account.php:70
2913
+ #: shortcodes/pmpro_account.php:72 shortcodes/pmpro_account.php:73
2914
  msgid "Cancel"
2915
  msgstr ""
2916
 
2950
 
2951
  #: adminpages/membershiplevels.php:776 pages/cancel.php:61
2952
  #: pages/confirmation.php:82 pages/invoice.php:64
2953
+ #: shortcodes/pmpro_account.php:44 adminpages/membershiplevels.php:510
2954
  #: adminpages/membershiplevels.php:516 adminpages/membershiplevels.php:518
2955
  #: adminpages/membershiplevels.php:544 adminpages/membershiplevels.php:545
2956
  #: adminpages/membershiplevels.php:586 adminpages/membershiplevels.php:632
2962
  #: adminpages/membershiplevels.php:766 adminpages/membershiplevels.php:771
2963
  #: adminpages/membershiplevels.php:776 pages/account.php:20 pages/cancel.php:53
2964
  #: pages/cancel.php:61 pages/cancel.php:62 pages/confirmation.php:80
2965
+ #: pages/confirmation.php:81 pages/confirmation.php:82
2966
+ #: pages/confirmation.php:83 pages/confirmation.php:84
2967
+ #: pages/confirmation.php:89 pages/invoice.php:62 pages/invoice.php:63
2968
+ #: pages/invoice.php:64 pages/invoice.php:68 pages/invoice.php:70
2969
+ #: shortcodes/pmpro_account.php:45 shortcodes/pmpro_account.php:46
2970
  msgid "Expiration"
2971
  msgstr ""
2972
 
3045
  "\">Register Helper Add On</a>."
3046
  msgstr ""
3047
 
3048
+ #: adminpages/orders.php:161 adminpages/orders.php:26 adminpages/orders.php:67
3049
  #: adminpages/orders.php:156 adminpages/orders.php:162
3050
  #: adminpages/orders.php:174 adminpages/orders.php:175
3051
  msgid "Order deleted successfully."
3052
  msgstr ""
3053
 
3054
+ #: adminpages/orders.php:164 adminpages/orders.php:31 adminpages/orders.php:72
3055
  #: adminpages/orders.php:159 adminpages/orders.php:165
3056
  #: adminpages/orders.php:177 adminpages/orders.php:180
3057
  msgid "Error deleting order."
3058
  msgstr ""
3059
 
3060
+ #: adminpages/orders.php:301 adminpages/orders.php:119
3061
  #: adminpages/orders.php:169 adminpages/orders.php:270
3062
  #: adminpages/orders.php:284 adminpages/orders.php:285
3063
  #: adminpages/orders.php:295 adminpages/orders.php:296
3065
  msgid "Order saved successfully."
3066
  msgstr ""
3067
 
3068
+ #: adminpages/orders.php:304 adminpages/orders.php:124
3069
  #: adminpages/orders.php:174 adminpages/orders.php:275
3070
  #: adminpages/orders.php:287 adminpages/orders.php:288
3071
  #: adminpages/orders.php:298 adminpages/orders.php:299
3073
  msgid "Error updating order timestamp."
3074
  msgstr ""
3075
 
3076
+ #: adminpages/orders.php:308 adminpages/orders.php:130
3077
  #: adminpages/orders.php:180 adminpages/orders.php:281
3078
  #: adminpages/orders.php:291 adminpages/orders.php:292
3079
  #: adminpages/orders.php:302 adminpages/orders.php:303
3081
  msgid "Error saving order."
3082
  msgstr ""
3083
 
3084
+ #: adminpages/orders.php:375 adminpages/orders.php:1356
3085
  #: pages/confirmation.php:49 pages/invoice.php:22 adminpages/orders.php:370
3086
  #: adminpages/orders.php:371 adminpages/orders.php:1341
3087
  #: adminpages/orders.php:1346 adminpages/orders.php:1347
3091
  msgid "Print"
3092
  msgstr ""
3093
 
3094
+ #: adminpages/orders.php:424 adminpages/orders.php:220
3095
  #: adminpages/orders.php:270 adminpages/orders.php:342
3096
  #: adminpages/orders.php:359 adminpages/orders.php:371
3097
  #: adminpages/orders.php:390 adminpages/orders.php:401
3101
  msgid "Randomly generated for you."
3102
  msgstr ""
3103
 
3104
+ #: adminpages/orders.php:429 adminpages/orders.php:225
3105
  #: adminpages/orders.php:275 adminpages/orders.php:347
3106
  #: adminpages/orders.php:364 adminpages/orders.php:376
3107
  #: adminpages/orders.php:395 adminpages/orders.php:406
3111
  msgid "User ID"
3112
  msgstr ""
3113
 
3114
+ #: adminpages/orders.php:442 adminpages/orders.php:234
3115
  #: adminpages/orders.php:284 adminpages/orders.php:356
3116
  #: adminpages/orders.php:376 adminpages/orders.php:385
3117
  #: adminpages/orders.php:407 adminpages/orders.php:418
3121
  msgid "Membership Level ID"
3122
  msgstr ""
3123
 
3124
+ #: adminpages/orders.php:455 includes/privacy.php:245 adminpages/orders.php:243
3125
  #: adminpages/orders.php:293 adminpages/orders.php:365
3126
  #: adminpages/orders.php:389 adminpages/orders.php:394
3127
  #: adminpages/orders.php:420 adminpages/orders.php:431
3131
  msgid "Billing Name"
3132
  msgstr ""
3133
 
3134
+ #: adminpages/orders.php:469 includes/privacy.php:249 adminpages/orders.php:251
3135
  #: adminpages/orders.php:301 adminpages/orders.php:373
3136
  #: adminpages/orders.php:401 adminpages/orders.php:402
3137
  #: adminpages/orders.php:432 adminpages/orders.php:443
3141
  msgid "Billing Street"
3142
  msgstr ""
3143
 
3144
+ #: adminpages/orders.php:482 includes/privacy.php:253 includes/privacy.php:358
3145
  #: adminpages/orders.php:258 adminpages/orders.php:308
3146
  #: adminpages/orders.php:380 adminpages/orders.php:409
3147
  #: adminpages/orders.php:412 adminpages/orders.php:443
3152
  msgid "Billing City"
3153
  msgstr ""
3154
 
3155
+ #: adminpages/orders.php:495 includes/privacy.php:257 adminpages/orders.php:265
3156
  #: adminpages/orders.php:315 adminpages/orders.php:387
3157
  #: adminpages/orders.php:416 adminpages/orders.php:423
3158
  #: adminpages/orders.php:454 adminpages/orders.php:465
3162
  msgid "Billing State"
3163
  msgstr ""
3164
 
3165
+ #: adminpages/orders.php:508 includes/privacy.php:261 includes/privacy.php:360
3166
  #: adminpages/orders.php:272 adminpages/orders.php:322
3167
  #: adminpages/orders.php:394 adminpages/orders.php:423
3168
  #: adminpages/orders.php:434 adminpages/orders.php:465
3173
  msgid "Billing Postal Code"
3174
  msgstr ""
3175
 
3176
+ #: adminpages/orders.php:521 includes/privacy.php:265 includes/privacy.php:362
3177
  #: adminpages/orders.php:279 adminpages/orders.php:329
3178
  #: adminpages/orders.php:401 adminpages/orders.php:430
3179
  #: adminpages/orders.php:445 adminpages/orders.php:476
3184
  msgid "Billing Country"
3185
  msgstr ""
3186
 
3187
+ #: adminpages/orders.php:535 includes/privacy.php:269 adminpages/orders.php:287
3188
  #: adminpages/orders.php:337 adminpages/orders.php:409
3189
  #: adminpages/orders.php:438 adminpages/orders.php:457
3190
  #: adminpages/orders.php:488 adminpages/orders.php:499
3194
  msgid "Billing Phone"
3195
  msgstr ""
3196
 
3197
+ #: adminpages/orders.php:565 adminpages/orders.php:1322
3198
  #: classes/class.pmproemail.php:313 classes/class.pmproemail.php:322
3199
  #: classes/class.pmproemail.php:331 classes/class.pmproemail.php:413
3200
  #: classes/class.pmproemail.php:422 classes/class.pmproemail.php:740
3290
  msgid "Discount Code"
3291
  msgstr ""
3292
 
3293
+ #: adminpages/orders.php:576 classes/class.pmproemail.php:865
3294
+ #: classes/class.pmproemail.php:915 includes/init.php:198
3295
+ #: includes/profile.php:43 adminpages/orders.php:571 adminpages/orders.php:575
3296
  #: adminpages/orders.php:576 adminpages/orders.php:586
3297
+ #: classes/class.pmproemail.php:865 classes/class.pmproemail.php:868
3298
+ #: classes/class.pmproemail.php:876 classes/class.pmproemail.php:877
3299
+ #: classes/class.pmproemail.php:905 classes/class.pmproemail.php:915
3300
  #: includes/init.php:193 includes/init.php:229 includes/init.php:232
3301
  #: includes/init.php:233 includes/init.php:235 includes/init.php:237
3302
  #: includes/init.php:245 includes/init.php:253 includes/init.php:258
3307
  msgid "None"
3308
  msgstr ""
3309
 
3310
+ #: adminpages/orders.php:587 includes/privacy.php:273 adminpages/orders.php:296
3311
  #: adminpages/orders.php:346 adminpages/orders.php:418
3312
  #: adminpages/orders.php:447 adminpages/orders.php:470
3313
  #: adminpages/orders.php:501 adminpages/orders.php:512
3317
  msgid "Sub Total"
3318
  msgstr ""
3319
 
3320
+ #: adminpages/orders.php:600 adminpages/templates/orders-email.php:60
3321
  #: adminpages/templates/orders-print.php:89 includes/privacy.php:277
3322
  #: pages/confirmation.php:94 pages/invoice.php:76 adminpages/orders.php:304
3323
  #: adminpages/orders.php:354 adminpages/orders.php:426
3327
  #: adminpages/orders.php:599 adminpages/orders.php:600
3328
  #: adminpages/orders.php:610 adminpages/templates/orders-email.php:60
3329
  #: adminpages/templates/orders-print.php:89 includes/privacy.php:277
3330
+ #: pages/confirmation.php:91 pages/confirmation.php:92
3331
+ #: pages/confirmation.php:94 pages/invoice.php:73 pages/invoice.php:74
3332
+ #: pages/invoice.php:75 pages/invoice.php:76 pages/invoice.php:78
3333
  #: pages/invoice.php:80
3334
  msgid "Tax"
3335
  msgstr ""
3336
 
3337
+ #: adminpages/orders.php:613 includes/privacy.php:281 adminpages/orders.php:312
3338
  #: adminpages/orders.php:362 adminpages/orders.php:434
3339
  #: adminpages/orders.php:463 adminpages/orders.php:492
3340
  #: adminpages/orders.php:523 adminpages/orders.php:534
3344
  msgid "Coupon Amount"
3345
  msgstr ""
3346
 
3347
+ #: adminpages/orders.php:637 adminpages/orders.php:325
3348
  #: adminpages/orders.php:375 adminpages/orders.php:447
3349
  #: adminpages/orders.php:476 adminpages/orders.php:513
3350
  #: adminpages/orders.php:544 adminpages/orders.php:555
3354
  msgid "Should be subtotal + tax - couponamount."
3355
  msgstr ""
3356
 
3357
+ #: adminpages/orders.php:642 includes/privacy.php:289 adminpages/orders.php:330
3358
  #: adminpages/orders.php:380 adminpages/orders.php:452
3359
  #: adminpages/orders.php:481 adminpages/orders.php:518
3360
  #: adminpages/orders.php:549 adminpages/orders.php:560
3364
  msgid "Payment Type"
3365
  msgstr ""
3366
 
3367
+ #: adminpages/orders.php:653 adminpages/orders.php:335
3368
  #: adminpages/orders.php:385 adminpages/orders.php:457
3369
  #: adminpages/orders.php:486 adminpages/orders.php:528
3370
  #: adminpages/orders.php:559 adminpages/orders.php:570
3374
  msgid "e.g. PayPal Express, PayPal Standard, Credit Card."
3375
  msgstr ""
3376
 
3377
+ #: adminpages/orders.php:657
3378
  #: classes/gateways/class.pmprogateway_braintree.php:466
3379
  #: classes/gateways/class.pmprogateway_stripe.php:556 includes/privacy.php:293
3380
+ #: pages/billing.php:297 pages/checkout.php:374 adminpages/orders.php:339
3381
  #: adminpages/orders.php:389 adminpages/orders.php:461
3382
  #: adminpages/orders.php:490 adminpages/orders.php:532
3383
  #: adminpages/orders.php:563 adminpages/orders.php:574
3425
  #: pages/billing.php:250 pages/billing.php:253 pages/billing.php:262
3426
  #: pages/billing.php:268 pages/billing.php:271 pages/billing.php:274
3427
  #: pages/billing.php:275 pages/billing.php:279 pages/billing.php:280
3428
+ #: pages/billing.php:288 pages/billing.php:294 pages/checkout.php:374
3429
+ #: pages/checkout.php:423 pages/checkout.php:431 pages/checkout.php:493
3430
+ #: pages/checkout.php:507 pages/checkout.php:510 pages/checkout.php:516
3431
+ #: pages/checkout.php:517 pages/checkout.php:525 pages/checkout.php:527
3432
+ #: pages/checkout.php:534 pages/checkout.php:537
3433
  msgid "Card Type"
3434
  msgstr ""
3435
 
3436
+ #: adminpages/orders.php:667 adminpages/orders.php:344
3437
  #: adminpages/orders.php:394 adminpages/orders.php:466
3438
  #: adminpages/orders.php:495 adminpages/orders.php:540
3439
  #: adminpages/orders.php:571 adminpages/orders.php:582
3443
  msgid "e.g. Visa, MasterCard, AMEX, etc"
3444
  msgstr ""
3445
 
3446
+ #: adminpages/orders.php:671
3447
  #: classes/gateways/class.pmprogateway_twocheckout.php:138
3448
  #: includes/privacy.php:297 adminpages/orders.php:348 adminpages/orders.php:398
3449
  #: adminpages/orders.php:470 adminpages/orders.php:499
3460
  msgid "Account Number"
3461
  msgstr ""
3462
 
3463
+ #: adminpages/orders.php:682 adminpages/orders.php:353
3464
  #: adminpages/orders.php:403 adminpages/orders.php:475
3465
  #: adminpages/orders.php:504 adminpages/orders.php:553
3466
  #: adminpages/orders.php:584 adminpages/orders.php:595
3470
  msgid "Obscure all but last 4 digits."
3471
  msgstr ""
3472
 
3473
+ #: adminpages/orders.php:692 includes/privacy.php:301 adminpages/orders.php:358
3474
  #: adminpages/orders.php:408 adminpages/orders.php:480
3475
  #: adminpages/orders.php:509 adminpages/orders.php:561
3476
  #: adminpages/orders.php:592 adminpages/orders.php:603
3480
  msgid "Expiration Month"
3481
  msgstr ""
3482
 
3483
+ #: adminpages/orders.php:700 includes/privacy.php:305 adminpages/orders.php:365
3484
  #: adminpages/orders.php:415 adminpages/orders.php:487
3485
  #: adminpages/orders.php:516 adminpages/orders.php:569
3486
  #: adminpages/orders.php:600 adminpages/orders.php:611
3490
  msgid "Expiration Year"
3491
  msgstr ""
3492
 
3493
+ #: adminpages/orders.php:732 adminpages/orders.php:1318
3494
+ #: classes/class.memberorder.php:873 includes/privacy.php:313
3495
  #: adminpages/orders.php:394 adminpages/orders.php:444
3496
  #: adminpages/orders.php:516 adminpages/orders.php:545
3497
  #: adminpages/orders.php:604 adminpages/orders.php:612
3511
  msgid "Gateway"
3512
  msgstr ""
3513
 
3514
+ #: adminpages/orders.php:755 adminpages/paymentsettings.php:146
3515
  #: includes/privacy.php:317 adminpages/orders.php:411 adminpages/orders.php:461
3516
  #: adminpages/orders.php:462 adminpages/orders.php:534
3517
  #: adminpages/orders.php:563 adminpages/orders.php:633
3526
  msgid "Gateway Environment"
3527
  msgstr ""
3528
 
3529
+ #: adminpages/orders.php:767 adminpages/paymentsettings.php:150
3530
  #: adminpages/orders.php:415 adminpages/orders.php:465
3531
  #: adminpages/orders.php:466 adminpages/orders.php:538
3532
  #: adminpages/orders.php:567 adminpages/orders.php:640
3541
  msgid "Sandbox/Testing"
3542
  msgstr ""
3543
 
3544
+ #: adminpages/orders.php:772 adminpages/paymentsettings.php:151
3545
  #: adminpages/orders.php:416 adminpages/orders.php:466
3546
  #: adminpages/orders.php:467 adminpages/orders.php:539
3547
  #: adminpages/orders.php:568 adminpages/orders.php:642
3556
  msgid "Live/Production"
3557
  msgstr ""
3558
 
3559
+ #: adminpages/orders.php:780 includes/privacy.php:321 adminpages/orders.php:423
3560
  #: adminpages/orders.php:473 adminpages/orders.php:474
3561
  #: adminpages/orders.php:546 adminpages/orders.php:575
3562
  #: adminpages/orders.php:650 adminpages/orders.php:681
3566
  msgid "Payment Transaction ID"
3567
  msgstr ""
3568
 
3569
+ #: adminpages/orders.php:790 adminpages/orders.php:428
3570
  #: adminpages/orders.php:478 adminpages/orders.php:479
3571
  #: adminpages/orders.php:551 adminpages/orders.php:580
3572
  #: adminpages/orders.php:659 adminpages/orders.php:690
3576
  msgid "Generated by the gateway. Useful to cross reference orders."
3577
  msgstr ""
3578
 
3579
+ #: adminpages/orders.php:795 classes/class.memberorder.php:874
3580
  #: includes/privacy.php:325 adminpages/orders.php:432 adminpages/orders.php:482
3581
  #: adminpages/orders.php:483 adminpages/orders.php:555
3582
  #: adminpages/orders.php:584 adminpages/orders.php:664
3590
  msgid "Subscription Transaction ID"
3591
  msgstr ""
3592
 
3593
+ #: adminpages/orders.php:806 adminpages/orders.php:437
3594
  #: adminpages/orders.php:487 adminpages/orders.php:488
3595
  #: adminpages/orders.php:560 adminpages/orders.php:589
3596
  #: adminpages/orders.php:674 adminpages/orders.php:705
3600
  msgid "Generated by the gateway. Useful to cross reference subscriptions."
3601
  msgstr ""
3602
 
3603
+ #: adminpages/orders.php:858 adminpages/orders.php:477
3604
  #: adminpages/orders.php:527 adminpages/orders.php:599
3605
  #: adminpages/orders.php:628 adminpages/orders.php:716
3606
  #: adminpages/orders.php:747 adminpages/orders.php:758
3610
  msgid "Affiliate ID"
3611
  msgstr ""
3612
 
3613
+ #: adminpages/orders.php:872 adminpages/orders.php:485
3614
  #: adminpages/orders.php:535 adminpages/orders.php:607
3615
  #: adminpages/orders.php:636 adminpages/orders.php:728
3616
  #: adminpages/orders.php:759 adminpages/orders.php:770
3620
  msgid "Affiliate SubID"
3621
  msgstr ""
3622
 
3623
+ #: adminpages/orders.php:894 adminpages/orders.php:848
3624
  #: adminpages/orders.php:884 adminpages/orders.php:888
3625
  #: adminpages/orders.php:893 adminpages/orders.php:903
3626
  msgid "TOS Consent"
3627
  msgstr ""
3628
 
3629
+ #: adminpages/orders.php:911 adminpages/orders.php:495
3630
  #: adminpages/orders.php:545 adminpages/orders.php:617
3631
  #: adminpages/orders.php:646 adminpages/orders.php:742
3632
  #: adminpages/orders.php:773 adminpages/orders.php:784
3636
  msgid "Notes"
3637
  msgstr ""
3638
 
3639
+ #: adminpages/orders.php:939 adminpages/orders.php:510
3640
  #: adminpages/orders.php:560 adminpages/orders.php:632
3641
  #: adminpages/orders.php:661 adminpages/orders.php:764
3642
  #: adminpages/orders.php:795 adminpages/orders.php:806
3646
  msgid "Save Order"
3647
  msgstr ""
3648
 
3649
+ #: adminpages/orders.php:972 adminpages/memberslist.php:26
3650
  #: adminpages/orders.php:522 adminpages/orders.php:591
3651
  #: adminpages/orders.php:698 adminpages/orders.php:727
3652
  #: adminpages/orders.php:833 adminpages/orders.php:864
3656
  msgid "Export to CSV"
3657
  msgstr ""
3658
 
3659
+ #: adminpages/orders.php:992 adminpages/reports/login.php:103
3660
  #: adminpages/reports/memberships.php:349 adminpages/reports/sales.php:288
3661
+ #: classes/class-pmpro-members-list-table.php:616 adminpages/memberslist.php:30
 
3662
  #: adminpages/orders.php:603 adminpages/orders.php:710
3663
  #: adminpages/orders.php:739 adminpages/orders.php:848
3664
  #: adminpages/orders.php:879 adminpages/orders.php:890
3684
  msgid "Show"
3685
  msgstr ""
3686
 
3687
+ #: adminpages/orders.php:996 adminpages/orders.php:606
3688
  #: adminpages/orders.php:713 adminpages/orders.php:742
3689
  #: adminpages/orders.php:852 adminpages/orders.php:883
3690
  #: adminpages/orders.php:894 adminpages/orders.php:985
3693
  msgid "Within a Date Range"
3694
  msgstr ""
3695
 
3696
+ #: adminpages/orders.php:998 adminpages/orders.php:607
3697
  #: adminpages/orders.php:714 adminpages/orders.php:743
3698
  #: adminpages/orders.php:854 adminpages/orders.php:885
3699
  #: adminpages/orders.php:896 adminpages/orders.php:987
3702
  msgid "Predefined Date Range"
3703
  msgstr ""
3704
 
3705
+ #: adminpages/orders.php:1000 adminpages/orders.php:608
3706
  #: adminpages/orders.php:715 adminpages/orders.php:744
3707
  #: adminpages/orders.php:856 adminpages/orders.php:887
3708
  #: adminpages/orders.php:898 adminpages/orders.php:989
3711
  msgid "Within a Level"
3712
  msgstr ""
3713
 
3714
+ #: adminpages/orders.php:1002 adminpages/orders.php:992
3715
  #: adminpages/orders.php:997 adminpages/orders.php:1002
3716
  #: adminpages/orders.php:1047
3717
  msgid "With a Discount Code"
3718
  msgstr ""
3719
 
3720
+ #: adminpages/orders.php:1004 adminpages/orders.php:609
3721
  #: adminpages/orders.php:716 adminpages/orders.php:745
3722
  #: adminpages/orders.php:858 adminpages/orders.php:889
3723
  #: adminpages/orders.php:900 adminpages/orders.php:991
3726
  msgid "Within a Status"
3727
  msgstr ""
3728
 
3729
+ #: adminpages/orders.php:1006 adminpages/orders.php:996
3730
  #: adminpages/orders.php:1001 adminpages/orders.php:1006
3731
  #: adminpages/orders.php:1051
3732
  msgid "Only Paid Orders"
3733
  msgstr ""
3734
 
3735
+ #: adminpages/orders.php:1008 adminpages/orders.php:998
3736
  #: adminpages/orders.php:1003 adminpages/orders.php:1008
3737
  #: adminpages/orders.php:1053
3738
  msgid "Only Free Orders"
3739
  msgstr ""
3740
 
3741
+ #: adminpages/orders.php:1016 adminpages/orders.php:612
3742
  #: adminpages/orders.php:719 adminpages/orders.php:748
3743
  #: adminpages/orders.php:861 adminpages/orders.php:892
3744
  #: adminpages/orders.php:903 adminpages/orders.php:994
3747
  msgid "From"
3748
  msgstr ""
3749
 
3750
+ #: adminpages/orders.php:1031 adminpages/orders.php:624
3751
  #: adminpages/orders.php:731 adminpages/orders.php:760
3752
  #: adminpages/orders.php:876 adminpages/orders.php:907
3753
  #: adminpages/orders.php:918 adminpages/orders.php:1009
3756
  msgid "To"
3757
  msgstr ""
3758
 
3759
+ #: adminpages/orders.php:1044 adminpages/orders.php:636
3760
  #: adminpages/orders.php:743 adminpages/orders.php:772
3761
  #: adminpages/orders.php:889 adminpages/orders.php:920
3762
  #: adminpages/orders.php:931 adminpages/orders.php:1022
3765
  msgid "filter by "
3766
  msgstr ""
3767
 
3768
+ #: adminpages/orders.php:1094 adminpages/orders.php:674
3769
  #: adminpages/orders.php:780 adminpages/orders.php:809
3770
  #: adminpages/orders.php:932 adminpages/orders.php:963
3771
  #: adminpages/orders.php:969 adminpages/orders.php:1060
3774
  msgid "Filter"
3775
  msgstr ""
3776
 
3777
+ #: adminpages/orders.php:1228 adminpages/orders.php:1231
3778
  #: adminpages/orders.php:535 adminpages/orders.php:538
3779
  #: adminpages/orders.php:777 adminpages/orders.php:780
3780
  #: adminpages/orders.php:883 adminpages/orders.php:886
3790
  msgid "Search Orders"
3791
  msgstr ""
3792
 
3793
+ #: adminpages/orders.php:1304 adminpages/orders.php:590
3794
  #: adminpages/orders.php:893 adminpages/orders.php:903
3795
  #: adminpages/orders.php:930 adminpages/orders.php:959
3796
  #: adminpages/orders.php:1096 adminpages/orders.php:1127
3801
  msgid "%d orders found."
3802
  msgstr ""
3803
 
3804
+ #: adminpages/orders.php:1317 adminpages/orders.php:1440
3805
  #: adminpages/orders.php:603 adminpages/orders.php:651
3806
  #: adminpages/orders.php:906 adminpages/orders.php:916
3807
  #: adminpages/orders.php:943 adminpages/orders.php:954
3818
  msgid "Payment"
3819
  msgstr ""
3820
 
3821
+ #: adminpages/orders.php:1319 adminpages/orders.php:605
3822
  #: adminpages/orders.php:908 adminpages/orders.php:918
3823
  #: adminpages/orders.php:945 adminpages/orders.php:974
3824
  #: adminpages/orders.php:1111 adminpages/orders.php:1142
3828
  msgid "Transaction IDs"
3829
  msgstr ""
3830
 
3831
+ #: adminpages/orders.php:1353 adminpages/orders.php:664
3832
  #: adminpages/orders.php:967 adminpages/orders.php:985
3833
  #: adminpages/orders.php:995 adminpages/orders.php:998
3834
  #: adminpages/orders.php:1027 adminpages/orders.php:1056
3843
  "want to delete order %s?"
3844
  msgstr ""
3845
 
3846
+ #: adminpages/orders.php:1449 adminpages/orders.php:653
3847
  #: adminpages/orders.php:956 adminpages/orders.php:974
3848
  #: adminpages/orders.php:984 adminpages/orders.php:1013
3849
  #: adminpages/orders.php:1042 adminpages/orders.php:1192
3854
  msgid "Subscription"
3855
  msgstr ""
3856
 
3857
+ #: adminpages/orders.php:1466 adminpages/discountcodes.php:614
3858
  #: adminpages/discountcodes.php:619 adminpages/discountcodes.php:647
3859
  #: adminpages/discountcodes.php:648 adminpages/discountcodes.php:649
3860
  #: adminpages/discountcodes.php:650 adminpages/discountcodes.php:655
3878
  msgid "edit"
3879
  msgstr ""
3880
 
3881
+ #: adminpages/pagesettings.php:66 adminpages/pagesettings.php:54
3882
  #: adminpages/pagesettings.php:55 adminpages/pagesettings.php:62
3883
  msgid "Your page settings have been updated."
3884
  msgstr ""
3885
 
3886
+ #: adminpages/pagesettings.php:86 adminpages/pagesettings.php:100
3887
+ msgid "Your Profile"
3888
+ msgstr ""
3889
+
3890
+ #: adminpages/pagesettings.php:92 adminpages/pagesettings.php:51
3891
  #: adminpages/pagesettings.php:64 adminpages/pagesettings.php:65
3892
  #: adminpages/pagesettings.php:79
3893
  msgid "Membership Account"
3894
  msgstr ""
3895
 
3896
+ #: adminpages/pagesettings.php:93 adminpages/pagesettings.php:54
3897
  #: adminpages/pagesettings.php:65 adminpages/pagesettings.php:66
3898
  #: adminpages/pagesettings.php:80
3899
  msgid "Membership Billing"
3900
  msgstr ""
3901
 
3902
+ #: adminpages/pagesettings.php:94 adminpages/pagesettings.php:57
3903
  #: adminpages/pagesettings.php:66 adminpages/pagesettings.php:67
3904
  #: adminpages/pagesettings.php:81
3905
  msgid "Membership Cancel"
3906
  msgstr ""
3907
 
3908
+ #: adminpages/pagesettings.php:95 adminpages/pagesettings.php:60
3909
  #: adminpages/pagesettings.php:67 adminpages/pagesettings.php:68
3910
  #: adminpages/pagesettings.php:82
3911
  msgid "Membership Checkout"
3912
  msgstr ""
3913
 
3914
+ #: adminpages/pagesettings.php:96 adminpages/pagesettings.php:63
3915
  #: adminpages/pagesettings.php:68 adminpages/pagesettings.php:69
3916
  #: adminpages/pagesettings.php:83
3917
  msgid "Membership Confirmation"
3918
  msgstr ""
3919
 
3920
+ #: adminpages/pagesettings.php:97 adminpages/pagesettings.php:66
3921
  #: adminpages/pagesettings.php:69 adminpages/pagesettings.php:70
3922
  #: adminpages/pagesettings.php:84
3923
  msgid "Membership Invoice"
3924
  msgstr ""
3925
 
3926
+ #: adminpages/pagesettings.php:99 includes/menus.php:66 includes/menus.php:70
3927
+ #: includes/menus.php:160
3928
+ msgid "Log In"
3929
+ msgstr ""
3930
+
3931
+ #: adminpages/pagesettings.php:114
3932
+ #, php-format
3933
+ msgid "Found an existing version of the %s page and used that one."
3934
+ msgstr ""
3935
+
3936
+ #: adminpages/pagesettings.php:117
3937
+ #, php-format
3938
+ msgid ""
3939
+ "Error generating the %s page. You will have to choose or create one manually."
3940
+ msgstr ""
3941
+
3942
+ #: adminpages/pagesettings.php:138 adminpages/pagesettings.php:83
3943
  #: adminpages/pagesettings.php:84 adminpages/pagesettings.php:98
3944
  #: adminpages/pagesettings.php:111
3945
  msgid "The following pages have been created for you"
3946
  msgstr ""
3947
 
3948
+ #: adminpages/pagesettings.php:167 adminpages/pagesettings.php:97
3949
  #: adminpages/pagesettings.php:98 adminpages/pagesettings.php:112
3950
  #: adminpages/pagesettings.php:113 adminpages/pagesettings.php:124
3951
  #: adminpages/pagesettings.php:126
3954
  "page."
3955
  msgstr ""
3956
 
3957
+ #: adminpages/pagesettings.php:169 adminpages/pagesettings.php:101
3958
  #: adminpages/pagesettings.php:102 adminpages/pagesettings.php:104
3959
  #: adminpages/pagesettings.php:114 adminpages/pagesettings.php:117
3960
  #: adminpages/pagesettings.php:126 adminpages/pagesettings.php:128
3963
  "Assign the WordPress pages for each required Paid Memberships Pro page or"
3964
  msgstr ""
3965
 
3966
+ #: adminpages/pagesettings.php:170 adminpages/pagesettings.php:102
3967
  #: adminpages/pagesettings.php:103 adminpages/pagesettings.php:104
3968
  #: adminpages/pagesettings.php:115 adminpages/pagesettings.php:118
3969
  #: adminpages/pagesettings.php:127 adminpages/pagesettings.php:129
3971
  msgid "click here to let us generate them for you"
3972
  msgstr ""
3973
 
3974
+ #: adminpages/pagesettings.php:186 adminpages/pagesettings.php:111
3975
  #: adminpages/pagesettings.php:112 adminpages/pagesettings.php:127
3976
  #: adminpages/pagesettings.php:131 adminpages/pagesettings.php:140
3977
  #: adminpages/pagesettings.php:143 adminpages/pagesettings.php:145
3978
  msgid "Account Page"
3979
  msgstr ""
3980
 
3981
+ #: adminpages/pagesettings.php:190 adminpages/pagesettings.php:207
3982
+ #: adminpages/pagesettings.php:224 adminpages/pagesettings.php:242
3983
+ #: adminpages/pagesettings.php:260 adminpages/pagesettings.php:278
3984
+ #: adminpages/pagesettings.php:296 adminpages/pagesettings.php:414
3985
  #: adminpages/pagesettings.php:115 adminpages/pagesettings.php:116
3986
  #: adminpages/pagesettings.php:131 adminpages/pagesettings.php:133
3987
  #: adminpages/pagesettings.php:134 adminpages/pagesettings.php:135
4014
  msgid "Choose One"
4015
  msgstr ""
4016
 
4017
+ #: adminpages/pagesettings.php:194 adminpages/pagesettings.php:211
4018
+ #: adminpages/pagesettings.php:228 adminpages/pagesettings.php:246
4019
+ #: adminpages/pagesettings.php:264 adminpages/pagesettings.php:282
4020
+ #: adminpages/pagesettings.php:300 adminpages/pagesettings.php:336
4021
+ #: adminpages/pagesettings.php:364 adminpages/pagesettings.php:420
4022
  #: adminpages/pagesettings.php:119 adminpages/pagesettings.php:120
4023
  #: adminpages/pagesettings.php:132 adminpages/pagesettings.php:134
4024
  #: adminpages/pagesettings.php:135 adminpages/pagesettings.php:137
4056
  msgid "edit page"
4057
  msgstr ""
4058
 
4059
+ #: adminpages/pagesettings.php:197 adminpages/pagesettings.php:214
4060
+ #: adminpages/pagesettings.php:231 adminpages/pagesettings.php:249
4061
+ #: adminpages/pagesettings.php:267 adminpages/pagesettings.php:285
4062
+ #: adminpages/pagesettings.php:303 adminpages/pagesettings.php:339
4063
+ #: adminpages/pagesettings.php:367 adminpages/pagesettings.php:423
4064
  #: adminpages/pagesettings.php:121 adminpages/pagesettings.php:122
4065
  #: adminpages/pagesettings.php:123 adminpages/pagesettings.php:136
4066
  #: adminpages/pagesettings.php:138 adminpages/pagesettings.php:140
4099
  msgid "view page"
4100
  msgstr ""
4101
 
4102
+ #: adminpages/pagesettings.php:199 adminpages/pagesettings.php:216
4103
+ #: adminpages/pagesettings.php:233 adminpages/pagesettings.php:251
4104
+ #: adminpages/pagesettings.php:269 adminpages/pagesettings.php:287
4105
+ #: adminpages/pagesettings.php:305 adminpages/pagesettings.php:121
4106
  #: adminpages/pagesettings.php:123 adminpages/pagesettings.php:125
4107
  #: adminpages/pagesettings.php:126 adminpages/pagesettings.php:134
4108
  #: adminpages/pagesettings.php:138 adminpages/pagesettings.php:141
4139
  msgid "Include the shortcode"
4140
  msgstr ""
4141
 
4142
+ #: adminpages/pagesettings.php:199 adminpages/pagesettings.php:156
4143
  #: adminpages/pagesettings.php:158
4144
  msgid "or the Membership Account block"
4145
  msgstr ""
4146
 
4147
+ #: adminpages/pagesettings.php:203 adminpages/pagesettings.php:125
4148
  #: adminpages/pagesettings.php:127 adminpages/pagesettings.php:129
4149
  #: adminpages/pagesettings.php:130 adminpages/pagesettings.php:145
4150
  #: adminpages/pagesettings.php:149 adminpages/pagesettings.php:155
4153
  msgid "Billing Information Page"
4154
  msgstr ""
4155
 
4156
+ #: adminpages/pagesettings.php:216 adminpages/pagesettings.php:173
4157
  #: adminpages/pagesettings.php:175
4158
  msgid "or the Membership Billing block"
4159
  msgstr ""
4160
 
4161
+ #: adminpages/pagesettings.php:220 adminpages/pagesettings.php:138
4162
  #: adminpages/pagesettings.php:142 adminpages/pagesettings.php:147
4163
  #: adminpages/pagesettings.php:148 adminpages/pagesettings.php:163
4164
  #: adminpages/pagesettings.php:167 adminpages/pagesettings.php:170
4167
  msgid "Cancel Page"
4168
  msgstr ""
4169
 
4170
+ #: adminpages/pagesettings.php:233 adminpages/pagesettings.php:190
4171
  #: adminpages/pagesettings.php:192
4172
  msgid "or the Membership Cancel block"
4173
  msgstr ""
4174
 
4175
+ #: adminpages/pagesettings.php:238 adminpages/pagesettings.php:152
4176
  #: adminpages/pagesettings.php:158 adminpages/pagesettings.php:166
4177
  #: adminpages/pagesettings.php:167 adminpages/pagesettings.php:182
4178
  #: adminpages/pagesettings.php:186 adminpages/pagesettings.php:189
4181
  msgid "Checkout Page"
4182
  msgstr ""
4183
 
4184
+ #: adminpages/pagesettings.php:251 adminpages/pagesettings.php:208
4185
  #: adminpages/pagesettings.php:210
4186
  msgid "or the Membership Checkout block"
4187
  msgstr ""
4188
 
4189
+ #: adminpages/pagesettings.php:256 adminpages/pagesettings.php:166
4190
  #: adminpages/pagesettings.php:174 adminpages/pagesettings.php:185
4191
  #: adminpages/pagesettings.php:186 adminpages/pagesettings.php:201
4192
  #: adminpages/pagesettings.php:202 adminpages/pagesettings.php:205
4195
  msgid "Confirmation Page"
4196
  msgstr ""
4197
 
4198
+ #: adminpages/pagesettings.php:269 adminpages/pagesettings.php:226
4199
  #: adminpages/pagesettings.php:228
4200
  msgid "or the Membership Confirmation block"
4201
  msgstr ""
4202
 
4203
+ #: adminpages/pagesettings.php:274 adminpages/pagesettings.php:180
4204
  #: adminpages/pagesettings.php:190 adminpages/pagesettings.php:205
4205
  #: adminpages/pagesettings.php:206 adminpages/pagesettings.php:218
4206
  #: adminpages/pagesettings.php:221 adminpages/pagesettings.php:225
4209
  msgid "Invoice Page"
4210
  msgstr ""
4211
 
4212
+ #: adminpages/pagesettings.php:287 adminpages/pagesettings.php:244
4213
  #: adminpages/pagesettings.php:246
4214
  msgid "or the Membership Invoice block"
4215
  msgstr ""
4216
 
4217
+ #: adminpages/pagesettings.php:292 adminpages/pagesettings.php:194
4218
  #: adminpages/pagesettings.php:206 adminpages/pagesettings.php:224
4219
  #: adminpages/pagesettings.php:225 adminpages/pagesettings.php:234
4220
  #: adminpages/pagesettings.php:237 adminpages/pagesettings.php:240
4223
  msgid "Levels Page"
4224
  msgstr ""
4225
 
4226
+ #: adminpages/pagesettings.php:305 adminpages/pagesettings.php:262
4227
  #: adminpages/pagesettings.php:264
4228
  msgid "or the Membership Levels block"
4229
  msgstr ""
4230
 
4231
+ #: adminpages/pagesettings.php:315 adminpages/pagesettings.php:272
4232
  #: adminpages/pagesettings.php:274 adminpages/pagesettings.php:280
4233
  #, php-format
4234
  msgid ""
4237
  "\">Advanced Levels Page Add On</a>."
4238
  msgstr ""
4239
 
4240
+ #: adminpages/pagesettings.php:328 adminpages/pagesettings.php:356
4241
+ msgid "Use WordPress Default"
 
 
 
4242
  msgstr ""
4243
 
4244
+ #: adminpages/pagesettings.php:342 adminpages/pagesettings.php:370
4245
+ #: adminpages/pagesettings.php:426 adminpages/pagesettings.php:280
4246
  #: adminpages/pagesettings.php:281 adminpages/pagesettings.php:296
4247
  #: adminpages/pagesettings.php:301 adminpages/pagesettings.php:316
4248
  #: adminpages/pagesettings.php:318 adminpages/pagesettings.php:324
4249
  msgid "Generate Page"
4250
  msgstr ""
4251
 
4252
+ #: adminpages/pagesettings.php:382
4253
+ #, php-format
4254
+ msgid ""
4255
+ "Optional: Collect additional member fields at checkout, on the profile, or "
4256
+ "for admin-use only using the <a href=\"%s\" title=\"Paid Memberships Pro - "
4257
+ "Register Helper Add On\" target=\"_blank\">Register Helper Add On</a>."
4258
+ msgstr ""
4259
+
4260
+ #: adminpages/pagesettings.php:391 adminpages/pagesettings.php:245
4261
+ #: adminpages/pagesettings.php:246 adminpages/pagesettings.php:261
4262
+ #: adminpages/pagesettings.php:266 adminpages/pagesettings.php:281
4263
+ #: adminpages/pagesettings.php:283 adminpages/pagesettings.php:289
4264
+ msgid "Additional Page Settings"
4265
+ msgstr ""
4266
+
4267
  #: adminpages/paymentsettings.php:64 adminpages/paymentsettings.php:49
4268
  #: adminpages/paymentsettings.php:64 adminpages/paymentsettings.php:77
4269
  #: adminpages/paymentsettings.php:82
4353
  msgid "Sales Tax"
4354
  msgstr ""
4355
 
4356
+ #: adminpages/paymentsettings.php:225 pages/billing.php:143
4357
  #: adminpages/paymentsettings.php:188 adminpages/paymentsettings.php:205
4358
  #: adminpages/paymentsettings.php:222 adminpages/paymentsettings.php:224
4359
  #: adminpages/paymentsettings.php:225 adminpages/paymentsettings.php:398
4362
  #: pages/billing.php:91 pages/billing.php:94 pages/billing.php:96
4363
  #: pages/billing.php:97 pages/billing.php:100 pages/billing.php:117
4364
  #: pages/billing.php:120 pages/billing.php:121 pages/billing.php:123
4365
+ #: pages/billing.php:125 pages/billing.php:126 pages/billing.php:134
4366
  msgid "optional"
4367
  msgstr ""
4368
 
4557
  msgstr ""
4558
 
4559
  #: adminpages/reports/login.php:104
4560
+ #: classes/class-pmpro-members-list-table.php:234
4561
  #: adminpages/memberslist.php:279 adminpages/memberslist.php:283
4562
  #: adminpages/reports/login.php:66 adminpages/reports/login.php:68
4563
  #: adminpages/reports/login.php:84 adminpages/reports/login.php:88
4564
  #: adminpages/reports/login.php:104
4565
+ #: classes/class-pmpro-members-list-table.php:260
4566
  #: classes/class-pmpro-members-list-table.php:265
4567
  msgid "All Users"
4568
  msgstr ""
4569
 
4570
  #: adminpages/reports/login.php:105 adminpages/reports/memberships.php:373
4571
  #: adminpages/reports/sales.php:311
4572
+ #: classes/class-pmpro-members-list-table.php:618
 
4573
  #: classes/class.pmproemail.php:182 classes/class.pmproemail.php:227
4574
  #: adminpages/memberslist.php:32 adminpages/reports/login.php:67
4575
  #: adminpages/reports/login.php:69 adminpages/reports/login.php:85
4668
  msgstr ""
4669
 
4670
  #: adminpages/reports/login.php:261
4671
+ #: classes/class-pmpro-members-list-table.php:228
4672
  #: adminpages/memberslist.php:195 adminpages/memberslist.php:223
4673
  #: adminpages/memberslist.php:251 adminpages/memberslist.php:261
4674
  #: adminpages/memberslist.php:262 adminpages/memberslist.php:266
4676
  #: adminpages/reports/login.php:210 adminpages/reports/login.php:212
4677
  #: adminpages/reports/login.php:228 adminpages/reports/login.php:232
4678
  #: adminpages/reports/login.php:261
4679
+ #: classes/class-pmpro-members-list-table.php:254
4680
  #: classes/class-pmpro-members-list-table.php:259
4681
  msgid "Search all levels"
4682
  msgstr ""
4702
  msgid "This Year"
4703
  msgstr ""
4704
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4705
  #: adminpages/reports/memberships.php:353 adminpages/reports/sales.php:292
4706
  #: adminpages/reports/memberships.php:260
4707
  #: adminpages/reports/memberships.php:267
4790
  msgid "All Codes"
4791
  msgstr ""
4792
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4793
  #: adminpages/reports/sales.php:18 adminpages/reports/sales.php:18
4794
  msgid "Sales and Revenue (Testing/Sandbox)"
4795
  msgstr ""
4812
  msgid "Revenue"
4813
  msgstr ""
4814
 
4815
+ #: adminpages/reports/sales.php:336 adminpages/reports/memberships.php:295
4816
+ #: adminpages/reports/memberships.php:304
4817
+ #: adminpages/reports/memberships.php:317
4818
+ #: adminpages/reports/memberships.php:331
4819
+ #: adminpages/reports/memberships.php:345
4820
+ #: adminpages/reports/memberships.php:369
4821
+ #: adminpages/reports/memberships.php:402 adminpages/reports/sales.php:222
4822
+ #: adminpages/reports/sales.php:230 adminpages/reports/sales.php:231
4823
+ #: adminpages/reports/sales.php:239 adminpages/reports/sales.php:240
4824
+ #: adminpages/reports/sales.php:256 adminpages/reports/sales.php:336
4825
+ msgid "Generate Report"
4826
+ msgstr ""
4827
+
4828
  #: adminpages/reports/sales.php:339 adminpages/reports/sales.php:339
4829
  msgid ""
4830
  "Average line calculated using data prior to current day, month, or year."
4873
  #: adminpages/templates/orders-print.php:85 pages/confirmation.php:93
4874
  #: pages/invoice.php:75 adminpages/templates/orders-email.php:56
4875
  #: adminpages/templates/orders-print.php:85 pages/confirmation.php:90
4876
+ #: pages/confirmation.php:91 pages/confirmation.php:93 pages/invoice.php:72
4877
+ #: pages/invoice.php:73 pages/invoice.php:74 pages/invoice.php:75
4878
+ #: pages/invoice.php:77 pages/invoice.php:79
4879
  msgid "Subtotal"
4880
  msgstr ""
4881
 
4894
  msgid "Update complete."
4895
  msgstr ""
4896
 
4897
+ #: blocks/blocks.php:37
4898
+ #: includes/compatibility/elementor/class-pmpro-elementor.php:65
4899
+ #: includes/menus.php:34 includes/menus.php:104 blocks/blocks.php:35
4900
  #: includes/compatibility/elementor/class-pmpro-elementor.php:61
 
4901
  msgid "Paid Memberships Pro"
4902
  msgstr ""
4903
 
4914
  "site's plugin page."
4915
  msgstr ""
4916
 
4917
+ #: classes/class-pmpro-admin-activity-email.php:43
4918
+ msgid "yesterday"
 
 
4919
  msgstr ""
4920
 
4921
+ #: classes/class-pmpro-admin-activity-email.php:44
4922
+ msgid "last week"
 
 
 
 
 
 
 
 
4923
  msgstr ""
4924
 
4925
+ #: classes/class-pmpro-admin-activity-email.php:45
4926
+ msgid "last month"
 
 
 
 
 
 
 
 
4927
  msgstr ""
4928
 
4929
+ #: classes/class-pmpro-admin-activity-email.php:83
4930
+ #, php-format
4931
+ msgid "Here's a summary of what happened in your Paid Memberships Pro site %s."
 
 
 
 
 
 
 
 
4932
  msgstr ""
4933
 
4934
+ #: classes/class-pmpro-admin-activity-email.php:102
 
 
4935
  #, php-format
4936
+ msgid "Your membership site made <strong>%1$s</strong> in revenue %2$s."
4937
  msgstr ""
4938
 
4939
+ #: classes/class-pmpro-admin-activity-email.php:149
4940
+ #, php-format
4941
+ msgid "Here is a summary of your top %s most popular levels:</p>"
 
4942
  msgstr ""
4943
 
4944
+ #: classes/class-pmpro-admin-activity-email.php:204
4945
+ #, php-format
4946
+ msgid ""
4947
+ "<strong>%1$d order</strong> used a <a %2$s>Discount Code</a> at checkout:"
4948
+ msgstr ""
4949
+
4950
+ #: classes/class-pmpro-admin-activity-email.php:206
4951
+ #, php-format
4952
+ msgid ""
4953
+ "<strong>%1$d orders</strong> used a <a %2$s>Discount Code</a> at checkout. "
4954
+ "Here is a breakdown of your most used codes:"
4955
+ msgstr ""
4956
+
4957
+ #: classes/class-pmpro-admin-activity-email.php:217
4958
+ #: classes/class.memberorder.php:872 adminpages/orders.php:195
4959
+ #: adminpages/orders.php:245 adminpages/orders.php:317
4960
+ #: adminpages/orders.php:321 adminpages/orders.php:346
4961
+ #: adminpages/orders.php:352 adminpages/orders.php:362
4962
+ #: adminpages/orders.php:364 adminpages/orders.php:370
4963
+ #: adminpages/orders.php:382 classes/class.memberorder.php:743
4964
+ #: classes/class.memberorder.php:746 classes/class.memberorder.php:763
4965
+ #: classes/class.memberorder.php:814 classes/class.memberorder.php:859
4966
+ #: classes/class.memberorder.php:860
4967
+ msgid "Order"
4968
+ msgstr ""
4969
+
4970
+ #: classes/class-pmpro-admin-activity-email.php:226
4971
+ #, php-format
4972
+ msgid "No <a %1$s>Discount Codes</a> were used %2$s."
4973
+ msgstr ""
4974
+
4975
+ #: classes/class-pmpro-admin-activity-email.php:273
4976
+ #, php-format
4977
+ msgid ""
4978
+ "It is important to keep all Add Ons up to date to take advantage of security "
4979
+ "improvements, bug fixes, and expanded features. Add On updates can be made "
4980
+ "<a href=\"%s\" style=\"color:#2997c8;\" target=\"_blank\">via the WordPress "
4981
+ "Dashboard</a>."
4982
+ msgstr ""
4983
+
4984
+ #: classes/class-pmpro-admin-activity-email.php:286
4985
+ msgid "Administrators"
4986
+ msgstr ""
4987
+
4988
+ #: classes/class-pmpro-admin-activity-email.php:287
4989
+ msgid "Membership Managers"
4990
+ msgstr ""
4991
+
4992
+ #: classes/class-pmpro-admin-activity-email.php:314
4993
+ #, php-format
4994
+ msgid ""
4995
+ "...and that is perfectly OK! PMPro is free to use for as long as you want "
4996
+ "for membership sites of all sizes. Interested in unlimited support, access "
4997
+ "to over 70 featured-enhancing Add Ons and instant installs and updates? <a "
4998
+ "%s>Check out our paid plans to learn more</a>."
4999
+ msgstr ""
5000
+
5001
+ #: classes/class-pmpro-admin-activity-email.php:329
5002
+ msgid "PMPro News and Updates"
5003
+ msgstr ""
5004
+
5005
+ #: classes/class-pmpro-admin-activity-email.php:370
5006
+ #, php-format
5007
+ msgid ""
5008
+ "To adjust the frequency of this message or disable these emails completely, "
5009
+ "you can <a %s>update the \"Activity Email Frequency\" setting here</a>."
5010
+ msgstr ""
5011
+
5012
+ #: classes/class-pmpro-admin-activity-email.php:404
5013
+ #, php-format
5014
+ msgid "[%1$s] Paid Memberships Pro Activity for %2$s: %3$s"
5015
+ msgstr ""
5016
+
5017
+ #: classes/class-pmpro-members-list-table.php:232
5018
+ #: adminpages/memberslist.php:274 adminpages/memberslist.php:278
5019
+ #: classes/class-pmpro-members-list-table.php:258
5020
+ #: classes/class-pmpro-members-list-table.php:263
5021
+ msgid "You can also try searching:"
5022
  msgstr ""
5023
 
5024
+ #: classes/class-pmpro-members-list-table.php:235
5025
+ #: classes/class-pmpro-members-list-table.php:628 adminpages/memberslist.php:42
5026
+ #: adminpages/memberslist.php:276 adminpages/memberslist.php:280
5027
+ #: classes/class-pmpro-members-list-table.php:261
5028
+ #: classes/class-pmpro-members-list-table.php:266
5029
+ #: classes/class-pmpro-members-list-table.php:561
5030
+ #: classes/class-pmpro-members-list-table.php:604
5031
+ #: classes/class-pmpro-members-list-table.php:629
5032
+ #: classes/class-pmpro-members-list-table.php:672
5033
+ msgid "Cancelled Members"
5034
+ msgstr ""
5035
+
5036
+ #: classes/class-pmpro-members-list-table.php:236
5037
+ #: classes/class-pmpro-members-list-table.php:629 adminpages/memberslist.php:43
5038
+ #: adminpages/memberslist.php:277 adminpages/memberslist.php:281
5039
+ #: classes/class-pmpro-members-list-table.php:262
5040
+ #: classes/class-pmpro-members-list-table.php:267
5041
+ #: classes/class-pmpro-members-list-table.php:566
5042
+ #: classes/class-pmpro-members-list-table.php:605
5043
+ #: classes/class-pmpro-members-list-table.php:634
5044
+ #: classes/class-pmpro-members-list-table.php:673
5045
+ msgid "Expired Members"
5046
+ msgstr ""
5047
+
5048
+ #: classes/class-pmpro-members-list-table.php:237
5049
+ #: classes/class-pmpro-members-list-table.php:630 adminpages/memberslist.php:42
5050
+ #: adminpages/memberslist.php:44 adminpages/memberslist.php:278
5051
+ #: adminpages/memberslist.php:282
5052
+ #: classes/class-pmpro-members-list-table.php:263
5053
+ #: classes/class-pmpro-members-list-table.php:268
5054
+ #: classes/class-pmpro-members-list-table.php:571
5055
+ #: classes/class-pmpro-members-list-table.php:606
5056
+ #: classes/class-pmpro-members-list-table.php:639
5057
+ #: classes/class-pmpro-members-list-table.php:674
5058
+ msgid "Old Members"
5059
+ msgstr ""
5060
+
5061
+ #: classes/class.memberorder.php:868 classes/class.memberorder.php:553
5062
  #: classes/class.memberorder.php:561 classes/class.memberorder.php:564
5063
  #: classes/class.memberorder.php:573 classes/class.memberorder.php:644
5064
  #: classes/class.memberorder.php:697 classes/class.memberorder.php:699
5075
  "active."
5076
  msgstr ""
5077
 
5078
+ #: classes/class.memberorder.php:869 classes/class.memberorder.php:741
5079
  #: classes/class.memberorder.php:744 classes/class.memberorder.php:761
5080
  #: classes/class.memberorder.php:812 classes/class.memberorder.php:857
5081
  msgid "User Email"
5082
  msgstr ""
5083
 
5084
+ #: classes/class.memberorder.php:871 classes/class.memberorder.php:742
5085
  #: classes/class.memberorder.php:745 classes/class.memberorder.php:762
5086
  #: classes/class.memberorder.php:813 classes/class.memberorder.php:858
5087
  #: classes/class.memberorder.php:859
5088
  msgid "User Display Name"
5089
  msgstr ""
5090
 
5091
+ #: classes/class.memberorder.php:876 classes/class.memberorder.php:864
 
 
 
 
 
 
 
 
 
 
 
 
5092
  msgid "Edit User"
5093
  msgstr ""
5094
 
5095
+ #: classes/class.memberorder.php:877 classes/class.memberorder.php:865
5096
  msgid "Edit Order"
5097
  msgstr ""
5098
 
5257
  #: classes/class.pmproemail.php:769 classes/class.pmproemail.php:789
5258
  #: classes/class.pmproemail.php:818 classes/class.pmproemail.php:825
5259
  #: classes/class.pmproemail.php:833 classes/class.pmproemail.php:834
5260
+ #: classes/class.pmproemail.php:862 classes/class.pmproemail.php:870
5261
  #, php-format
5262
  msgid "Your membership at %s has been changed"
5263
  msgstr ""
5271
  #: classes/class.pmproemail.php:830 classes/class.pmproemail.php:838
5272
  #: classes/class.pmproemail.php:839 classes/class.pmproemail.php:863
5273
  #: classes/class.pmproemail.php:867 classes/class.pmproemail.php:870
5274
+ #: classes/class.pmproemail.php:875 classes/class.pmproemail.php:877
5275
+ #: classes/class.pmproemail.php:885 classes/class.pmproemail.php:886
5276
+ #: classes/class.pmproemail.php:914 classes/class.pmproemail.php:925
5277
  #, php-format
5278
  msgid "The new level is %s"
5279
  msgstr ""
5284
  #: classes/class.pmproemail.php:775 classes/class.pmproemail.php:795
5285
  #: classes/class.pmproemail.php:825 classes/class.pmproemail.php:832
5286
  #: classes/class.pmproemail.php:840 classes/class.pmproemail.php:841
5287
+ #: classes/class.pmproemail.php:869 classes/class.pmproemail.php:877
5288
  msgid "Your membership has been cancelled"
5289
  msgstr ""
5290
 
5300
  #: classes/class.pmproemail.php:836 classes/class.pmproemail.php:844
5301
  #: classes/class.pmproemail.php:845 classes/class.pmproemail.php:869
5302
  #: classes/class.pmproemail.php:873 classes/class.pmproemail.php:876
5303
+ #: classes/class.pmproemail.php:882 classes/class.pmproemail.php:884
5304
+ #: classes/class.pmproemail.php:892 classes/class.pmproemail.php:893
5305
+ #: classes/class.pmproemail.php:921 classes/class.pmproemail.php:932
5306
  #, php-format
5307
  msgid "This membership will expire on %s"
5308
  msgstr ""
5319
  #: classes/class.pmproemail.php:840 classes/class.pmproemail.php:848
5320
  #: classes/class.pmproemail.php:849 classes/class.pmproemail.php:873
5321
  #: classes/class.pmproemail.php:877 classes/class.pmproemail.php:880
5322
+ #: classes/class.pmproemail.php:886 classes/class.pmproemail.php:888
5323
+ #: classes/class.pmproemail.php:896 classes/class.pmproemail.php:897
5324
+ #: classes/class.pmproemail.php:925 classes/class.pmproemail.php:936
5325
  msgid "This membership does not expire"
5326
  msgstr ""
5327
 
5332
  #: classes/class.pmproemail.php:826 classes/class.pmproemail.php:859
5333
  #: classes/class.pmproemail.php:866 classes/class.pmproemail.php:872
5334
  #: classes/class.pmproemail.php:880 classes/class.pmproemail.php:881
5335
+ #: classes/class.pmproemail.php:909 classes/class.pmproemail.php:920
5336
  #, php-format
5337
  msgid "Membership for %s at %s has been changed"
5338
  msgstr ""
5343
  #: classes/class.pmproemail.php:832 classes/class.pmproemail.php:865
5344
  #: classes/class.pmproemail.php:872 classes/class.pmproemail.php:879
5345
  #: classes/class.pmproemail.php:887 classes/class.pmproemail.php:888
5346
+ #: classes/class.pmproemail.php:916 classes/class.pmproemail.php:927
5347
  msgid "Membership has been cancelled"
5348
  msgstr ""
5349
 
5352
  #: classes/class.pmproemail.php:869 classes/class.pmproemail.php:904
5353
  #: classes/class.pmproemail.php:911 classes/class.pmproemail.php:919
5354
  #: classes/class.pmproemail.php:927 classes/class.pmproemail.php:928
5355
+ #: classes/class.pmproemail.php:956 classes/class.pmproemail.php:967
5356
  msgid "Invoice for Order #: "
5357
  msgstr ""
5358
 
5359
  #: classes/class.pmproemail.php:1014 classes/class.pmproemail.php:1003
5360
+ #: classes/class.pmproemail.php:1014
5361
  #, php-format
5362
  msgid "Payment action required for your %s membership"
5363
  msgstr ""
5364
 
5365
  #: classes/class.pmproemail.php:1051 classes/class.pmproemail.php:1040
5366
+ #: classes/class.pmproemail.php:1051
5367
  #, php-format
5368
  msgid "Payment action required: membership for %s at %s"
5369
  msgstr ""
5371
  #: classes/class.pmproemail.php:1087 classes/class.pmproemail.php:948
5372
  #: classes/class.pmproemail.php:955 classes/class.pmproemail.php:963
5373
  #: classes/class.pmproemail.php:971 classes/class.pmproemail.php:972
5374
+ #: classes/class.pmproemail.php:1076 classes/class.pmproemail.php:1087
5375
  msgid ""
5376
  "<p>An administrator at !!sitename!! has changed your membership level.</p>\n"
5377
  "\n"
5394
  #: classes/gateways/class.pmprogateway_authorizenet.php:171
5395
  #: classes/gateways/class.pmprogateway_authorizenet.php:172
5396
  #: classes/gateways/class.pmprogateway_authorizenet.php:173
5397
+ #: classes/gateways/class.pmprogateway_authorizenet.php:189
5398
  #: classes/gateways/class.pmprogateway_check.php:60
5399
  #: classes/gateways/class.pmprogateway_check.php:193
5400
  #: classes/gateways/class.pmprogateway_check.php:210
5443
  #: classes/gateways/class.pmprogateway_authorizenet.php:227
5444
  #: classes/gateways/class.pmprogateway_authorizenet.php:228
5445
  #: classes/gateways/class.pmprogateway_authorizenet.php:229
5446
+ #: classes/gateways/class.pmprogateway_authorizenet.php:240
5447
  #: classes/gateways/class.pmprogateway_authorizenet.php:244
5448
  #: classes/gateways/class.pmprogateway_authorizenet.php:245
5449
  #: classes/gateways/class.pmprogateway_authorizenet.php:246
5450
+ #: classes/gateways/class.pmprogateway_authorizenet.php:262
5451
  #: classes/gateways/class.pmprogateway_check.php:111
5452
  #: classes/gateways/class.pmprogateway_check.php:116
5453
  #: classes/gateways/class.pmprogateway_check.php:134
5498
  #: classes/gateways/class.pmprogateway_authorizenet.php:228
5499
  #: classes/gateways/class.pmprogateway_authorizenet.php:229
5500
  #: classes/gateways/class.pmprogateway_authorizenet.php:230
5501
+ #: classes/gateways/class.pmprogateway_authorizenet.php:246
5502
  #: classes/gateways/class.pmprogateway_check.php:118
5503
  #: classes/gateways/class.pmprogateway_check.php:251
5504
  #: classes/gateways/class.pmprogateway_check.php:252
5514
  msgstr ""
5515
 
5516
  #: classes/gateways/class.pmprogateway_authorizenet.php:55
5517
+ #: paid-memberships-pro.php:163
5518
  #: classes/gateways/class.pmprogateway_authorizenet.php:39
5519
+ #: classes/gateways/class.pmprogateway_authorizenet.php:55
5520
  #: paid-memberships-pro.php:122 paid-memberships-pro.php:123
5521
  #: paid-memberships-pro.php:130 paid-memberships-pro.php:131
5522
  #: paid-memberships-pro.php:132 paid-memberships-pro.php:133
5533
  #: adminpages/paymentsettings.php:269
5534
  #: classes/gateways/class.pmprogateway_authorizenet.php:98
5535
  #: classes/gateways/class.pmprogateway_authorizenet.php:99
5536
+ #: classes/gateways/class.pmprogateway_authorizenet.php:115
5537
  msgid "Login Name"
5538
  msgstr ""
5539
 
5542
  #: adminpages/paymentsettings.php:277
5543
  #: classes/gateways/class.pmprogateway_authorizenet.php:106
5544
  #: classes/gateways/class.pmprogateway_authorizenet.php:107
5545
+ #: classes/gateways/class.pmprogateway_authorizenet.php:123
5546
  msgid "Transaction Key"
5547
  msgstr ""
5548
 
5551
  #: adminpages/paymentsettings.php:501 adminpages/paymentsettings.php:503
5552
  #: classes/gateways/class.pmprogateway_authorizenet.php:114
5553
  #: classes/gateways/class.pmprogateway_authorizenet.php:115
5554
+ #: classes/gateways/class.pmprogateway_authorizenet.php:131
5555
  msgid "Silent Post URL"
5556
  msgstr ""
5557
 
5560
  #: adminpages/paymentsettings.php:504 adminpages/paymentsettings.php:506
5561
  #: classes/gateways/class.pmprogateway_authorizenet.php:117
5562
  #: classes/gateways/class.pmprogateway_authorizenet.php:118
5563
+ #: classes/gateways/class.pmprogateway_authorizenet.php:134
5564
  msgid ""
5565
  "To fully integrate with Authorize.net, be sure to set your Silent Post URL to"
5566
  msgstr ""
5577
  #: classes/gateways/class.pmprogateway_authorizenet.php:910
5578
  #: classes/gateways/class.pmprogateway_authorizenet.php:911
5579
  #: classes/gateways/class.pmprogateway_authorizenet.php:912
5580
+ #: classes/gateways/class.pmprogateway_authorizenet.php:929
5581
+ #: classes/gateways/class.pmprogateway_authorizenet.php:930
5582
  msgid "Could not connect to Authorize.net"
5583
  msgstr ""
5584
 
5623
  msgstr ""
5624
 
5625
  #: classes/gateways/class.pmprogateway_braintree.php:251
5626
+ #: paid-memberships-pro.php:164
5627
  #: classes/gateways/class.pmprogateway_braintree.php:63
5628
  #: classes/gateways/class.pmprogateway_braintree.php:76
5629
  #: classes/gateways/class.pmprogateway_braintree.php:77
5634
  #: classes/gateways/class.pmprogateway_braintree.php:246
5635
  #: classes/gateways/class.pmprogateway_braintree.php:247
5636
  #: classes/gateways/class.pmprogateway_braintree.php:250
5637
+ #: classes/gateways/class.pmprogateway_braintree.php:251
5638
  #: paid-memberships-pro.php:123 paid-memberships-pro.php:124
5639
  #: paid-memberships-pro.php:131 paid-memberships-pro.php:132
5640
  #: paid-memberships-pro.php:133 paid-memberships-pro.php:134
5662
  #: classes/gateways/class.pmprogateway_braintree.php:308
5663
  #: classes/gateways/class.pmprogateway_braintree.php:311
5664
  #: classes/gateways/class.pmprogateway_braintree.php:312
5665
+ #: classes/gateways/class.pmprogateway_braintree.php:313
5666
  #: classes/gateways/class.pmprogateway_cybersource.php:93
5667
  #: classes/gateways/class.pmprogateway_cybersource.php:94
5668
  #: classes/gateways/class.pmprogateway_cybersource.php:106
5683
  #: classes/gateways/class.pmprogateway_braintree.php:316
5684
  #: classes/gateways/class.pmprogateway_braintree.php:319
5685
  #: classes/gateways/class.pmprogateway_braintree.php:320
5686
+ #: classes/gateways/class.pmprogateway_braintree.php:321
5687
  msgid "Public Key"
5688
  msgstr ""
5689
 
5701
  #: classes/gateways/class.pmprogateway_braintree.php:324
5702
  #: classes/gateways/class.pmprogateway_braintree.php:327
5703
  #: classes/gateways/class.pmprogateway_braintree.php:328
5704
+ #: classes/gateways/class.pmprogateway_braintree.php:329
5705
  msgid "Private Key"
5706
  msgstr ""
5707
 
5719
  #: classes/gateways/class.pmprogateway_braintree.php:332
5720
  #: classes/gateways/class.pmprogateway_braintree.php:335
5721
  #: classes/gateways/class.pmprogateway_braintree.php:336
5722
+ #: classes/gateways/class.pmprogateway_braintree.php:337
5723
  msgid "Client-Side Encryption Key"
5724
  msgstr ""
5725
 
5740
  #: classes/gateways/class.pmprogateway_braintree.php:340
5741
  #: classes/gateways/class.pmprogateway_braintree.php:343
5742
  #: classes/gateways/class.pmprogateway_braintree.php:344
5743
+ #: classes/gateways/class.pmprogateway_braintree.php:345
5744
  #: classes/gateways/class.pmprogateway_stripe.php:181
5745
  #: classes/gateways/class.pmprogateway_stripe.php:182
5746
  #: classes/gateways/class.pmprogateway_stripe.php:192
5873
  msgstr ""
5874
 
5875
  #: classes/gateways/class.pmprogateway_braintree.php:475
5876
+ #: classes/gateways/class.pmprogateway_stripe.php:569 pages/billing.php:335
5877
  #: pages/checkout.php:385 classes/gateways/class.pmprogateway_braintree.php:303
5878
  #: classes/gateways/class.pmprogateway_braintree.php:316
5879
  #: classes/gateways/class.pmprogateway_braintree.php:318
5914
  #: pages/billing.php:263 pages/billing.php:305 pages/billing.php:309
5915
  #: pages/billing.php:311 pages/billing.php:312 pages/billing.php:313
5916
  #: pages/billing.php:314 pages/billing.php:317 pages/billing.php:318
5917
+ #: pages/billing.php:326 pages/billing.php:337 pages/checkout.php:385
5918
+ #: pages/checkout.php:459 pages/checkout.php:467 pages/checkout.php:503
5919
+ #: pages/checkout.php:519 pages/checkout.php:520 pages/checkout.php:527
5920
+ #: pages/checkout.php:548 pages/checkout.php:557 pages/checkout.php:566
5921
+ #: pages/checkout.php:570 pages/checkout.php:577 pages/checkout.php:580
5922
  msgid "Card Number"
5923
  msgstr ""
5924
 
5925
+ #: classes/gateways/class.pmprogateway_braintree.php:503 pages/billing.php:374
5926
  #: classes/gateways/class.pmprogateway_braintree.php:340
5927
  #: classes/gateways/class.pmprogateway_braintree.php:353
5928
  #: classes/gateways/class.pmprogateway_braintree.php:355
5952
  #: pages/billing.php:285 pages/billing.php:294 pages/billing.php:297
5953
  #: pages/billing.php:301 pages/billing.php:343 pages/billing.php:348
5954
  #: pages/billing.php:351 pages/billing.php:352 pages/billing.php:354
5955
+ #: pages/billing.php:356 pages/billing.php:357 pages/billing.php:365
5956
+ #: pages/billing.php:380 pages/checkout.php:540 pages/checkout.php:556
5957
+ #: pages/checkout.php:557 pages/checkout.php:564 pages/checkout.php:585
5958
+ #: pages/checkout.php:594 pages/checkout.php:603 pages/checkout.php:605
5959
+ #: pages/checkout.php:607 pages/checkout.php:608 pages/checkout.php:612
5960
+ #: pages/checkout.php:615
5961
  msgid "CVV"
5962
  msgstr ""
5963
 
5964
+ #: classes/gateways/class.pmprogateway_braintree.php:504 pages/billing.php:375
5965
  #: pages/checkout.php:421 classes/gateways/class.pmprogateway_braintree.php:341
5966
  #: classes/gateways/class.pmprogateway_braintree.php:354
5967
  #: classes/gateways/class.pmprogateway_braintree.php:356
5997
  #: pages/billing.php:286 pages/billing.php:295 pages/billing.php:298
5998
  #: pages/billing.php:302 pages/billing.php:344 pages/billing.php:349
5999
  #: pages/billing.php:352 pages/billing.php:353 pages/billing.php:355
6000
+ #: pages/billing.php:357 pages/billing.php:358 pages/billing.php:366
6001
+ #: pages/billing.php:381 pages/checkout.php:421 pages/checkout.php:493
6002
+ #: pages/checkout.php:501 pages/checkout.php:541 pages/checkout.php:557
6003
+ #: pages/checkout.php:558 pages/checkout.php:565 pages/checkout.php:586
6004
+ #: pages/checkout.php:595 pages/checkout.php:604 pages/checkout.php:606
6005
+ #: pages/checkout.php:608 pages/checkout.php:609 pages/checkout.php:613
6006
+ #: pages/checkout.php:616
6007
  msgid "what's this?"
6008
  msgstr ""
6009
 
6359
  msgstr ""
6360
 
6361
  #: classes/gateways/class.pmprogateway_check.php:49
6362
+ #: paid-memberships-pro.php:157 adminpages/orders.php:399
6363
  #: adminpages/orders.php:449 adminpages/paymentsettings.php:157
6364
  #: adminpages/paymentsettings.php:159
6365
  #: classes/gateways/class.pmprogateway_check.php:48
6960
  msgstr ""
6961
 
6962
  #: classes/gateways/class.pmprogateway_paypal.php:68
6963
+ #: paid-memberships-pro.php:160
6964
  #: classes/gateways/class.pmprogateway_paypal.php:57
6965
  #: classes/gateways/class.pmprogateway_paypal.php:68
6966
  #: paid-memberships-pro.php:119 paid-memberships-pro.php:120
7222
  msgstr ""
7223
 
7224
  #: classes/gateways/class.pmprogateway_paypal.php:703
7225
+ #: classes/gateways/class.pmprogateway_paypalexpress.php:785
7226
  #: classes/gateways/class.pmprogateway_paypalstandard.php:587
7227
  #: classes/gateways/class.pmprogateway_paypal.php:385
7228
  #: classes/gateways/class.pmprogateway_paypal.php:605
7232
  #: classes/gateways/class.pmprogateway_paypal.php:681
7233
  #: classes/gateways/class.pmprogateway_paypal.php:693
7234
  #: classes/gateways/class.pmprogateway_paypal.php:694
7235
+ #: classes/gateways/class.pmprogateway_paypal.php:703
7236
  #: classes/gateways/class.pmprogateway_paypalexpress.php:301
7237
  #: classes/gateways/class.pmprogateway_paypalexpress.php:303
7238
  #: classes/gateways/class.pmprogateway_paypalexpress.php:305
7245
  #: classes/gateways/class.pmprogateway_paypalexpress.php:780
7246
  #: classes/gateways/class.pmprogateway_paypalexpress.php:781
7247
  #: classes/gateways/class.pmprogateway_paypalexpress.php:783
7248
+ #: classes/gateways/class.pmprogateway_paypalexpress.php:784
7249
  #: classes/gateways/class.pmprogateway_paypalexpress.php:785
7250
  #: classes/gateways/class.pmprogateway_paypalexpress.php:786
7251
  #: classes/gateways/class.pmprogateway_paypalstandard.php:216
7262
  msgstr ""
7263
 
7264
  #: classes/gateways/class.pmprogateway_paypalexpress.php:84
7265
+ #: paid-memberships-pro.php:159
7266
  #: classes/gateways/class.pmprogateway_paypalexpress.php:63
7267
  #: classes/gateways/class.pmprogateway_paypalexpress.php:73
7268
  #: classes/gateways/class.pmprogateway_paypalexpress.php:84
7314
  msgstr ""
7315
 
7316
  #: classes/gateways/class.pmprogateway_paypalstandard.php:71
7317
+ #: paid-memberships-pro.php:162
7318
  #: classes/gateways/class.pmprogateway_paypalstandard.php:60
7319
  #: classes/gateways/class.pmprogateway_paypalstandard.php:71
7320
  #: paid-memberships-pro.php:121 paid-memberships-pro.php:122
7344
  msgstr ""
7345
 
7346
  #: classes/gateways/class.pmprogateway_stripe.php:231
7347
+ #: paid-memberships-pro.php:158
7348
  #: classes/gateways/class.pmprogateway_stripe.php:93
7349
  #: classes/gateways/class.pmprogateway_stripe.php:94
7350
  #: classes/gateways/class.pmprogateway_stripe.php:104
7358
  #: classes/gateways/class.pmprogateway_stripe.php:201
7359
  #: classes/gateways/class.pmprogateway_stripe.php:203
7360
  #: classes/gateways/class.pmprogateway_stripe.php:229
7361
+ #: classes/gateways/class.pmprogateway_stripe.php:231
7362
  #: paid-memberships-pro.php:117 paid-memberships-pro.php:118
7363
  #: paid-memberships-pro.php:125 paid-memberships-pro.php:126
7364
  #: paid-memberships-pro.php:127 paid-memberships-pro.php:128
7385
  #: classes/gateways/class.pmprogateway_stripe.php:258
7386
  #: classes/gateways/class.pmprogateway_stripe.php:283
7387
  #: classes/gateways/class.pmprogateway_stripe.php:284
7388
+ #: classes/gateways/class.pmprogateway_stripe.php:286
7389
  msgid "Stripe Settings"
7390
  msgstr ""
7391
 
7407
  #: classes/gateways/class.pmprogateway_stripe.php:269
7408
  #: classes/gateways/class.pmprogateway_stripe.php:288
7409
  #: classes/gateways/class.pmprogateway_stripe.php:289
7410
+ #: classes/gateways/class.pmprogateway_stripe.php:291
7411
  msgid "Publishable Key"
7412
  msgstr ""
7413
 
7417
  #: classes/gateways/class.pmprogateway_stripe.php:271
7418
  #: classes/gateways/class.pmprogateway_stripe.php:297
7419
  #: classes/gateways/class.pmprogateway_stripe.php:298
7420
+ #: classes/gateways/class.pmprogateway_stripe.php:299
7421
  msgid "Your Publishable Key appears incorrect."
7422
  msgstr ""
7423
 
7439
  #: classes/gateways/class.pmprogateway_stripe.php:279
7440
  #: classes/gateways/class.pmprogateway_stripe.php:305
7441
  #: classes/gateways/class.pmprogateway_stripe.php:306
7442
+ #: classes/gateways/class.pmprogateway_stripe.php:307
7443
  msgid "Secret Key"
7444
  msgstr ""
7445
 
7541
  #: classes/gateways/class.pmprogateway_stripe.php:368
7542
  #: classes/gateways/class.pmprogateway_stripe.php:378
7543
  #: classes/gateways/class.pmprogateway_stripe.php:379
7544
+ #: classes/gateways/class.pmprogateway_stripe.php:380
7545
  #: classes/gateways/class.pmprogateway_stripe.php:381
7546
  msgid "Verification steps confirmed. Your payment is processing."
7547
  msgstr ""
7654
  "at predefined times. Be sure to click Update User after making changes."
7655
  msgstr ""
7656
 
7657
+ #: classes/gateways/class.pmprogateway_stripe.php:675 pages/billing.php:389
7658
  #: classes/gateways/class.pmprogateway_stripe.php:578
7659
  #: classes/gateways/class.pmprogateway_stripe.php:579
7660
  #: classes/gateways/class.pmprogateway_stripe.php:589
7680
  #: pages/billing.php:298 pages/billing.php:329 pages/billing.php:338
7681
  #: pages/billing.php:341 pages/billing.php:343 pages/billing.php:347
7682
  #: pages/billing.php:362 pages/billing.php:363 pages/billing.php:364
7683
+ #: pages/billing.php:370 pages/billing.php:371 pages/billing.php:379
7684
+ #: pages/billing.php:391 pages/billing.php:396 pages/billing.php:400
7685
+ #: pages/billing.php:405
7686
  msgid "Update"
7687
  msgstr ""
7688
 
7782
  msgid "Error getting subscription with Stripe:"
7783
  msgstr ""
7784
 
7785
+ #: classes/gateways/class.pmprogateway_stripe.php:1610
7786
+ #: classes/gateways/class.pmprogateway_stripe.php:1615
7787
  #: classes/gateways/class.pmprogateway_stripe.php:278
7788
  #: classes/gateways/class.pmprogateway_stripe.php:279
7789
  #: classes/gateways/class.pmprogateway_stripe.php:286
7829
  msgid "Error creating plan with Stripe:"
7830
  msgstr ""
7831
 
7832
+ #: classes/gateways/class.pmprogateway_stripe.php:1646
7833
+ #: classes/gateways/class.pmprogateway_stripe.php:1660
7834
  #: classes/gateways/class.pmprogateway_stripe.php:294
7835
  #: classes/gateways/class.pmprogateway_stripe.php:295
7836
  #: classes/gateways/class.pmprogateway_stripe.php:302
7871
  msgid "Error subscribing customer to plan with Stripe:"
7872
  msgstr ""
7873
 
7874
+ #: classes/gateways/class.pmprogateway_stripe.php:1751
7875
  #: classes/gateways/class.pmprogateway_stripe.php:769
7876
  #: classes/gateways/class.pmprogateway_stripe.php:770
7877
  #: classes/gateways/class.pmprogateway_stripe.php:780
7899
  msgid "Could not cancel the old subscription. Updates have not been processed."
7900
  msgstr ""
7901
 
7902
+ #: classes/gateways/class.pmprogateway_stripe.php:1902
7903
  #: classes/gateways/class.pmprogateway_stripe.php:383
7904
  #: classes/gateways/class.pmprogateway_stripe.php:389
7905
  #: classes/gateways/class.pmprogateway_stripe.php:410
7936
  msgid "Could not cancel old subscription."
7937
  msgstr ""
7938
 
7939
+ #: classes/gateways/class.pmprogateway_stripe.php:1918
7940
  #: classes/gateways/class.pmprogateway_stripe.php:1533
7941
  #: classes/gateways/class.pmprogateway_stripe.php:1534
7942
  #: classes/gateways/class.pmprogateway_stripe.php:1535
7969
  msgid "Could not find the customer."
7970
  msgstr ""
7971
 
7972
+ #: classes/gateways/class.pmprogateway_stripe.php:2085
7973
+ #: classes/gateways/class.pmprogateway_stripe.php:2091
7974
  #: classes/gateways/class.pmprogateway_stripe.php:1836
7975
  #: classes/gateways/class.pmprogateway_stripe.php:1837
7976
  #: classes/gateways/class.pmprogateway_stripe.php:1847
7993
  msgid "Error: "
7994
  msgstr ""
7995
 
7996
+ #: classes/gateways/class.pmprogateway_stripe.php:2105
7997
  #: classes/gateways/class.pmprogateway_stripe.php:1849
7998
  #: classes/gateways/class.pmprogateway_stripe.php:1850
7999
  #: classes/gateways/class.pmprogateway_stripe.php:1860
8015
  msgid "Error: Unkown error while refunding charge #%s"
8016
  msgstr ""
8017
 
8018
+ #: classes/gateways/class.pmprogateway_stripe.php:2564
8019
  #: classes/gateways/class.pmprogateway_stripe.php:2438
8020
  #: classes/gateways/class.pmprogateway_stripe.php:2479
8021
  #: classes/gateways/class.pmprogateway_stripe.php:2485
8026
  "complete the verification steps issued by your payment provider."
8027
  msgstr ""
8028
 
8029
+ #: classes/gateways/class.pmprogateway_stripe.php:2581
8030
  #: classes/gateways/class.pmprogateway_stripe.php:2455
8031
  #: classes/gateways/class.pmprogateway_stripe.php:2496
8032
  #: classes/gateways/class.pmprogateway_stripe.php:2502
8038
  msgstr ""
8039
 
8040
  #: classes/gateways/class.pmprogateway_twocheckout.php:59
8041
+ #: paid-memberships-pro.php:165
8042
  #: classes/gateways/class.pmprogateway_twocheckout.php:53
8043
  #: classes/gateways/class.pmprogateway_twocheckout.php:59
8044
  #: classes/gateways/class.pmprogateway_twocheckout.php:60
8148
  "to update this add on."
8149
  msgstr ""
8150
 
 
 
 
 
 
 
 
 
 
 
8151
  #: includes/adminpages.php:47 includes/adminpages.php:9
8152
  #: includes/adminpages.php:39 includes/adminpages.php:47
8153
  #: includes/adminpages.php:48 includes/adminpages.php:93
8225
  msgid "Membership Invoice Page"
8226
  msgstr ""
8227
 
 
 
 
8228
  #: includes/adminpages.php:347
8229
+ msgid "Membership Levels Page"
8230
+ msgstr ""
8231
+
8232
+ #: includes/adminpages.php:351
8233
+ msgid "Member Profile Edit Page"
8234
  msgstr ""
8235
 
8236
+ #: includes/adminpages.php:369 includes/adminpages.php:365
8237
  msgid "Members Per Page"
8238
  msgstr ""
8239
 
8240
+ #: includes/adminpages.php:407 includes/adminpages.php:261
8241
  #: includes/adminpages.php:265 includes/adminpages.php:274
8242
  #: includes/adminpages.php:316 includes/adminpages.php:349
8243
  #: includes/adminpages.php:362 includes/adminpages.php:366
8245
  msgid "Docs"
8246
  msgstr ""
8247
 
8248
+ #: includes/adminpages.php:407 includes/adminpages.php:261
8249
  #: includes/adminpages.php:265 includes/adminpages.php:274
8250
  #: includes/adminpages.php:316 includes/adminpages.php:349
8251
  #: includes/adminpages.php:362 includes/adminpages.php:366
8253
  msgid "View PMPro Documentation"
8254
  msgstr ""
8255
 
8256
+ #: includes/adminpages.php:408 includes/adminpages.php:262
8257
  #: includes/adminpages.php:266 includes/adminpages.php:275
8258
  #: includes/adminpages.php:317 includes/adminpages.php:350
8259
  #: includes/adminpages.php:363 includes/adminpages.php:367
8261
  msgid "Support"
8262
  msgstr ""
8263
 
8264
+ #: includes/adminpages.php:408 includes/adminpages.php:262
8265
  #: includes/adminpages.php:266 includes/adminpages.php:275
8266
  #: includes/adminpages.php:317 includes/adminpages.php:350
8267
  #: includes/adminpages.php:363 includes/adminpages.php:367
8283
  "</p>"
8284
  msgstr ""
8285
 
8286
+ #: includes/compatibility/beaver-builder.php:33
8287
+ #: includes/compatibility/beaver-builder.php:127
8288
+ msgid "PMPro"
8289
+ msgstr ""
8290
+
8291
+ #: includes/compatibility/beaver-builder.php:36
8292
+ msgid "General"
8293
+ msgstr ""
8294
+
8295
+ #: includes/compatibility/beaver-builder.php:40
8296
+ #: includes/compatibility/beaver-builder.php:134
8297
+ msgid "Enable Paid Memberships Pro module visibility?"
8298
+ msgstr ""
8299
+
8300
+ #: includes/compatibility/beaver-builder.php:55
8301
+ #: includes/compatibility/beaver-builder.php:149
8302
+ msgid "Select a level for module access"
8303
+ msgstr ""
8304
+
8305
+ #: includes/compatibility/elementor.php:36
8306
  #: includes/compatibility/elementor.php:36
8307
  msgid "Non-members"
8308
  msgstr ""
8309
 
8310
+ #: includes/compatibility/elementor/class-pmpro-elementor-content-restriction.php:29
8311
  #: includes/compatibility/elementor/class-pmpro-elementor-content-restriction.php:27
8312
  msgid "Require Membership Level"
8313
  msgstr ""
8314
 
8315
+ #: includes/compatibility/elementor/class-pmpro-elementor-content-restriction.php:41
8316
  #: includes/compatibility/elementor/class-pmpro-elementor-content-restriction.php:39
8317
  msgid "Require membership level to see this content."
8318
  msgstr ""
9314
  #: includes/currencies.php:85 includes/currencies.php:87
9315
  #: includes/currencies.php:94 includes/currencies.php:97
9316
  #: includes/currencies.php:99 includes/currencies.php:100
9317
+ #: includes/currencies.php:105 includes/currencies.php:107
9318
+ #: includes/currencies.php:124 includes/currencies.php:127
9319
+ #: includes/currencies.php:132
9320
  msgid "US Dollars (&#36;)"
9321
  msgstr ""
9322
 
9328
  #: includes/currencies.php:88 includes/currencies.php:90
9329
  #: includes/currencies.php:97 includes/currencies.php:100
9330
  #: includes/currencies.php:102 includes/currencies.php:103
9331
+ #: includes/currencies.php:108 includes/currencies.php:110
9332
  msgid "Euros (&euro;)"
9333
  msgstr ""
9334
 
9340
  #: includes/currencies.php:87 includes/currencies.php:89
9341
  #: includes/currencies.php:96 includes/currencies.php:99
9342
  #: includes/currencies.php:101 includes/currencies.php:102
9343
+ #: includes/currencies.php:107 includes/currencies.php:109
9344
  msgid "Pounds Sterling (&pound;)"
9345
  msgstr ""
9346
 
9370
  #: includes/currencies.php:86 includes/currencies.php:88
9371
  #: includes/currencies.php:95 includes/currencies.php:98
9372
  #: includes/currencies.php:100 includes/currencies.php:101
9373
+ #: includes/currencies.php:106 includes/currencies.php:108
9374
  msgid "Canadian Dollars (&#36;)"
9375
  msgstr ""
9376
 
9395
  msgid "Danish Krone"
9396
  msgstr ""
9397
 
9398
+ #: includes/currencies.php:44 includes/currencies.php:44
9399
  msgid "Ghanaian Cedi (&#8373;)"
9400
  msgstr ""
9401
 
9403
  #: includes/currencies.php:16 includes/currencies.php:28
9404
  #: includes/currencies.php:35 includes/currencies.php:43
9405
  #: includes/currencies.php:45 includes/currencies.php:46
9406
+ #: includes/currencies.php:48 includes/currencies.php:53
9407
  msgid "Hong Kong Dollar (&#36;)"
9408
  msgstr ""
9409
 
9411
  #: includes/currencies.php:17 includes/currencies.php:29
9412
  #: includes/currencies.php:36 includes/currencies.php:44
9413
  #: includes/currencies.php:46 includes/currencies.php:47
9414
+ #: includes/currencies.php:49 includes/currencies.php:54
9415
  msgid "Hungarian Forint"
9416
  msgstr ""
9417
 
9418
  #: includes/currencies.php:50 includes/currencies.php:18
9419
  #: includes/currencies.php:30 includes/currencies.php:37
9420
  #: includes/currencies.php:45 includes/currencies.php:47
9421
+ #: includes/currencies.php:48 includes/currencies.php:50
9422
+ #: includes/currencies.php:55
9423
  msgid "Indian Rupee"
9424
  msgstr ""
9425
 
9426
  #: includes/currencies.php:51 includes/currencies.php:19
9427
  #: includes/currencies.php:31 includes/currencies.php:38
9428
  #: includes/currencies.php:46 includes/currencies.php:48
9429
+ #: includes/currencies.php:49 includes/currencies.php:51
9430
+ #: includes/currencies.php:56
9431
  msgid "Indonesia Rupiah"
9432
  msgstr ""
9433
 
9435
  #: includes/currencies.php:20 includes/currencies.php:32
9436
  #: includes/currencies.php:39 includes/currencies.php:47
9437
  #: includes/currencies.php:49 includes/currencies.php:50
9438
+ #: includes/currencies.php:52 includes/currencies.php:57
9439
  msgid "Israeli Shekel"
9440
  msgstr ""
9441
 
9443
  #: includes/currencies.php:21 includes/currencies.php:34
9444
  #: includes/currencies.php:41 includes/currencies.php:49
9445
  #: includes/currencies.php:51 includes/currencies.php:52
9446
+ #: includes/currencies.php:54 includes/currencies.php:59
9447
  msgid "Japanese Yen (&yen;)"
9448
  msgstr ""
9449
 
9450
  #: includes/currencies.php:59 includes/currencies.php:54
9451
+ #: includes/currencies.php:59 includes/currencies.php:64
9452
  msgid "Kenyan Shilling"
9453
  msgstr ""
9454
 
9456
  #: includes/currencies.php:22 includes/currencies.php:38
9457
  #: includes/currencies.php:45 includes/currencies.php:55
9458
  #: includes/currencies.php:56 includes/currencies.php:57
9459
+ #: includes/currencies.php:60 includes/currencies.php:65
9460
  msgid "Malaysian Ringgits"
9461
  msgstr ""
9462
 
9464
  #: includes/currencies.php:23 includes/currencies.php:39
9465
  #: includes/currencies.php:46 includes/currencies.php:56
9466
  #: includes/currencies.php:57 includes/currencies.php:58
9467
+ #: includes/currencies.php:61 includes/currencies.php:66
9468
  msgid "Mexican Peso (&#36;)"
9469
  msgstr ""
9470
 
9471
  #: includes/currencies.php:62 includes/currencies.php:57
9472
  #: includes/currencies.php:58 includes/currencies.php:59
9473
+ #: includes/currencies.php:62 includes/currencies.php:67
9474
  msgid "Nigerian Naira (&#8358;)"
9475
  msgstr ""
9476
 
9478
  #: includes/currencies.php:24 includes/currencies.php:40
9479
  #: includes/currencies.php:47 includes/currencies.php:57
9480
  #: includes/currencies.php:58 includes/currencies.php:59
9481
+ #: includes/currencies.php:60 includes/currencies.php:63
9482
+ #: includes/currencies.php:68
9483
  msgid "New Zealand Dollar (&#36;)"
9484
  msgstr ""
9485
 
9487
  #: includes/currencies.php:25 includes/currencies.php:41
9488
  #: includes/currencies.php:48 includes/currencies.php:58
9489
  #: includes/currencies.php:59 includes/currencies.php:60
9490
+ #: includes/currencies.php:61 includes/currencies.php:64
9491
+ #: includes/currencies.php:69
9492
  msgid "Norwegian Krone"
9493
  msgstr ""
9494
 
9496
  #: includes/currencies.php:26 includes/currencies.php:42
9497
  #: includes/currencies.php:49 includes/currencies.php:59
9498
  #: includes/currencies.php:60 includes/currencies.php:61
9499
+ #: includes/currencies.php:62 includes/currencies.php:65
9500
+ #: includes/currencies.php:70
9501
  msgid "Philippine Pesos"
9502
  msgstr ""
9503
 
9505
  #: includes/currencies.php:27 includes/currencies.php:43
9506
  #: includes/currencies.php:50 includes/currencies.php:60
9507
  #: includes/currencies.php:61 includes/currencies.php:62
9508
+ #: includes/currencies.php:63 includes/currencies.php:66
9509
+ #: includes/currencies.php:71
9510
  msgid "Polish Zloty"
9511
  msgstr ""
9512
 
9513
  #: includes/currencies.php:68 includes/currencies.php:63
9514
+ #: includes/currencies.php:65 includes/currencies.php:68
9515
+ #: includes/currencies.php:73
9516
  msgid "Russian Ruble (&#8381;)"
9517
  msgstr ""
9518
 
9521
  #: includes/currencies.php:52 includes/currencies.php:62
9522
  #: includes/currencies.php:64 includes/currencies.php:65
9523
  #: includes/currencies.php:68 includes/currencies.php:70
9524
+ #: includes/currencies.php:71 includes/currencies.php:76
9525
+ #: includes/currencies.php:78
9526
  msgid "Singapore Dollar (&#36;)"
9527
  msgstr ""
9528
 
9530
  #: includes/currencies.php:57 includes/currencies.php:67
9531
  #: includes/currencies.php:69 includes/currencies.php:70
9532
  #: includes/currencies.php:73 includes/currencies.php:75
9533
+ #: includes/currencies.php:76 includes/currencies.php:81
9534
+ #: includes/currencies.php:83
9535
  msgid "South African Rand (R)"
9536
  msgstr ""
9537
 
9540
  #: includes/currencies.php:61 includes/currencies.php:71
9541
  #: includes/currencies.php:73 includes/currencies.php:75
9542
  #: includes/currencies.php:78 includes/currencies.php:80
9543
+ #: includes/currencies.php:81 includes/currencies.php:86
9544
+ #: includes/currencies.php:88
9545
  msgid "South Korean Won"
9546
  msgstr ""
9547
 
9551
  #: includes/currencies.php:72 includes/currencies.php:74
9552
  #: includes/currencies.php:78 includes/currencies.php:81
9553
  #: includes/currencies.php:83 includes/currencies.php:84
9554
+ #: includes/currencies.php:89 includes/currencies.php:91
9555
  msgid "Swedish Krona"
9556
  msgstr ""
9557
 
9561
  #: includes/currencies.php:73 includes/currencies.php:75
9562
  #: includes/currencies.php:79 includes/currencies.php:82
9563
  #: includes/currencies.php:84 includes/currencies.php:85
9564
+ #: includes/currencies.php:90 includes/currencies.php:92
9565
  msgid "Swiss Franc"
9566
  msgstr ""
9567
 
9571
  #: includes/currencies.php:74 includes/currencies.php:76
9572
  #: includes/currencies.php:80 includes/currencies.php:83
9573
  #: includes/currencies.php:85 includes/currencies.php:86
9574
+ #: includes/currencies.php:91 includes/currencies.php:93
9575
  msgid "Taiwan New Dollars"
9576
  msgstr ""
9577
 
9581
  #: includes/currencies.php:75 includes/currencies.php:77
9582
  #: includes/currencies.php:81 includes/currencies.php:84
9583
  #: includes/currencies.php:86 includes/currencies.php:87
9584
+ #: includes/currencies.php:92 includes/currencies.php:94
9585
  msgid "Thai Baht"
9586
  msgstr ""
9587
 
9590
  #: includes/currencies.php:66 includes/currencies.php:76
9591
  #: includes/currencies.php:78 includes/currencies.php:82
9592
  #: includes/currencies.php:85 includes/currencies.php:87
9593
+ #: includes/currencies.php:88 includes/currencies.php:93
9594
+ #: includes/currencies.php:95
9595
  msgid "Turkish Lira"
9596
  msgstr ""
9597
 
9600
  #: includes/currencies.php:67 includes/currencies.php:77
9601
  #: includes/currencies.php:79 includes/currencies.php:84
9602
  #: includes/currencies.php:87 includes/currencies.php:89
9603
+ #: includes/currencies.php:90 includes/currencies.php:95
9604
+ #: includes/currencies.php:97
9605
  msgid "Vietnamese Dong"
9606
  msgstr ""
9607
 
9635
  msgid "Profile Start Date Issue Detected and Fixed at %s"
9636
  msgstr ""
9637
 
9638
+ #: includes/functions.php:379 includes/functions.php:491
9639
  #: includes/functions.php:160 includes/functions.php:196
9640
  #: includes/functions.php:200 includes/functions.php:202
9641
  #: includes/functions.php:203 includes/functions.php:204
9643
  #: includes/functions.php:309 includes/functions.php:315
9644
  #: includes/functions.php:320 includes/functions.php:321
9645
  #: includes/functions.php:329 includes/functions.php:340
9646
+ #: includes/functions.php:384 includes/functions.php:433
9647
+ #: includes/functions.php:452 includes/functions.php:455
9648
+ #: includes/functions.php:464 includes/functions.php:496
9649
  #, php-format
9650
  msgid "The price for membership is <strong>%s</strong> now"
9651
  msgstr ""
9652
 
9653
+ #: includes/functions.php:381 includes/functions.php:493
9654
  #: includes/functions.php:202 includes/functions.php:204
9655
  #: includes/functions.php:205 includes/functions.php:206
9656
  #: includes/functions.php:209 includes/functions.php:245
9657
  #: includes/functions.php:311 includes/functions.php:317
9658
  #: includes/functions.php:322 includes/functions.php:323
9659
  #: includes/functions.php:331 includes/functions.php:342
9660
+ #: includes/functions.php:386 includes/functions.php:435
9661
+ #: includes/functions.php:454 includes/functions.php:457
9662
+ #: includes/functions.php:466 includes/functions.php:498
9663
  #, php-format
9664
  msgid "<strong>%s</strong> now"
9665
  msgstr ""
9666
 
9667
+ #: includes/functions.php:388 includes/functions.php:330
9668
+ #: includes/functions.php:349 includes/functions.php:393
9669
  #, php-format
9670
  msgid " and then <strong>%1$s per %2$s for %3$d more %4$s</strong>."
9671
  msgstr ""
9672
 
9673
+ #: includes/functions.php:390 includes/functions.php:332
9674
+ #: includes/functions.php:351 includes/functions.php:395
9675
  #, php-format
9676
  msgid " and then <strong>%1$s every %2$d %3$s for %4$d more payments</strong>."
9677
  msgstr ""
9678
 
9679
+ #: includes/functions.php:393 includes/functions.php:335
9680
+ #: includes/functions.php:354 includes/functions.php:398
9681
  #, php-format
9682
  msgid " and then <strong>%1$s after %2$d %3$s</strong>."
9683
  msgstr ""
9684
 
9685
+ #: includes/functions.php:398 includes/functions.php:340
9686
+ #: includes/functions.php:359 includes/functions.php:403
9687
  #, php-format
9688
  msgid "The price for membership is <strong>%1$s per %2$s</strong>."
9689
  msgstr ""
9690
 
9691
+ #: includes/functions.php:400 includes/functions.php:342
9692
+ #: includes/functions.php:361 includes/functions.php:405
9693
  #, php-format
9694
  msgid "<strong>%1$s per %2$s</strong>."
9695
  msgstr ""
9696
 
9697
+ #: includes/functions.php:404 includes/functions.php:346
9698
+ #: includes/functions.php:365 includes/functions.php:409
9699
  #, php-format
9700
  msgid "The price for membership is <strong>%1$s every %2$d %3$s</strong>."
9701
  msgstr ""
9702
 
9703
+ #: includes/functions.php:406 includes/functions.php:348
9704
+ #: includes/functions.php:367 includes/functions.php:411
9705
  #, php-format
9706
  msgid "<strong>%1$s every %2$d %3$s</strong>."
9707
  msgstr ""
9708
 
9709
+ #: includes/functions.php:411 includes/functions.php:353
9710
+ #: includes/functions.php:372 includes/functions.php:416
9711
  #, php-format
9712
  msgid " and then <strong>%1$s per %2$s</strong>."
9713
  msgstr ""
9714
 
9715
+ #: includes/functions.php:413 includes/functions.php:355
9716
+ #: includes/functions.php:374 includes/functions.php:418
9717
  #, php-format
9718
  msgid " and then <strong>%1$s every %2$d %3$s</strong>."
9719
  msgstr ""
9720
 
9721
+ #: includes/functions.php:428 includes/functions.php:202
9722
  #: includes/functions.php:238 includes/functions.php:249
9723
  #: includes/functions.php:260 includes/functions.php:261
9724
  #: includes/functions.php:262 includes/functions.php:264
9726
  #: includes/functions.php:307 includes/functions.php:370
9727
  #: includes/functions.php:373 includes/functions.php:379
9728
  #: includes/functions.php:384 includes/functions.php:389
9729
+ #: includes/functions.php:393 includes/functions.php:433 pages/levels.php:82
9730
  msgid "After your initial payment, your first payment is Free."
9731
  msgstr ""
9732
 
9733
+ #: includes/functions.php:430 includes/functions.php:206
9734
  #: includes/functions.php:242 includes/functions.php:253
9735
  #: includes/functions.php:264 includes/functions.php:265
9736
  #: includes/functions.php:266 includes/functions.php:268
9738
  #: includes/functions.php:311 includes/functions.php:372
9739
  #: includes/functions.php:377 includes/functions.php:383
9740
  #: includes/functions.php:388 includes/functions.php:391
9741
+ #: includes/functions.php:397 includes/functions.php:435 pages/levels.php:86
9742
  #, php-format
9743
  msgid "After your initial payment, your first %d payments are Free."
9744
  msgstr ""
9745
 
9746
+ #: includes/functions.php:434 includes/functions.php:213
9747
  #: includes/functions.php:249 includes/functions.php:260
9748
  #: includes/functions.php:271 includes/functions.php:272
9749
  #: includes/functions.php:273 includes/functions.php:275
9750
  #: includes/functions.php:278 includes/functions.php:282
9751
  #: includes/functions.php:318 includes/functions.php:376
9752
  #: includes/functions.php:384 includes/functions.php:390
9753
+ #: includes/functions.php:395 includes/functions.php:404
9754
+ #: includes/functions.php:439 pages/levels.php:93
9755
  #, php-format
9756
  msgid "After your initial payment, your first payment will cost %s."
9757
  msgstr ""
9758
 
9759
+ #: includes/functions.php:436 includes/functions.php:378
9760
+ #: includes/functions.php:397 includes/functions.php:441
9761
  #, php-format
9762
  msgid "After your initial payment, your first %1$d payments will cost %2$s."
9763
  msgstr ""
9764
 
9765
+ #: includes/functions.php:446 includes/functions.php:547
9766
  #: includes/functions.php:388 includes/functions.php:407
9767
+ #: includes/functions.php:451 includes/functions.php:489
9768
+ #: includes/functions.php:508 includes/functions.php:552
9769
  #, php-format
9770
  msgid "Customers in %1$s will be charged %2$s%% tax."
9771
  msgstr ""
9772
 
9773
+ #: includes/functions.php:504 includes/functions.php:446
9774
+ #: includes/functions.php:465 includes/functions.php:509
9775
  #, php-format
9776
  msgid "<strong>%1$s per %2$s for %3$d more %4$s</strong>"
9777
  msgstr ""
9778
 
9779
+ #: includes/functions.php:506 includes/functions.php:448
9780
+ #: includes/functions.php:467 includes/functions.php:511
9781
  #, php-format
9782
  msgid "<strong>%1$s every %2$d %3$s for %4$d more payments</strong>"
9783
  msgstr ""
9784
 
9785
+ #: includes/functions.php:509 includes/functions.php:451
9786
+ #: includes/functions.php:470 includes/functions.php:514
9787
  #, php-format
9788
  msgid "<strong>%1$s after %2$d %3$s</strong>"
9789
  msgstr ""
9790
 
9791
+ #: includes/functions.php:512 includes/functions.php:454
9792
+ #: includes/functions.php:473 includes/functions.php:517
9793
  #, php-format
9794
  msgid "<strong>%1$s every %2$s</strong>"
9795
  msgstr ""
9796
 
9797
+ #: includes/functions.php:514 includes/functions.php:456
9798
+ #: includes/functions.php:475 includes/functions.php:519
9799
  #, php-format
9800
  msgid "<strong>%1$s every %2$d %3$s</strong>"
9801
  msgstr ""
9802
 
9803
+ #: includes/functions.php:536 includes/functions.php:478
9804
  #: includes/functions.php:497 includes/functions.php:511
9805
+ #: includes/functions.php:520 includes/functions.php:541
9806
  msgid "Trial pricing has been applied to the first payment."
9807
  msgstr ""
9808
 
9809
+ #: includes/functions.php:538 includes/functions.php:480
9810
  #: includes/functions.php:499 includes/functions.php:513
9811
+ #: includes/functions.php:522 includes/functions.php:543
9812
  #, php-format
9813
  msgid "Trial pricing has been applied to the first %d payments."
9814
  msgstr ""
9815
 
9816
+ #: includes/functions.php:563 includes/functions.php:505
9817
+ #: includes/functions.php:524 includes/functions.php:568
9818
  #, php-format
9819
  msgid "Membership expires after %1$d %2$s."
9820
  msgstr ""
9821
 
9822
+ #: includes/functions.php:582 includes/functions.php:524
9823
+ #: includes/functions.php:543 includes/functions.php:587
9824
  #, php-format
9825
  msgid "%1$s membership expires after %2$d %3$s"
9826
  msgstr ""
9827
 
9828
+ #: includes/functions.php:940 includes/functions.php:491
9829
  #: includes/functions.php:514 includes/functions.php:525
9830
  #: includes/functions.php:536 includes/functions.php:537
9831
  #: includes/functions.php:538 includes/functions.php:545
9840
  msgid "User ID not found."
9841
  msgstr ""
9842
 
9843
+ #: includes/functions.php:952 includes/functions.php:886
9844
  #: includes/functions.php:889 includes/functions.php:894
9845
+ #: includes/functions.php:913 includes/functions.php:957
9846
  msgid "No membership_id specified in pmpro_changeMembershipLevel."
9847
  msgstr ""
9848
 
9849
+ #: includes/functions.php:958 includes/functions.php:966
9850
  #: includes/functions.php:508 includes/functions.php:531
9851
  #: includes/functions.php:542 includes/functions.php:553
9852
  #: includes/functions.php:554 includes/functions.php:555
9858
  #: includes/functions.php:892 includes/functions.php:895
9859
  #: includes/functions.php:900 includes/functions.php:903
9860
  #: includes/functions.php:908 includes/functions.php:919
9861
+ #: includes/functions.php:927 includes/functions.php:963
9862
+ #: includes/functions.php:965 includes/functions.php:967
9863
+ #: includes/functions.php:971 includes/functions.php:976
9864
  msgid "Invalid level."
9865
  msgstr ""
9866
 
9867
+ #: includes/functions.php:977 includes/functions.php:520
9868
  #: includes/functions.php:542 includes/functions.php:553
9869
  #: includes/functions.php:564 includes/functions.php:565
9870
  #: includes/functions.php:566 includes/functions.php:573
9875
  #: includes/functions.php:797 includes/functions.php:911
9876
  #: includes/functions.php:914 includes/functions.php:919
9877
  #: includes/functions.php:938 includes/functions.php:976
9878
+ #: includes/functions.php:978 includes/functions.php:982
9879
+ #: includes/functions.php:987
9880
  msgid "not changing?"
9881
  msgstr ""
9882
 
9883
+ #: includes/functions.php:1033 includes/functions.php:537
9884
  #: includes/functions.php:559 includes/functions.php:570
9885
  #: includes/functions.php:581 includes/functions.php:582
9886
  #: includes/functions.php:583 includes/functions.php:590
9906
  #: includes/functions.php:967 includes/functions.php:970
9907
  #: includes/functions.php:975 includes/functions.php:994
9908
  #: includes/functions.php:1017 includes/functions.php:1037
9909
+ #: includes/functions.php:1038 includes/functions.php:1046
9910
  msgid "Error interacting with database"
9911
  msgstr ""
9912
 
9913
+ #: includes/functions.php:1135 includes/functions.php:907
9914
  #: includes/functions.php:1064 includes/functions.php:1067
9915
  #: includes/functions.php:1077 includes/functions.php:1096
9916
  #: includes/functions.php:1123 includes/functions.php:1127
9917
  #: includes/functions.php:1129 includes/functions.php:1138
9918
+ #: includes/functions.php:1140
9919
  #, php-format
9920
  msgid "Error interacting with database: %s"
9921
  msgstr ""
9922
 
9923
+ #: includes/functions.php:1213 includes/functions.php:1251
9924
  #: includes/functions.php:629 includes/functions.php:651
9925
  #: includes/functions.php:667 includes/functions.php:668
9926
  #: includes/functions.php:678 includes/functions.php:681
9944
  #: includes/functions.php:1179 includes/functions.php:1193
9945
  #: includes/functions.php:1198 includes/functions.php:1202
9946
  #: includes/functions.php:1204 includes/functions.php:1212
9947
+ #: includes/functions.php:1213 includes/functions.php:1218
9948
+ #: includes/functions.php:1237 includes/functions.php:1241
9949
+ #: includes/functions.php:1243 includes/functions.php:1252
9950
+ #: includes/functions.php:1256
9951
  msgid "Membership level not found."
9952
  msgstr ""
9953
 
9954
+ #: includes/functions.php:1625 includes/functions.php:1100
9955
  #: includes/functions.php:1101 includes/functions.php:1118
9956
  #: includes/functions.php:1142 includes/functions.php:1143
9957
  #: includes/functions.php:1150 includes/functions.php:1157
9962
  #: includes/functions.php:1547 includes/functions.php:1586
9963
  #: includes/functions.php:1605 includes/functions.php:1609
9964
  #: includes/functions.php:1611 includes/functions.php:1620
9965
+ #: includes/functions.php:1630
9966
  msgid "No code was given to check."
9967
  msgstr ""
9968
 
9969
+ #: includes/functions.php:1634 includes/functions.php:1050
9970
  #: includes/functions.php:1072 includes/functions.php:1088
9971
  #: includes/functions.php:1099 includes/functions.php:1102
9972
  #: includes/functions.php:1109 includes/functions.php:1110
9980
  #: includes/functions.php:1542 includes/functions.php:1556
9981
  #: includes/functions.php:1595 includes/functions.php:1614
9982
  #: includes/functions.php:1618 includes/functions.php:1620
9983
+ #: includes/functions.php:1629 includes/functions.php:1639
9984
  msgid "The discount code could not be found."
9985
  msgstr ""
9986
 
9987
+ #: includes/functions.php:1649 includes/functions.php:1066
9988
  #: includes/functions.php:1088 includes/functions.php:1104
9989
  #: includes/functions.php:1115 includes/functions.php:1118
9990
  #: includes/functions.php:1124 includes/functions.php:1125
9998
  #: includes/functions.php:1557 includes/functions.php:1571
9999
  #: includes/functions.php:1610 includes/functions.php:1629
10000
  #: includes/functions.php:1633 includes/functions.php:1635
10001
+ #: includes/functions.php:1644 includes/functions.php:1654
10002
  #, php-format
10003
  msgid "This discount code goes into effect on %s."
10004
  msgstr ""
10005
 
10006
+ #: includes/functions.php:1656 includes/functions.php:1075
10007
  #: includes/functions.php:1097 includes/functions.php:1113
10008
  #: includes/functions.php:1124 includes/functions.php:1127
10009
  #: includes/functions.php:1131 includes/functions.php:1132
10017
  #: includes/functions.php:1564 includes/functions.php:1578
10018
  #: includes/functions.php:1617 includes/functions.php:1636
10019
  #: includes/functions.php:1640 includes/functions.php:1642
10020
+ #: includes/functions.php:1651 includes/functions.php:1661
10021
  #, php-format
10022
  msgid "This discount code expired on %s."
10023
  msgstr ""
10024
 
10025
+ #: includes/functions.php:1665 includes/functions.php:1087
10026
  #: includes/functions.php:1109 includes/functions.php:1125
10027
  #: includes/functions.php:1136 includes/functions.php:1139
10028
  #: includes/functions.php:1141 includes/functions.php:1142
10036
  #: includes/functions.php:1573 includes/functions.php:1587
10037
  #: includes/functions.php:1626 includes/functions.php:1646
10038
  #: includes/functions.php:1650 includes/functions.php:1652
10039
+ #: includes/functions.php:1661 includes/functions.php:1670
10040
  msgid "This discount code is no longer valid."
10041
  msgstr ""
10042
 
10043
+ #: includes/functions.php:1684 includes/functions.php:1102
10044
  #: includes/functions.php:1124 includes/functions.php:1140
10045
  #: includes/functions.php:1151 includes/functions.php:1154
10046
  #: includes/functions.php:1155 includes/functions.php:1164
10054
  #: includes/functions.php:1606 includes/functions.php:1645
10055
  #: includes/functions.php:1666 includes/functions.php:1670
10056
  #: includes/functions.php:1672 includes/functions.php:1681
10057
+ #: includes/functions.php:1689
10058
  msgid "This discount code does not apply to this membership level."
10059
  msgstr ""
10060
 
10061
+ #: includes/functions.php:1722 includes/functions.php:1110
10062
  #: includes/functions.php:1132 includes/functions.php:1148
10063
  #: includes/functions.php:1159 includes/functions.php:1162
10064
  #: includes/functions.php:1172 includes/functions.php:1180
10072
  #: includes/functions.php:1630 includes/functions.php:1644
10073
  #: includes/functions.php:1683 includes/functions.php:1703
10074
  #: includes/functions.php:1707 includes/functions.php:1709
10075
+ #: includes/functions.php:1718 includes/functions.php:1727
10076
  msgid "This discount code is okay."
10077
  msgstr ""
10078
 
10079
+ #: includes/functions.php:1750 includes/functions.php:1134
10080
  #: includes/functions.php:1156 includes/functions.php:1172
10081
  #: includes/functions.php:1183 includes/functions.php:1186
10082
  #: includes/functions.php:1196 includes/functions.php:1205
10090
  #: includes/functions.php:1658 includes/functions.php:1672
10091
  #: includes/functions.php:1711 includes/functions.php:1730
10092
  #: includes/functions.php:1734 includes/functions.php:1736
10093
+ #: includes/functions.php:1745 includes/functions.php:1755
10094
  msgid "and"
10095
  msgstr ""
10096
 
10097
+ #: includes/functions.php:2199 includes/functions.php:1319
10098
  #: includes/functions.php:1341 includes/functions.php:1361
10099
  #: includes/functions.php:1372 includes/functions.php:1375
10100
  #: includes/functions.php:1385 includes/functions.php:1394
10111
  #: includes/functions.php:2030 includes/functions.php:2033
10112
  #: includes/functions.php:2034 includes/functions.php:2061
10113
  #: includes/functions.php:2100 includes/functions.php:2102
10114
+ #: includes/functions.php:2155
10115
  msgid "Sign Up for !!name!! Now"
10116
  msgstr ""
10117
 
10118
+ #: includes/functions.php:2223 includes/functions.php:2021
10119
  #: includes/functions.php:2054 includes/functions.php:2085
10120
  #: includes/functions.php:2124 includes/functions.php:2126
10121
+ #: includes/functions.php:2179
10122
  msgid "Sign Up Now"
10123
  msgstr ""
10124
 
10125
+ #: includes/init.php:176 includes/profile.php:31 pages/checkout.php:47
10126
  #: pages/confirmation.php:53 pages/confirmation.php:126 pages/invoice.php:26
10127
  #: adminpages/orders.php:601 adminpages/orders.php:904
10128
  #: adminpages/orders.php:914 adminpages/orders.php:941
10143
  #: pages/confirmation.php:70 pages/confirmation.php:91
10144
  #: pages/confirmation.php:103 pages/confirmation.php:105
10145
  #: pages/confirmation.php:113 pages/confirmation.php:116
10146
+ #: pages/confirmation.php:123 pages/confirmation.php:124
10147
+ #: pages/confirmation.php:126 pages/invoice.php:26 pages/invoice.php:27
10148
+ #: pages/invoice.php:28 pages/invoice.php:49 pages/invoice.php:51
10149
+ #: pages/invoice.php:70
10150
  msgid "Membership Level"
10151
  msgstr ""
10152
 
10218
  msgid "Years"
10219
  msgstr ""
10220
 
10221
+ #: includes/login.php:211 includes/login.php:235
10222
+ msgid "Welcome"
10223
+ msgstr ""
10224
+
10225
+ #: includes/login.php:213 includes/login.php:237
10226
+ msgid "Lost Password"
10227
+ msgstr ""
10228
+
10229
+ #: includes/login.php:215 includes/login.php:239
10230
+ msgid "Reset Password"
10231
+ msgstr ""
10232
+
10233
+ #: includes/login.php:263 includes/login.php:751
10234
+ msgid "There was a problem with your username or password."
10235
+ msgstr ""
10236
+
10237
+ #: includes/login.php:267
10238
+ msgid "Unknown username. Check again or try your email address."
10239
+ msgstr ""
10240
+
10241
+ #: includes/login.php:271
10242
+ msgid "Empty username. Please enter your username and try again."
10243
+ msgstr ""
10244
+
10245
+ #: includes/login.php:275
10246
+ msgid "Empty password. Please enter your password and try again."
10247
+ msgstr ""
10248
+
10249
+ #: includes/login.php:279
10250
+ msgid "The password you entered for the user is incorrect. Please try again."
10251
+ msgstr ""
10252
+
10253
+ #: includes/login.php:283
10254
+ msgid "Check your email for the confirmation link."
10255
+ msgstr ""
10256
+
10257
+ #: includes/login.php:292
10258
+ msgid "You are now logged out."
10259
+ msgstr ""
10260
+
10261
+ #: includes/login.php:296
10262
+ msgid "There was a problem logging you out."
10263
+ msgstr ""
10264
+
10265
+ #: includes/login.php:307
10266
+ msgid "Check your email for a link to reset your password."
10267
+ msgstr ""
10268
+
10269
+ #: includes/login.php:310
10270
+ msgid "There was an unexpected error regarding your email. Please try again"
10271
+ msgstr ""
10272
+
10273
+ #: includes/login.php:320
10274
+ msgid "Your reset password key is invalid."
10275
+ msgstr ""
10276
+
10277
+ #: includes/login.php:324
10278
+ msgid ""
10279
+ "Your reset password key is expired, please request a new key from the "
10280
+ "password reset page."
10281
+ msgstr ""
10282
+
10283
+ #: includes/login.php:336
10284
+ msgid "Your password has successfully been updated."
10285
+ msgstr ""
10286
+
10287
+ #: includes/login.php:340
10288
+ msgid "There was a problem updating your password"
10289
+ msgstr ""
10290
+
10291
+ #: includes/login.php:349
10292
+ msgid "There is no account with that username or email address."
10293
+ msgstr ""
10294
+
10295
+ #: includes/login.php:353
10296
+ msgid "Please enter a valid username."
10297
+ msgstr ""
10298
+
10299
+ #: includes/login.php:357
10300
+ msgid "You've entered an invalid email address."
10301
+ msgstr ""
10302
+
10303
+ #: includes/login.php:361 includes/profile.php:624
10304
+ msgid "New passwords do not match."
10305
+ msgstr ""
10306
+
10307
+ #: includes/login.php:365 includes/profile.php:620
10308
+ msgid "Please complete all fields."
10309
+ msgstr ""
10310
+
10311
+ #: includes/login.php:587 includes/profile.php:675 includes/scripts.php:72
10312
+ msgid "Strength Indicator"
10313
+ msgstr ""
10314
+
10315
+ #: includes/login.php:886
10316
+ msgid "Missing request ID."
10317
+ msgstr ""
10318
+
10319
+ #: includes/login.php:890
10320
+ msgid "Missing confirm key."
10321
+ msgstr ""
10322
+
10323
+ #: includes/menus.php:76 includes/menus.php:79 includes/menus.php:169
10324
+ msgid "Log Out"
10325
+ msgstr ""
10326
+
10327
+ #: includes/menus.php:105
10328
+ msgid "Paid Memberships Pro Page"
10329
+ msgstr ""
10330
+
10331
+ #: includes/menus.php:162 includes/menus.php:171
10332
+ msgid "Page"
10333
+ msgstr ""
10334
+
10335
+ #: includes/menus.php:231
10336
+ msgid "Log In Widget - PMPro"
10337
+ msgstr ""
10338
+
10339
  #: includes/metaboxes.php:40 includes/metaboxes.php:38
10340
  #: includes/metaboxes.php:39 includes/metaboxes.php:40
10341
  msgid ""
10435
  msgid "Paid Memberships Pro User Data"
10436
  msgstr ""
10437
 
 
 
 
 
 
10438
  #: includes/privacy.php:182 includes/privacy.php:182
10439
  msgid "Level ID"
10440
  msgstr ""
10532
  msgid "That post has since been updated."
10533
  msgstr ""
10534
 
10535
+ #: includes/profile.php:40 includes/profile.php:34 includes/profile.php:36
10536
  #: includes/profile.php:39 includes/profile.php:45
10537
  msgid "Current Level"
10538
  msgstr ""
10539
 
10540
+ #: includes/profile.php:67 shortcodes/pmpro_account.php:224
10541
  #: includes/profile.php:72 shortcodes/pmpro_account.php:148
10542
  msgid "Paid"
10543
  msgstr ""
10544
 
10545
+ #: includes/profile.php:69 includes/profile.php:221 includes/profile.php:268
10546
  #: includes/profile.php:54 includes/profile.php:60 includes/profile.php:65
10547
  #: includes/profile.php:68 includes/profile.php:74 includes/profile.php:195
10548
  #: includes/profile.php:221 includes/profile.php:226 includes/profile.php:242
10550
  msgid "Not paying."
10551
  msgstr ""
10552
 
10553
+ #: includes/profile.php:77 includes/profile.php:64 includes/profile.php:68
10554
  #: includes/profile.php:73 includes/profile.php:76 includes/profile.php:82
10555
  msgid ""
10556
  "This will not change the subscription at the gateway unless the 'Cancel' "
10557
  "checkbox is selected below."
10558
  msgstr ""
10559
 
10560
+ #: includes/profile.php:151 includes/profile.php:156
10561
  msgid "Send the user an email about this change."
10562
  msgstr ""
10563
 
10564
+ #: includes/profile.php:157 includes/profile.php:162
10565
  msgid "Cancel this user's subscription at the gateway."
10566
  msgstr ""
10567
 
10568
+ #: includes/profile.php:171 includes/profile.php:176
10569
  msgid "TOS Consent History"
10570
  msgstr ""
10571
 
10572
+ #: includes/profile.php:473
10573
+ msgid "Please enter a display name."
10574
+ msgstr ""
10575
+
10576
+ #: includes/profile.php:483
10577
+ msgid "Please enter an email address."
10578
+ msgstr ""
10579
+
10580
+ #: includes/profile.php:485
10581
+ msgid "The email address isn&#8217;t correct."
10582
+ msgstr ""
10583
+
10584
+ #: includes/profile.php:489
10585
+ msgid "This email is already registered, please choose another one."
10586
+ msgstr ""
10587
+
10588
+ #: includes/profile.php:507
10589
+ msgid "Your profile has been updated."
10590
+ msgstr ""
10591
+
10592
+ #: includes/profile.php:523 pages/billing.php:130 pages/checkout.php:230
10593
+ #: pages/billing.php:65 pages/billing.php:69 pages/billing.php:78
10594
+ #: pages/billing.php:81 pages/billing.php:83 pages/billing.php:84
10595
+ #: pages/billing.php:87 pages/billing.php:104 pages/billing.php:107
10596
+ #: pages/billing.php:108 pages/billing.php:110 pages/billing.php:112
10597
+ #: pages/billing.php:113 pages/billing.php:121 pages/checkout.php:230
10598
+ #: pages/checkout.php:279 pages/checkout.php:287 pages/checkout.php:305
10599
+ #: pages/checkout.php:307 pages/checkout.php:309 pages/checkout.php:318
10600
+ #: pages/checkout.php:321 pages/checkout.php:324 pages/checkout.php:326
10601
+ #: pages/checkout.php:328 pages/checkout.php:333 pages/checkout.php:336
10602
+ msgid "First Name"
10603
+ msgstr ""
10604
+
10605
+ #: includes/profile.php:528 pages/billing.php:134 pages/checkout.php:234
10606
+ #: pages/billing.php:69 pages/billing.php:73 pages/billing.php:82
10607
+ #: pages/billing.php:85 pages/billing.php:87 pages/billing.php:88
10608
+ #: pages/billing.php:91 pages/billing.php:108 pages/billing.php:111
10609
+ #: pages/billing.php:112 pages/billing.php:114 pages/billing.php:116
10610
+ #: pages/billing.php:117 pages/billing.php:125 pages/checkout.php:234
10611
+ #: pages/checkout.php:283 pages/checkout.php:291 pages/checkout.php:309
10612
+ #: pages/checkout.php:311 pages/checkout.php:313 pages/checkout.php:322
10613
+ #: pages/checkout.php:325 pages/checkout.php:328 pages/checkout.php:330
10614
+ #: pages/checkout.php:332 pages/checkout.php:337 pages/checkout.php:340
10615
+ msgid "Last Name"
10616
+ msgstr ""
10617
+
10618
+ #: includes/profile.php:533
10619
+ msgid "Display name publicly as"
10620
+ msgstr ""
10621
+
10622
+ #: includes/profile.php:535 includes/profile.php:546 includes/profile.php:669
10623
+ #: includes/profile.php:674 includes/profile.php:681
10624
+ msgid "Required Field"
10625
+ msgstr ""
10626
+
10627
+ #: includes/profile.php:566
10628
+ msgid "Update Profile"
10629
+ msgstr ""
10630
+
10631
+ #: includes/profile.php:622
10632
+ msgid "Please enter your current password."
10633
+ msgstr ""
10634
+
10635
+ #: includes/profile.php:626
10636
+ msgid "Your current password is incorrect."
10637
+ msgstr ""
10638
+
10639
+ #: includes/profile.php:637
10640
+ msgid "Your password has been updated."
10641
+ msgstr ""
10642
+
10643
+ #: includes/profile.php:653 pages/account.php:56 pages/account.php:60
10644
+ #: pages/account.php:81 shortcodes/pmpro_account.php:111
10645
+ #: shortcodes/pmpro_account.php:113 shortcodes/pmpro_account.php:114
10646
+ #: shortcodes/pmpro_account.php:116
10647
+ msgid "Change Password"
10648
+ msgstr ""
10649
+
10650
+ #: includes/profile.php:667
10651
+ msgid "Current Password"
10652
+ msgstr ""
10653
+
10654
+ #: includes/profile.php:672
10655
+ msgid "New Password"
10656
+ msgstr ""
10657
+
10658
+ #: includes/profile.php:679
10659
+ msgid "Confirm New Password"
10660
+ msgstr ""
10661
+
10662
  #: includes/updates.php:110 includes/updates.php:97 includes/updates.php:110
10663
  msgid "Paid Memberships Pro Data Update Required"
10664
  msgstr ""
10675
  msgid "All Paid Memberships Pro updates have finished."
10676
  msgstr ""
10677
 
10678
+ #: includes/updates/upgrade_1.php:10
 
 
 
 
10679
  #, php-format
10680
  msgid ""
10681
+ "This content is for !!levels!! members only.<br /><a href=\"%s\">Login</a> "
10682
+ "<a href=\"%s\">Join Now</a>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10683
  msgstr ""
10684
 
10685
  #: includes/updates/upgrade_1_9_4.php:26 includes/updates/upgrade_1_9_4.php:26
10697
  "the issues</a>."
10698
  msgstr ""
10699
 
10700
+ #: includes/widgets.php:17
10701
+ msgid "Display a login form and optional \"Logged In\" member content."
10702
+ msgstr ""
10703
+
10704
+ #: includes/widgets.php:124
10705
+ #, php-format
10706
+ msgid ""
10707
+ "Customize this menu per level using the <a href=\"%s\" title=\"Paid "
10708
+ "Memberships Pro - Nav Menus Add On\" target=\"_blank\">Nav Menus Add On</a>. "
10709
+ "Assign the menu under Appearance > Menus."
10710
+ msgstr ""
10711
+
10712
  #: pages/billing.php:33 pages/billing.php:14 pages/billing.php:23
10713
  #: pages/billing.php:25 pages/billing.php:26 pages/billing.php:27
10714
  #: pages/billing.php:28 pages/billing.php:31 pages/billing.php:32
10715
+ #: pages/billing.php:33 pages/billing.php:389
10716
  #, php-format
10717
  msgid "Logged in as <strong>%s</strong>."
10718
  msgstr ""
10720
  #: pages/billing.php:33 pages/billing.php:14 pages/billing.php:23
10721
  #: pages/billing.php:25 pages/billing.php:26 pages/billing.php:27
10722
  #: pages/billing.php:28 pages/billing.php:31 pages/billing.php:32
10723
+ #: pages/billing.php:33 pages/billing.php:389
10724
  msgid "logout"
10725
  msgstr ""
10726
 
10728
  #: pages/billing.php:27 pages/billing.php:29 pages/billing.php:30
10729
  #: pages/billing.php:32 pages/billing.php:43 pages/billing.php:46
10730
  #: pages/billing.php:47 pages/billing.php:51 pages/billing.php:52
10731
+ #: pages/billing.php:59
10732
  msgid "Membership Fee"
10733
  msgstr ""
10734
 
10736
  #: pages/billing.php:31 pages/billing.php:33 pages/billing.php:34
10737
  #: pages/billing.php:36 pages/billing.php:47 pages/billing.php:50
10738
  #: pages/billing.php:51 pages/billing.php:55 pages/billing.php:56
10739
+ #: pages/billing.php:63 pages/levels.php:70
10740
  #, php-format
10741
  msgid "%s every %d %s."
10742
  msgstr ""
10745
  #: pages/billing.php:33 pages/billing.php:35 pages/billing.php:36
10746
  #: pages/billing.php:38 pages/billing.php:49 pages/billing.php:52
10747
  #: pages/billing.php:53 pages/billing.php:57 pages/billing.php:58
10748
+ #: pages/billing.php:65 pages/levels.php:66
10749
  #, php-format
10750
  msgid "%s per %s."
10751
  msgstr ""
10754
  #: pages/billing.php:29 pages/billing.php:33 pages/billing.php:42
10755
  #: pages/billing.php:44 pages/billing.php:45 pages/billing.php:47
10756
  #: pages/billing.php:59 pages/billing.php:62 pages/billing.php:63
10757
+ #: pages/billing.php:67 pages/billing.php:68 pages/billing.php:76
10758
  msgid "Duration"
10759
  msgstr ""
10760
 
10761
+ #: pages/billing.php:97 pages/billing.php:103 pages/confirmation.php:133
10762
+ #: pages/invoice.php:135 pages/confirmation.php:111 pages/confirmation.php:113
10763
+ #: pages/confirmation.php:121 pages/confirmation.php:124
10764
+ #: pages/confirmation.php:131 pages/confirmation.php:132
10765
+ #: pages/confirmation.php:134 pages/invoice.php:121 pages/invoice.php:133
10766
+ #: pages/invoice.php:134 pages/invoice.php:135 pages/invoice.php:136
10767
+ #: pages/invoice.php:139 pages/invoice.php:141
10768
+ msgid "View Your Membership Account &rarr;"
10769
+ msgstr ""
10770
+
10771
+ #: pages/billing.php:100 pages/billing.php:39 pages/billing.php:43
10772
  #: pages/billing.php:52 pages/billing.php:54 pages/billing.php:55
10773
  #: pages/billing.php:57 pages/billing.php:77 pages/billing.php:80
10774
  #: pages/billing.php:81 pages/billing.php:85 pages/billing.php:86
10775
+ #: pages/billing.php:94
10776
  msgid ""
10777
  "Your payment subscription is managed by PayPal. Please <a href=\"http://www."
10778
  "paypal.com\">login to PayPal here</a> to update your billing information."
10779
  msgstr ""
10780
 
10781
+ #: pages/billing.php:126 pages/checkout.php:226 pages/confirmation.php:66
10782
  #: pages/invoice.php:48 adminpages/memberslist.php:117
10783
  #: adminpages/memberslist.php:150 adminpages/memberslist.php:160
10784
  #: adminpages/memberslist.php:170 adminpages/memberslist.php:174
10786
  #: pages/billing.php:62 pages/billing.php:71 pages/billing.php:74
10787
  #: pages/billing.php:76 pages/billing.php:77 pages/billing.php:80
10788
  #: pages/billing.php:100 pages/billing.php:103 pages/billing.php:104
10789
+ #: pages/billing.php:108 pages/billing.php:109 pages/billing.php:117
10790
+ #: pages/checkout.php:226 pages/checkout.php:275 pages/checkout.php:283
10791
+ #: pages/checkout.php:298 pages/checkout.php:300 pages/checkout.php:302
10792
+ #: pages/checkout.php:311 pages/checkout.php:314 pages/checkout.php:317
10793
+ #: pages/checkout.php:319 pages/checkout.php:321 pages/checkout.php:326
10794
+ #: pages/checkout.php:329 pages/confirmation.php:59 pages/confirmation.php:61
10795
  #: pages/confirmation.php:65 pages/confirmation.php:66
10796
  #: pages/confirmation.php:67 pages/confirmation.php:69 pages/invoice.php:46
10797
  #: pages/invoice.php:47 pages/invoice.php:48 pages/invoice.php:49
10798
  msgid "Billing Address"
10799
  msgstr ""
10800
 
10801
+ #: pages/billing.php:138 pages/checkout.php:238 pages/billing.php:73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10802
  #: pages/billing.php:77 pages/billing.php:86 pages/billing.php:89
10803
  #: pages/billing.php:91 pages/billing.php:92 pages/billing.php:95
10804
  #: pages/billing.php:112 pages/billing.php:115 pages/billing.php:116
10805
  #: pages/billing.php:118 pages/billing.php:120 pages/billing.php:121
10806
+ #: pages/billing.php:129 pages/checkout.php:238 pages/checkout.php:287
10807
+ #: pages/checkout.php:295 pages/checkout.php:313 pages/checkout.php:315
10808
+ #: pages/checkout.php:317 pages/checkout.php:326 pages/checkout.php:329
10809
+ #: pages/checkout.php:332 pages/checkout.php:334 pages/checkout.php:336
10810
+ #: pages/checkout.php:341 pages/checkout.php:344
10811
  msgid "Address 1"
10812
  msgstr ""
10813
 
10814
+ #: pages/billing.php:142 pages/checkout.php:242 pages/billing.php:77
10815
  #: pages/billing.php:81 pages/billing.php:90 pages/billing.php:93
10816
  #: pages/billing.php:95 pages/billing.php:96 pages/billing.php:99
10817
  #: pages/billing.php:116 pages/billing.php:119 pages/billing.php:120
10818
  #: pages/billing.php:122 pages/billing.php:124 pages/billing.php:125
10819
+ #: pages/billing.php:133 pages/checkout.php:242 pages/checkout.php:291
10820
+ #: pages/checkout.php:299 pages/checkout.php:317 pages/checkout.php:319
10821
+ #: pages/checkout.php:321 pages/checkout.php:330 pages/checkout.php:333
10822
+ #: pages/checkout.php:336 pages/checkout.php:338 pages/checkout.php:340
10823
+ #: pages/checkout.php:345 pages/checkout.php:348
10824
  msgid "Address 2"
10825
  msgstr ""
10826
 
10827
+ #: pages/billing.php:152 pages/checkout.php:249 pages/billing.php:87
10828
  #: pages/billing.php:91 pages/billing.php:100 pages/billing.php:103
10829
  #: pages/billing.php:105 pages/billing.php:106 pages/billing.php:109
10830
  #: pages/billing.php:126 pages/billing.php:129 pages/billing.php:130
10831
  #: pages/billing.php:132 pages/billing.php:134 pages/billing.php:135
10832
+ #: pages/billing.php:143 pages/checkout.php:249 pages/checkout.php:298
10833
+ #: pages/checkout.php:306 pages/checkout.php:327 pages/checkout.php:329
10834
+ #: pages/checkout.php:331 pages/checkout.php:340 pages/checkout.php:343
10835
+ #: pages/checkout.php:346 pages/checkout.php:348 pages/checkout.php:350
10836
+ #: pages/checkout.php:355 pages/checkout.php:358
10837
  msgid "City"
10838
  msgstr ""
10839
 
10840
+ #: pages/billing.php:156 pages/checkout.php:253 pages/billing.php:91
10841
  #: pages/billing.php:95 pages/billing.php:104 pages/billing.php:107
10842
  #: pages/billing.php:109 pages/billing.php:110 pages/billing.php:113
10843
  #: pages/billing.php:130 pages/billing.php:133 pages/billing.php:134
10844
  #: pages/billing.php:136 pages/billing.php:138 pages/billing.php:139
10845
+ #: pages/billing.php:147 pages/checkout.php:253 pages/checkout.php:302
10846
+ #: pages/checkout.php:310 pages/checkout.php:331 pages/checkout.php:333
10847
+ #: pages/checkout.php:335 pages/checkout.php:344 pages/checkout.php:347
10848
+ #: pages/checkout.php:350 pages/checkout.php:352 pages/checkout.php:354
10849
+ #: pages/checkout.php:359 pages/checkout.php:362
10850
  msgid "State"
10851
  msgstr ""
10852
 
10853
+ #: pages/billing.php:160 pages/checkout.php:257 pages/billing.php:95
10854
  #: pages/billing.php:99 pages/billing.php:108 pages/billing.php:111
10855
  #: pages/billing.php:113 pages/billing.php:114 pages/billing.php:117
10856
  #: pages/billing.php:134 pages/billing.php:137 pages/billing.php:138
10857
  #: pages/billing.php:140 pages/billing.php:142 pages/billing.php:143
10858
+ #: pages/billing.php:151 pages/checkout.php:257 pages/checkout.php:306
10859
+ #: pages/checkout.php:314 pages/checkout.php:335 pages/checkout.php:337
10860
+ #: pages/checkout.php:339 pages/checkout.php:348 pages/checkout.php:351
10861
+ #: pages/checkout.php:354 pages/checkout.php:356 pages/checkout.php:358
10862
+ #: pages/checkout.php:363 pages/checkout.php:366
10863
  msgid "Postal Code"
10864
  msgstr ""
10865
 
10866
+ #: pages/billing.php:169 pages/checkout.php:262 pages/billing.php:104
10867
  #: pages/billing.php:108 pages/billing.php:117 pages/billing.php:120
10868
  #: pages/billing.php:122 pages/billing.php:123 pages/billing.php:126
10869
  #: pages/billing.php:143 pages/billing.php:146 pages/billing.php:147
10870
  #: pages/billing.php:149 pages/billing.php:151 pages/billing.php:152
10871
+ #: pages/billing.php:160 pages/checkout.php:262 pages/checkout.php:311
10872
+ #: pages/checkout.php:319 pages/checkout.php:344 pages/checkout.php:346
10873
+ #: pages/checkout.php:348 pages/checkout.php:357 pages/checkout.php:360
10874
+ #: pages/checkout.php:363 pages/checkout.php:365 pages/checkout.php:367
10875
+ #: pages/checkout.php:372 pages/checkout.php:375
10876
  msgid "City, State Zip"
10877
  msgstr ""
10878
 
10879
+ #: pages/billing.php:222 pages/checkout.php:299 pages/billing.php:157
10880
  #: pages/billing.php:161 pages/billing.php:170 pages/billing.php:173
10881
  #: pages/billing.php:175 pages/billing.php:176 pages/billing.php:179
10882
  #: pages/billing.php:196 pages/billing.php:199 pages/billing.php:200
10883
  #: pages/billing.php:202 pages/billing.php:204 pages/billing.php:205
10884
+ #: pages/billing.php:213 pages/checkout.php:299 pages/checkout.php:348
10885
+ #: pages/checkout.php:356 pages/checkout.php:397 pages/checkout.php:399
10886
+ #: pages/checkout.php:401 pages/checkout.php:410 pages/checkout.php:413
10887
+ #: pages/checkout.php:416 pages/checkout.php:418 pages/checkout.php:420
10888
+ #: pages/checkout.php:425 pages/checkout.php:428
10889
  msgid "Country"
10890
  msgstr ""
10891
 
10892
+ #: pages/billing.php:247 pages/checkout.php:315 pages/billing.php:182
10893
  #: pages/billing.php:186 pages/billing.php:195 pages/billing.php:198
10894
  #: pages/billing.php:200 pages/billing.php:201 pages/billing.php:204
10895
  #: pages/billing.php:221 pages/billing.php:224 pages/billing.php:225
10896
  #: pages/billing.php:227 pages/billing.php:229 pages/billing.php:230
10897
+ #: pages/billing.php:238 pages/checkout.php:315 pages/checkout.php:364
10898
+ #: pages/checkout.php:372 pages/checkout.php:422 pages/checkout.php:424
10899
+ #: pages/checkout.php:426 pages/checkout.php:435 pages/checkout.php:438
10900
+ #: pages/checkout.php:441 pages/checkout.php:443 pages/checkout.php:445
10901
+ #: pages/checkout.php:450 pages/checkout.php:453
10902
  msgid "Phone"
10903
  msgstr ""
10904
 
10905
+ #: pages/billing.php:258 pages/checkout.php:148 pages/checkout.php:330
10906
  #: pages/billing.php:193 pages/billing.php:197 pages/billing.php:206
10907
  #: pages/billing.php:209 pages/billing.php:211 pages/billing.php:212
10908
  #: pages/billing.php:215 pages/billing.php:232 pages/billing.php:235
10909
  #: pages/billing.php:236 pages/billing.php:238 pages/billing.php:240
10910
+ #: pages/billing.php:241 pages/billing.php:249 pages/checkout.php:148
10911
+ #: pages/checkout.php:197 pages/checkout.php:204 pages/checkout.php:205
10912
+ #: pages/checkout.php:207 pages/checkout.php:209 pages/checkout.php:216
10913
+ #: pages/checkout.php:218 pages/checkout.php:220 pages/checkout.php:227
10914
+ #: pages/checkout.php:230 pages/checkout.php:330 pages/checkout.php:379
10915
+ #: pages/checkout.php:387 pages/checkout.php:436 pages/checkout.php:438
10916
+ #: pages/checkout.php:440 pages/checkout.php:449 pages/checkout.php:453
10917
+ #: pages/checkout.php:455 pages/checkout.php:457 pages/checkout.php:460
10918
+ #: pages/checkout.php:464 pages/checkout.php:467
10919
+ msgid "Email Address"
10920
+ msgstr ""
10921
+
10922
+ #: pages/billing.php:262 pages/checkout.php:337 pages/billing.php:197
10923
  #: pages/billing.php:201 pages/billing.php:210 pages/billing.php:213
10924
  #: pages/billing.php:215 pages/billing.php:216 pages/billing.php:219
10925
  #: pages/billing.php:236 pages/billing.php:239 pages/billing.php:240
10926
  #: pages/billing.php:242 pages/billing.php:244 pages/billing.php:245
10927
+ #: pages/billing.php:253 pages/checkout.php:337 pages/checkout.php:386
10928
+ #: pages/checkout.php:394 pages/checkout.php:445 pages/checkout.php:447
10929
+ #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
10930
+ #: pages/checkout.php:464 pages/checkout.php:466 pages/checkout.php:469
10931
+ #: pages/checkout.php:473 pages/checkout.php:476
10932
+ msgid "Confirm Email"
10933
  msgstr ""
10934
 
10935
+ #: pages/billing.php:285 pages/billing.php:217 pages/billing.php:221
10936
  #: pages/billing.php:230 pages/billing.php:231 pages/billing.php:234
10937
  #: pages/billing.php:238 pages/billing.php:244 pages/billing.php:247
10938
  #: pages/billing.php:259 pages/billing.php:262 pages/billing.php:263
10939
  #: pages/billing.php:267 pages/billing.php:268 pages/billing.php:270
10940
+ #: pages/billing.php:276
10941
  msgid "Credit Card Information"
10942
  msgstr ""
10943
 
10944
+ #: pages/billing.php:286 pages/billing.php:217 pages/billing.php:221
10945
  #: pages/billing.php:230 pages/billing.php:232 pages/billing.php:235
10946
  #: pages/billing.php:239 pages/billing.php:245 pages/billing.php:248
10947
  #: pages/billing.php:260 pages/billing.php:263 pages/billing.php:264
10948
  #: pages/billing.php:268 pages/billing.php:269 pages/billing.php:271
10949
+ #: pages/billing.php:277
10950
  #, php-format
10951
  msgid "We accept %s"
10952
  msgstr ""
10953
 
10954
+ #: pages/billing.php:422 shortcodes/pmpro_account.php:68 pages/billing.php:410
10955
+ #: pages/billing.php:412 pages/billing.php:418
10956
  #, php-format
10957
+ msgid "Your membership is not active. <a href='%s'>Renew now.</a>"
 
 
10958
  msgstr ""
10959
 
10960
+ #: pages/billing.php:425 shortcodes/pmpro_account.php:71 pages/billing.php:407
10961
+ #: pages/billing.php:409 pages/billing.php:415
10962
  #, php-format
10963
  msgid "You do not have an active membership. <a href='%s'>Register here.</a>"
10964
  msgstr ""
10965
 
10966
+ #: pages/billing.php:428 shortcodes/pmpro_account.php:74 pages/billing.php:404
10967
+ #: pages/billing.php:406 pages/billing.php:412
10968
  #, php-format
10969
+ msgid ""
10970
+ "You do not have an active membership. <a href='%s'>Choose a membership level."
10971
+ "</a>"
10972
  msgstr ""
10973
 
10974
+ #: pages/billing.php:431 pages/billing.php:309 pages/billing.php:313
10975
  #: pages/billing.php:344 pages/billing.php:353 pages/billing.php:356
10976
  #: pages/billing.php:360 pages/billing.php:364 pages/billing.php:378
10977
  #: pages/billing.php:380 pages/billing.php:381 pages/billing.php:385
10978
  #: pages/billing.php:387 pages/billing.php:408 pages/billing.php:413
10979
+ #: pages/billing.php:415 pages/billing.php:417 pages/billing.php:421
10980
+ #: pages/billing.php:422
10981
  msgid ""
10982
  "This subscription is not recurring. So you don't need to update your billing "
10983
  "information."
11002
  msgid "No, keep this membership"
11003
  msgstr ""
11004
 
11005
+ #: pages/cancel.php:56 shortcodes/pmpro_account.php:38 pages/account.php:14
11006
  #: pages/cancel.php:48 pages/cancel.php:56 pages/cancel.php:57
11007
  #: shortcodes/pmpro_account.php:39 shortcodes/pmpro_account.php:40
11008
  msgid "My Memberships"
11098
  #: pages/checkout.php:213 pages/checkout.php:216 pages/checkout.php:218
11099
  #: pages/checkout.php:225 pages/checkout.php:227 pages/checkout.php:229
11100
  #: pages/checkout.php:236 pages/checkout.php:239
11101
+ msgid "Confirm Email Address"
11102
  msgstr ""
11103
 
11104
  #: pages/checkout.php:169 pages/checkout.php:169 pages/checkout.php:218
11211
  #: pages/confirmation.php:51 pages/confirmation.php:52
11212
  #: pages/confirmation.php:102 pages/confirmation.php:104
11213
  #: pages/confirmation.php:112 pages/confirmation.php:115
11214
+ #: pages/confirmation.php:122 pages/confirmation.php:123
11215
+ #: pages/confirmation.php:125 pages/invoice.php:25 pages/invoice.php:26
11216
+ #: pages/invoice.php:27
11217
  msgid "Account"
11218
  msgstr ""
11219
 
11234
  msgstr ""
11235
 
11236
  #: pages/confirmation.php:81 pages/invoice.php:63 pages/confirmation.php:79
11237
+ #: pages/confirmation.php:80 pages/confirmation.php:81
11238
+ #: pages/confirmation.php:82 pages/confirmation.php:83
11239
+ #: pages/confirmation.php:88 pages/invoice.php:61 pages/invoice.php:62
11240
+ #: pages/invoice.php:63 pages/invoice.php:67 pages/invoice.php:69
11241
  msgid "ending in"
11242
  msgstr ""
11243
 
11244
  #: pages/confirmation.php:90 pages/invoice.php:72 pages/invoice.php:105
11245
  #: pages/confirmation.php:61 pages/confirmation.php:63
11246
  #: pages/confirmation.php:65 pages/confirmation.php:71
11247
+ #: pages/confirmation.php:87 pages/confirmation.php:88
11248
+ #: pages/confirmation.php:90 pages/invoice.php:50 pages/invoice.php:52
11249
+ #: pages/invoice.php:69 pages/invoice.php:70 pages/invoice.php:71
11250
+ #: pages/invoice.php:72 pages/invoice.php:90 pages/invoice.php:102
11251
+ #: pages/invoice.php:103 pages/invoice.php:104 pages/invoice.php:105
11252
+ #: pages/invoice.php:107 pages/invoice.php:109 pages/invoice.php:110
11253
  msgid "Total Billed"
11254
  msgstr ""
11255
 
11256
  #: pages/confirmation.php:96 pages/invoice.php:78 pages/confirmation.php:93
11257
+ #: pages/confirmation.php:94 pages/confirmation.php:96 pages/invoice.php:75
11258
+ #: pages/invoice.php:76 pages/invoice.php:77 pages/invoice.php:78
11259
+ #: pages/invoice.php:80 pages/invoice.php:82
11260
  msgid "Coupon"
11261
  msgstr ""
11262
 
11263
  #: pages/confirmation.php:113 pages/confirmation.php:97
11264
  #: pages/confirmation.php:100 pages/confirmation.php:103
11265
  #: pages/confirmation.php:110 pages/confirmation.php:111
11266
+ #: pages/confirmation.php:113
11267
  #, php-format
11268
  msgid ""
11269
  "Below are details about your membership account. A welcome email has been "
11270
  "sent to %s."
11271
  msgstr ""
11272
 
11273
+ #: pages/confirmation.php:126 shortcodes/pmpro_account.php:227
11274
  #: pages/confirmation.php:103 pages/confirmation.php:105
11275
  #: pages/confirmation.php:113 pages/confirmation.php:116
11276
  #: pages/confirmation.php:123 pages/confirmation.php:124
11277
+ #: pages/confirmation.php:126 shortcodes/pmpro_account.php:151
11278
  msgid "Pending"
11279
  msgstr ""
11280
 
11281
+ #: pages/confirmation.php:135 pages/confirmation.php:113
 
 
 
 
 
 
 
 
 
11282
  #: pages/confirmation.php:115 pages/confirmation.php:123
11283
  #: pages/confirmation.php:126 pages/confirmation.php:133
11284
+ #: pages/confirmation.php:134 pages/confirmation.php:136
11285
  msgid ""
11286
  "If your account is not activated within a few minutes, please contact the "
11287
  "site owner."
11292
  msgstr ""
11293
 
11294
  #: pages/invoice.php:103 pages/invoice.php:88 pages/invoice.php:100
11295
+ #: pages/invoice.php:101 pages/invoice.php:102 pages/invoice.php:103
11296
+ #: pages/invoice.php:106 pages/invoice.php:108
11297
  msgid "Invoice #"
11298
  msgstr ""
11299
 
11300
  #: pages/invoice.php:129 pages/invoice.php:114 pages/invoice.php:126
11301
+ #: pages/invoice.php:127 pages/invoice.php:128 pages/invoice.php:129
11302
+ #: pages/invoice.php:132 pages/invoice.php:134
11303
  msgid "No invoices found."
11304
  msgstr ""
11305
 
11306
+ #: pages/invoice.php:137 pages/invoice.php:125 pages/invoice.php:137
11307
+ #: pages/invoice.php:138 pages/invoice.php:139 pages/invoice.php:140
11308
+ #: pages/invoice.php:143 pages/invoice.php:145
11309
  msgid "&larr; View All Invoices"
11310
  msgstr ""
11311
 
11320
  msgid "Select"
11321
  msgstr ""
11322
 
11323
+ #: pages/levels.php:78 pages/account.php:33 pages/levels.php:57
11324
+ #: pages/levels.php:78 pages/levels.php:123 shortcodes/pmpro_account.php:59
11325
+ #: shortcodes/pmpro_account.php:60 shortcodes/pmpro_account.php:61
 
11326
  msgid "Renew"
11327
  msgstr ""
11328
 
11331
  msgid "Your&nbsp;Level"
11332
  msgstr ""
11333
 
11334
+ #: pages/levels.php:97 pages/levels.php:79 pages/levels.php:98
11335
  #: pages/levels.php:129 pages/levels.php:145
11336
  msgid "&larr; Return to Your Account"
11337
  msgstr ""
11338
 
11339
+ #: pages/levels.php:99 pages/levels.php:81 pages/levels.php:100
11340
  #: pages/levels.php:131 pages/levels.php:147
11341
  msgid "&larr; Return to Home"
11342
  msgstr ""
11343
 
11344
+ #: paid-memberships-pro.php:156 adminpages/orders.php:398
11345
  #: adminpages/orders.php:448 paid-memberships-pro.php:115
11346
  #: paid-memberships-pro.php:116 paid-memberships-pro.php:123
11347
  #: paid-memberships-pro.php:124 paid-memberships-pro.php:125
11353
  msgid "Testing Only"
11354
  msgstr ""
11355
 
11356
+ #: paid-memberships-pro.php:161 paid-memberships-pro.php:120
11357
  #: paid-memberships-pro.php:121 paid-memberships-pro.php:128
11358
  #: paid-memberships-pro.php:129 paid-memberships-pro.php:130
11359
  #: paid-memberships-pro.php:131 paid-memberships-pro.php:132
11364
  msgid "PayPal Payflow Pro/PayPal Pro"
11365
  msgstr ""
11366
 
11367
+ #: paid-memberships-pro.php:166 paid-memberships-pro.php:125
11368
  #: paid-memberships-pro.php:126 paid-memberships-pro.php:133
11369
  #: paid-memberships-pro.php:134 paid-memberships-pro.php:135
11370
  #: paid-memberships-pro.php:136 paid-memberships-pro.php:137
11375
  msgid "Cybersource"
11376
  msgstr ""
11377
 
11378
+ #: paid-memberships-pro.php:170 paid-memberships-pro.php:161
11379
  #: paid-memberships-pro.php:162
11380
  msgid "Default"
11381
  msgstr ""
11382
 
11383
+ #: paid-memberships-pro.php:192 paid-memberships-pro.php:156
11384
  #: paid-memberships-pro.php:157 paid-memberships-pro.php:158
11385
  #: paid-memberships-pro.php:159 paid-memberships-pro.php:160
11386
  #: paid-memberships-pro.php:161 paid-memberships-pro.php:166
11389
  msgid "Once a month"
11390
  msgstr ""
11391
 
11392
+ #: preheaders/account.php:31 preheaders/levels.php:22 preheaders/account.php:7
11393
  #: preheaders/account.php:9 preheaders/account.php:10 preheaders/levels.php:19
11394
  #: preheaders/levels.php:21 preheaders/levels.php:22
11395
  msgid "Your membership status has been updated - Thank you!"
11396
  msgstr ""
11397
 
11398
+ #: preheaders/account.php:33 preheaders/levels.php:24 preheaders/account.php:11
11399
  #: preheaders/account.php:12 preheaders/levels.php:23 preheaders/levels.php:24
11400
  msgid ""
11401
  "Sorry, your request could not be completed - please try again in a few "
11402
  "moments."
11403
  msgstr ""
11404
 
11405
+ #: preheaders/billing.php:158 preheaders/checkout.php:336
11406
  #: preheaders/billing.php:145 preheaders/billing.php:147
11407
+ #: preheaders/billing.php:151 preheaders/billing.php:153
11408
+ #: preheaders/billing.php:258 preheaders/billing.php:265
11409
+ #: preheaders/billing.php:266 preheaders/billing.php:270
11410
+ #: preheaders/billing.php:273 preheaders/billing.php:279
11411
+ #: preheaders/checkout.php:322 preheaders/checkout.php:332
11412
+ #: preheaders/checkout.php:336 preheaders/checkout.php:364
11413
+ #: preheaders/checkout.php:458 preheaders/checkout.php:464
11414
+ #: preheaders/checkout.php:465 preheaders/checkout.php:470
11415
+ #: preheaders/checkout.php:481 preheaders/checkout.php:482
11416
  msgid "Please complete all required fields."
11417
  msgstr ""
11418
 
11419
+ #: preheaders/billing.php:161 preheaders/checkout.php:344
11420
  #: preheaders/billing.php:148 preheaders/billing.php:150
11421
+ #: preheaders/billing.php:154 preheaders/billing.php:156
11422
+ #: preheaders/billing.php:263 preheaders/billing.php:268
11423
+ #: preheaders/billing.php:269 preheaders/billing.php:273
11424
+ #: preheaders/billing.php:276 preheaders/billing.php:284
11425
+ #: preheaders/checkout.php:330 preheaders/checkout.php:340
11426
+ #: preheaders/checkout.php:344 preheaders/checkout.php:372
11427
+ #: preheaders/checkout.php:466 preheaders/checkout.php:473
11428
+ #: preheaders/checkout.php:474 preheaders/checkout.php:478
11429
+ #: preheaders/checkout.php:491 preheaders/checkout.php:492
11430
  msgid "Your email addresses do not match. Please try again."
11431
  msgstr ""
11432
 
11433
+ #: preheaders/billing.php:164 preheaders/checkout.php:349
11434
  #: preheaders/billing.php:151 preheaders/billing.php:153
11435
+ #: preheaders/billing.php:157 preheaders/billing.php:159
11436
+ #: preheaders/billing.php:268 preheaders/billing.php:271
11437
+ #: preheaders/billing.php:272 preheaders/billing.php:276
11438
+ #: preheaders/billing.php:279 preheaders/billing.php:289
11439
+ #: preheaders/checkout.php:335 preheaders/checkout.php:345
11440
+ #: preheaders/checkout.php:349 preheaders/checkout.php:377
11441
+ #: preheaders/checkout.php:471 preheaders/checkout.php:478
11442
+ #: preheaders/checkout.php:480 preheaders/checkout.php:483
11443
+ #: preheaders/checkout.php:497 preheaders/checkout.php:498
11444
  msgid "The email address entered is in an invalid format. Please try again."
11445
  msgstr ""
11446
 
11447
+ #: preheaders/billing.php:168 preheaders/billing.php:155
11448
  #: preheaders/billing.php:157 preheaders/billing.php:161
11449
+ #: preheaders/billing.php:163 preheaders/billing.php:274
11450
+ #: preheaders/billing.php:275 preheaders/billing.php:276
11451
+ #: preheaders/billing.php:280 preheaders/billing.php:283
11452
+ #: preheaders/billing.php:295
11453
  msgid "All good!"
11454
  msgstr ""
11455
 
11456
+ #: preheaders/billing.php:235 preheaders/billing.php:222
11457
  #: preheaders/billing.php:224 preheaders/billing.php:228
11458
+ #: preheaders/billing.php:230 preheaders/billing.php:340
11459
+ #: preheaders/billing.php:345 preheaders/billing.php:346
11460
+ #: preheaders/billing.php:350 preheaders/billing.php:353
11461
+ #: preheaders/billing.php:370
11462
  #, php-format
11463
  msgid "Information updated. <a href=\"%s\">&laquo; back to my account</a>"
11464
  msgstr ""
11465
 
11466
+ #: preheaders/billing.php:241 preheaders/billing.php:228
11467
  #: preheaders/billing.php:230 preheaders/billing.php:234
11468
+ #: preheaders/billing.php:236 preheaders/billing.php:347
11469
+ #: preheaders/billing.php:351 preheaders/billing.php:352
11470
+ #: preheaders/billing.php:356 preheaders/billing.php:359
11471
+ #: preheaders/billing.php:378 preheaders/billing.php:380
11472
  msgid "Error updating billing information."
11473
  msgstr ""
11474
 
11475
+ #: preheaders/cancel.php:76 preheaders/cancel.php:24 preheaders/cancel.php:25
11476
  #: preheaders/cancel.php:28 preheaders/cancel.php:59 preheaders/cancel.php:60
11477
  msgid "Your membership has been cancelled."
11478
  msgstr ""
11720
  msgid "The <strong>%s</strong> code has been applied to your order."
11721
  msgstr ""
11722
 
11723
+ #: services/authnet-silent-post.php:167 services/authnet-silent-post.php:133
11724
  #: services/authnet-silent-post.php:138 services/authnet-silent-post.php:141
11725
  #: services/authnet-silent-post.php:144 services/authnet-silent-post.php:145
11726
  #: services/authnet-silent-post.php:149
11729
  "Information From Authorize.net"
11730
  msgstr ""
11731
 
11732
+ #: shortcodes/pmpro_account.php:43 pages/account.php:19
11733
  #: shortcodes/pmpro_account.php:44 shortcodes/pmpro_account.php:45
11734
  msgid "Billing"
11735
  msgstr ""
11736
 
11737
+ #: shortcodes/pmpro_account.php:144 pages/account.php:64
 
 
 
 
 
 
 
 
 
 
 
 
11738
  #: shortcodes/pmpro_account.php:90 shortcodes/pmpro_account.php:92
11739
  #: shortcodes/pmpro_account.php:93 shortcodes/pmpro_account.php:95
11740
  msgid "View all Membership Options"
11741
  msgstr ""
11742
 
11743
+ #: shortcodes/pmpro_account.php:153 pages/account.php:46 pages/account.php:50
11744
  #: pages/account.php:71 shortcodes/pmpro_account.php:99
11745
  #: shortcodes/pmpro_account.php:101 shortcodes/pmpro_account.php:102
11746
  #: shortcodes/pmpro_account.php:104
11747
  msgid "My Account"
11748
  msgstr ""
11749
 
11750
+ #: shortcodes/pmpro_account.php:199 pages/account.php:87 pages/account.php:125
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11751
  #: pages/account.php:129 shortcodes/pmpro_account.php:118
11752
  #: shortcodes/pmpro_account.php:120 shortcodes/pmpro_account.php:121
11753
  #: shortcodes/pmpro_account.php:123
11754
  msgid "Past Invoices"
11755
  msgstr ""
11756
 
11757
+ #: shortcodes/pmpro_account.php:205 pages/account.php:93
11758
  #: shortcodes/pmpro_account.php:124 shortcodes/pmpro_account.php:126
11759
  #: shortcodes/pmpro_account.php:127 shortcodes/pmpro_account.php:129
11760
  msgid "Amount"
11761
  msgstr ""
11762
 
11763
+ #: shortcodes/pmpro_account.php:229 shortcodes/pmpro_account.php:153
11764
  msgid "Refunded"
11765
  msgstr ""
11766
 
11767
+ #: shortcodes/pmpro_account.php:244 pages/account.php:121 pages/account.php:140
11768
  #: pages/account.php:144 shortcodes/pmpro_account.php:152
11769
  #: shortcodes/pmpro_account.php:154 shortcodes/pmpro_account.php:155
11770
  #: shortcodes/pmpro_account.php:157 shortcodes/pmpro_account.php:168
11771
  msgid "View All Invoices"
11772
  msgstr ""
11773
 
11774
+ #: shortcodes/pmpro_account.php:251 pages/account.php:128 pages/account.php:146
11775
  #: pages/account.php:150 shortcodes/pmpro_account.php:159
11776
  #: shortcodes/pmpro_account.php:161 shortcodes/pmpro_account.php:162
11777
  #: shortcodes/pmpro_account.php:164 shortcodes/pmpro_account.php:175
11796
  msgid "User Forum"
11797
  msgstr ""
11798
 
11799
+ #: adminpages/advancedsettings.php:66 adminpages/advancedsettings.php:68
11800
+ #: adminpages/advancedsettings.php:71 adminpages/advancedsettings.php:85
11801
+ #: adminpages/advancedsettings.php:87 adminpages/advancedsettings.php:89
11802
+ #, php-format
11803
+ msgid ""
11804
+ "This content is for !!levels!! members only. <a href=\"%s\">Register here</"
11805
+ "a>."
11806
+ msgstr ""
11807
+
11808
+ #: adminpages/advancedsettings.php:71 adminpages/advancedsettings.php:73
11809
+ #: adminpages/advancedsettings.php:76 adminpages/advancedsettings.php:90
11810
+ #: adminpages/advancedsettings.php:92 adminpages/advancedsettings.php:94
11811
+ #, php-format
11812
+ msgid ""
11813
+ "Please <a href=\"%s\">login</a> to view this content. (<a href=\"%s"
11814
+ "\">Register here</a>.)"
11815
+ msgstr ""
11816
+
11817
  #: adminpages/advancedsettings.php:143 adminpages/membershiplevels.php:457
11818
  #: adminpages/membershiplevels.php:463 adminpages/membershiplevels.php:465
11819
  #: adminpages/membershiplevels.php:492 adminpages/membershiplevels.php:493
12005
  "still get an email confirmation from PMPro after checkout.)"
12006
  msgstr ""
12007
 
12008
+ #: adminpages/license.php:47 includes/license.php:91
12009
+ msgid ""
12010
+ "Enter your support license key.</strong> Your license key can be found in "
12011
+ "your membership email receipt or in your <a href=\"https://www."
12012
+ "paidmembershipspro.com/login/?redirect_to=%2Fmembership-account%2F"
12013
+ "%3Futm_source%3Dplugin%26utm_medium%3Dpmpro-license%26utm_campaign"
12014
+ "%3Dmembership-account%26utm_content%3Dno-key\" target=\"_blank\">Membership "
12015
+ "Account</a>."
12016
+ msgstr ""
12017
+
12018
+ #: adminpages/license.php:49 includes/license.php:93
12019
+ msgid ""
12020
+ "Visit the PMPro <a href=\"https://www.paidmembershipspro.com/login/?"
12021
+ "redirect_to=%2Fmembership-account%2F%3Futm_source%3Dplugin%26utm_medium"
12022
+ "%3Dpmpro-license%26utm_campaign%3Dmembership-account%26utm_content%3Dkey-not-"
12023
+ "valid\" target=\"_blank\">Membership Account</a> page to confirm that your "
12024
+ "account is active and to find your license key."
12025
+ msgstr ""
12026
+
12027
  #: adminpages/membershiplevels.php:364
12028
  msgid ""
12029
  "Stripe integration currently only supports billing periods of \"Month\" or "
12361
  msgid "No users avaliable."
12362
  msgstr ""
12363
 
12364
+ #: classes/class-pmpro-members-list-table.php:483
12365
+ #: classes/class-pmpro-members-list-table.php:546
12366
+ #: classes/class-pmpro-members-list-table.php:551
12367
+ #, php-format
12368
+ msgid "Select %s"
12369
+ msgstr ""
12370
+
12371
+ #: classes/class-pmpro-members-list-table.php:679
12372
+ #: classes/class-pmpro-members-list-table.php:747
12373
+ msgid "Invalid Nonce"
12374
+ msgstr ""
12375
+
12376
+ #: classes/class-pmpro-members-list-table.php:680
12377
+ #: classes/class-pmpro-members-list-table.php:748
12378
+ msgid "Error"
12379
+ msgstr ""
12380
+
12381
  #: classes/class.pmproemail.php:342 classes/class.pmproemail.php:345
12382
  #: classes/class.pmproemail.php:363 classes/class.pmproemail.php:366
12383
  #: classes/class.pmproemail.php:375
12521
  "here."
12522
  msgstr ""
12523
 
12524
+ #: includes/admin.php:47
12525
+ msgid ""
12526
+ "<strong>Welcome to Paid Memberships Pro</strong> &mdash; We&lsquo;re here to "
12527
+ "help you #GetPaid."
12528
+ msgstr ""
12529
+
12530
+ #: includes/admin.php:48
12531
+ msgid "Get Started Using Paid Memberships Pro"
12532
+ msgstr ""
12533
+
12534
  #: includes/adminpages.php:56
12535
  msgid "<span style=\"color:#7FFF00\">License</span>"
12536
  msgstr ""
12537
 
12538
+ #: includes/adminpages.php:277 includes/adminpages.php:313
12539
+ #: includes/adminpages.php:326 includes/adminpages.php:330
12540
+ #: includes/adminpages.php:345 includes/adminpages.php:347
12541
+ msgid "Membership Levels Page"
12542
+ msgstr ""
12543
+
12544
  #: includes/currencies.php:11
12545
  msgid "Brazilian Real (&#36;)"
12546
  msgstr ""
12792
  msgid "Start the Update"
12793
  msgstr ""
12794
 
12795
+ #: includes/updates/upgrade_1.php:7 includes/upgradecheck.php:401
12796
+ #: includes/upgradecheck.php:410 includes/upgradecheck.php:422
12797
+ #: includes/upgradecheck.php:442 includes/upgradecheck.php:542
12798
+ #: includes/upgradecheck.php:561 includes/upgradecheck.php:563
12799
+ #, php-format
12800
+ msgid ""
12801
+ "This content is for !!levels!! members only.<br /><a href=\"%s\">Register</a>"
12802
+ msgstr ""
12803
+
12804
+ #: includes/updates/upgrade_1.php:10 includes/upgradecheck.php:404
12805
+ #: includes/upgradecheck.php:413 includes/upgradecheck.php:425
12806
+ #: includes/upgradecheck.php:445 includes/upgradecheck.php:545
12807
+ #: includes/upgradecheck.php:564 includes/upgradecheck.php:566
12808
+ #, php-format
12809
+ msgid ""
12810
+ "This content is for !!levels!! members only.<br /><a href=\"%s\">Log In</a> "
12811
+ "<a href=\"%s\">Register</a>"
12812
+ msgstr ""
12813
+
12814
+ #: includes/updates/upgrade_1.php:14 includes/upgradecheck.php:408
12815
+ #: includes/upgradecheck.php:417 includes/upgradecheck.php:429
12816
+ #: includes/upgradecheck.php:449 includes/upgradecheck.php:549
12817
+ #: includes/upgradecheck.php:568 includes/upgradecheck.php:570
12818
+ msgid ""
12819
+ "This content is for !!levels!! members only. Visit the site and log in/"
12820
+ "register to read."
12821
+ msgstr ""
12822
+
12823
  #: pages/account.php:10
12824
  msgid "Your membership is <strong>active</strong>."
12825
  msgstr ""
12829
  msgid "Your first payment will cost %s."
12830
  msgstr ""
12831
 
12832
+ #: pages/account.php:36 shortcodes/pmpro_account.php:62
12833
+ #: shortcodes/pmpro_account.php:64 shortcodes/pmpro_account.php:65
12834
+ msgid "Update Billing Info"
12835
+ msgstr ""
12836
+
12837
  #: pages/account.php:38 pages/account.php:42
12838
  #, php-format
12839
  msgid "Your first %d payments will cost %s."
12840
  msgstr ""
12841
 
12842
+ #: pages/account.php:42 shortcodes/pmpro_account.php:68
12843
+ #: shortcodes/pmpro_account.php:70 shortcodes/pmpro_account.php:71
12844
+ msgid "Change"
12845
+ msgstr ""
12846
+
12847
+ #: pages/account.php:55 pages/account.php:59 pages/account.php:80
12848
+ #: shortcodes/pmpro_account.php:110 shortcodes/pmpro_account.php:112
12849
+ #: shortcodes/pmpro_account.php:113 shortcodes/pmpro_account.php:115
12850
+ msgid "Edit Profile"
12851
+ msgstr ""
12852
+
12853
  #: pages/account.php:87 pages/account.php:91
12854
  msgid "Billing Information"
12855
  msgstr ""
languages/paid-memberships-pro.pot CHANGED
@@ -6,7 +6,7 @@ msgid ""
6
  msgstr ""
7
  "Project-Id-Version: paid-memberships-pro\n"
8
  "Report-Msgid-Bugs-To: info@paidmembershipspro.com\n"
9
- "POT-Creation-Date: 2020-02-20 14:05-0500\n"
10
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11
  "Last-Translator: \n"
12
  "Language-Team: Stranger Studios <info@paidmembershipspro.com>\n"
@@ -44,7 +44,7 @@ msgstr ""
44
  msgid "Check Again"
45
  msgstr ""
46
 
47
- #: adminpages/addons.php:94 adminpages/orders.php:984 adminpages/addons.php:76
48
  #: adminpages/addons.php:79 adminpages/addons.php:92 adminpages/addons.php:93
49
  #: adminpages/addons.php:94 adminpages/orders.php:605 adminpages/orders.php:712
50
  #: adminpages/orders.php:741 adminpages/orders.php:850
@@ -163,8 +163,8 @@ msgstr ""
163
  msgid "Activate %s"
164
  msgstr ""
165
 
166
- #: adminpages/addons.php:230 adminpages/discountcodes.php:779
167
- #: adminpages/membershiplevels.php:801 adminpages/orders.php:1338
168
  #: adminpages/addons.php:213 adminpages/addons.php:216
169
  #: adminpages/addons.php:229 adminpages/addons.php:230
170
  #: adminpages/addons.php:231 adminpages/discountcodes.php:771
@@ -209,9 +209,9 @@ msgstr ""
209
  msgid "WordPress.org"
210
  msgstr ""
211
 
212
- #: adminpages/addons.php:248 adminpages/orders.php:891
213
- #: adminpages/orders.php:1424 adminpages/orders.php:1434
214
- #: includes/profile.php:191 shortcodes/pmpro_account.php:158
215
  #: adminpages/addons.php:231 adminpages/addons.php:234
216
  #: adminpages/addons.php:247 adminpages/addons.php:248
217
  #: adminpages/addons.php:249 adminpages/orders.php:855
@@ -426,23 +426,24 @@ msgstr ""
426
  msgid "Members"
427
  msgstr ""
428
 
429
- #: adminpages/admin_header.php:212 adminpages/discountcodes.php:783
430
- #: includes/adminpages.php:52 includes/adminpages.php:167
431
- #: adminpages/admin_header.php:196 adminpages/admin_header.php:197
432
- #: adminpages/admin_header.php:204 adminpages/admin_header.php:212
433
- #: adminpages/discountcodes.php:775 adminpages/discountcodes.php:776
434
- #: adminpages/discountcodes.php:777 adminpages/discountcodes.php:783
435
- #: adminpages/orders.php:520 adminpages/orders.php:570
436
- #: adminpages/orders.php:677 adminpages/orders.php:706
437
- #: adminpages/orders.php:810 adminpages/orders.php:841
438
- #: adminpages/orders.php:852 adminpages/orders.php:939
439
- #: adminpages/orders.php:944 adminpages/orders.php:949
440
- #: adminpages/orders.php:994 includes/adminpages.php:17
441
- #: includes/adminpages.php:52 includes/adminpages.php:55
442
- #: includes/adminpages.php:56 includes/adminpages.php:84
443
- #: includes/adminpages.php:156 includes/adminpages.php:157
444
- #: includes/adminpages.php:163 includes/adminpages.php:165
445
- #: includes/adminpages.php:167 includes/adminpages.php:172
 
446
  msgid "Orders"
447
  msgstr ""
448
 
@@ -493,7 +494,7 @@ msgstr ""
493
  msgid "License"
494
  msgstr ""
495
 
496
- #: adminpages/admin_header.php:235 adminpages/discountcodes.php:750
497
  #: adminpages/admin_header.php:215 adminpages/admin_header.php:220
498
  #: adminpages/admin_header.php:227 adminpages/admin_header.php:235
499
  #: adminpages/discountcodes.php:552 adminpages/discountcodes.php:562
@@ -504,30 +505,31 @@ msgstr ""
504
  msgid "Levels"
505
  msgstr ""
506
 
507
- #: adminpages/admin_header.php:235 adminpages/pagesettings.php:85
508
- #: includes/metaboxes.php:130 adminpages/admin_header.php:128
509
- #: adminpages/admin_header.php:149 adminpages/admin_header.php:150
510
- #: adminpages/admin_header.php:159 adminpages/admin_header.php:171
511
- #: adminpages/admin_header.php:184 adminpages/admin_header.php:215
512
- #: adminpages/admin_header.php:220 adminpages/admin_header.php:227
513
- #: adminpages/admin_header.php:235 adminpages/membershiplevels.php:490
514
- #: adminpages/membershiplevels.php:496 adminpages/membershiplevels.php:498
515
- #: adminpages/membershiplevels.php:525 adminpages/membershiplevels.php:526
516
- #: adminpages/membershiplevels.php:569 adminpages/membershiplevels.php:607
517
- #: adminpages/membershiplevels.php:609 adminpages/membershiplevels.php:618
518
- #: adminpages/membershiplevels.php:619 adminpages/membershiplevels.php:631
519
- #: adminpages/membershiplevels.php:641 adminpages/membershiplevels.php:700
520
- #: adminpages/membershiplevels.php:702 adminpages/membershiplevels.php:728
521
- #: adminpages/membershiplevels.php:745 adminpages/membershiplevels.php:750
522
- #: adminpages/membershiplevels.php:755 adminpages/pagesettings.php:69
523
- #: adminpages/pagesettings.php:70 adminpages/pagesettings.php:71
524
- #: adminpages/pagesettings.php:85 includes/adminpages.php:44
525
- #: includes/adminpages.php:64 includes/adminpages.php:65
526
- #: includes/adminpages.php:69 includes/adminpages.php:70
527
- #: includes/adminpages.php:100 includes/adminpages.php:107
528
- #: includes/adminpages.php:111 includes/adminpages.php:116
529
- #: includes/metaboxes.php:126 includes/metaboxes.php:130
530
- #: includes/metaboxes.php:131 includes/metaboxes.php:132
 
531
  msgid "Membership Levels"
532
  msgstr ""
533
 
@@ -581,20 +583,20 @@ msgstr ""
581
  msgid "Payment Gateway &amp; SSL Settings"
582
  msgstr ""
583
 
584
- #: adminpages/admin_header.php:251 adminpages/orders.php:371
585
- #: adminpages/orders.php:1345 shortcodes/pmpro_account.php:111
586
- #: adminpages/admin_header.php:131 adminpages/admin_header.php:152
587
- #: adminpages/admin_header.php:162 adminpages/admin_header.php:171
588
- #: adminpages/admin_header.php:183 adminpages/admin_header.php:196
589
- #: adminpages/admin_header.php:231 adminpages/admin_header.php:236
590
- #: adminpages/admin_header.php:243 adminpages/admin_header.php:251
591
- #: adminpages/memberslist.php:115 adminpages/memberslist.php:148
592
- #: adminpages/memberslist.php:158 adminpages/memberslist.php:168
593
- #: adminpages/memberslist.php:172 adminpages/orders.php:371
594
- #: adminpages/orders.php:372 adminpages/orders.php:1345
595
- #: adminpages/orders.php:1350 adminpages/orders.php:1351
596
- #: adminpages/orders.php:1365 pages/account.php:52 pages/account.php:56
597
- #: pages/account.php:77 shortcodes/pmpro_account.php:106
598
  #: shortcodes/pmpro_account.php:108 shortcodes/pmpro_account.php:109
599
  #: shortcodes/pmpro_account.php:111
600
  msgid "Email"
@@ -638,10 +640,10 @@ msgstr ""
638
  msgid "Advanced Settings"
639
  msgstr ""
640
 
641
- #: adminpages/advancedsettings.php:13 adminpages/discountcodes.php:61
642
- #: adminpages/discountcodes.php:309 adminpages/emailsettings.php:16
643
  #: adminpages/membershiplevels.php:43 adminpages/pagesettings.php:29
644
- #: adminpages/pagesettings.php:68 adminpages/paymentsettings.php:19
645
  #: adminpages/advancedsettings.php:13 adminpages/discountcodes.php:58
646
  #: adminpages/discountcodes.php:61 adminpages/discountcodes.php:304
647
  #: adminpages/discountcodes.php:309 adminpages/emailsettings.php:16
@@ -650,49 +652,58 @@ msgstr ""
650
  msgid "Are you sure you want to do that? Try again."
651
  msgstr ""
652
 
653
- #: adminpages/advancedsettings.php:62 adminpages/advancedsettings.php:35
654
  #: adminpages/advancedsettings.php:42 adminpages/advancedsettings.php:43
655
  #: adminpages/advancedsettings.php:46 adminpages/advancedsettings.php:60
656
  #: adminpages/advancedsettings.php:61 adminpages/advancedsettings.php:62
657
  msgid "Your advanced settings have been updated."
658
  msgstr ""
659
 
660
- #: adminpages/advancedsettings.php:89 adminpages/advancedsettings.php:66
661
- #: adminpages/advancedsettings.php:68 adminpages/advancedsettings.php:71
662
- #: adminpages/advancedsettings.php:85 adminpages/advancedsettings.php:87
663
- #: adminpages/advancedsettings.php:89
664
  #, php-format
665
  msgid ""
666
- "This content is for !!levels!! members only. <a href=\"%s\">Register here</"
667
- "a>."
668
  msgstr ""
669
 
670
- #: adminpages/advancedsettings.php:94 adminpages/advancedsettings.php:71
671
- #: adminpages/advancedsettings.php:73 adminpages/advancedsettings.php:76
672
- #: adminpages/advancedsettings.php:90 adminpages/advancedsettings.php:92
673
- #: adminpages/advancedsettings.php:94
674
  #, php-format
675
  msgid ""
676
- "Please <a href=\"%s\">login</a> to view this content. (<a href=\"%s"
677
- "\">Register here</a>.)"
678
  msgstr ""
679
 
680
- #: adminpages/advancedsettings.php:99 adminpages/advancedsettings.php:76
681
- #: adminpages/advancedsettings.php:78 adminpages/advancedsettings.php:81
682
- #: adminpages/advancedsettings.php:95 adminpages/advancedsettings.php:97
683
- #: adminpages/advancedsettings.php:99
684
  msgid ""
685
  "This content is for members only. Visit the site and log in/register to read."
686
  msgstr ""
687
 
688
- #: adminpages/advancedsettings.php:118 adminpages/advancedsettings.php:85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
689
  #: adminpages/advancedsettings.php:92 adminpages/advancedsettings.php:94
690
  #: adminpages/advancedsettings.php:97 adminpages/advancedsettings.php:113
691
  #: adminpages/advancedsettings.php:115 adminpages/advancedsettings.php:118
692
  msgid "Message for Logged-in Non-members"
693
  msgstr ""
694
 
695
- #: adminpages/advancedsettings.php:122 adminpages/advancedsettings.php:89
696
  #: adminpages/advancedsettings.php:96 adminpages/advancedsettings.php:98
697
  #: adminpages/advancedsettings.php:101 adminpages/advancedsettings.php:117
698
  #: adminpages/advancedsettings.php:119 adminpages/advancedsettings.php:122
@@ -700,42 +711,46 @@ msgid ""
700
  "This message replaces the post content for non-members. Available variables"
701
  msgstr ""
702
 
703
- #: adminpages/advancedsettings.php:127 adminpages/advancedsettings.php:94
704
  #: adminpages/advancedsettings.php:101 adminpages/advancedsettings.php:103
705
  #: adminpages/advancedsettings.php:106 adminpages/advancedsettings.php:122
706
  #: adminpages/advancedsettings.php:124 adminpages/advancedsettings.php:127
707
  msgid "Message for Logged-out Users"
708
  msgstr ""
709
 
710
- #: adminpages/advancedsettings.php:131 adminpages/advancedsettings.php:98
 
 
 
 
711
  #: adminpages/advancedsettings.php:105 adminpages/advancedsettings.php:107
712
  #: adminpages/advancedsettings.php:110 adminpages/advancedsettings.php:126
713
  #: adminpages/advancedsettings.php:128 adminpages/advancedsettings.php:131
714
  msgid "This message replaces the post content for logged-out visitors."
715
  msgstr ""
716
 
717
- #: adminpages/advancedsettings.php:136 adminpages/advancedsettings.php:103
718
  #: adminpages/advancedsettings.php:110 adminpages/advancedsettings.php:112
719
  #: adminpages/advancedsettings.php:115 adminpages/advancedsettings.php:131
720
  #: adminpages/advancedsettings.php:133 adminpages/advancedsettings.php:136
721
  msgid "Message for RSS Feed"
722
  msgstr ""
723
 
724
- #: adminpages/advancedsettings.php:140 adminpages/advancedsettings.php:107
725
  #: adminpages/advancedsettings.php:114 adminpages/advancedsettings.php:116
726
  #: adminpages/advancedsettings.php:119 adminpages/advancedsettings.php:135
727
  #: adminpages/advancedsettings.php:137 adminpages/advancedsettings.php:140
728
  msgid "This message replaces the post content in RSS feeds."
729
  msgstr ""
730
 
731
- #: adminpages/advancedsettings.php:151 adminpages/advancedsettings.php:122
732
  #: adminpages/advancedsettings.php:125 adminpages/advancedsettings.php:141
733
  #: adminpages/advancedsettings.php:143 adminpages/advancedsettings.php:148
734
  #: adminpages/advancedsettings.php:151
735
  msgid "Filter searches and archives?"
736
  msgstr ""
737
 
738
- #: adminpages/advancedsettings.php:155 adminpages/advancedsettings.php:126
739
  #: adminpages/advancedsettings.php:129 adminpages/advancedsettings.php:145
740
  #: adminpages/advancedsettings.php:147 adminpages/advancedsettings.php:152
741
  #: adminpages/advancedsettings.php:155
@@ -743,7 +758,7 @@ msgid ""
743
  "No - Non-members will see restricted posts/pages in searches and archives."
744
  msgstr ""
745
 
746
- #: adminpages/advancedsettings.php:156 adminpages/advancedsettings.php:127
747
  #: adminpages/advancedsettings.php:130 adminpages/advancedsettings.php:146
748
  #: adminpages/advancedsettings.php:148 adminpages/advancedsettings.php:153
749
  #: adminpages/advancedsettings.php:156
@@ -751,7 +766,7 @@ msgid ""
751
  "Yes - Only members will see restricted posts/pages in searches and archives."
752
  msgstr ""
753
 
754
- #: adminpages/advancedsettings.php:162 adminpages/advancedsettings.php:113
755
  #: adminpages/advancedsettings.php:120 adminpages/advancedsettings.php:133
756
  #: adminpages/advancedsettings.php:136 adminpages/advancedsettings.php:152
757
  #: adminpages/advancedsettings.php:154 adminpages/advancedsettings.php:159
@@ -759,7 +774,7 @@ msgstr ""
759
  msgid "Show Excerpts to Non-Members?"
760
  msgstr ""
761
 
762
- #: adminpages/advancedsettings.php:166 adminpages/advancedsettings.php:117
763
  #: adminpages/advancedsettings.php:124 adminpages/advancedsettings.php:137
764
  #: adminpages/advancedsettings.php:140 adminpages/advancedsettings.php:156
765
  #: adminpages/advancedsettings.php:158 adminpages/advancedsettings.php:163
@@ -767,7 +782,7 @@ msgstr ""
767
  msgid "No - Hide excerpts."
768
  msgstr ""
769
 
770
- #: adminpages/advancedsettings.php:167 adminpages/advancedsettings.php:118
771
  #: adminpages/advancedsettings.php:125 adminpages/advancedsettings.php:138
772
  #: adminpages/advancedsettings.php:141 adminpages/advancedsettings.php:157
773
  #: adminpages/advancedsettings.php:159 adminpages/advancedsettings.php:164
@@ -775,7 +790,25 @@ msgstr ""
775
  msgid "Yes - Show excerpts."
776
  msgstr ""
777
 
778
- #: adminpages/advancedsettings.php:179 adminpages/advancedsettings.php:176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
779
  #: adminpages/advancedsettings.php:179 adminpages/advancedsettings.php:195
780
  #: adminpages/advancedsettings.php:202 adminpages/advancedsettings.php:215
781
  #: adminpages/advancedsettings.php:218 adminpages/advancedsettings.php:234
@@ -783,10 +816,12 @@ msgstr ""
783
  msgid "Use reCAPTCHA?"
784
  msgstr ""
785
 
786
- #: adminpages/advancedsettings.php:183 adminpages/advancedsettings.php:228
787
- #: adminpages/advancedsettings.php:300 adminpages/membershiplevels.php:818
788
  #: adminpages/paymentsettings.php:257
789
- #: classes/gateways/class.pmprogateway_stripe.php:321 includes/profile.php:125
 
 
790
  #: adminpages/advancedsettings.php:128 adminpages/advancedsettings.php:135
791
  #: adminpages/advancedsettings.php:148 adminpages/advancedsettings.php:151
792
  #: adminpages/advancedsettings.php:167 adminpages/advancedsettings.php:169
@@ -839,7 +874,7 @@ msgstr ""
839
  msgid "No"
840
  msgstr ""
841
 
842
- #: adminpages/advancedsettings.php:184 adminpages/advancedsettings.php:181
843
  #: adminpages/advancedsettings.php:184 adminpages/advancedsettings.php:200
844
  #: adminpages/advancedsettings.php:207 adminpages/advancedsettings.php:220
845
  #: adminpages/advancedsettings.php:223 adminpages/advancedsettings.php:239
@@ -847,7 +882,7 @@ msgstr ""
847
  msgid "Yes - Free memberships only."
848
  msgstr ""
849
 
850
- #: adminpages/advancedsettings.php:185 adminpages/advancedsettings.php:182
851
  #: adminpages/advancedsettings.php:185 adminpages/advancedsettings.php:201
852
  #: adminpages/advancedsettings.php:208 adminpages/advancedsettings.php:221
853
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:240
@@ -855,7 +890,7 @@ msgstr ""
855
  msgid "Yes - All memberships."
856
  msgstr ""
857
 
858
- #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:184
859
  #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:203
860
  #: adminpages/advancedsettings.php:210 adminpages/advancedsettings.php:223
861
  #: adminpages/advancedsettings.php:226 adminpages/advancedsettings.php:242
@@ -863,7 +898,7 @@ msgstr ""
863
  msgid "A free reCAPTCHA key is required."
864
  msgstr ""
865
 
866
- #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:184
867
  #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:203
868
  #: adminpages/advancedsettings.php:210 adminpages/advancedsettings.php:223
869
  #: adminpages/advancedsettings.php:226 adminpages/advancedsettings.php:242
@@ -871,46 +906,112 @@ msgstr ""
871
  msgid "Click here to signup for reCAPTCHA"
872
  msgstr ""
873
 
874
- #: adminpages/advancedsettings.php:195 adminpages/advancedsettings.php:192
875
  #: adminpages/advancedsettings.php:195 adminpages/advancedsettings.php:250
876
  msgid "reCAPTCHA Version"
877
  msgstr ""
878
 
879
- #: adminpages/advancedsettings.php:198 adminpages/advancedsettings.php:195
880
  #: adminpages/advancedsettings.php:198 adminpages/advancedsettings.php:252
881
  msgid " v2 - Checkbox"
882
  msgstr ""
883
 
884
- #: adminpages/advancedsettings.php:199 adminpages/advancedsettings.php:196
885
  #: adminpages/advancedsettings.php:199 adminpages/advancedsettings.php:253
886
  msgid "v3 - Invisible"
887
  msgstr ""
888
 
889
- #: adminpages/advancedsettings.php:201 adminpages/advancedsettings.php:198
890
  #: adminpages/advancedsettings.php:201 adminpages/advancedsettings.php:255
891
  msgid "Changing your version will require new API keys."
892
  msgstr ""
893
 
894
- #: adminpages/advancedsettings.php:205 adminpages/advancedsettings.php:202
895
  #: adminpages/advancedsettings.php:205 adminpages/advancedsettings.php:248
896
  #: adminpages/advancedsettings.php:257
897
  msgid "reCAPTCHA Site Key"
898
  msgstr ""
899
 
900
- #: adminpages/advancedsettings.php:211 adminpages/advancedsettings.php:208
901
  #: adminpages/advancedsettings.php:211 adminpages/advancedsettings.php:251
902
  #: adminpages/advancedsettings.php:260
903
  msgid "reCAPTCHA Secret Key"
904
  msgstr ""
905
 
906
- #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:144
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
907
  #: adminpages/advancedsettings.php:147 adminpages/advancedsettings.php:163
908
  #: adminpages/advancedsettings.php:165 adminpages/advancedsettings.php:221
909
  #: adminpages/advancedsettings.php:224
910
  msgid "Hide Ads From Members?"
911
  msgstr ""
912
 
913
- #: adminpages/advancedsettings.php:229 adminpages/advancedsettings.php:129
914
  #: adminpages/advancedsettings.php:136 adminpages/advancedsettings.php:149
915
  #: adminpages/advancedsettings.php:152 adminpages/advancedsettings.php:168
916
  #: adminpages/advancedsettings.php:170 adminpages/advancedsettings.php:226
@@ -918,7 +1019,7 @@ msgstr ""
918
  msgid "Hide Ads From All Members"
919
  msgstr ""
920
 
921
- #: adminpages/advancedsettings.php:230 adminpages/advancedsettings.php:130
922
  #: adminpages/advancedsettings.php:137 adminpages/advancedsettings.php:150
923
  #: adminpages/advancedsettings.php:153 adminpages/advancedsettings.php:169
924
  #: adminpages/advancedsettings.php:171 adminpages/advancedsettings.php:227
@@ -926,7 +1027,7 @@ msgstr ""
926
  msgid "Hide Ads From Certain Members"
927
  msgstr ""
928
 
929
- #: adminpages/advancedsettings.php:237 adminpages/advancedsettings.php:137
930
  #: adminpages/advancedsettings.php:144 adminpages/advancedsettings.php:157
931
  #: adminpages/advancedsettings.php:160 adminpages/advancedsettings.php:176
932
  #: adminpages/advancedsettings.php:178 adminpages/advancedsettings.php:234
@@ -934,7 +1035,7 @@ msgstr ""
934
  msgid "Ads from the following plugins will be automatically turned off"
935
  msgstr ""
936
 
937
- #: adminpages/advancedsettings.php:238 adminpages/advancedsettings.php:138
938
  #: adminpages/advancedsettings.php:145 adminpages/advancedsettings.php:158
939
  #: adminpages/advancedsettings.php:161 adminpages/advancedsettings.php:177
940
  #: adminpages/advancedsettings.php:179 adminpages/advancedsettings.php:235
@@ -942,25 +1043,7 @@ msgstr ""
942
  msgid "To hide ads in your template code, use code like the following"
943
  msgstr ""
944
 
945
- #: adminpages/advancedsettings.php:246 adminpages/advancedsettings.php:246
946
- msgid "Notifications"
947
- msgstr ""
948
-
949
- #: adminpages/advancedsettings.php:250 adminpages/advancedsettings.php:250
950
- msgid "Show all notifications."
951
- msgstr ""
952
-
953
- #: adminpages/advancedsettings.php:253 adminpages/advancedsettings.php:253
954
- msgid "Show only security notifications."
955
- msgstr ""
956
-
957
- #: adminpages/advancedsettings.php:257 adminpages/advancedsettings.php:257
958
- msgid ""
959
- "Notifications are occasionally shown on the Paid Memberships Pro settings "
960
- "pages."
961
- msgstr ""
962
-
963
- #: adminpages/advancedsettings.php:262 adminpages/advancedsettings.php:149
964
  #: adminpages/advancedsettings.php:156 adminpages/advancedsettings.php:169
965
  #: adminpages/advancedsettings.php:172 adminpages/advancedsettings.php:188
966
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:244
@@ -968,7 +1051,7 @@ msgstr ""
968
  msgid "Choose Levels to Hide Ads From"
969
  msgstr ""
970
 
971
- #: adminpages/advancedsettings.php:296 adminpages/advancedsettings.php:183
972
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:203
973
  #: adminpages/advancedsettings.php:206 adminpages/advancedsettings.php:222
974
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:278
@@ -976,7 +1059,7 @@ msgstr ""
976
  msgid "Redirect all traffic from registration page to /susbcription/?"
977
  msgstr ""
978
 
979
- #: adminpages/advancedsettings.php:296 adminpages/advancedsettings.php:183
980
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:203
981
  #: adminpages/advancedsettings.php:206 adminpages/advancedsettings.php:222
982
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:278
@@ -984,9 +1067,11 @@ msgstr ""
984
  msgid "multisite only"
985
  msgstr ""
986
 
987
- #: adminpages/advancedsettings.php:301 adminpages/membershiplevels.php:818
988
  #: adminpages/paymentsettings.php:258
989
- #: classes/gateways/class.pmprogateway_stripe.php:323 includes/profile.php:126
 
 
990
  #: adminpages/advancedsettings.php:188 adminpages/advancedsettings.php:195
991
  #: adminpages/advancedsettings.php:208 adminpages/advancedsettings.php:211
992
  #: adminpages/advancedsettings.php:227 adminpages/advancedsettings.php:229
@@ -1032,25 +1117,7 @@ msgstr ""
1032
  msgid "Yes"
1033
  msgstr ""
1034
 
1035
- #: adminpages/advancedsettings.php:308 adminpages/advancedsettings.php:218
1036
- #: adminpages/advancedsettings.php:225 adminpages/advancedsettings.php:238
1037
- #: adminpages/advancedsettings.php:241 adminpages/advancedsettings.php:257
1038
- #: adminpages/advancedsettings.php:266 adminpages/advancedsettings.php:290
1039
- #: adminpages/advancedsettings.php:308
1040
- msgid "Require Terms of Service on signups?"
1041
- msgstr ""
1042
-
1043
- #: adminpages/advancedsettings.php:315 adminpages/advancedsettings.php:225
1044
- #: adminpages/advancedsettings.php:232 adminpages/advancedsettings.php:245
1045
- #: adminpages/advancedsettings.php:248 adminpages/advancedsettings.php:264
1046
- #: adminpages/advancedsettings.php:273 adminpages/advancedsettings.php:297
1047
- #: adminpages/advancedsettings.php:315
1048
- msgid ""
1049
- "If yes, create a WordPress page containing your TOS agreement and assign it "
1050
- "using the dropdown above."
1051
- msgstr ""
1052
-
1053
- #: adminpages/advancedsettings.php:427 adminpages/pagesettings.php:331
1054
  #: adminpages/paymentsettings.php:288 adminpages/advancedsettings.php:284
1055
  #: adminpages/advancedsettings.php:355 adminpages/advancedsettings.php:359
1056
  #: adminpages/advancedsettings.php:368 adminpages/advancedsettings.php:375
@@ -1153,9 +1220,9 @@ msgid ""
1153
  "that you may use the software on this site or any other site free of charge."
1154
  msgstr ""
1155
 
1156
- #: adminpages/dashboard.php:215 adminpages/orders.php:1298
1157
- #: adminpages/reports/login.php:179 classes/class.memberorder.php:858
1158
- #: pages/checkout.php:118 shortcodes/pmpro_account.php:110
1159
  #: adminpages/dashboard.php:215 adminpages/dashboard.php:223
1160
  #: adminpages/memberslist.php:112 adminpages/memberslist.php:145
1161
  #: adminpages/memberslist.php:155 adminpages/memberslist.php:165
@@ -1172,10 +1239,10 @@ msgid "Username"
1172
  msgstr ""
1173
 
1174
  #: adminpages/dashboard.php:216 adminpages/dashboard.php:284
1175
- #: adminpages/orders.php:1300 adminpages/reports/login.php:181
1176
  #: includes/privacy.php:241 pages/billing.php:57 pages/cancel.php:60
1177
- #: pages/invoice.php:104 pages/levels.php:35 shortcodes/pmpro_account.php:44
1178
- #: shortcodes/pmpro_account.php:128 adminpages/dashboard.php:216
1179
  #: adminpages/dashboard.php:284 adminpages/dashboard.php:292
1180
  #: adminpages/memberslist.php:175 adminpages/orders.php:1300
1181
  #: adminpages/orders.php:1306 adminpages/reports/login.php:181
@@ -1183,13 +1250,14 @@ msgstr ""
1183
  #: pages/account.php:92 pages/billing.php:16 pages/billing.php:25
1184
  #: pages/billing.php:27 pages/billing.php:28 pages/billing.php:30
1185
  #: pages/billing.php:41 pages/billing.php:44 pages/billing.php:45
1186
- #: pages/billing.php:49 pages/billing.php:50 pages/cancel.php:52
1187
- #: pages/cancel.php:60 pages/cancel.php:61 pages/invoice.php:89
1188
- #: pages/invoice.php:101 pages/invoice.php:102 pages/invoice.php:103
1189
- #: pages/invoice.php:109 pages/levels.php:13 pages/levels.php:35
1190
- #: shortcodes/pmpro_account.php:43 shortcodes/pmpro_account.php:44
1191
- #: shortcodes/pmpro_account.php:123 shortcodes/pmpro_account.php:125
1192
- #: shortcodes/pmpro_account.php:126 shortcodes/pmpro_account.php:128
 
1193
  msgid "Level"
1194
  msgstr ""
1195
 
@@ -1203,8 +1271,8 @@ msgstr ""
1203
  msgid "Joined"
1204
  msgstr ""
1205
 
1206
- #: adminpages/dashboard.php:218 adminpages/discountcodes.php:748
1207
- #: adminpages/reports/login.php:183 includes/profile.php:122
1208
  #: adminpages/dashboard.php:218 adminpages/dashboard.php:226
1209
  #: adminpages/discountcodes.php:550 adminpages/discountcodes.php:560
1210
  #: adminpages/discountcodes.php:588 adminpages/discountcodes.php:589
@@ -1223,7 +1291,7 @@ msgid "Expires"
1223
  msgstr ""
1224
 
1225
  #: adminpages/dashboard.php:224 adminpages/reports/login.php:261
1226
- #: classes/class-pmpro-members-list-table.php:252 adminpages/dashboard.php:224
1227
  #: adminpages/dashboard.php:232 adminpages/memberslist.php:195
1228
  #: adminpages/memberslist.php:223 adminpages/memberslist.php:251
1229
  #: adminpages/memberslist.php:261 adminpages/memberslist.php:262
@@ -1231,13 +1299,14 @@ msgstr ""
1231
  #: adminpages/memberslist.php:272 adminpages/reports/login.php:210
1232
  #: adminpages/reports/login.php:212 adminpages/reports/login.php:228
1233
  #: adminpages/reports/login.php:232 adminpages/reports/login.php:261
 
1234
  #: classes/class-pmpro-members-list-table.php:257
1235
  msgid "No members found."
1236
  msgstr ""
1237
 
1238
- #: adminpages/dashboard.php:282 adminpages/discountcodes.php:447
1239
- #: adminpages/discountcodes.php:746 adminpages/orders.php:408
1240
- #: adminpages/orders.php:1297 adminpages/dashboard.php:282
1241
  #: adminpages/dashboard.php:290 adminpages/discountcodes.php:311
1242
  #: adminpages/discountcodes.php:314 adminpages/discountcodes.php:315
1243
  #: adminpages/discountcodes.php:316 adminpages/discountcodes.php:321
@@ -1281,8 +1350,8 @@ msgstr ""
1281
  msgid "User"
1282
  msgstr ""
1283
 
1284
- #: adminpages/dashboard.php:285 adminpages/orders.php:622
1285
- #: adminpages/orders.php:1301 adminpages/templates/orders-email.php:64
1286
  #: adminpages/templates/orders-print.php:93 includes/privacy.php:285
1287
  #: pages/confirmation.php:98 pages/invoice.php:80 adminpages/dashboard.php:285
1288
  #: adminpages/dashboard.php:293 adminpages/orders.php:320
@@ -1300,15 +1369,16 @@ msgstr ""
1300
  #: adminpages/orders.php:1312 adminpages/orders.php:1357
1301
  #: adminpages/templates/orders-email.php:64
1302
  #: adminpages/templates/orders-print.php:93 includes/privacy.php:285
1303
- #: pages/confirmation.php:95 pages/confirmation.php:96 pages/invoice.php:77
1304
- #: pages/invoice.php:78 pages/invoice.php:79 pages/invoice.php:82
 
1305
  #: pages/invoice.php:84
1306
  msgid "Total"
1307
  msgstr ""
1308
 
1309
- #: adminpages/dashboard.php:286 adminpages/orders.php:705
1310
- #: adminpages/orders.php:1305 includes/privacy.php:202 includes/privacy.php:309
1311
- #: pages/invoice.php:27 shortcodes/pmpro_account.php:130
1312
  #: adminpages/dashboard.php:286 adminpages/dashboard.php:294
1313
  #: adminpages/orders.php:373 adminpages/orders.php:423
1314
  #: adminpages/orders.php:495 adminpages/orders.php:524
@@ -1327,9 +1397,9 @@ msgstr ""
1327
  msgid "Status"
1328
  msgstr ""
1329
 
1330
- #: adminpages/dashboard.php:287 adminpages/orders.php:806
1331
- #: adminpages/orders.php:1306 pages/invoice.php:102
1332
- #: shortcodes/pmpro_account.php:127 adminpages/dashboard.php:287
1333
  #: adminpages/dashboard.php:295 adminpages/orders.php:442
1334
  #: adminpages/orders.php:492 adminpages/orders.php:493
1335
  #: adminpages/orders.php:565 adminpages/orders.php:594
@@ -1345,13 +1415,13 @@ msgstr ""
1345
  #: adminpages/orders.php:1312 adminpages/orders.php:1317
1346
  #: adminpages/orders.php:1362 pages/account.php:91 pages/invoice.php:87
1347
  #: pages/invoice.php:99 pages/invoice.php:100 pages/invoice.php:101
1348
- #: pages/invoice.php:105 pages/invoice.php:107 shortcodes/pmpro_account.php:122
1349
- #: shortcodes/pmpro_account.php:124 shortcodes/pmpro_account.php:125
1350
- #: shortcodes/pmpro_account.php:127
1351
  msgid "Date"
1352
  msgstr ""
1353
 
1354
- #: adminpages/dashboard.php:294 adminpages/orders.php:1457
1355
  #: adminpages/dashboard.php:294 adminpages/dashboard.php:302
1356
  #: adminpages/orders.php:674 adminpages/orders.php:977
1357
  #: adminpages/orders.php:995 adminpages/orders.php:1005
@@ -1364,7 +1434,8 @@ msgstr ""
1364
  msgid "No orders found."
1365
  msgstr ""
1366
 
1367
- #: adminpages/dashboard.php:311 adminpages/orders.php:1369
 
1368
  #: adminpages/dashboard.php:311 adminpages/dashboard.php:319
1369
  #: adminpages/orders.php:630 adminpages/orders.php:933
1370
  #: adminpages/orders.php:943 adminpages/orders.php:972
@@ -1376,7 +1447,8 @@ msgstr ""
1376
  msgid "deleted"
1377
  msgstr ""
1378
 
1379
- #: adminpages/dashboard.php:313 adminpages/orders.php:1371
 
1380
  #: adminpages/dashboard.php:313 adminpages/dashboard.php:321
1381
  #: adminpages/orders.php:1275 adminpages/orders.php:1347
1382
  #: adminpages/orders.php:1371 adminpages/orders.php:1376
@@ -1384,46 +1456,48 @@ msgstr ""
1384
  msgid "none"
1385
  msgstr ""
1386
 
1387
- #: adminpages/dashboard.php:377 adminpages/dashboard.php:372
1388
- #: adminpages/dashboard.php:377 adminpages/dashboard.php:380
 
 
1389
  msgid "No news found."
1390
  msgstr ""
1391
 
1392
- #: adminpages/dashboard.php:383 adminpages/dashboard.php:378
1393
  #: adminpages/dashboard.php:383 adminpages/dashboard.php:386
1394
  #, php-format
1395
  msgid "Posted %s"
1396
  msgstr ""
1397
 
1398
- #: adminpages/discountcodes.php:105 adminpages/discountcodes.php:64
1399
  #: adminpages/discountcodes.php:65 adminpages/discountcodes.php:70
1400
  #: adminpages/discountcodes.php:71 adminpages/discountcodes.php:102
1401
  #: adminpages/discountcodes.php:105
1402
  msgid "Discount code added successfully."
1403
  msgstr ""
1404
 
1405
- #: adminpages/discountcodes.php:111 adminpages/discountcodes.php:48
1406
  #: adminpages/discountcodes.php:49 adminpages/discountcodes.php:54
1407
  #: adminpages/discountcodes.php:77 adminpages/discountcodes.php:108
1408
  #: adminpages/discountcodes.php:111
1409
  msgid "Discount code updated successfully."
1410
  msgstr ""
1411
 
1412
- #: adminpages/discountcodes.php:119 adminpages/discountcodes.php:71
1413
  #: adminpages/discountcodes.php:72 adminpages/discountcodes.php:73
1414
  #: adminpages/discountcodes.php:78 adminpages/discountcodes.php:85
1415
  #: adminpages/discountcodes.php:116 adminpages/discountcodes.php:119
1416
  msgid "Error adding discount code. That code may already be in use."
1417
  msgstr ""
1418
 
1419
- #: adminpages/discountcodes.php:123 adminpages/discountcodes.php:55
1420
  #: adminpages/discountcodes.php:56 adminpages/discountcodes.php:61
1421
  #: adminpages/discountcodes.php:89 adminpages/discountcodes.php:120
1422
  #: adminpages/discountcodes.php:123
1423
  msgid "Error updating discount code. That code may already be in use."
1424
  msgstr ""
1425
 
1426
- #: adminpages/discountcodes.php:285 adminpages/discountcodes.php:196
1427
  #: adminpages/discountcodes.php:197 adminpages/discountcodes.php:198
1428
  #: adminpages/discountcodes.php:203 adminpages/discountcodes.php:247
1429
  #: adminpages/discountcodes.php:280 adminpages/discountcodes.php:285
@@ -1431,14 +1505,14 @@ msgstr ""
1431
  msgid "Error saving values for the %s level."
1432
  msgstr ""
1433
 
1434
- #: adminpages/discountcodes.php:293 adminpages/discountcodes.php:204
1435
  #: adminpages/discountcodes.php:205 adminpages/discountcodes.php:206
1436
  #: adminpages/discountcodes.php:211 adminpages/discountcodes.php:255
1437
  #: adminpages/discountcodes.php:288 adminpages/discountcodes.php:293
1438
  msgid "There were errors updating the level values: "
1439
  msgstr ""
1440
 
1441
- #: adminpages/discountcodes.php:333 adminpages/discountcodes.php:234
1442
  #: adminpages/discountcodes.php:237 adminpages/discountcodes.php:238
1443
  #: adminpages/discountcodes.php:239 adminpages/discountcodes.php:244
1444
  #: adminpages/discountcodes.php:288 adminpages/discountcodes.php:328
@@ -1447,7 +1521,7 @@ msgstr ""
1447
  msgid "Code %s deleted successfully."
1448
  msgstr ""
1449
 
1450
- #: adminpages/discountcodes.php:338 adminpages/discountcodes.php:239
1451
  #: adminpages/discountcodes.php:242 adminpages/discountcodes.php:243
1452
  #: adminpages/discountcodes.php:244 adminpages/discountcodes.php:249
1453
  #: adminpages/discountcodes.php:293 adminpages/discountcodes.php:333
@@ -1457,7 +1531,7 @@ msgid ""
1457
  "try again."
1458
  msgstr ""
1459
 
1460
- #: adminpages/discountcodes.php:344 adminpages/discountcodes.php:245
1461
  #: adminpages/discountcodes.php:248 adminpages/discountcodes.php:249
1462
  #: adminpages/discountcodes.php:250 adminpages/discountcodes.php:255
1463
  #: adminpages/discountcodes.php:299 adminpages/discountcodes.php:339
@@ -1465,7 +1539,7 @@ msgstr ""
1465
  msgid "Error deleting code. Please try again."
1466
  msgstr ""
1467
 
1468
- #: adminpages/discountcodes.php:350 adminpages/discountcodes.php:251
1469
  #: adminpages/discountcodes.php:254 adminpages/discountcodes.php:255
1470
  #: adminpages/discountcodes.php:256 adminpages/discountcodes.php:261
1471
  #: adminpages/discountcodes.php:305 adminpages/discountcodes.php:345
@@ -1473,7 +1547,7 @@ msgstr ""
1473
  msgid "Code not found."
1474
  msgstr ""
1475
 
1476
- #: adminpages/discountcodes.php:356 adminpages/membershiplevels.php:169
1477
  #: adminpages/discountcodes.php:356 adminpages/membershiplevels.php:169
1478
  #, php-format
1479
  msgid ""
@@ -1483,7 +1557,7 @@ msgid ""
1483
  "information, <a target=\"_blank\" href=\"%s\">see our post here</a>."
1484
  msgstr ""
1485
 
1486
- #: adminpages/discountcodes.php:371 adminpages/discountcodes.php:264
1487
  #: adminpages/discountcodes.php:267 adminpages/discountcodes.php:268
1488
  #: adminpages/discountcodes.php:269 adminpages/discountcodes.php:274
1489
  #: adminpages/discountcodes.php:318 adminpages/discountcodes.php:358
@@ -1491,7 +1565,7 @@ msgstr ""
1491
  msgid "Edit Discount Code"
1492
  msgstr ""
1493
 
1494
- #: adminpages/discountcodes.php:373 adminpages/discountcodes.php:266
1495
  #: adminpages/discountcodes.php:269 adminpages/discountcodes.php:270
1496
  #: adminpages/discountcodes.php:271 adminpages/discountcodes.php:276
1497
  #: adminpages/discountcodes.php:320 adminpages/discountcodes.php:360
@@ -1503,9 +1577,9 @@ msgstr ""
1503
  msgid "Add New Discount Code"
1504
  msgstr ""
1505
 
1506
- #: adminpages/discountcodes.php:442 adminpages/discountcodes.php:745
1507
  #: adminpages/membershiplevels.php:347 adminpages/membershiplevels.php:773
1508
- #: adminpages/orders.php:1296 adminpages/reports/login.php:178
1509
  #: adminpages/templates/orders-email.php:46
1510
  #: adminpages/templates/orders-print.php:75 adminpages/discountcodes.php:306
1511
  #: adminpages/discountcodes.php:309 adminpages/discountcodes.php:310
@@ -1547,7 +1621,7 @@ msgstr ""
1547
  msgid "ID"
1548
  msgstr ""
1549
 
1550
- #: adminpages/discountcodes.php:443 adminpages/orders.php:401
1551
  #: adminpages/discountcodes.php:307 adminpages/discountcodes.php:310
1552
  #: adminpages/discountcodes.php:311 adminpages/discountcodes.php:312
1553
  #: adminpages/discountcodes.php:317 adminpages/discountcodes.php:382
@@ -1561,7 +1635,7 @@ msgstr ""
1561
  msgid "This will be generated when you save."
1562
  msgstr ""
1563
 
1564
- #: adminpages/discountcodes.php:485 includes/privacy.php:186
1565
  #: adminpages/discountcodes.php:349 adminpages/discountcodes.php:352
1566
  #: adminpages/discountcodes.php:353 adminpages/discountcodes.php:354
1567
  #: adminpages/discountcodes.php:359 adminpages/discountcodes.php:424
@@ -1570,9 +1644,9 @@ msgstr ""
1570
  msgid "Start Date"
1571
  msgstr ""
1572
 
1573
- #: adminpages/discountcodes.php:503
1574
  #: classes/gateways/class.pmprogateway_braintree.php:479
1575
- #: classes/gateways/class.pmprogateway_stripe.php:573 pages/billing.php:330
1576
  #: pages/checkout.php:389 adminpages/discountcodes.php:367
1577
  #: adminpages/discountcodes.php:370 adminpages/discountcodes.php:371
1578
  #: adminpages/discountcodes.php:372 adminpages/discountcodes.php:377
@@ -1616,16 +1690,16 @@ msgstr ""
1616
  #: pages/billing.php:253 pages/billing.php:262 pages/billing.php:265
1617
  #: pages/billing.php:268 pages/billing.php:310 pages/billing.php:313
1618
  #: pages/billing.php:316 pages/billing.php:317 pages/billing.php:319
1619
- #: pages/billing.php:321 pages/billing.php:322 pages/billing.php:342
1620
- #: pages/checkout.php:389 pages/checkout.php:463 pages/checkout.php:471
1621
- #: pages/checkout.php:508 pages/checkout.php:524 pages/checkout.php:525
1622
- #: pages/checkout.php:532 pages/checkout.php:553 pages/checkout.php:562
1623
- #: pages/checkout.php:571 pages/checkout.php:575 pages/checkout.php:582
1624
- #: pages/checkout.php:585
1625
  msgid "Expiration Date"
1626
  msgstr ""
1627
 
1628
- #: adminpages/discountcodes.php:521 adminpages/discountcodes.php:749
1629
  #: adminpages/discountcodes.php:385 adminpages/discountcodes.php:388
1630
  #: adminpages/discountcodes.php:389 adminpages/discountcodes.php:390
1631
  #: adminpages/discountcodes.php:395 adminpages/discountcodes.php:460
@@ -1638,7 +1712,7 @@ msgstr ""
1638
  msgid "Uses"
1639
  msgstr ""
1640
 
1641
- #: adminpages/discountcodes.php:524 adminpages/discountcodes.php:388
1642
  #: adminpages/discountcodes.php:391 adminpages/discountcodes.php:392
1643
  #: adminpages/discountcodes.php:393 adminpages/discountcodes.php:398
1644
  #: adminpages/discountcodes.php:463 adminpages/discountcodes.php:504
@@ -1646,14 +1720,14 @@ msgstr ""
1646
  msgid "Leave blank for unlimited uses."
1647
  msgstr ""
1648
 
1649
- #: adminpages/discountcodes.php:533 adminpages/discountcodes.php:400
1650
  #: adminpages/discountcodes.php:401 adminpages/discountcodes.php:402
1651
  #: adminpages/discountcodes.php:407 adminpages/discountcodes.php:472
1652
  #: adminpages/discountcodes.php:513 adminpages/discountcodes.php:533
1653
  msgid "Which Levels Will This Code Apply To?"
1654
  msgstr ""
1655
 
1656
- #: adminpages/discountcodes.php:571 adminpages/membershiplevels.php:401
1657
  #: adminpages/discountcodes.php:427 adminpages/discountcodes.php:430
1658
  #: adminpages/discountcodes.php:431 adminpages/discountcodes.php:432
1659
  #: adminpages/discountcodes.php:437 adminpages/discountcodes.php:510
@@ -1668,7 +1742,7 @@ msgstr ""
1668
  msgid "Initial Payment"
1669
  msgstr ""
1670
 
1671
- #: adminpages/discountcodes.php:582 adminpages/membershiplevels.php:412
1672
  #: adminpages/discountcodes.php:428 adminpages/discountcodes.php:431
1673
  #: adminpages/discountcodes.php:441 adminpages/discountcodes.php:442
1674
  #: adminpages/discountcodes.php:443 adminpages/discountcodes.php:448
@@ -1682,7 +1756,7 @@ msgstr ""
1682
  msgid "The initial amount collected at registration."
1683
  msgstr ""
1684
 
1685
- #: adminpages/discountcodes.php:587 adminpages/membershiplevels.php:417
1686
  #: adminpages/discountcodes.php:432 adminpages/discountcodes.php:435
1687
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:447
1688
  #: adminpages/discountcodes.php:448 adminpages/discountcodes.php:453
@@ -1696,7 +1770,7 @@ msgstr ""
1696
  msgid "Recurring Subscription"
1697
  msgstr ""
1698
 
1699
- #: adminpages/discountcodes.php:588 adminpages/membershiplevels.php:418
1700
  #: adminpages/discountcodes.php:433 adminpages/discountcodes.php:436
1701
  #: adminpages/discountcodes.php:447 adminpages/discountcodes.php:448
1702
  #: adminpages/discountcodes.php:449 adminpages/discountcodes.php:454
@@ -1710,7 +1784,7 @@ msgstr ""
1710
  msgid "Check if this level has a recurring subscription payment."
1711
  msgstr ""
1712
 
1713
- #: adminpages/discountcodes.php:592 adminpages/membershiplevels.php:422
1714
  #: adminpages/discountcodes.php:440 adminpages/discountcodes.php:451
1715
  #: adminpages/discountcodes.php:452 adminpages/discountcodes.php:453
1716
  #: adminpages/discountcodes.php:458 adminpages/discountcodes.php:531
@@ -1724,7 +1798,7 @@ msgstr ""
1724
  msgid "Billing Amount"
1725
  msgstr ""
1726
 
1727
- #: adminpages/discountcodes.php:603 adminpages/membershiplevels.php:433
1728
  #: classes/gateways/class.pmprogateway_stripe.php:750
1729
  #: adminpages/discountcodes.php:603 adminpages/membershiplevels.php:349
1730
  #: adminpages/membershiplevels.php:351 adminpages/membershiplevels.php:370
@@ -1756,7 +1830,7 @@ msgstr ""
1756
  msgid "per"
1757
  msgstr ""
1758
 
1759
- #: adminpages/discountcodes.php:607 adminpages/discountcodes.php:661
1760
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1761
  #: classes/gateways/class.pmprogateway_stripe.php:616
1762
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
@@ -1804,7 +1878,7 @@ msgstr ""
1804
  msgid "Day(s)"
1805
  msgstr ""
1806
 
1807
- #: adminpages/discountcodes.php:607 adminpages/discountcodes.php:661
1808
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1809
  #: classes/gateways/class.pmprogateway_stripe.php:618
1810
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
@@ -1852,7 +1926,7 @@ msgstr ""
1852
  msgid "Month(s)"
1853
  msgstr ""
1854
 
1855
- #: adminpages/discountcodes.php:607 adminpages/discountcodes.php:661
1856
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1857
  #: classes/gateways/class.pmprogateway_stripe.php:617
1858
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
@@ -1900,7 +1974,7 @@ msgstr ""
1900
  msgid "Week(s)"
1901
  msgstr ""
1902
 
1903
- #: adminpages/discountcodes.php:607 adminpages/discountcodes.php:661
1904
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1905
  #: classes/gateways/class.pmprogateway_stripe.php:619
1906
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
@@ -1948,7 +2022,7 @@ msgstr ""
1948
  msgid "Year(s)"
1949
  msgstr ""
1950
 
1951
- #: adminpages/discountcodes.php:615 adminpages/membershiplevels.php:446
1952
  #: adminpages/discountcodes.php:451 adminpages/discountcodes.php:454
1953
  #: adminpages/discountcodes.php:474 adminpages/discountcodes.php:475
1954
  #: adminpages/discountcodes.php:476 adminpages/discountcodes.php:481
@@ -1962,7 +2036,7 @@ msgstr ""
1962
  msgid "The amount to be billed one cycle after the initial payment."
1963
  msgstr ""
1964
 
1965
- #: adminpages/discountcodes.php:620 adminpages/membershiplevels.php:463
1966
  #: adminpages/discountcodes.php:456 adminpages/discountcodes.php:459
1967
  #: adminpages/discountcodes.php:479 adminpages/discountcodes.php:480
1968
  #: adminpages/discountcodes.php:481 adminpages/discountcodes.php:486
@@ -1977,7 +2051,7 @@ msgstr ""
1977
  msgid "Billing Cycle Limit"
1978
  msgstr ""
1979
 
1980
- #: adminpages/discountcodes.php:623 adminpages/membershiplevels.php:467
1981
  #: adminpages/discountcodes.php:459 adminpages/discountcodes.php:462
1982
  #: adminpages/discountcodes.php:482 adminpages/discountcodes.php:483
1983
  #: adminpages/discountcodes.php:484 adminpages/discountcodes.php:489
@@ -1995,7 +2069,7 @@ msgid ""
1995
  "initial payment. Set to zero if membership is indefinite."
1996
  msgstr ""
1997
 
1998
- #: adminpages/discountcodes.php:628 adminpages/membershiplevels.php:486
1999
  #: adminpages/discountcodes.php:464 adminpages/discountcodes.php:467
2000
  #: adminpages/discountcodes.php:487 adminpages/discountcodes.php:488
2001
  #: adminpages/discountcodes.php:489 adminpages/discountcodes.php:494
@@ -2010,7 +2084,7 @@ msgstr ""
2010
  msgid "Custom Trial"
2011
  msgstr ""
2012
 
2013
- #: adminpages/discountcodes.php:629 adminpages/membershiplevels.php:488
2014
  #: adminpages/discountcodes.php:465 adminpages/discountcodes.php:468
2015
  #: adminpages/discountcodes.php:488 adminpages/discountcodes.php:489
2016
  #: adminpages/discountcodes.php:490 adminpages/discountcodes.php:495
@@ -2025,7 +2099,7 @@ msgstr ""
2025
  msgid "Check to add a custom trial period."
2026
  msgstr ""
2027
 
2028
- #: adminpages/discountcodes.php:633 adminpages/membershiplevels.php:508
2029
  #: adminpages/discountcodes.php:469 adminpages/discountcodes.php:472
2030
  #: adminpages/discountcodes.php:492 adminpages/discountcodes.php:493
2031
  #: adminpages/discountcodes.php:494 adminpages/discountcodes.php:499
@@ -2041,7 +2115,7 @@ msgstr ""
2041
  msgid "Trial Billing Amount"
2042
  msgstr ""
2043
 
2044
- #: adminpages/discountcodes.php:644 adminpages/membershiplevels.php:519
2045
  #: adminpages/discountcodes.php:472 adminpages/discountcodes.php:475
2046
  #: adminpages/discountcodes.php:503 adminpages/discountcodes.php:504
2047
  #: adminpages/discountcodes.php:505 adminpages/discountcodes.php:510
@@ -2057,7 +2131,7 @@ msgstr ""
2057
  msgid "for the first"
2058
  msgstr ""
2059
 
2060
- #: adminpages/discountcodes.php:646 adminpages/membershiplevels.php:521
2061
  #: adminpages/discountcodes.php:474 adminpages/discountcodes.php:477
2062
  #: adminpages/discountcodes.php:505 adminpages/discountcodes.php:506
2063
  #: adminpages/discountcodes.php:507 adminpages/discountcodes.php:512
@@ -2073,7 +2147,7 @@ msgstr ""
2073
  msgid "subscription payments"
2074
  msgstr ""
2075
 
2076
- #: adminpages/discountcodes.php:651 adminpages/membershiplevels.php:544
2077
  #: adminpages/discountcodes.php:479 adminpages/discountcodes.php:482
2078
  #: adminpages/discountcodes.php:510 adminpages/discountcodes.php:511
2079
  #: adminpages/discountcodes.php:512 adminpages/discountcodes.php:517
@@ -2089,7 +2163,7 @@ msgstr ""
2089
  msgid "Membership Expiration"
2090
  msgstr ""
2091
 
2092
- #: adminpages/discountcodes.php:652 adminpages/membershiplevels.php:545
2093
  #: adminpages/discountcodes.php:483 adminpages/discountcodes.php:511
2094
  #: adminpages/discountcodes.php:512 adminpages/discountcodes.php:513
2095
  #: adminpages/discountcodes.php:518 adminpages/discountcodes.php:591
@@ -2105,7 +2179,7 @@ msgstr ""
2105
  msgid "Check this to set when membership access expires."
2106
  msgstr ""
2107
 
2108
- #: adminpages/discountcodes.php:656 adminpages/membershiplevels.php:560
2109
  #: adminpages/discountcodes.php:484 adminpages/discountcodes.php:487
2110
  #: adminpages/discountcodes.php:515 adminpages/discountcodes.php:516
2111
  #: adminpages/discountcodes.php:517 adminpages/discountcodes.php:522
@@ -2121,7 +2195,7 @@ msgstr ""
2121
  msgid "Expires In"
2122
  msgstr ""
2123
 
2124
- #: adminpages/discountcodes.php:669 adminpages/membershiplevels.php:573
2125
  #: adminpages/discountcodes.php:500 adminpages/discountcodes.php:528
2126
  #: adminpages/discountcodes.php:529 adminpages/discountcodes.php:530
2127
  #: adminpages/discountcodes.php:535 adminpages/discountcodes.php:608
@@ -2140,19 +2214,19 @@ msgid ""
2140
  "expires."
2141
  msgstr ""
2142
 
2143
- #: adminpages/discountcodes.php:717 adminpages/discountcodes.php:717
2144
  #: adminpages/discountcodes.php:718
2145
  msgid ""
2146
  "Discount codes allow you to override your membership level's default pricing."
2147
  msgstr ""
2148
 
2149
- #: adminpages/discountcodes.php:728 adminpages/discountcodes.php:700
2150
  #: adminpages/discountcodes.php:728 adminpages/discountcodes.php:729
2151
  #, php-format
2152
  msgid "%d discount codes found."
2153
  msgstr ""
2154
 
2155
- #: adminpages/discountcodes.php:733 adminpages/discountcodes.php:535
2156
  #: adminpages/discountcodes.php:538 adminpages/discountcodes.php:566
2157
  #: adminpages/discountcodes.php:567 adminpages/discountcodes.php:568
2158
  #: adminpages/discountcodes.php:573 adminpages/discountcodes.php:646
@@ -2161,7 +2235,7 @@ msgstr ""
2161
  msgid "Search Discount Codes"
2162
  msgstr ""
2163
 
2164
- #: adminpages/discountcodes.php:736 adminpages/reports/login.php:119
2165
  #: adminpages/discountcodes.php:538 adminpages/discountcodes.php:541
2166
  #: adminpages/discountcodes.php:569 adminpages/discountcodes.php:570
2167
  #: adminpages/discountcodes.php:571 adminpages/discountcodes.php:576
@@ -2173,7 +2247,7 @@ msgstr ""
2173
  msgid "Search"
2174
  msgstr ""
2175
 
2176
- #: adminpages/discountcodes.php:747 adminpages/discountcodes.php:549
2177
  #: adminpages/discountcodes.php:559 adminpages/discountcodes.php:587
2178
  #: adminpages/discountcodes.php:588 adminpages/discountcodes.php:589
2179
  #: adminpages/discountcodes.php:594 adminpages/discountcodes.php:667
@@ -2182,8 +2256,8 @@ msgstr ""
2182
  msgid "Starts"
2183
  msgstr ""
2184
 
2185
- #: adminpages/discountcodes.php:773 adminpages/membershiplevels.php:799
2186
- #: adminpages/orders.php:1332 adminpages/discountcodes.php:765
2187
  #: adminpages/discountcodes.php:766 adminpages/discountcodes.php:767
2188
  #: adminpages/discountcodes.php:773 adminpages/membershiplevels.php:760
2189
  #: adminpages/membershiplevels.php:777 adminpages/membershiplevels.php:782
@@ -2194,8 +2268,8 @@ msgstr ""
2194
  msgid "Edit"
2195
  msgstr ""
2196
 
2197
- #: adminpages/discountcodes.php:776 adminpages/membershiplevels.php:800
2198
- #: adminpages/orders.php:1335 adminpages/discountcodes.php:768
6
  msgstr ""
7
  "Project-Id-Version: paid-memberships-pro\n"
8
  "Report-Msgid-Bugs-To: info@paidmembershipspro.com\n"
9
+ "POT-Creation-Date: 2020-05-01 15:56-0400\n"
10
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11
  "Last-Translator: \n"
12
  "Language-Team: Stranger Studios <info@paidmembershipspro.com>\n"
44
  msgid "Check Again"
45
  msgstr ""
46
 
47
+ #: adminpages/addons.php:94 adminpages/orders.php:994 adminpages/addons.php:76
48
  #: adminpages/addons.php:79 adminpages/addons.php:92 adminpages/addons.php:93
49
  #: adminpages/addons.php:94 adminpages/orders.php:605 adminpages/orders.php:712
50
  #: adminpages/orders.php:741 adminpages/orders.php:850
163
  msgid "Activate %s"
164
  msgstr ""
165
 
166
+ #: adminpages/addons.php:230 adminpages/discountcodes.php:781
167
+ #: adminpages/membershiplevels.php:801 adminpages/orders.php:1353
168
  #: adminpages/addons.php:213 adminpages/addons.php:216
169
  #: adminpages/addons.php:229 adminpages/addons.php:230
170
  #: adminpages/addons.php:231 adminpages/discountcodes.php:771
209
  msgid "WordPress.org"
210
  msgstr ""
211
 
212
+ #: adminpages/addons.php:248 adminpages/orders.php:901
213
+ #: adminpages/orders.php:1445 adminpages/orders.php:1455
214
+ #: includes/profile.php:186 shortcodes/pmpro_account.php:234
215
  #: adminpages/addons.php:231 adminpages/addons.php:234
216
  #: adminpages/addons.php:247 adminpages/addons.php:248
217
  #: adminpages/addons.php:249 adminpages/orders.php:855
426
  msgid "Members"
427
  msgstr ""
428
 
429
+ #: adminpages/admin_header.php:212 adminpages/discountcodes.php:785
430
+ #: classes/class-pmpro-admin-activity-email.php:219 includes/adminpages.php:52
431
+ #: includes/adminpages.php:167 adminpages/admin_header.php:196
432
+ #: adminpages/admin_header.php:197 adminpages/admin_header.php:204
433
+ #: adminpages/admin_header.php:212 adminpages/discountcodes.php:775
434
+ #: adminpages/discountcodes.php:776 adminpages/discountcodes.php:777
435
+ #: adminpages/discountcodes.php:783 adminpages/orders.php:520
436
+ #: adminpages/orders.php:570 adminpages/orders.php:677
437
+ #: adminpages/orders.php:706 adminpages/orders.php:810
438
+ #: adminpages/orders.php:841 adminpages/orders.php:852
439
+ #: adminpages/orders.php:939 adminpages/orders.php:944
440
+ #: adminpages/orders.php:949 adminpages/orders.php:994
441
+ #: includes/adminpages.php:17 includes/adminpages.php:52
442
+ #: includes/adminpages.php:55 includes/adminpages.php:56
443
+ #: includes/adminpages.php:84 includes/adminpages.php:156
444
+ #: includes/adminpages.php:157 includes/adminpages.php:163
445
+ #: includes/adminpages.php:165 includes/adminpages.php:167
446
+ #: includes/adminpages.php:172
447
  msgid "Orders"
448
  msgstr ""
449
 
494
  msgid "License"
495
  msgstr ""
496
 
497
+ #: adminpages/admin_header.php:235 adminpages/discountcodes.php:752
498
  #: adminpages/admin_header.php:215 adminpages/admin_header.php:220
499
  #: adminpages/admin_header.php:227 adminpages/admin_header.php:235
500
  #: adminpages/discountcodes.php:552 adminpages/discountcodes.php:562
505
  msgid "Levels"
506
  msgstr ""
507
 
508
+ #: adminpages/admin_header.php:235 adminpages/pagesettings.php:98
509
+ #: includes/compatibility/beaver-builder.php:130 includes/metaboxes.php:130
510
+ #: adminpages/admin_header.php:128 adminpages/admin_header.php:149
511
+ #: adminpages/admin_header.php:150 adminpages/admin_header.php:159
512
+ #: adminpages/admin_header.php:171 adminpages/admin_header.php:184
513
+ #: adminpages/admin_header.php:215 adminpages/admin_header.php:220
514
+ #: adminpages/admin_header.php:227 adminpages/admin_header.php:235
515
+ #: adminpages/membershiplevels.php:490 adminpages/membershiplevels.php:496
516
+ #: adminpages/membershiplevels.php:498 adminpages/membershiplevels.php:525
517
+ #: adminpages/membershiplevels.php:526 adminpages/membershiplevels.php:569
518
+ #: adminpages/membershiplevels.php:607 adminpages/membershiplevels.php:609
519
+ #: adminpages/membershiplevels.php:618 adminpages/membershiplevels.php:619
520
+ #: adminpages/membershiplevels.php:631 adminpages/membershiplevels.php:641
521
+ #: adminpages/membershiplevels.php:700 adminpages/membershiplevels.php:702
522
+ #: adminpages/membershiplevels.php:728 adminpages/membershiplevels.php:745
523
+ #: adminpages/membershiplevels.php:750 adminpages/membershiplevels.php:755
524
+ #: adminpages/pagesettings.php:69 adminpages/pagesettings.php:70
525
+ #: adminpages/pagesettings.php:71 adminpages/pagesettings.php:85
526
+ #: includes/adminpages.php:44 includes/adminpages.php:64
527
+ #: includes/adminpages.php:65 includes/adminpages.php:69
528
+ #: includes/adminpages.php:70 includes/adminpages.php:100
529
+ #: includes/adminpages.php:107 includes/adminpages.php:111
530
+ #: includes/adminpages.php:116 includes/metaboxes.php:126
531
+ #: includes/metaboxes.php:130 includes/metaboxes.php:131
532
+ #: includes/metaboxes.php:132
533
  msgid "Membership Levels"
534
  msgstr ""
535
 
583
  msgid "Payment Gateway &amp; SSL Settings"
584
  msgstr ""
585
 
586
+ #: adminpages/admin_header.php:251 adminpages/orders.php:376
587
+ #: adminpages/orders.php:1360 includes/profile.php:539
588
+ #: shortcodes/pmpro_account.php:160 adminpages/admin_header.php:131
589
+ #: adminpages/admin_header.php:152 adminpages/admin_header.php:162
590
+ #: adminpages/admin_header.php:171 adminpages/admin_header.php:183
591
+ #: adminpages/admin_header.php:196 adminpages/admin_header.php:231
592
+ #: adminpages/admin_header.php:236 adminpages/admin_header.php:243
593
+ #: adminpages/admin_header.php:251 adminpages/memberslist.php:115
594
+ #: adminpages/memberslist.php:148 adminpages/memberslist.php:158
595
+ #: adminpages/memberslist.php:168 adminpages/memberslist.php:172
596
+ #: adminpages/orders.php:371 adminpages/orders.php:372
597
+ #: adminpages/orders.php:1345 adminpages/orders.php:1350
598
+ #: adminpages/orders.php:1351 adminpages/orders.php:1365 pages/account.php:52
599
+ #: pages/account.php:56 pages/account.php:77 shortcodes/pmpro_account.php:106
600
  #: shortcodes/pmpro_account.php:108 shortcodes/pmpro_account.php:109
601
  #: shortcodes/pmpro_account.php:111
602
  msgid "Email"
640
  msgid "Advanced Settings"
641
  msgstr ""
642
 
643
+ #: adminpages/advancedsettings.php:13 adminpages/discountcodes.php:63
644
+ #: adminpages/discountcodes.php:311 adminpages/emailsettings.php:16
645
  #: adminpages/membershiplevels.php:43 adminpages/pagesettings.php:29
646
+ #: adminpages/pagesettings.php:72 adminpages/paymentsettings.php:19
647
  #: adminpages/advancedsettings.php:13 adminpages/discountcodes.php:58
648
  #: adminpages/discountcodes.php:61 adminpages/discountcodes.php:304
649
  #: adminpages/discountcodes.php:309 adminpages/emailsettings.php:16
652
  msgid "Are you sure you want to do that? Try again."
653
  msgstr ""
654
 
655
+ #: adminpages/advancedsettings.php:67 adminpages/advancedsettings.php:35
656
  #: adminpages/advancedsettings.php:42 adminpages/advancedsettings.php:43
657
  #: adminpages/advancedsettings.php:46 adminpages/advancedsettings.php:60
658
  #: adminpages/advancedsettings.php:61 adminpages/advancedsettings.php:62
659
  msgid "Your advanced settings have been updated."
660
  msgstr ""
661
 
662
+ #: adminpages/advancedsettings.php:104 includes/updates/upgrade_1.php:7
 
 
 
663
  #, php-format
664
  msgid ""
665
+ "This content is for !!levels!! members only.<br /><a href=\"%s\">Join Now</a>"
 
666
  msgstr ""
667
 
668
+ #: adminpages/advancedsettings.php:109
 
 
 
669
  #, php-format
670
  msgid ""
671
+ "This content is for !!levels!! members only.<br /><a href=\"%s\">Log In</a> "
672
+ "<a href=\"%s\">Join Now</a>"
673
  msgstr ""
674
 
675
+ #: adminpages/advancedsettings.php:114 includes/updates/upgrade_1.php:13
676
+ #: adminpages/advancedsettings.php:76 adminpages/advancedsettings.php:78
677
+ #: adminpages/advancedsettings.php:81 adminpages/advancedsettings.php:95
678
+ #: adminpages/advancedsettings.php:97 adminpages/advancedsettings.php:99
679
  msgid ""
680
  "This content is for members only. Visit the site and log in/register to read."
681
  msgstr ""
682
 
683
+ #: adminpages/advancedsettings.php:138
684
+ msgid "WordPress Dashboard"
685
+ msgstr ""
686
+
687
+ #: adminpages/advancedsettings.php:141
688
+ msgid "Block all users with the Subscriber role from accessing the Dashboard."
689
+ msgstr ""
690
+
691
+ #: adminpages/advancedsettings.php:146
692
+ msgid "WordPress Toolbar"
693
+ msgstr ""
694
+
695
+ #: adminpages/advancedsettings.php:149
696
+ msgid "Hide the Toolbar from all users with the Subscriber role."
697
+ msgstr ""
698
+
699
+ #: adminpages/advancedsettings.php:162 adminpages/advancedsettings.php:85
700
  #: adminpages/advancedsettings.php:92 adminpages/advancedsettings.php:94
701
  #: adminpages/advancedsettings.php:97 adminpages/advancedsettings.php:113
702
  #: adminpages/advancedsettings.php:115 adminpages/advancedsettings.php:118
703
  msgid "Message for Logged-in Non-members"
704
  msgstr ""
705
 
706
+ #: adminpages/advancedsettings.php:166 adminpages/advancedsettings.php:89
707
  #: adminpages/advancedsettings.php:96 adminpages/advancedsettings.php:98
708
  #: adminpages/advancedsettings.php:101 adminpages/advancedsettings.php:117
709
  #: adminpages/advancedsettings.php:119 adminpages/advancedsettings.php:122
711
  "This message replaces the post content for non-members. Available variables"
712
  msgstr ""
713
 
714
+ #: adminpages/advancedsettings.php:171 adminpages/advancedsettings.php:94
715
  #: adminpages/advancedsettings.php:101 adminpages/advancedsettings.php:103
716
  #: adminpages/advancedsettings.php:106 adminpages/advancedsettings.php:122
717
  #: adminpages/advancedsettings.php:124 adminpages/advancedsettings.php:127
718
  msgid "Message for Logged-out Users"
719
  msgstr ""
720
 
721
+ #: adminpages/advancedsettings.php:175 adminpages/advancedsettings.php:184
722
+ msgid "Available variables"
723
+ msgstr ""
724
+
725
+ #: adminpages/advancedsettings.php:175 adminpages/advancedsettings.php:98
726
  #: adminpages/advancedsettings.php:105 adminpages/advancedsettings.php:107
727
  #: adminpages/advancedsettings.php:110 adminpages/advancedsettings.php:126
728
  #: adminpages/advancedsettings.php:128 adminpages/advancedsettings.php:131
729
  msgid "This message replaces the post content for logged-out visitors."
730
  msgstr ""
731
 
732
+ #: adminpages/advancedsettings.php:180 adminpages/advancedsettings.php:103
733
  #: adminpages/advancedsettings.php:110 adminpages/advancedsettings.php:112
734
  #: adminpages/advancedsettings.php:115 adminpages/advancedsettings.php:131
735
  #: adminpages/advancedsettings.php:133 adminpages/advancedsettings.php:136
736
  msgid "Message for RSS Feed"
737
  msgstr ""
738
 
739
+ #: adminpages/advancedsettings.php:184 adminpages/advancedsettings.php:107
740
  #: adminpages/advancedsettings.php:114 adminpages/advancedsettings.php:116
741
  #: adminpages/advancedsettings.php:119 adminpages/advancedsettings.php:135
742
  #: adminpages/advancedsettings.php:137 adminpages/advancedsettings.php:140
743
  msgid "This message replaces the post content in RSS feeds."
744
  msgstr ""
745
 
746
+ #: adminpages/advancedsettings.php:197 adminpages/advancedsettings.php:122
747
  #: adminpages/advancedsettings.php:125 adminpages/advancedsettings.php:141
748
  #: adminpages/advancedsettings.php:143 adminpages/advancedsettings.php:148
749
  #: adminpages/advancedsettings.php:151
750
  msgid "Filter searches and archives?"
751
  msgstr ""
752
 
753
+ #: adminpages/advancedsettings.php:201 adminpages/advancedsettings.php:126
754
  #: adminpages/advancedsettings.php:129 adminpages/advancedsettings.php:145
755
  #: adminpages/advancedsettings.php:147 adminpages/advancedsettings.php:152
756
  #: adminpages/advancedsettings.php:155
758
  "No - Non-members will see restricted posts/pages in searches and archives."
759
  msgstr ""
760
 
761
+ #: adminpages/advancedsettings.php:202 adminpages/advancedsettings.php:127
762
  #: adminpages/advancedsettings.php:130 adminpages/advancedsettings.php:146
763
  #: adminpages/advancedsettings.php:148 adminpages/advancedsettings.php:153
764
  #: adminpages/advancedsettings.php:156
766
  "Yes - Only members will see restricted posts/pages in searches and archives."
767
  msgstr ""
768
 
769
+ #: adminpages/advancedsettings.php:208 adminpages/advancedsettings.php:113
770
  #: adminpages/advancedsettings.php:120 adminpages/advancedsettings.php:133
771
  #: adminpages/advancedsettings.php:136 adminpages/advancedsettings.php:152
772
  #: adminpages/advancedsettings.php:154 adminpages/advancedsettings.php:159
774
  msgid "Show Excerpts to Non-Members?"
775
  msgstr ""
776
 
777
+ #: adminpages/advancedsettings.php:212 adminpages/advancedsettings.php:117
778
  #: adminpages/advancedsettings.php:124 adminpages/advancedsettings.php:137
779
  #: adminpages/advancedsettings.php:140 adminpages/advancedsettings.php:156
780
  #: adminpages/advancedsettings.php:158 adminpages/advancedsettings.php:163
782
  msgid "No - Hide excerpts."
783
  msgstr ""
784
 
785
+ #: adminpages/advancedsettings.php:213 adminpages/advancedsettings.php:118
786
  #: adminpages/advancedsettings.php:125 adminpages/advancedsettings.php:138
787
  #: adminpages/advancedsettings.php:141 adminpages/advancedsettings.php:157
788
  #: adminpages/advancedsettings.php:159 adminpages/advancedsettings.php:164
790
  msgid "Yes - Show excerpts."
791
  msgstr ""
792
 
793
+ #: adminpages/advancedsettings.php:227 adminpages/advancedsettings.php:218
794
+ #: adminpages/advancedsettings.php:225 adminpages/advancedsettings.php:238
795
+ #: adminpages/advancedsettings.php:241 adminpages/advancedsettings.php:257
796
+ #: adminpages/advancedsettings.php:266 adminpages/advancedsettings.php:290
797
+ #: adminpages/advancedsettings.php:308
798
+ msgid "Require Terms of Service on signups?"
799
+ msgstr ""
800
+
801
+ #: adminpages/advancedsettings.php:234 adminpages/advancedsettings.php:225
802
+ #: adminpages/advancedsettings.php:232 adminpages/advancedsettings.php:245
803
+ #: adminpages/advancedsettings.php:248 adminpages/advancedsettings.php:264
804
+ #: adminpages/advancedsettings.php:273 adminpages/advancedsettings.php:297
805
+ #: adminpages/advancedsettings.php:315
806
+ msgid ""
807
+ "If yes, create a WordPress page containing your TOS agreement and assign it "
808
+ "using the dropdown above."
809
+ msgstr ""
810
+
811
+ #: adminpages/advancedsettings.php:239 adminpages/advancedsettings.php:176
812
  #: adminpages/advancedsettings.php:179 adminpages/advancedsettings.php:195
813
  #: adminpages/advancedsettings.php:202 adminpages/advancedsettings.php:215
814
  #: adminpages/advancedsettings.php:218 adminpages/advancedsettings.php:234
816
  msgid "Use reCAPTCHA?"
817
  msgstr ""
818
 
819
+ #: adminpages/advancedsettings.php:243 adminpages/advancedsettings.php:335
820
+ #: adminpages/advancedsettings.php:392 adminpages/membershiplevels.php:818
821
  #: adminpages/paymentsettings.php:257
822
+ #: classes/gateways/class.pmprogateway_stripe.php:321
823
+ #: includes/compatibility/beaver-builder.php:43
824
+ #: includes/compatibility/beaver-builder.php:137 includes/profile.php:120
825
  #: adminpages/advancedsettings.php:128 adminpages/advancedsettings.php:135
826
  #: adminpages/advancedsettings.php:148 adminpages/advancedsettings.php:151
827
  #: adminpages/advancedsettings.php:167 adminpages/advancedsettings.php:169
874
  msgid "No"
875
  msgstr ""
876
 
877
+ #: adminpages/advancedsettings.php:244 adminpages/advancedsettings.php:181
878
  #: adminpages/advancedsettings.php:184 adminpages/advancedsettings.php:200
879
  #: adminpages/advancedsettings.php:207 adminpages/advancedsettings.php:220
880
  #: adminpages/advancedsettings.php:223 adminpages/advancedsettings.php:239
882
  msgid "Yes - Free memberships only."
883
  msgstr ""
884
 
885
+ #: adminpages/advancedsettings.php:245 adminpages/advancedsettings.php:182
886
  #: adminpages/advancedsettings.php:185 adminpages/advancedsettings.php:201
887
  #: adminpages/advancedsettings.php:208 adminpages/advancedsettings.php:221
888
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:240
890
  msgid "Yes - All memberships."
891
  msgstr ""
892
 
893
+ #: adminpages/advancedsettings.php:247 adminpages/advancedsettings.php:184
894
  #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:203
895
  #: adminpages/advancedsettings.php:210 adminpages/advancedsettings.php:223
896
  #: adminpages/advancedsettings.php:226 adminpages/advancedsettings.php:242
898
  msgid "A free reCAPTCHA key is required."
899
  msgstr ""
900
 
901
+ #: adminpages/advancedsettings.php:247 adminpages/advancedsettings.php:184
902
  #: adminpages/advancedsettings.php:187 adminpages/advancedsettings.php:203
903
  #: adminpages/advancedsettings.php:210 adminpages/advancedsettings.php:223
904
  #: adminpages/advancedsettings.php:226 adminpages/advancedsettings.php:242
906
  msgid "Click here to signup for reCAPTCHA"
907
  msgstr ""
908
 
909
+ #: adminpages/advancedsettings.php:255 adminpages/advancedsettings.php:192
910
  #: adminpages/advancedsettings.php:195 adminpages/advancedsettings.php:250
911
  msgid "reCAPTCHA Version"
912
  msgstr ""
913
 
914
+ #: adminpages/advancedsettings.php:258 adminpages/advancedsettings.php:195
915
  #: adminpages/advancedsettings.php:198 adminpages/advancedsettings.php:252
916
  msgid " v2 - Checkbox"
917
  msgstr ""
918
 
919
+ #: adminpages/advancedsettings.php:259 adminpages/advancedsettings.php:196
920
  #: adminpages/advancedsettings.php:199 adminpages/advancedsettings.php:253
921
  msgid "v3 - Invisible"
922
  msgstr ""
923
 
924
+ #: adminpages/advancedsettings.php:261 adminpages/advancedsettings.php:198
925
  #: adminpages/advancedsettings.php:201 adminpages/advancedsettings.php:255
926
  msgid "Changing your version will require new API keys."
927
  msgstr ""
928
 
929
+ #: adminpages/advancedsettings.php:265 adminpages/advancedsettings.php:202
930
  #: adminpages/advancedsettings.php:205 adminpages/advancedsettings.php:248
931
  #: adminpages/advancedsettings.php:257
932
  msgid "reCAPTCHA Site Key"
933
  msgstr ""
934
 
935
+ #: adminpages/advancedsettings.php:271 adminpages/advancedsettings.php:208
936
  #: adminpages/advancedsettings.php:211 adminpages/advancedsettings.php:251
937
  #: adminpages/advancedsettings.php:260
938
  msgid "reCAPTCHA Secret Key"
939
  msgstr ""
940
 
941
+ #: adminpages/advancedsettings.php:284 adminpages/advancedsettings.php:246
942
+ msgid "Notifications"
943
+ msgstr ""
944
+
945
+ #: adminpages/advancedsettings.php:288 adminpages/advancedsettings.php:250
946
+ msgid "Show all notifications."
947
+ msgstr ""
948
+
949
+ #: adminpages/advancedsettings.php:291 adminpages/advancedsettings.php:253
950
+ msgid "Show only security notifications."
951
+ msgstr ""
952
+
953
+ #: adminpages/advancedsettings.php:295 adminpages/advancedsettings.php:257
954
+ msgid ""
955
+ "Notifications are occasionally shown on the Paid Memberships Pro settings "
956
+ "pages."
957
+ msgstr ""
958
+
959
+ #: adminpages/advancedsettings.php:300
960
+ msgid "Activity Email Frequency"
961
+ msgstr ""
962
+
963
+ #: adminpages/advancedsettings.php:305 adminpages/reports/memberships.php:351
964
+ #: adminpages/reports/sales.php:290 adminpages/reports/memberships.php:258
965
+ #: adminpages/reports/memberships.php:265
966
+ #: adminpages/reports/memberships.php:278
967
+ #: adminpages/reports/memberships.php:294
968
+ #: adminpages/reports/memberships.php:306
969
+ #: adminpages/reports/memberships.php:330
970
+ #: adminpages/reports/memberships.php:351 adminpages/reports/sales.php:187
971
+ #: adminpages/reports/sales.php:195 adminpages/reports/sales.php:196
972
+ #: adminpages/reports/sales.php:204 adminpages/reports/sales.php:205
973
+ #: adminpages/reports/sales.php:221 adminpages/reports/sales.php:290
974
+ msgid "Daily"
975
+ msgstr ""
976
+
977
+ #: adminpages/advancedsettings.php:308
978
+ msgid "Weekly"
979
+ msgstr ""
980
+
981
+ #: adminpages/advancedsettings.php:311 adminpages/reports/memberships.php:352
982
+ #: adminpages/reports/sales.php:291 adminpages/reports/memberships.php:259
983
+ #: adminpages/reports/memberships.php:266
984
+ #: adminpages/reports/memberships.php:279
985
+ #: adminpages/reports/memberships.php:295
986
+ #: adminpages/reports/memberships.php:307
987
+ #: adminpages/reports/memberships.php:331
988
+ #: adminpages/reports/memberships.php:352 adminpages/reports/sales.php:188
989
+ #: adminpages/reports/sales.php:196 adminpages/reports/sales.php:197
990
+ #: adminpages/reports/sales.php:205 adminpages/reports/sales.php:206
991
+ #: adminpages/reports/sales.php:222 adminpages/reports/sales.php:291
992
+ msgid "Monthly"
993
+ msgstr ""
994
+
995
+ #: adminpages/advancedsettings.php:314 includes/privacy.php:175
996
+ #: adminpages/memberslist.php:184 adminpages/memberslist.php:212
997
+ #: includes/privacy.php:175
998
+ msgid "Never"
999
+ msgstr ""
1000
+
1001
+ #: adminpages/advancedsettings.php:318
1002
+ msgid ""
1003
+ "Send periodic sales and revenue updates from this site to the administration "
1004
+ "email address."
1005
+ msgstr ""
1006
+
1007
+ #: adminpages/advancedsettings.php:331 adminpages/advancedsettings.php:144
1008
  #: adminpages/advancedsettings.php:147 adminpages/advancedsettings.php:163
1009
  #: adminpages/advancedsettings.php:165 adminpages/advancedsettings.php:221
1010
  #: adminpages/advancedsettings.php:224
1011
  msgid "Hide Ads From Members?"
1012
  msgstr ""
1013
 
1014
+ #: adminpages/advancedsettings.php:336 adminpages/advancedsettings.php:129
1015
  #: adminpages/advancedsettings.php:136 adminpages/advancedsettings.php:149
1016
  #: adminpages/advancedsettings.php:152 adminpages/advancedsettings.php:168
1017
  #: adminpages/advancedsettings.php:170 adminpages/advancedsettings.php:226
1019
  msgid "Hide Ads From All Members"
1020
  msgstr ""
1021
 
1022
+ #: adminpages/advancedsettings.php:337 adminpages/advancedsettings.php:130
1023
  #: adminpages/advancedsettings.php:137 adminpages/advancedsettings.php:150
1024
  #: adminpages/advancedsettings.php:153 adminpages/advancedsettings.php:169
1025
  #: adminpages/advancedsettings.php:171 adminpages/advancedsettings.php:227
1027
  msgid "Hide Ads From Certain Members"
1028
  msgstr ""
1029
 
1030
+ #: adminpages/advancedsettings.php:344 adminpages/advancedsettings.php:137
1031
  #: adminpages/advancedsettings.php:144 adminpages/advancedsettings.php:157
1032
  #: adminpages/advancedsettings.php:160 adminpages/advancedsettings.php:176
1033
  #: adminpages/advancedsettings.php:178 adminpages/advancedsettings.php:234
1035
  msgid "Ads from the following plugins will be automatically turned off"
1036
  msgstr ""
1037
 
1038
+ #: adminpages/advancedsettings.php:345 adminpages/advancedsettings.php:138
1039
  #: adminpages/advancedsettings.php:145 adminpages/advancedsettings.php:158
1040
  #: adminpages/advancedsettings.php:161 adminpages/advancedsettings.php:177
1041
  #: adminpages/advancedsettings.php:179 adminpages/advancedsettings.php:235
1043
  msgid "To hide ads in your template code, use code like the following"
1044
  msgstr ""
1045
 
1046
+ #: adminpages/advancedsettings.php:354 adminpages/advancedsettings.php:149
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1047
  #: adminpages/advancedsettings.php:156 adminpages/advancedsettings.php:169
1048
  #: adminpages/advancedsettings.php:172 adminpages/advancedsettings.php:188
1049
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:244
1051
  msgid "Choose Levels to Hide Ads From"
1052
  msgstr ""
1053
 
1054
+ #: adminpages/advancedsettings.php:388 adminpages/advancedsettings.php:183
1055
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:203
1056
  #: adminpages/advancedsettings.php:206 adminpages/advancedsettings.php:222
1057
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:278
1059
  msgid "Redirect all traffic from registration page to /susbcription/?"
1060
  msgstr ""
1061
 
1062
+ #: adminpages/advancedsettings.php:388 adminpages/advancedsettings.php:183
1063
  #: adminpages/advancedsettings.php:190 adminpages/advancedsettings.php:203
1064
  #: adminpages/advancedsettings.php:206 adminpages/advancedsettings.php:222
1065
  #: adminpages/advancedsettings.php:224 adminpages/advancedsettings.php:278
1067
  msgid "multisite only"
1068
  msgstr ""
1069
 
1070
+ #: adminpages/advancedsettings.php:393 adminpages/membershiplevels.php:818
1071
  #: adminpages/paymentsettings.php:258
1072
+ #: classes/gateways/class.pmprogateway_stripe.php:323
1073
+ #: includes/compatibility/beaver-builder.php:42
1074
+ #: includes/compatibility/beaver-builder.php:136 includes/profile.php:121
1075
  #: adminpages/advancedsettings.php:188 adminpages/advancedsettings.php:195
1076
  #: adminpages/advancedsettings.php:208 adminpages/advancedsettings.php:211
1077
  #: adminpages/advancedsettings.php:227 adminpages/advancedsettings.php:229
1117
  msgid "Yes"
1118
  msgstr ""
1119
 
1120
+ #: adminpages/advancedsettings.php:507 adminpages/pagesettings.php:439
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1121
  #: adminpages/paymentsettings.php:288 adminpages/advancedsettings.php:284
1122
  #: adminpages/advancedsettings.php:355 adminpages/advancedsettings.php:359
1123
  #: adminpages/advancedsettings.php:368 adminpages/advancedsettings.php:375
1220
  "that you may use the software on this site or any other site free of charge."
1221
  msgstr ""
1222
 
1223
+ #: adminpages/dashboard.php:215 adminpages/orders.php:1313
1224
+ #: adminpages/reports/login.php:179 classes/class.memberorder.php:870
1225
+ #: pages/checkout.php:118 shortcodes/pmpro_account.php:159
1226
  #: adminpages/dashboard.php:215 adminpages/dashboard.php:223
1227
  #: adminpages/memberslist.php:112 adminpages/memberslist.php:145
1228
  #: adminpages/memberslist.php:155 adminpages/memberslist.php:165
1239
  msgstr ""
1240
 
1241
  #: adminpages/dashboard.php:216 adminpages/dashboard.php:284
1242
+ #: adminpages/orders.php:1315 adminpages/reports/login.php:181
1243
  #: includes/privacy.php:241 pages/billing.php:57 pages/cancel.php:60
1244
+ #: pages/invoice.php:104 pages/levels.php:35 shortcodes/pmpro_account.php:42
1245
+ #: shortcodes/pmpro_account.php:204 adminpages/dashboard.php:216
1246
  #: adminpages/dashboard.php:284 adminpages/dashboard.php:292
1247
  #: adminpages/memberslist.php:175 adminpages/orders.php:1300
1248
  #: adminpages/orders.php:1306 adminpages/reports/login.php:181
1250
  #: pages/account.php:92 pages/billing.php:16 pages/billing.php:25
1251
  #: pages/billing.php:27 pages/billing.php:28 pages/billing.php:30
1252
  #: pages/billing.php:41 pages/billing.php:44 pages/billing.php:45
1253
+ #: pages/billing.php:49 pages/billing.php:50 pages/billing.php:57
1254
+ #: pages/cancel.php:52 pages/cancel.php:60 pages/cancel.php:61
1255
+ #: pages/invoice.php:89 pages/invoice.php:101 pages/invoice.php:102
1256
+ #: pages/invoice.php:103 pages/invoice.php:104 pages/invoice.php:109
1257
+ #: pages/levels.php:13 pages/levels.php:35 shortcodes/pmpro_account.php:43
1258
+ #: shortcodes/pmpro_account.php:44 shortcodes/pmpro_account.php:123
1259
+ #: shortcodes/pmpro_account.php:125 shortcodes/pmpro_account.php:126
1260
+ #: shortcodes/pmpro_account.php:128
1261
  msgid "Level"
1262
  msgstr ""
1263
 
1271
  msgid "Joined"
1272
  msgstr ""
1273
 
1274
+ #: adminpages/dashboard.php:218 adminpages/discountcodes.php:750
1275
+ #: adminpages/reports/login.php:183 includes/profile.php:117
1276
  #: adminpages/dashboard.php:218 adminpages/dashboard.php:226
1277
  #: adminpages/discountcodes.php:550 adminpages/discountcodes.php:560
1278
  #: adminpages/discountcodes.php:588 adminpages/discountcodes.php:589
1291
  msgstr ""
1292
 
1293
  #: adminpages/dashboard.php:224 adminpages/reports/login.php:261
1294
+ #: classes/class-pmpro-members-list-table.php:226 adminpages/dashboard.php:224
1295
  #: adminpages/dashboard.php:232 adminpages/memberslist.php:195
1296
  #: adminpages/memberslist.php:223 adminpages/memberslist.php:251
1297
  #: adminpages/memberslist.php:261 adminpages/memberslist.php:262
1299
  #: adminpages/memberslist.php:272 adminpages/reports/login.php:210
1300
  #: adminpages/reports/login.php:212 adminpages/reports/login.php:228
1301
  #: adminpages/reports/login.php:232 adminpages/reports/login.php:261
1302
+ #: classes/class-pmpro-members-list-table.php:252
1303
  #: classes/class-pmpro-members-list-table.php:257
1304
  msgid "No members found."
1305
  msgstr ""
1306
 
1307
+ #: adminpages/dashboard.php:282 adminpages/discountcodes.php:449
1308
+ #: adminpages/discountcodes.php:748 adminpages/orders.php:413
1309
+ #: adminpages/orders.php:1312 adminpages/dashboard.php:282
1310
  #: adminpages/dashboard.php:290 adminpages/discountcodes.php:311
1311
  #: adminpages/discountcodes.php:314 adminpages/discountcodes.php:315
1312
  #: adminpages/discountcodes.php:316 adminpages/discountcodes.php:321
1350
  msgid "User"
1351
  msgstr ""
1352
 
1353
+ #: adminpages/dashboard.php:285 adminpages/orders.php:627
1354
+ #: adminpages/orders.php:1316 adminpages/templates/orders-email.php:64
1355
  #: adminpages/templates/orders-print.php:93 includes/privacy.php:285
1356
  #: pages/confirmation.php:98 pages/invoice.php:80 adminpages/dashboard.php:285
1357
  #: adminpages/dashboard.php:293 adminpages/orders.php:320
1369
  #: adminpages/orders.php:1312 adminpages/orders.php:1357
1370
  #: adminpages/templates/orders-email.php:64
1371
  #: adminpages/templates/orders-print.php:93 includes/privacy.php:285
1372
+ #: pages/confirmation.php:95 pages/confirmation.php:96
1373
+ #: pages/confirmation.php:98 pages/invoice.php:77 pages/invoice.php:78
1374
+ #: pages/invoice.php:79 pages/invoice.php:80 pages/invoice.php:82
1375
  #: pages/invoice.php:84
1376
  msgid "Total"
1377
  msgstr ""
1378
 
1379
+ #: adminpages/dashboard.php:286 adminpages/orders.php:710
1380
+ #: adminpages/orders.php:1320 includes/privacy.php:202 includes/privacy.php:309
1381
+ #: pages/invoice.php:27 shortcodes/pmpro_account.php:206
1382
  #: adminpages/dashboard.php:286 adminpages/dashboard.php:294
1383
  #: adminpages/orders.php:373 adminpages/orders.php:423
1384
  #: adminpages/orders.php:495 adminpages/orders.php:524
1397
  msgid "Status"
1398
  msgstr ""
1399
 
1400
+ #: adminpages/dashboard.php:287 adminpages/orders.php:811
1401
+ #: adminpages/orders.php:1321 pages/invoice.php:102
1402
+ #: shortcodes/pmpro_account.php:203 adminpages/dashboard.php:287
1403
  #: adminpages/dashboard.php:295 adminpages/orders.php:442
1404
  #: adminpages/orders.php:492 adminpages/orders.php:493
1405
  #: adminpages/orders.php:565 adminpages/orders.php:594
1415
  #: adminpages/orders.php:1312 adminpages/orders.php:1317
1416
  #: adminpages/orders.php:1362 pages/account.php:91 pages/invoice.php:87
1417
  #: pages/invoice.php:99 pages/invoice.php:100 pages/invoice.php:101
1418
+ #: pages/invoice.php:102 pages/invoice.php:105 pages/invoice.php:107
1419
+ #: shortcodes/pmpro_account.php:122 shortcodes/pmpro_account.php:124
1420
+ #: shortcodes/pmpro_account.php:125 shortcodes/pmpro_account.php:127
1421
  msgid "Date"
1422
  msgstr ""
1423
 
1424
+ #: adminpages/dashboard.php:294 adminpages/orders.php:1478
1425
  #: adminpages/dashboard.php:294 adminpages/dashboard.php:302
1426
  #: adminpages/orders.php:674 adminpages/orders.php:977
1427
  #: adminpages/orders.php:995 adminpages/orders.php:1005
1434
  msgid "No orders found."
1435
  msgstr ""
1436
 
1437
+ #: adminpages/dashboard.php:311 adminpages/dashboard.php:326
1438
+ #: adminpages/orders.php:1384 adminpages/orders.php:1396
1439
  #: adminpages/dashboard.php:311 adminpages/dashboard.php:319
1440
  #: adminpages/orders.php:630 adminpages/orders.php:933
1441
  #: adminpages/orders.php:943 adminpages/orders.php:972
1447
  msgid "deleted"
1448
  msgstr ""
1449
 
1450
+ #: adminpages/dashboard.php:313 adminpages/dashboard.php:328
1451
+ #: adminpages/orders.php:1386 adminpages/orders.php:1398
1452
  #: adminpages/dashboard.php:313 adminpages/dashboard.php:321
1453
  #: adminpages/orders.php:1275 adminpages/orders.php:1347
1454
  #: adminpages/orders.php:1371 adminpages/orders.php:1376
1456
  msgid "none"
1457
  msgstr ""
1458
 
1459
+ #: adminpages/dashboard.php:383
1460
+ #: classes/class-pmpro-admin-activity-email.php:344
1461
+ #: adminpages/dashboard.php:372 adminpages/dashboard.php:377
1462
+ #: adminpages/dashboard.php:380
1463
  msgid "No news found."
1464
  msgstr ""
1465
 
1466
+ #: adminpages/dashboard.php:389 adminpages/dashboard.php:378
1467
  #: adminpages/dashboard.php:383 adminpages/dashboard.php:386
1468
  #, php-format
1469
  msgid "Posted %s"
1470
  msgstr ""
1471
 
1472
+ #: adminpages/discountcodes.php:107 adminpages/discountcodes.php:64
1473
  #: adminpages/discountcodes.php:65 adminpages/discountcodes.php:70
1474
  #: adminpages/discountcodes.php:71 adminpages/discountcodes.php:102
1475
  #: adminpages/discountcodes.php:105
1476
  msgid "Discount code added successfully."
1477
  msgstr ""
1478
 
1479
+ #: adminpages/discountcodes.php:113 adminpages/discountcodes.php:48
1480
  #: adminpages/discountcodes.php:49 adminpages/discountcodes.php:54
1481
  #: adminpages/discountcodes.php:77 adminpages/discountcodes.php:108
1482
  #: adminpages/discountcodes.php:111
1483
  msgid "Discount code updated successfully."
1484
  msgstr ""
1485
 
1486
+ #: adminpages/discountcodes.php:121 adminpages/discountcodes.php:71
1487
  #: adminpages/discountcodes.php:72 adminpages/discountcodes.php:73
1488
  #: adminpages/discountcodes.php:78 adminpages/discountcodes.php:85
1489
  #: adminpages/discountcodes.php:116 adminpages/discountcodes.php:119
1490
  msgid "Error adding discount code. That code may already be in use."
1491
  msgstr ""
1492
 
1493
+ #: adminpages/discountcodes.php:125 adminpages/discountcodes.php:55
1494
  #: adminpages/discountcodes.php:56 adminpages/discountcodes.php:61
1495
  #: adminpages/discountcodes.php:89 adminpages/discountcodes.php:120
1496
  #: adminpages/discountcodes.php:123
1497
  msgid "Error updating discount code. That code may already be in use."
1498
  msgstr ""
1499
 
1500
+ #: adminpages/discountcodes.php:287 adminpages/discountcodes.php:196
1501
  #: adminpages/discountcodes.php:197 adminpages/discountcodes.php:198
1502
  #: adminpages/discountcodes.php:203 adminpages/discountcodes.php:247
1503
  #: adminpages/discountcodes.php:280 adminpages/discountcodes.php:285
1505
  msgid "Error saving values for the %s level."
1506
  msgstr ""
1507
 
1508
+ #: adminpages/discountcodes.php:295 adminpages/discountcodes.php:204
1509
  #: adminpages/discountcodes.php:205 adminpages/discountcodes.php:206
1510
  #: adminpages/discountcodes.php:211 adminpages/discountcodes.php:255
1511
  #: adminpages/discountcodes.php:288 adminpages/discountcodes.php:293
1512
  msgid "There were errors updating the level values: "
1513
  msgstr ""
1514
 
1515
+ #: adminpages/discountcodes.php:335 adminpages/discountcodes.php:234
1516
  #: adminpages/discountcodes.php:237 adminpages/discountcodes.php:238
1517
  #: adminpages/discountcodes.php:239 adminpages/discountcodes.php:244
1518
  #: adminpages/discountcodes.php:288 adminpages/discountcodes.php:328
1521
  msgid "Code %s deleted successfully."
1522
  msgstr ""
1523
 
1524
+ #: adminpages/discountcodes.php:340 adminpages/discountcodes.php:239
1525
  #: adminpages/discountcodes.php:242 adminpages/discountcodes.php:243
1526
  #: adminpages/discountcodes.php:244 adminpages/discountcodes.php:249
1527
  #: adminpages/discountcodes.php:293 adminpages/discountcodes.php:333
1531
  "try again."
1532
  msgstr ""
1533
 
1534
+ #: adminpages/discountcodes.php:346 adminpages/discountcodes.php:245
1535
  #: adminpages/discountcodes.php:248 adminpages/discountcodes.php:249
1536
  #: adminpages/discountcodes.php:250 adminpages/discountcodes.php:255
1537
  #: adminpages/discountcodes.php:299 adminpages/discountcodes.php:339
1539
  msgid "Error deleting code. Please try again."
1540
  msgstr ""
1541
 
1542
+ #: adminpages/discountcodes.php:352 adminpages/discountcodes.php:251
1543
  #: adminpages/discountcodes.php:254 adminpages/discountcodes.php:255
1544
  #: adminpages/discountcodes.php:256 adminpages/discountcodes.php:261
1545
  #: adminpages/discountcodes.php:305 adminpages/discountcodes.php:345
1547
  msgid "Code not found."
1548
  msgstr ""
1549
 
1550
+ #: adminpages/discountcodes.php:358 adminpages/membershiplevels.php:169
1551
  #: adminpages/discountcodes.php:356 adminpages/membershiplevels.php:169
1552
  #, php-format
1553
  msgid ""
1557
  "information, <a target=\"_blank\" href=\"%s\">see our post here</a>."
1558
  msgstr ""
1559
 
1560
+ #: adminpages/discountcodes.php:373 adminpages/discountcodes.php:264
1561
  #: adminpages/discountcodes.php:267 adminpages/discountcodes.php:268
1562
  #: adminpages/discountcodes.php:269 adminpages/discountcodes.php:274
1563
  #: adminpages/discountcodes.php:318 adminpages/discountcodes.php:358
1565
  msgid "Edit Discount Code"
1566
  msgstr ""
1567
 
1568
+ #: adminpages/discountcodes.php:375 adminpages/discountcodes.php:266
1569
  #: adminpages/discountcodes.php:269 adminpages/discountcodes.php:270
1570
  #: adminpages/discountcodes.php:271 adminpages/discountcodes.php:276
1571
  #: adminpages/discountcodes.php:320 adminpages/discountcodes.php:360
1577
  msgid "Add New Discount Code"
1578
  msgstr ""
1579
 
1580
+ #: adminpages/discountcodes.php:444 adminpages/discountcodes.php:747
1581
  #: adminpages/membershiplevels.php:347 adminpages/membershiplevels.php:773
1582
+ #: adminpages/orders.php:1311 adminpages/reports/login.php:178
1583
  #: adminpages/templates/orders-email.php:46
1584
  #: adminpages/templates/orders-print.php:75 adminpages/discountcodes.php:306
1585
  #: adminpages/discountcodes.php:309 adminpages/discountcodes.php:310
1621
  msgid "ID"
1622
  msgstr ""
1623
 
1624
+ #: adminpages/discountcodes.php:445 adminpages/orders.php:406
1625
  #: adminpages/discountcodes.php:307 adminpages/discountcodes.php:310
1626
  #: adminpages/discountcodes.php:311 adminpages/discountcodes.php:312
1627
  #: adminpages/discountcodes.php:317 adminpages/discountcodes.php:382
1635
  msgid "This will be generated when you save."
1636
  msgstr ""
1637
 
1638
+ #: adminpages/discountcodes.php:487 includes/privacy.php:186
1639
  #: adminpages/discountcodes.php:349 adminpages/discountcodes.php:352
1640
  #: adminpages/discountcodes.php:353 adminpages/discountcodes.php:354
1641
  #: adminpages/discountcodes.php:359 adminpages/discountcodes.php:424
1644
  msgid "Start Date"
1645
  msgstr ""
1646
 
1647
+ #: adminpages/discountcodes.php:505
1648
  #: classes/gateways/class.pmprogateway_braintree.php:479
1649
+ #: classes/gateways/class.pmprogateway_stripe.php:573 pages/billing.php:339
1650
  #: pages/checkout.php:389 adminpages/discountcodes.php:367
1651
  #: adminpages/discountcodes.php:370 adminpages/discountcodes.php:371
1652
  #: adminpages/discountcodes.php:372 adminpages/discountcodes.php:377
1690
  #: pages/billing.php:253 pages/billing.php:262 pages/billing.php:265
1691
  #: pages/billing.php:268 pages/billing.php:310 pages/billing.php:313
1692
  #: pages/billing.php:316 pages/billing.php:317 pages/billing.php:319
1693
+ #: pages/billing.php:321 pages/billing.php:322 pages/billing.php:330
1694
+ #: pages/billing.php:342 pages/checkout.php:389 pages/checkout.php:463
1695
+ #: pages/checkout.php:471 pages/checkout.php:508 pages/checkout.php:524
1696
+ #: pages/checkout.php:525 pages/checkout.php:532 pages/checkout.php:553
1697
+ #: pages/checkout.php:562 pages/checkout.php:571 pages/checkout.php:575
1698
+ #: pages/checkout.php:582 pages/checkout.php:585
1699
  msgid "Expiration Date"
1700
  msgstr ""
1701
 
1702
+ #: adminpages/discountcodes.php:523 adminpages/discountcodes.php:751
1703
  #: adminpages/discountcodes.php:385 adminpages/discountcodes.php:388
1704
  #: adminpages/discountcodes.php:389 adminpages/discountcodes.php:390
1705
  #: adminpages/discountcodes.php:395 adminpages/discountcodes.php:460
1712
  msgid "Uses"
1713
  msgstr ""
1714
 
1715
+ #: adminpages/discountcodes.php:526 adminpages/discountcodes.php:388
1716
  #: adminpages/discountcodes.php:391 adminpages/discountcodes.php:392
1717
  #: adminpages/discountcodes.php:393 adminpages/discountcodes.php:398
1718
  #: adminpages/discountcodes.php:463 adminpages/discountcodes.php:504
1720
  msgid "Leave blank for unlimited uses."
1721
  msgstr ""
1722
 
1723
+ #: adminpages/discountcodes.php:535 adminpages/discountcodes.php:400
1724
  #: adminpages/discountcodes.php:401 adminpages/discountcodes.php:402
1725
  #: adminpages/discountcodes.php:407 adminpages/discountcodes.php:472
1726
  #: adminpages/discountcodes.php:513 adminpages/discountcodes.php:533
1727
  msgid "Which Levels Will This Code Apply To?"
1728
  msgstr ""
1729
 
1730
+ #: adminpages/discountcodes.php:573 adminpages/membershiplevels.php:401
1731
  #: adminpages/discountcodes.php:427 adminpages/discountcodes.php:430
1732
  #: adminpages/discountcodes.php:431 adminpages/discountcodes.php:432
1733
  #: adminpages/discountcodes.php:437 adminpages/discountcodes.php:510
1742
  msgid "Initial Payment"
1743
  msgstr ""
1744
 
1745
+ #: adminpages/discountcodes.php:584 adminpages/membershiplevels.php:412
1746
  #: adminpages/discountcodes.php:428 adminpages/discountcodes.php:431
1747
  #: adminpages/discountcodes.php:441 adminpages/discountcodes.php:442
1748
  #: adminpages/discountcodes.php:443 adminpages/discountcodes.php:448
1756
  msgid "The initial amount collected at registration."
1757
  msgstr ""
1758
 
1759
+ #: adminpages/discountcodes.php:589 adminpages/membershiplevels.php:417
1760
  #: adminpages/discountcodes.php:432 adminpages/discountcodes.php:435
1761
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:447
1762
  #: adminpages/discountcodes.php:448 adminpages/discountcodes.php:453
1770
  msgid "Recurring Subscription"
1771
  msgstr ""
1772
 
1773
+ #: adminpages/discountcodes.php:590 adminpages/membershiplevels.php:418
1774
  #: adminpages/discountcodes.php:433 adminpages/discountcodes.php:436
1775
  #: adminpages/discountcodes.php:447 adminpages/discountcodes.php:448
1776
  #: adminpages/discountcodes.php:449 adminpages/discountcodes.php:454
1784
  msgid "Check if this level has a recurring subscription payment."
1785
  msgstr ""
1786
 
1787
+ #: adminpages/discountcodes.php:594 adminpages/membershiplevels.php:422
1788
  #: adminpages/discountcodes.php:440 adminpages/discountcodes.php:451
1789
  #: adminpages/discountcodes.php:452 adminpages/discountcodes.php:453
1790
  #: adminpages/discountcodes.php:458 adminpages/discountcodes.php:531
1798
  msgid "Billing Amount"
1799
  msgstr ""
1800
 
1801
+ #: adminpages/discountcodes.php:605 adminpages/membershiplevels.php:433
1802
  #: classes/gateways/class.pmprogateway_stripe.php:750
1803
  #: adminpages/discountcodes.php:603 adminpages/membershiplevels.php:349
1804
  #: adminpages/membershiplevels.php:351 adminpages/membershiplevels.php:370
1830
  msgid "per"
1831
  msgstr ""
1832
 
1833
+ #: adminpages/discountcodes.php:609 adminpages/discountcodes.php:663
1834
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1835
  #: classes/gateways/class.pmprogateway_stripe.php:616
1836
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
1878
  msgid "Day(s)"
1879
  msgstr ""
1880
 
1881
+ #: adminpages/discountcodes.php:609 adminpages/discountcodes.php:663
1882
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1883
  #: classes/gateways/class.pmprogateway_stripe.php:618
1884
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
1926
  msgid "Month(s)"
1927
  msgstr ""
1928
 
1929
+ #: adminpages/discountcodes.php:609 adminpages/discountcodes.php:663
1930
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1931
  #: classes/gateways/class.pmprogateway_stripe.php:617
1932
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
1974
  msgid "Week(s)"
1975
  msgstr ""
1976
 
1977
+ #: adminpages/discountcodes.php:609 adminpages/discountcodes.php:663
1978
  #: adminpages/membershiplevels.php:437 adminpages/membershiplevels.php:565
1979
  #: classes/gateways/class.pmprogateway_stripe.php:619
1980
  #: adminpages/discountcodes.php:446 adminpages/discountcodes.php:466
2022
  msgid "Year(s)"
2023
  msgstr ""
2024
 
2025
+ #: adminpages/discountcodes.php:617 adminpages/membershiplevels.php:446
2026
  #: adminpages/discountcodes.php:451 adminpages/discountcodes.php:454
2027
  #: adminpages/discountcodes.php:474 adminpages/discountcodes.php:475
2028
  #: adminpages/discountcodes.php:476 adminpages/discountcodes.php:481
2036
  msgid "The amount to be billed one cycle after the initial payment."
2037
  msgstr ""
2038
 
2039
+ #: adminpages/discountcodes.php:622 adminpages/membershiplevels.php:463
2040
  #: adminpages/discountcodes.php:456 adminpages/discountcodes.php:459
2041
  #: adminpages/discountcodes.php:479 adminpages/discountcodes.php:480
2042
  #: adminpages/discountcodes.php:481 adminpages/discountcodes.php:486
2051
  msgid "Billing Cycle Limit"
2052
  msgstr ""
2053
 
2054
+ #: adminpages/discountcodes.php:625 adminpages/membershiplevels.php:467
2055
  #: adminpages/discountcodes.php:459 adminpages/discountcodes.php:462
2056
  #: adminpages/discountcodes.php:482 adminpages/discountcodes.php:483
2057
  #: adminpages/discountcodes.php:484 adminpages/discountcodes.php:489
2069
  "initial payment. Set to zero if membership is indefinite."
2070
  msgstr ""
2071
 
2072
+ #: adminpages/discountcodes.php:630 adminpages/membershiplevels.php:486
2073
  #: adminpages/discountcodes.php:464 adminpages/discountcodes.php:467
2074
  #: adminpages/discountcodes.php:487 adminpages/discountcodes.php:488
2075
  #: adminpages/discountcodes.php:489 adminpages/discountcodes.php:494
2084
  msgid "Custom Trial"
2085
  msgstr ""
2086
 
2087
+ #: adminpages/discountcodes.php:631 adminpages/membershiplevels.php:488
2088
  #: adminpages/discountcodes.php:465 adminpages/discountcodes.php:468
2089
  #: adminpages/discountcodes.php:488 adminpages/discountcodes.php:489
2090
  #: adminpages/discountcodes.php:490 adminpages/discountcodes.php:495
2099
  msgid "Check to add a custom trial period."
2100
  msgstr ""
2101
 
2102
+ #: adminpages/discountcodes.php:635 adminpages/membershiplevels.php:508
2103
  #: adminpages/discountcodes.php:469 adminpages/discountcodes.php:472
2104
  #: adminpages/discountcodes.php:492 adminpages/discountcodes.php:493
2105
  #: adminpages/discountcodes.php:494 adminpages/discountcodes.php:499
2115
  msgid "Trial Billing Amount"
2116
  msgstr ""
2117
 
2118
+ #: adminpages/discountcodes.php:646 adminpages/membershiplevels.php:519
2119
  #: adminpages/discountcodes.php:472 adminpages/discountcodes.php:475
2120
  #: adminpages/discountcodes.php:503 adminpages/discountcodes.php:504
2121
  #: adminpages/discountcodes.php:505 adminpages/discountcodes.php:510
2131
  msgid "for the first"
2132
  msgstr ""
2133
 
2134
+ #: adminpages/discountcodes.php:648 adminpages/membershiplevels.php:521
2135
  #: adminpages/discountcodes.php:474 adminpages/discountcodes.php:477
2136
  #: adminpages/discountcodes.php:505 adminpages/discountcodes.php:506
2137
  #: adminpages/discountcodes.php:507 adminpages/discountcodes.php:512
2147
  msgid "subscription payments"
2148
  msgstr ""
2149
 
2150
+ #: adminpages/discountcodes.php:653 adminpages/membershiplevels.php:544
2151
  #: adminpages/discountcodes.php:479 adminpages/discountcodes.php:482
2152
  #: adminpages/discountcodes.php:510 adminpages/discountcodes.php:511
2153
  #: adminpages/discountcodes.php:512 adminpages/discountcodes.php:517
2163
  msgid "Membership Expiration"
2164
  msgstr ""
2165
 
2166
+ #: adminpages/discountcodes.php:654 adminpages/membershiplevels.php:545
2167
  #: adminpages/discountcodes.php:483 adminpages/discountcodes.php:511
2168
  #: adminpages/discountcodes.php:512 adminpages/discountcodes.php:513
2169
  #: adminpages/discountcodes.php:518 adminpages/discountcodes.php:591
2179
  msgid "Check this to set when membership access expires."
2180
  msgstr ""
2181
 
2182
+ #: adminpages/discountcodes.php:658 adminpages/membershiplevels.php:560
2183
  #: adminpages/discountcodes.php:484 adminpages/discountcodes.php:487
2184
  #: adminpages/discountcodes.php:515 adminpages/discountcodes.php:516
2185
  #: adminpages/discountcodes.php:517 adminpages/discountcodes.php:522
2195
  msgid "Expires In"
2196
  msgstr ""
2197
 
2198
+ #: adminpages/discountcodes.php:671 adminpages/membershiplevels.php:573
2199
  #: adminpages/discountcodes.php:500 adminpages/discountcodes.php:528
2200
  #: adminpages/discountcodes.php:529 adminpages/discountcodes.php:530
2201
  #: adminpages/discountcodes.php:535 adminpages/discountcodes.php:608
2214
  "expires."
2215
  msgstr ""
2216
 
2217
+ #: adminpages/discountcodes.php:719 adminpages/discountcodes.php:717
2218
  #: adminpages/discountcodes.php:718
2219
  msgid ""
2220
  "Discount codes allow you to override your membership level's default pricing."
2221
  msgstr ""
2222
 
2223
+ #: adminpages/discountcodes.php:730 adminpages/discountcodes.php:700
2224
  #: adminpages/discountcodes.php:728 adminpages/discountcodes.php:729
2225
  #, php-format
2226
  msgid "%d discount codes found."
2227
  msgstr ""
2228
 
2229
+ #: adminpages/discountcodes.php:735 adminpages/discountcodes.php:535
2230
  #: adminpages/discountcodes.php:538 adminpages/discountcodes.php:566
2231
  #: adminpages/discountcodes.php:567 adminpages/discountcodes.php:568
2232
  #: adminpages/discountcodes.php:573 adminpages/discountcodes.php:646
2235
  msgid "Search Discount Codes"
2236
  msgstr ""
2237
 
2238
+ #: adminpages/discountcodes.php:738 adminpages/reports/login.php:119
2239
  #: adminpages/discountcodes.php:538 adminpages/discountcodes.php:541
2240
  #: adminpages/discountcodes.php:569 adminpages/discountcodes.php:570
2241
  #: adminpages/discountcodes.php:571 adminpages/discountcodes.php:576
2247
  msgid "Search"
2248
  msgstr ""
2249
 
2250
+ #: adminpages/discountcodes.php:749 adminpages/discountcodes.php:549
2251
  #: adminpages/discountcodes.php:559 adminpages/discountcodes.php:587
2252
  #: adminpages/discountcodes.php:588 adminpages/discountcodes.php:589
2253
  #: adminpages/discountcodes.php:594 adminpages/discountcodes.php:667
2256
  msgid "Starts"
2257
  msgstr ""
2258
 
2259
+ #: adminpages/discountcodes.php:775 adminpages/membershiplevels.php:799
2260
+ #: adminpages/orders.php:1347 adminpages/discountcodes.php:765
2261
  #: adminpages/discountcodes.php:766 adminpages/discountcodes.php:767
2262
  #: adminpages/discountcodes.php:773 adminpages/membershiplevels.php:760
2263
  #: adminpages/membershiplevels.php:777 adminpages/membershiplevels.php:782
2268
  msgid "Edit"
2269
  msgstr ""
2270
 
2271
+ #: adminpages/discountcodes.php:778 adminpages/membershiplevels.php:800
2272
+ #: adminpages/orders.php:1350 adminpages/discountcodes.php:768