Paid Memberships Pro - Version 2.5.7

Version Description

  • 2021-03-10 =
  • ENHANCEMENT: Added a pmpro_checkout_message filter that can be used to filter error messages shown at checkout.
  • BUG FIX/ENHANCEMENT: Now making sure some billing address fields are available for the billing failure emails sent during the PayPal IPN handler.
  • BUG FIX/ENHANCEMENT: Fixed issues where HTML entities were shown in level prices in some places when using certain currencies. All prices are sent through a special pmpro_escape_price function that allows div, span, and sup tags with id and class attributes. Also removed from unneeded small tags and grey coloring of prices in certain spots.
  • BUG FIX: Now cancelling membership when a SUBSCRIPTION_CANCELED message is sent to the Braintree webhook handler. In the past, we incorrectly sent the payment failed email instead.
  • BUG FIX: Fixed display issues with the Require Membership block. The level select field has been swapped with a list of checkboxes.
  • BUG FIX: Fixed warnings that occurred when processing failed payments in webhook and IPN handlers.
  • BUG FIX: Fixed our Braintree class so we will only attempt to update a user's credit card and address when the getCustomer method is called at checkout or during a billing update.
  • BUG FIX: Fixed issue where refreshing the checkout review page when using PayPal Express caused the associated order to be updated again. Now the order status is updated to review and only updates again when the user confirms.
  • BUG FIX: Avoiding warnings when the pmpro_url function is used if the PMPro pages haven't been set up yet. (Thanks, Thomas Sjolshagen)
  • REFACTOR: Updated the pmpro_getSpecificMembershipLevelForUser( $user_id, $level_id ) function so both fields are required. Will still default to the current user if null is passed for the $user_id.
Download this release

Release Info

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

Code changes from version 2.5.6 to 2.5.7

CHANGELOG.txt CHANGED
@@ -1,4 +1,16 @@
1
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
2
  = 2.5.6 - 2021-03-05 =
3
  * SECURITY: Now sanitizing and escaping the `order` parameter when filtering the users table in the dashboard. (Thanks, Gen Sato)
4
  * BUG FIX/ENHANCEMENT: Now hiding the ApplePay/GooglePay "Payment Request" buttons when the main checkout form is submitted. This helps to prevent double checkouts.
1
  == Changelog ==
2
+ = 2.5.7 - 2021-03-10 =
3
+ * ENHANCEMENT: Added a pmpro_checkout_message filter that can be used to filter error messages shown at checkout.
4
+ * BUG FIX/ENHANCEMENT: Now making sure some billing address fields are available for the billing failure emails sent during the PayPal IPN handler.
5
+ * BUG FIX/ENHANCEMENT: Fixed issues where HTML entities were shown in level prices in some places when using certain currencies. All prices are sent through a special pmpro_escape_price function that allows div, span, and sup tags with id and class attributes. Also removed from unneeded small tags and grey coloring of prices in certain spots.
6
+ * BUG FIX: Now cancelling membership when a SUBSCRIPTION_CANCELED message is sent to the Braintree webhook handler. In the past, we incorrectly sent the payment failed email instead.
7
+ * BUG FIX: Fixed display issues with the Require Membership block. The level select field has been swapped with a list of checkboxes.
8
+ * BUG FIX: Fixed warnings that occurred when processing failed payments in webhook and IPN handlers.
9
+ * BUG FIX: Fixed our Braintree class so we will only attempt to update a user's credit card and address when the getCustomer method is called at checkout or during a billing update.
10
+ * BUG FIX: Fixed issue where refreshing the checkout review page when using PayPal Express caused the associated order to be updated again. Now the order status is updated to review and only updates again when the user confirms.
11
+ * BUG FIX: Avoiding warnings when the pmpro_url function is used if the PMPro pages haven't been set up yet. (Thanks, Thomas Sjolshagen)
12
+ * REFACTOR: Updated the pmpro_getSpecificMembershipLevelForUser( $user_id, $level_id ) function so both fields are required. Will still default to the current user if null is passed for the $user_id.
13
+
14
  = 2.5.6 - 2021-03-05 =
15
  * SECURITY: Now sanitizing and escaping the `order` parameter when filtering the users table in the dashboard. (Thanks, Gen Sato)
16
  * BUG FIX/ENHANCEMENT: Now hiding the ApplePay/GooglePay "Payment Request" buttons when the main checkout form is submitted. This helps to prevent double checkouts.
adminpages/dashboard.php CHANGED
@@ -333,7 +333,7 @@ function pmpro_dashboard_report_recent_orders_callback() {
333
  <?php }
334
  ?>
335
  </td>
336
- <td><?php echo pmpro_formatPrice( $order->total ); ?></td>
337
  <td>
338
  <?php echo $order->gateway; ?>
339
  <?php if ( $order->gateway_environment == 'test' ) {
333
  <?php }
334
  ?>
335
  </td>
336
+ <td><?php echo pmpro_escape_price( pmpro_formatPrice( $order->total ) ); ?></td>
337
  <td>
338
  <?php echo $order->gateway; ?>
339
  <?php if ( $order->gateway_environment == 'test' ) {
adminpages/orders.php CHANGED
@@ -1408,7 +1408,7 @@ if ( function_exists( 'pmpro_add_email_order_modal' ) ) {
1408
  <?php }
1409
  ?>
1410
  </td>
1411
- <td><?php echo esc_html( pmpro_formatPrice( $order->total ) ); ?></td>
1412
  <td>
1413
  <?php
1414
  if ( ! empty( $order->payment_type ) ) {
1408
  <?php }
1409
  ?>
1410
  </td>
1411
+ <td><?php echo pmpro_escape_price( pmpro_formatPrice( $order->total ) ); ?></td>
1412
  <td>
1413
  <?php
1414
  if ( ! empty( $order->payment_type ) ) {
adminpages/reports/sales.php CHANGED
@@ -69,7 +69,7 @@ function pmpro_report_sales_widget() {
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,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 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
  }
69
  <?php } ?>
70
  </th>
71
  <td><?php echo esc_html( number_format_i18n( pmpro_getSales( $report_type ) ) ); ?></td>
72
+ <td><?php echo pmpro_escape_price( 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 pmpro_escape_price( pmpro_formatPrice( $price ) );?></th>
86
  <td><?php echo esc_html( number_format_i18n( $quantity ) ); ?></td>
87
+ <td><?php echo pmpro_escape_price( pmpro_formatPrice( $price * $quantity ) ); ?></td>
88
  </tr>
89
  <?php
90
  }
adminpages/templates/orders-email.php CHANGED
@@ -62,7 +62,7 @@
62
  </tr>
63
  <tr style="border-width:1px;border-style:solid;border-collapse:collapse;">
64
  <th colspan="2" style="text-align:right;border-width:1px;border-style:solid;border-collapse:collapse;"><?php _e('Total', 'paid-memberships-pro' ); ?></th>
65
- <th style="text-align:right;border-width:1px;border-style:solid;border-collapse:collapse;"><?php echo pmpro_formatPrice($order->total); ?></th>
66
  </tr>
67
  </table>
68
  </td>
62
  </tr>
63
  <tr style="border-width:1px;border-style:solid;border-collapse:collapse;">
64
  <th colspan="2" style="text-align:right;border-width:1px;border-style:solid;border-collapse:collapse;"><?php _e('Total', 'paid-memberships-pro' ); ?></th>
65
+ <th style="text-align:right;border-width:1px;border-style:solid;border-collapse:collapse;"><?php echo pmpro_escape_price( pmpro_formatPrice( $order->total ) ); ?></th>
66
  </tr>
67
  </table>
68
  </td>
adminpages/templates/orders-print.php CHANGED
@@ -91,7 +91,7 @@
91
  </tr>
92
  <tr>
93
  <th colspan="2" class="alignright"><?php _e('Total', 'paid-memberships-pro' ); ?></th>
94
- <th class="alignright"><?php echo pmpro_formatPrice( $order->total ); ?></th>
95
  </tr>
96
  </table>
97
  </main>
91
  </tr>
92
  <tr>
93
  <th colspan="2" class="alignright"><?php _e('Total', 'paid-memberships-pro' ); ?></th>
94
+ <th class="alignright"><?php echo pmpro_escape_price( pmpro_formatPrice( $order->total ) ); ?></th>
95
  </tr>
96
  </table>
97
  </main>
blocks/membership/block.js CHANGED
@@ -13,9 +13,8 @@
13
  } = wp.blocks;
14
  const {
15
  PanelBody,
16
- SelectControl,
17
  } = wp.components;
18
-
19
  const {
20
  InspectorControls,
21
  InnerBlocks,
@@ -49,33 +48,47 @@ const all_levels = [{ value: 0, label: "Non-Members" }].concat( pmpro.all_level_
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 } );
56
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  return [
58
  isSelected && <InspectorControls>
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={ () => (
13
  } = wp.blocks;
14
  const {
15
  PanelBody,
16
+ CheckboxControl,
17
  } = wp.components;
 
18
  const {
19
  InspectorControls,
20
  InnerBlocks,
48
  },
49
  },
50
  edit: props => {
51
+ const { attributes: {levels, uid}, setAttributes, isSelected } = props;
52
  if( uid=='' ) {
53
  var rand = Math.random()+"";
54
  setAttributes( { uid:rand } );
55
  }
56
+
57
+ // Build an array of checkboxes for each level.
58
+ var checkboxes = all_levels.map( function(level) {
59
+ function setLevelsAttribute( nowChecked ) {
60
+ if ( nowChecked && ! ( levels.some( levelID => levelID == level.value ) ) ) {
61
+ // Add the level.
62
+ const newLevels = levels.slice();
63
+ newLevels.push( level.value + '' );
64
+ setAttributes( { levels:newLevels } );
65
+ } else if ( ! nowChecked && levels.some( levelID => levelID == level.value ) ) {
66
+ // Remove the level.
67
+ const newLevels = levels.filter(( levelID ) => levelID != level.value);
68
+ setAttributes( { levels:newLevels } );
69
+ }
70
+ }
71
+ return [
72
+ <CheckboxControl
73
+ label = { level.label }
74
+ checked = { levels.some( levelID => levelID == level.value ) }
75
+ onChange = { setLevelsAttribute }
76
+ />
77
+ ]
78
+ });
79
+
80
  return [
81
  isSelected && <InspectorControls>
82
+ <PanelBody>
83
+ <div class="pmpro-block-inspector-scrollable">
84
+ {checkboxes}
85
+ </div>
 
 
 
 
86
  </PanelBody>
87
  </InspectorControls>,
88
  isSelected && <div className="pmpro-block-require-membership-element" >
89
  <span className="pmpro-block-title">{ __( 'Require Membership', 'paid-memberships-pro' ) }</span>
90
+ <PanelBody>
91
+ {checkboxes}
 
 
 
 
 
 
92
  </PanelBody>
93
  <InnerBlocks
94
  renderAppender={ () => (
classes/class-pmpro-admin-activity-email.php CHANGED
@@ -101,7 +101,7 @@ class PMPro_Admin_Activity_Email extends PMProEmail {
101
  if ( $revenue > 0 ) {
102
  ?>
103
  <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>
104
- <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>
105
  <?php } else { ?>
106
  <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>
107
  <?php } ?>
101
  if ( $revenue > 0 ) {
102
  ?>
103
  <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>
104
+ <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' ), pmpro_escape_price( pmpro_formatPrice( $revenue ) ), esc_html( $term ) ); ?></p>
105
  <?php } else { ?>
106
  <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>
107
  <?php } ?>
classes/class-pmpro-members-list-table.php CHANGED
@@ -543,7 +543,7 @@ class PMPro_Members_List_Table extends WP_List_Table {
543
  } else {
544
  // Display the member's initial payment.
545
  if ( (float)$item['initial_payment'] > 0 ) {
546
- $fee .= pmpro_formatPrice( $item['initial_payment'] );
547
  }
548
  // If there is a recurring payment, show a plus sign.
549
  if ( (float)$item['initial_payment'] > 0 && (float)$item['billing_amount'] > 0 ) {
@@ -551,7 +551,7 @@ class PMPro_Members_List_Table extends WP_List_Table {
551
  }
552
  // If there is a recurring payment, show the recurring payment amount and cycle.
553
  if ( (float)$item['billing_amount'] > 0 ) {
554
- $fee .= pmpro_formatPrice( $item['billing_amount'] );
555
  $fee .= esc_html( ' per ', 'paid-memberships-pro' );
556
  if ( $item['cycle_number'] > 1 ) {
557
  $fee .= $item['cycle_number'] . " " . $item['cycle_period'] . "s";
543
  } else {
544
  // Display the member's initial payment.
545
  if ( (float)$item['initial_payment'] > 0 ) {
546
+ $fee .= pmpro_escape_price( pmpro_formatPrice( $item['initial_payment'] ) );
547
  }
548
  // If there is a recurring payment, show a plus sign.
549
  if ( (float)$item['initial_payment'] > 0 && (float)$item['billing_amount'] > 0 ) {
551
  }
552
  // If there is a recurring payment, show the recurring payment amount and cycle.
553
  if ( (float)$item['billing_amount'] > 0 ) {
554
+ $fee .= pmpro_escape_price( pmpro_formatPrice( $item['billing_amount'] ) );
555
  $fee .= esc_html( ' per ', 'paid-memberships-pro' );
556
  if ( $item['cycle_number'] > 1 ) {
557
  $fee .= $item['cycle_number'] . " " . $item['cycle_period'] . "s";
classes/gateways/class.pmprogateway_braintree.php CHANGED
@@ -706,8 +706,7 @@ use Braintree\WebhookNotification as Braintree_WebhookNotification;
706
  $this->customer = Braintree_Customer::find($customer_id);
707
 
708
  //update the customer address, description and card
709
- if(!empty($order->accountnumber))
710
- {
711
  //put data in array for Braintree API calls
712
  $update_array = array(
713
  'firstName' => $order->FirstName,
706
  $this->customer = Braintree_Customer::find($customer_id);
707
 
708
  //update the customer address, description and card
709
+ if( ! empty( $order->braintree ) && ! empty( $order->braintree->number ) ) {
 
710
  //put data in array for Braintree API calls
711
  $update_array = array(
712
  'firstName' => $order->FirstName,
classes/gateways/class.pmprogateway_paypalexpress.php CHANGED
@@ -322,22 +322,28 @@
322
 
323
  $morder = new MemberOrder();
324
  $morder->getMemberOrderByPayPalToken(sanitize_text_field($_REQUEST['token']));
325
- $morder->Token = $morder->paypal_token; $pmpro_paypal_token = $morder->paypal_token;
326
- if($morder->Token)
327
- {
328
- if($morder->Gateway->getExpressCheckoutDetails($morder))
329
  {
330
- $pmpro_review = true;
 
 
 
 
 
 
 
 
331
  }
332
  else
333
  {
334
- $pmpro_msg = $morder->error;
335
  $pmpro_msgt = "pmpro_error";
336
  }
337
- }
338
- else
339
- {
340
- $pmpro_msg = __("The PayPal Token was lost.", 'paid-memberships-pro' );
341
  $pmpro_msgt = "pmpro_error";
342
  }
343
  }
322
 
323
  $morder = new MemberOrder();
324
  $morder->getMemberOrderByPayPalToken(sanitize_text_field($_REQUEST['token']));
325
+
326
+ if( $morder->status === 'token' ){
327
+ $morder->Token = $morder->paypal_token; $pmpro_paypal_token = $morder->paypal_token;
328
+ if($morder->Token)
329
  {
330
+ if($morder->Gateway->getExpressCheckoutDetails($morder))
331
+ {
332
+ $pmpro_review = true;
333
+ }
334
+ else
335
+ {
336
+ $pmpro_msg = $morder->error;
337
+ $pmpro_msgt = "pmpro_error";
338
+ }
339
  }
340
  else
341
  {
342
+ $pmpro_msg = __("The PayPal Token was lost.", 'paid-memberships-pro' );
343
  $pmpro_msgt = "pmpro_error";
344
  }
345
+ }else{
346
+ $pmpro_msg = __("Checkout was already processed.", 'paid-memberships-pro' );
 
 
347
  $pmpro_msgt = "pmpro_error";
348
  }
349
  }
css/blocks.editor.css CHANGED
@@ -44,15 +44,23 @@
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 {
44
  text-transform: uppercase;
45
  }
46
  .pmpro-block-require-membership-element .components-panel__body {
47
+ background: rgba(237, 239, 240, 0);
48
  border-bottom: 0;
49
  border-top: none;
50
+ border-left: 5px solid rgba(237, 239, 240, 0.8);
51
+ border-bottom: 5px solid rgba(237, 239, 240, 0.8);
52
  padding-top: 0;
53
+ height: 200px;
54
+ overflow: auto;
55
  }
56
  .pmpro-block-require-membership-element .block-editor-inner-blocks {
57
  padding-left: 16px;
58
  padding-right: 16px;
59
  }
60
+ .pmpro-block-inspector-scrollable {
61
+ height: 200px;
62
+ overflow: auto;
63
+ }
64
 
65
  /* Checkout Button Block */
66
  .wp-block-pmpro-checkout-button {
includes/functions.php CHANGED
@@ -130,17 +130,21 @@ function pmpro_url( $page = null, $querystring = '', $scheme = null ) {
130
  $page = 'levels';
131
  }
132
 
133
- global $pmpro_pages;
134
 
135
- // start with the permalink
136
- $url = get_permalink( $pmpro_pages[ $page ] );
 
137
 
138
- // WPML/etc support
139
- if ( function_exists( 'icl_object_id' ) && defined( 'ICL_LANGUAGE_CODE' ) ) {
140
- $trans_id = icl_object_id( $pmpro_pages[ $page ], 'page', false, ICL_LANGUAGE_CODE );
141
- if ( ! empty( $trans_id ) ) {
142
- $url = get_permalink( $trans_id );
 
143
  }
 
 
144
  }
145
 
146
  // figure out querystring
@@ -2057,7 +2061,7 @@ function pmpro_getMembershipLevelsForUser( $user_id = null, $include_inactive =
2057
  * Get a specific membership level for a user if they have that level.
2058
  * This is better to use when MMPU is enabled on the site.
2059
  *
2060
- * If $user_id is omitted, the value will be retrieved from $current_user.
2061
  *
2062
  * Return values:
2063
  * Success returns the level object.
@@ -2066,7 +2070,7 @@ function pmpro_getMembershipLevelsForUser( $user_id = null, $include_inactive =
2066
  * @param int $user_id User ID to check for
2067
  * @param int $level_id Level ID to check for.
2068
  */
2069
- function pmpro_getSpecificMembershipLevelForUser( $user_id = null, $level_id = null ) {
2070
  if ( empty( $user_id ) ) {
2071
  global $current_user;
2072
  $user_id = $current_user->ID;
@@ -2758,6 +2762,35 @@ function pmpro_formatPrice( $price ) {
2758
  return apply_filters( 'pmpro_format_price', $formatted, $price, $pmpro_currency, $pmpro_currency_symbol );
2759
  }
2760
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2761
 
2762
  /**
2763
  * Function to trim trailing zeros from an amount.
@@ -3454,4 +3487,4 @@ function pmpro_doing_webhook( $gateway = null, $set = false ){
3454
  return false;
3455
  }
3456
 
3457
- }
130
  $page = 'levels';
131
  }
132
 
133
+ global $pmpro_pages;
134
 
135
+ if ( ! empty( $pmpro_pages[ $page ] ) ) {
136
+ // start with the permalink
137
+ $url = get_permalink( $pmpro_pages[ $page ] );
138
 
139
+ // WPML/etc support
140
+ if ( function_exists( 'icl_object_id' ) && defined( 'ICL_LANGUAGE_CODE' ) ) {
141
+ $trans_id = icl_object_id( $pmpro_pages[ $page ], 'page', false, ICL_LANGUAGE_CODE );
142
+ if ( ! empty( $trans_id ) ) {
143
+ $url = get_permalink( $trans_id );
144
+ }
145
  }
146
+ } else {
147
+ $url = '';
148
  }
149
 
150
  // figure out querystring
2061
  * Get a specific membership level for a user if they have that level.
2062
  * This is better to use when MMPU is enabled on the site.
2063
  *
2064
+ * If $user_id is null, the value will be retrieved from $current_user.
2065
  *
2066
  * Return values:
2067
  * Success returns the level object.
2070
  * @param int $user_id User ID to check for
2071
  * @param int $level_id Level ID to check for.
2072
  */
2073
+ function pmpro_getSpecificMembershipLevelForUser( $user_id, $level_id ) {
2074
  if ( empty( $user_id ) ) {
2075
  global $current_user;
2076
  $user_id = $current_user->ID;
2762
  return apply_filters( 'pmpro_format_price', $formatted, $price, $pmpro_currency, $pmpro_currency_symbol );
2763
  }
2764
 
2765
+ /**
2766
+ * Filter a sanitized price for display with only the allowed HTML.
2767
+ *
2768
+ * @since 2.5.7
2769
+ *
2770
+ * @param string $price A price value.
2771
+ * @return string $price The escaped price with allowed HTML.
2772
+ *
2773
+ */
2774
+ function pmpro_escape_price( $price ) {
2775
+ $allowed_price_html = apply_filters(
2776
+ 'pmpro_escape_price_html',
2777
+ array(
2778
+ 'div' => array (
2779
+ 'class' => array(),
2780
+ 'id' => array(),
2781
+ ),
2782
+ 'span' => array (
2783
+ 'class' => array(),
2784
+ 'id' => array(),
2785
+ ),
2786
+ 'sup' => array (
2787
+ 'class' => array(),
2788
+ 'id' => array(),
2789
+ ),
2790
+ )
2791
+ );
2792
+ return wp_kses( $price, $allowed_price_html );
2793
+ }
2794
 
2795
  /**
2796
  * Function to trim trailing zeros from an amount.
3487
  return false;
3488
  }
3489
 
3490
+ }
js/blocks.build.js CHANGED
@@ -1 +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})}]);
1
+ !function(e){var t={};function r(o){if(t[o])return t[o].exports;var c=t[o]={i:o,l:!1,exports:{}};return e[o].call(c.exports,c,c.exports,r),c.l=!0,c.exports}r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},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 o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var c in e)r.d(o,c,function(t){return e[t]}.bind(null,c));return o},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){e.exports=window.wp.element},function(e,t){function r(t){return e.exports=r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.default=e.exports,e.exports.__esModule=!0,r(t)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}e.exports=function(e,t,o){return t&&r(e.prototype,t),o&&r(e,o),e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){var o=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&&o(e,t)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){var o=r(9).default,c=r(10);e.exports=function(e,t){return!t||"object"!==o(t)&&"function"!=typeof t?c(e):t},e.exports.default=e.exports,e.exports.__esModule=!0},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},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){wp.i18n.setLocaleData({"":{}},"paid-memberships-pro")},function(e,t){function r(t,o){return e.exports=r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},e.exports.default=e.exports,e.exports.__esModule=!0,r(t,o)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function r(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=r=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),r(t)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},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},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){"use strict";r.r(t);var o=r(0),c=(r(7),r(6)),n=r.n(c),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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,o=d()(e);if(t){var c=d()(this).constructor;r=Reflect.construct(o,arguments,c)}else r=o.apply(this,arguments);return b()(this,r)}}var y=wp.i18n.__,v=wp.element.Component,O=wp.components,g=O.PanelBody,k=O.TextControl,j=O.SelectControl,_=wp.blockEditor.InspectorControls,w=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,c=t.level,n=t.css_class,p=e.setAttributes;return Object(o.createElement)(_,null,Object(o.createElement)(g,null,Object(o.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(o.createElement)(g,null,Object(o.createElement)(j,{label:y("Level","paid-memberships-pro"),help:y("The level to link to for checkout button","paid-memberships-pro"),value:c,onChange:function(e){return p({level:e})},options:window.pmpro.all_level_values_and_labels})),Object(o.createElement)(g,null,Object(o.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 C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach((function(t){n()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var M=wp.i18n.__,P=wp.blocks.registerBlockType,x=wp.components,N=x.TextControl,B=x.SelectControl;P("pmpro/checkout-button",{title:M("Membership Checkout Button","paid-memberships-pro"),description:M("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:[M("pmpro","paid-memberships-pro"),M("buy","paid-memberships-pro"),M("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,c=t.level,n=t.css_class,p=e.className,s=e.setAttributes,i=e.isSelected;return[i&&Object(o.createElement)(w,E({setAttributes:s},e)),Object(o.createElement)("div",{className:p},Object(o.createElement)("a",{class:n},r)),i&&Object(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)(N,{label:M("Button Text","paid-memberships-pro"),value:r,onChange:function(e){return s({text:e})}}),Object(o.createElement)(B,{label:M("Membership Level","paid-memberships-pro"),value:c,onChange:function(e){return s({level:e})},options:window.pmpro.all_level_values_and_labels}),Object(o.createElement)(N,{label:M("CSS Class","paid-memberships-pro"),value:n,onChange:function(e){return s({css_class:e})}}))]},save:function(){return null}});function S(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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,o=d()(e);if(t){var c=d()(this).constructor;r=Reflect.construct(o,arguments,c)}else r=o.apply(this,arguments);return b()(this,r)}}var A=wp.i18n.__,L=wp.element.Component,D=wp.components,T=D.PanelBody,R=D.CheckboxControl,I=wp.blockEditor.InspectorControls,z=function(e){m()(r,e);var t=S(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,c=t.profile,n=t.invoices,p=t.links,s=e.setAttributes;return Object(o.createElement)(I,null,Object(o.createElement)(T,null,Object(o.createElement)(R,{label:A("Show 'My Memberships' Section","paid-memberships-pro"),checked:r,onChange:function(e){return s({membership:e})}})),Object(o.createElement)(T,null,Object(o.createElement)(R,{label:A("Show 'Profile' Section","paid-memberships-pro"),checked:c,onChange:function(e){return s({profile:e})}})),Object(o.createElement)(T,null,Object(o.createElement)(R,{label:A("Show 'Invoices' Section","paid-memberships-pro"),checked:n,onChange:function(e){return s({invoices:e})}})),Object(o.createElement)(T,null,Object(o.createElement)(R,{label:A("Show 'Member Links' Section","paid-memberships-pro"),checked:p,onChange:function(e){return s({links:e})}})))}}]),r}(L);function F(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}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(o.createElement)(z,q({setAttributes:t},e)),Object(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},W("Paid Memberships Pro","paid-memberships-pro")),Object(o.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(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},G("Paid Memberships Pro","paid-memberships-pro")),Object(o.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(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},H("Paid Memberships Pro","paid-memberships-pro")),Object(o.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(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},J("Paid Memberships Pro","paid-memberships-pro")),Object(o.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(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},K("Paid Memberships Pro","paid-memberships-pro")),Object(o.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(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},Q("Paid Memberships Pro","paid-memberships-pro")),Object(o.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(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},U("Paid Memberships Pro","paid-memberships-pro")),Object(o.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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,o=d()(e);if(t){var c=d()(this).constructor;r=Reflect.construct(o,arguments,c)}else r=o.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(o.createElement)(te,null,Object(o.createElement)($,null,Object(o.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 oe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function ce(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(r),!0).forEach((function(t){n()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oe(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(o.createElement)(re,ce({setAttributes:r},e)),Object(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},ne("Paid Memberships Pro","paid-memberships-pro")),Object(o.createElement)("span",{className:"pmpro-block-subtitle"},ne("Membership Checkout Form","paid-memberships-pro")),Object(o.createElement)("hr",null),Object(o.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(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},ie("Paid Memberships Pro","paid-memberships-pro")),Object(o.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(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},le("Paid Memberships Pro","paid-memberships-pro")),Object(o.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(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},ae("Paid Memberships Pro","paid-memberships-pro")),Object(o.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.CheckboxControl,he=wp.blockEditor,ye=he.InspectorControls,ve=he.InnerBlocks,Oe=[{value:0,label:"Non-Members"}].concat(pmpro.all_level_values_and_labels),ge=(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,c=t.uid,n=e.setAttributes,p=e.isSelected;if(""==c){var s=Math.random()+"";n({uid:s})}var i=Oe.map((function(e){return[Object(o.createElement)(de,{label:e.label,checked:r.some((function(t){return t==e.value})),onChange:function(t){if(t&&!r.some((function(t){return t==e.value}))){var o=r.slice();o.push(e.value+""),n({levels:o})}else if(!t&&r.some((function(t){return t==e.value}))){var c=r.filter((function(t){return t!=e.value}));n({levels:c})}}})]}));return[p&&Object(o.createElement)(ye,null,Object(o.createElement)(fe,null,Object(o.createElement)("div",{class:"pmpro-block-inspector-scrollable"},i))),p&&Object(o.createElement)("div",{className:"pmpro-block-require-membership-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},me("Require Membership","paid-memberships-pro")),Object(o.createElement)(fe,null,i),Object(o.createElement)(ve,{renderAppender:function(){return Object(o.createElement)(ve.ButtonBlockAppender,null)},templateLock:!1})),!p&&Object(o.createElement)("div",{className:"pmpro-block-require-membership-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},me("Require Membership","paid-memberships-pro")),Object(o.createElement)(ve,{renderAppender:function(){return Object(o.createElement)(ve.ButtonBlockAppender,null)},templateLock:!1}))]},save:function(e){var t=e.className;return Object(o.createElement)("div",{className:t},Object(o.createElement)(ve.Content,null))}}),wp.i18n.__);(0,wp.blocks.registerBlockType)("pmpro/member-profile-edit",{title:ge("Member Profile Edit","paid-memberships-pro"),description:ge("Allow member profile editing.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"admin-users"},keywords:[ge("pmpro","paid-memberships-pro"),ge("member","paid-memberships-pro"),ge("profile","paid-memberships-pro")],edit:function(e){return Object(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},ge("Paid Memberships Pro","paid-memberships-pro")),Object(o.createElement)("span",{className:"pmpro-block-subtitle"},ge("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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,o=d()(e);if(t){var c=d()(this).constructor;r=Reflect.construct(o,arguments,c)}else r=o.apply(this,arguments);return b()(this,r)}}var je,_e=wp.i18n.__,we=wp.element.Component,Ce=wp.components,Ee=Ce.PanelBody,Me=(Ce.SelectControl,Ce.ToggleControl),Pe=wp.blockEditor.InspectorControls,xe=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,c=(t.setAttributes,r.display_if_logged_in),n=r.show_menu,p=r.show_logout_link;r.location;return Object(o.createElement)(Pe,null,Object(o.createElement)(Ee,null,Object(o.createElement)(Me,{label:_e("Display 'Welcome' content when logged in.","paid-memberships-pro"),checked:c,onChange:function(t){e.props.setAttributes({display_if_logged_in:t})}}),Object(o.createElement)(Me,{label:_e("Display the 'Log In Widget' menu.","paid-memberships-pro"),help:_e("Assign the menu under Appearance > Menus."),checked:n,onChange:function(t){e.props.setAttributes({show_menu:t})}}),Object(o.createElement)(Me,{label:_e("Display a 'Log Out' link.","paid-memberships-pro"),checked:p,onChange:function(t){e.props.setAttributes({show_logout_link:t})}})))}}]),r}(we),Ne=wp.i18n.__,Be=wp.blocks.registerBlockType,Se=wp.element.Fragment;Be("pmpro/login-form",{title:Ne("Log in Form","paid-memberships-pro"),description:Ne("Displays a Log In Form for Paid Memberships Pro.","paid-memberships-pro"),category:"pmpro",icon:{background:"#2997c8",foreground:"#ffffff",src:"unlock"},keywords:[Ne("pmpro","paid-memberships-pro"),Ne("login","paid-memberships-pro"),Ne("form","paid-memberships-pro"),Ne("log in","paid-memberships-pro")],supports:{},edit:function(e){return[Object(o.createElement)(Se,null,Object(o.createElement)(xe,e),Object(o.createElement)("div",{className:"pmpro-block-element"},Object(o.createElement)("span",{className:"pmpro-block-title"},Ne("Paid Memberships Pro","paid-memberships-pro")),Object(o.createElement)("span",{className:"pmpro-block-subtitle"},Ne("Log in Form","paid-memberships-pro"))))]},save:function(){return null}});je=Object(o.createElement)("svg",{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 18 18"},Object(o.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})}]);
languages/paid-memberships-pro-it_IT.mo CHANGED
Binary file
languages/paid-memberships-pro-it_IT.po CHANGED
@@ -3,14 +3,14 @@ msgstr ""
3
  "Project-Id-Version: Paid Memberships Pro\n"
4
  "POT-Creation-Date: 2016-11-08 17:03-0500\n"
5
  "PO-Revision-Date: \n"
6
- "Last-Translator: Angelo Giammarresi <info@wocmultimedia.com>\n"
7
  "Language-Team: Angelo Giammarresi <info@wocmultimedia.com>\n"
8
  "Language: it_IT\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
  "X-Poedit-SourceCharset: UTF-8\n"
13
- "X-Generator: Poedit 1.8.12\n"
14
 
15
  #: adminpages/addons.php:5 adminpages/advancedsettings.php:5
16
  #: adminpages/discountcodes.php:5 adminpages/emailsettings.php:5
@@ -37,7 +37,7 @@ msgstr "Add On"
37
  #: adminpages/addons.php:74 adminpages/addons.php:71 adminpages/addons.php:87
38
  #, php-format
39
  msgid "Last checked on %s at %s."
40
- msgstr "Ultimo controllo il %s alle %s"
41
 
42
  #: adminpages/addons.php:75 adminpages/addons.php:72 adminpages/addons.php:88
43
  msgid "Check Again"
@@ -371,7 +371,7 @@ msgstr "Avanzate"
371
  #: adminpages/advancedsettings.php:94 adminpages/advancedsettings.php:85
372
  #: adminpages/advancedsettings.php:92
373
  msgid "Message for Logged-in Non-members"
374
- msgstr "Messaggio per Utenti Autenticati (Login effettuato), NON-membri."
375
 
376
  #: adminpages/advancedsettings.php:98 adminpages/advancedsettings.php:89
377
  #: adminpages/advancedsettings.php:96
@@ -384,7 +384,7 @@ msgstr ""
384
  #: adminpages/advancedsettings.php:103 adminpages/advancedsettings.php:94
385
  #: adminpages/advancedsettings.php:101
386
  msgid "Message for Logged-out Users"
387
- msgstr "Messaggio per Visitatori (NON-Autenticati - Login NON effettuato)"
388
 
389
  #: adminpages/advancedsettings.php:107 adminpages/advancedsettings.php:98
390
  #: adminpages/advancedsettings.php:105
@@ -401,7 +401,7 @@ msgstr "Messaggio per Feed RSS"
401
  #: adminpages/advancedsettings.php:116 adminpages/advancedsettings.php:107
402
  #: adminpages/advancedsettings.php:114
403
  msgid "This message replaces the post content in RSS feeds."
404
- msgstr "Questo messaggio sostituisce il contenuto del post nei Feed RSS"
405
 
406
  #: adminpages/advancedsettings.php:122
407
  msgid "Filter searches and archives?"
@@ -412,14 +412,14 @@ msgid ""
412
  "No - Non-members will see restricted posts/pages in searches and archives."
413
  msgstr ""
414
  "No - Anche i non membri possono vedere articoli/pagine protette nelle "
415
- "ricerche e negli archivi"
416
 
417
  #: adminpages/advancedsettings.php:127
418
  msgid ""
419
  "Yes - Only members will see restricted posts/pages in searches and archives."
420
  msgstr ""
421
  "Sì - Solo i Membri possono vedere articoli/pagine protette nelle ricerche e "
422
- "negli archivi"
423
 
424
  #: adminpages/advancedsettings.php:133 adminpages/advancedsettings.php:113
425
  #: adminpages/advancedsettings.php:120
@@ -434,7 +434,7 @@ msgstr "No - Nascondi estratto."
434
  #: adminpages/advancedsettings.php:138 adminpages/advancedsettings.php:118
435
  #: adminpages/advancedsettings.php:125
436
  msgid "Yes - Show excerpts."
437
- msgstr "Si - Mostra estratto."
438
 
439
  #: adminpages/advancedsettings.php:144
440
  msgid "Hide Ads From Members?"
@@ -525,7 +525,7 @@ msgstr "solo per multisito"
525
  #: classes/gateways/class.pmprogateway_stripe.php:209 includes/profile.php:102
526
  #: includes/profile.php:106 includes/profile.php:122 includes/profile.php:124
527
  msgid "Yes"
528
- msgstr "Si"
529
 
530
  #: adminpages/advancedsettings.php:215 adminpages/advancedsettings.php:195
531
  #: adminpages/advancedsettings.php:202
@@ -535,17 +535,17 @@ msgstr "Abilitare reCAPTCHA?"
535
  #: adminpages/advancedsettings.php:220 adminpages/advancedsettings.php:200
536
  #: adminpages/advancedsettings.php:207
537
  msgid "Yes - Free memberships only."
538
- msgstr "Si - Solo iscrizioni gratuite."
539
 
540
  #: adminpages/advancedsettings.php:221 adminpages/advancedsettings.php:201
541
  #: adminpages/advancedsettings.php:208
542
  msgid "Yes - All memberships."
543
- msgstr "Si - Tutte le iscrizioni."
544
 
545
  #: adminpages/advancedsettings.php:223 adminpages/advancedsettings.php:203
546
  #: adminpages/advancedsettings.php:210
547
  msgid "A free reCAPTCHA key is required."
548
- msgstr "E' richiesta una chiave reCAPTCHA gratuita."
549
 
550
  #: adminpages/advancedsettings.php:223 adminpages/advancedsettings.php:203
551
  #: adminpages/advancedsettings.php:210
@@ -573,12 +573,12 @@ msgid ""
573
  "If yes, create a WordPress page containing your TOS agreement and assign it "
574
  "using the dropdown above."
575
  msgstr ""
576
- "Se si, creata una pagina contenente i Termini di Servizio e selezionala nel "
577
  "menù a tendina qui sopra."
578
 
579
  #: adminpages/advancedsettings.php:285 adminpages/advancedsettings.php:272
580
  msgid "selected"
581
- msgstr "Selezionato"
582
 
583
  #: adminpages/advancedsettings.php:368 adminpages/pagesettings.php:294
584
  #: adminpages/paymentsettings.php:250 adminpages/advancedsettings.php:284
@@ -618,7 +618,7 @@ msgstr "Errore salvando i valori per il livello %s."
618
  #: adminpages/discountcodes.php:206 adminpages/discountcodes.php:204
619
  #: adminpages/discountcodes.php:205
620
  msgid "There were errors updating the level values: "
621
- msgstr "Si sono verificati degli errori aggiornando i valori del livello:"
622
 
623
  #: adminpages/discountcodes.php:239 adminpages/discountcodes.php:234
624
  #: adminpages/discountcodes.php:237 adminpages/discountcodes.php:238
@@ -743,7 +743,7 @@ msgstr "Limite di Utilizzi"
743
  #: adminpages/discountcodes.php:393 adminpages/discountcodes.php:388
744
  #: adminpages/discountcodes.php:391 adminpages/discountcodes.php:392
745
  msgid "Leave blank for unlimited uses."
746
- msgstr "Se lasciato vuoto, utilizzabile illimitatamente"
747
 
748
  #: adminpages/discountcodes.php:402 adminpages/discountcodes.php:400
749
  #: adminpages/discountcodes.php:401
@@ -782,7 +782,7 @@ msgstr "Iscrizione Ricorrente"
782
  #: adminpages/membershiplevels.php:343 adminpages/membershiplevels.php:345
783
  #: adminpages/membershiplevels.php:355 adminpages/membershiplevels.php:358
784
  msgid "Check if this level has a recurring subscription payment."
785
- msgstr "Questo livello richiede iscrizione ricorrente?"
786
 
787
  #: adminpages/discountcodes.php:453 adminpages/membershiplevels.php:361
788
  #: adminpages/discountcodes.php:440 adminpages/discountcodes.php:451
@@ -921,7 +921,7 @@ msgstr "Periodo di prova personalizzato"
921
  #: adminpages/membershiplevels.php:397 adminpages/membershiplevels.php:416
922
  #: adminpages/membershiplevels.php:419
923
  msgid "Check to add a custom trial period."
924
- msgstr "Seleziona per aggiungere un periodo di prova personalizzato"
925
 
926
  #: adminpages/discountcodes.php:494 adminpages/membershiplevels.php:427
927
  #: adminpages/discountcodes.php:469 adminpages/discountcodes.php:472
@@ -1109,7 +1109,7 @@ msgid ""
1109
  "<em><strong>wordpress@yourdomain.com</strong></em>. You can update this from "
1110
  "address using the fields below."
1111
  msgstr ""
1112
- "Il sistema invia le imail dall'indirizzo <em><strong>wordpress@yourdomain."
1113
  "com</strong></em>. Puoi cambiare questa impostazione usando il campo "
1114
  "seguente."
1115
 
@@ -1165,7 +1165,7 @@ msgstr "Checkout"
1165
  #: adminpages/emailsettings.php:125 adminpages/emailsettings.php:96
1166
  #: adminpages/emailsettings.php:114
1167
  msgid "when a member checks out."
1168
- msgstr "quando un membro effettua il pagamento"
1169
 
1170
  #: adminpages/emailsettings.php:130 adminpages/emailsettings.php:101
1171
  #: adminpages/emailsettings.php:119
@@ -1197,7 +1197,7 @@ msgstr "Aggiornamento informazioni di pagamento"
1197
  #: adminpages/emailsettings.php:152 adminpages/emailsettings.php:123
1198
  #: adminpages/emailsettings.php:141
1199
  msgid "when a user updates his or her billing information."
1200
- msgstr "quando un utente aggiorna le sue informazioni di pagamento"
1201
 
1202
  #: adminpages/emailsettings.php:158 adminpages/emailsettings.php:129
1203
  #: adminpages/emailsettings.php:147
@@ -1443,7 +1443,7 @@ msgid ""
1443
  "registration."
1444
  msgstr ""
1445
  "Seleziona per nascondere questo livello dalla pagina dei livelli e "
1446
- "disabilitarne l'iscrizione"
1447
 
1448
  #: adminpages/membershiplevels.php:495 adminpages/membershiplevels.php:457
1449
  #: adminpages/membershiplevels.php:463 adminpages/membershiplevels.php:465
@@ -1755,7 +1755,7 @@ msgstr "Nuovo Ordine"
1755
  #: adminpages/orders.php:270 adminpages/orders.php:342
1756
  #: adminpages/orders.php:359 adminpages/orders.php:371
1757
  msgid "Randomly generated for you."
1758
- msgstr "Generato casualmente"
1759
 
1760
  #: adminpages/orders.php:395 adminpages/orders.php:225
1761
  #: adminpages/orders.php:275 adminpages/orders.php:347
@@ -2040,7 +2040,7 @@ msgstr "E-mail Fattura"
2040
  #: adminpages/orders.php:834 adminpages/orders.php:670
2041
  #: adminpages/orders.php:699 adminpages/orders.php:803
2042
  msgid "Send an invoice for this order to: "
2043
- msgstr "Invia la fattura per questo ordine a:"
2044
 
2045
  #: adminpages/orders.php:836 adminpages/orders.php:672
2046
  #: adminpages/orders.php:701 adminpages/orders.php:805
@@ -2103,7 +2103,7 @@ msgstr "A"
2103
  #: adminpages/orders.php:743 adminpages/orders.php:772
2104
  #: adminpages/orders.php:889
2105
  msgid "filter by "
2106
- msgstr "filtra per"
2107
 
2108
  #: adminpages/orders.php:963 adminpages/orders.php:674
2109
  #: adminpages/orders.php:780 adminpages/orders.php:809
@@ -2202,12 +2202,12 @@ msgstr ""
2202
  #: adminpages/orders.php:1249 adminpages/orders.php:1030
2203
  #: adminpages/orders.php:1059 adminpages/orders.php:1215
2204
  msgid "print"
2205
- msgstr "Stampa"
2206
 
2207
  #: adminpages/orders.php:1253 adminpages/orders.php:1033
2208
  #: adminpages/orders.php:1062 adminpages/orders.php:1219
2209
  msgid "email"
2210
- msgstr "E-mail"
2211
 
2212
  #: adminpages/orders.php:1262 adminpages/orders.php:674
2213
  #: adminpages/orders.php:977 adminpages/orders.php:995
@@ -2493,7 +2493,7 @@ msgid ""
2493
  "<a target=\"_blank\" href=\"http://www.paidmembershipspro.com/2013/10/non-us-"
2494
  "taxes-paid-memberships-pro/\">pmpro_tax filter</a>."
2495
  msgstr ""
2496
- "Solo pe USA. Se fornito, la tassazione verrà applicata ad ogni membro che "
2497
  "ordina dallo stato selezionato. <br />Per gli utenti non-US o per creare "
2498
  "regole più complesse, utilizzare il filtro <a target=\"_blank\" href="
2499
  "\"http://www.paidmembershipspro.com/2013/10/non-us-taxes-paid-memberships-"
@@ -2637,7 +2637,7 @@ msgstr "Visualizzazioni Mensili"
2637
  #: adminpages/reports/login.php:168 adminpages/reports/login.php:150
2638
  #: adminpages/reports/login.php:152
2639
  msgid "Total Views"
2640
- msgstr "Totale Visualizzazioni "
2641
 
2642
  #: adminpages/reports/login.php:169 adminpages/reports/login.php:151
2643
  #: adminpages/reports/login.php:153
@@ -2766,7 +2766,7 @@ msgstr "Ricavo"
2766
  #: adminpages/templates/orders-email.php:14
2767
  #: adminpages/templates/orders-print.php:50
2768
  msgid "Invoice #: "
2769
- msgstr "Fattura #:"
2770
 
2771
  #: adminpages/templates/orders-email.php:18
2772
  #: adminpages/templates/orders-print.php:54
@@ -2904,7 +2904,7 @@ msgstr "Codice Sconto"
2904
  #: classes/class.pmproemail.php:665
2905
  #, php-format
2906
  msgid "This membership will expire on %s."
2907
- msgstr "Questa iscrizione scadrà %s"
2908
 
2909
  #: classes/class.pmproemail.php:307 classes/class.pmproemail.php:263
2910
  #: classes/class.pmproemail.php:265 classes/class.pmproemail.php:275
@@ -2991,14 +2991,14 @@ msgstr "L'iscrizione a %s è stata modificata"
2991
  #: classes/class.pmproemail.php:810 classes/class.pmproemail.php:811
2992
  #, php-format
2993
  msgid "The new level is %s"
2994
- msgstr "Il nuovo livello è %s."
2995
 
2996
  #: classes/class.pmproemail.php:795 classes/class.pmproemail.php:647
2997
  #: classes/class.pmproemail.php:696 classes/class.pmproemail.php:761
2998
  #: classes/class.pmproemail.php:764 classes/class.pmproemail.php:773
2999
  #: classes/class.pmproemail.php:775
3000
  msgid "Your membership has been cancelled"
3001
- msgstr "La tua iscrizione è stata cancellata."
3002
 
3003
  #: classes/class.pmproemail.php:798 classes/class.pmproemail.php:836
3004
  #: classes/class.pmproemail.php:651 classes/class.pmproemail.php:689
@@ -3035,12 +3035,12 @@ msgstr "L'iscrizione per %s a %s è stata modificata"
3035
  #: classes/class.pmproemail.php:802 classes/class.pmproemail.php:811
3036
  #: classes/class.pmproemail.php:812 classes/class.pmproemail.php:813
3037
  msgid "Membership has been cancelled"
3038
- msgstr "iscrizione cancellata"
3039
 
3040
  #: classes/class.pmproemail.php:869 classes/class.pmproemail.php:848
3041
  #: classes/class.pmproemail.php:849 classes/class.pmproemail.php:850
3042
  msgid "Invoice for Order #: "
3043
- msgstr "Fattura per Ordine #:"
3044
 
3045
  #: classes/gateways/class.pmprogateway.php:55
3046
  #: classes/gateways/class.pmprogateway_authorizenet.php:171
@@ -3109,7 +3109,7 @@ msgid ""
3109
  "A partial payment was made that we could not void. Please contact the site "
3110
  "owner immediately to correct this."
3111
  msgstr ""
3112
- "E' appena stato fatto un pagamento parziale. Per favore contatta "
3113
  "l'amministratore immediatamente per correggere l'errore."
3114
 
3115
  #: classes/gateways/class.pmprogateway_authorizenet.php:39
@@ -3345,7 +3345,7 @@ msgstr "CVV"
3345
  #: pages/checkout.php:604 pages/checkout.php:606 pages/checkout.php:608
3346
  #: pages/checkout.php:609
3347
  msgid "what's this?"
3348
- msgstr "Cos'è?"
3349
 
3350
  #: classes/gateways/class.pmprogateway_braintree.php:370
3351
  #: classes/gateways/class.pmprogateway_stripe.php:564 pages/checkout.php:95
@@ -3387,7 +3387,7 @@ msgstr "Applica"
3387
  #: classes/gateways/class.pmprogateway_stripe.php:1073
3388
  #: classes/gateways/class.pmprogateway_stripe.php:1076
3389
  msgid "Unknown error: Initial payment failed."
3390
- msgstr "Errore sconosciuto: pagamento iniziale fallito"
3391
 
3392
  #: classes/gateways/class.pmprogateway_braintree.php:484
3393
  #: classes/gateways/class.pmprogateway_braintree.php:120
@@ -3492,7 +3492,7 @@ msgstr "Errore nell'iscrizione su Braintree:"
3492
  #: classes/gateways/class.pmprogateway_stripe.php:402
3493
  #: classes/gateways/class.pmprogateway_stripe.php:423
3494
  msgid "Could not find the subscription."
3495
- msgstr "Iscrizione non trovata"
3496
 
3497
  #: classes/gateways/class.pmprogateway_check.php:49
3498
  #: paid-memberships-pro.php:129 adminpages/orders.php:399
@@ -3607,9 +3607,8 @@ msgid ""
3607
  "A partial payment was made that we could not refund. Please contact the site "
3608
  "owner immediately to correct this."
3609
  msgstr ""
3610
- "E' appena stato fatto un pagamento parziale che non ci è possibile "
3611
- "risarcire. Per favore contatta l'amministratore immediatamente per "
3612
- "correggere l'errore."
3613
 
3614
  #: classes/gateways/class.pmprogateway_paypal.php:68
3615
  #: paid-memberships-pro.php:132
@@ -4078,7 +4077,7 @@ msgstr "Errore nella creazione dell'iscrizione con Stripe:"
4078
  #: classes/gateways/class.pmprogateway_stripe.php:1510
4079
  #: classes/gateways/class.pmprogateway_stripe.php:1541
4080
  msgid "Error creating plan with Stripe:"
4081
- msgstr "Errore nella creazione del piano su Stripe."
4082
 
4083
  #: classes/gateways/class.pmprogateway_stripe.php:1571
4084
  #: classes/gateways/class.pmprogateway_stripe.php:294
@@ -4511,7 +4510,7 @@ msgstr "Dong Vietnamita"
4511
  #: includes/functions.php:309 includes/functions.php:315
4512
  #, php-format
4513
  msgid "The price for membership is <strong>%s</strong> now"
4514
- msgstr "L'iscrizione costa <strong>%s</strong>."
4515
 
4516
  #: includes/functions.php:322 includes/functions.php:457
4517
  #: includes/functions.php:202 includes/functions.php:204
@@ -4520,7 +4519,7 @@ msgstr "L'iscrizione costa <strong>%s</strong>."
4520
  #: includes/functions.php:311 includes/functions.php:317
4521
  #, php-format
4522
  msgid "<strong>%s</strong> now"
4523
- msgstr "<strong>%s</strong> adesso."
4524
 
4525
  #: includes/functions.php:331 includes/functions.php:169
4526
  #: includes/functions.php:205 includes/functions.php:211
@@ -4769,7 +4768,7 @@ msgstr "nessuna modifica?"
4769
  #: includes/functions.php:905 includes/functions.php:911
4770
  #: includes/functions.php:1017
4771
  msgid "Error interacting with database"
4772
- msgstr "Errore nell'interazione con il database."
4773
 
4774
  #: includes/functions.php:1127 includes/functions.php:907
4775
  #: includes/functions.php:1123
@@ -5080,7 +5079,7 @@ msgstr ""
5080
 
5081
  #: includes/profile.php:36 includes/profile.php:34
5082
  msgid "Current Level"
5083
- msgstr "Livello d'iscrizione corrente."
5084
 
5085
  #: includes/profile.php:65 includes/profile.php:54 includes/profile.php:60
5086
  msgid "Not paying."
@@ -5120,8 +5119,8 @@ msgstr "Tutti gli aggiornamenti di Paid Memberships Pro sono terminati."
5120
  msgid ""
5121
  "This content is for !!levels!! members only.<br /><a href=\"%s\">Register</a>"
5122
  msgstr ""
5123
- "Questo contenuto è riservato ai soli membri di !!levels!! <br /><a href=\"%s"
5124
- "\">Registrati</a>."
5125
 
5126
  #: includes/updates/upgrade_1.php:10 includes/upgradecheck.php:404
5127
  #: includes/upgradecheck.php:413 includes/upgradecheck.php:425
@@ -5132,8 +5131,8 @@ msgid ""
5132
  "This content is for !!levels!! members only.<br /><a href=\"%s\">Log In</a> "
5133
  "<a href=\"%s\">Register</a>"
5134
  msgstr ""
5135
- "Questo contenuto è riservato ai soli membri di !!levels!! <br /><a href=\"%s"
5136
- "\">Accedi</a> <a href=\"%s\">Registrati</a>."
5137
 
5138
  #: includes/updates/upgrade_1.php:14 includes/upgradecheck.php:408
5139
  #: includes/upgradecheck.php:417 includes/upgradecheck.php:429
@@ -5221,7 +5220,7 @@ msgstr "Cognome"
5221
  #: pages/checkout.php:317 pages/checkout.php:326 pages/checkout.php:329
5222
  #: pages/checkout.php:332 pages/checkout.php:334 pages/checkout.php:336
5223
  msgid "Address 1"
5224
- msgstr "Indirizzo 1"
5225
 
5226
  #: pages/billing.php:99 pages/checkout.php:345 pages/billing.php:77
5227
  #: pages/billing.php:81 pages/billing.php:90 pages/billing.php:93
@@ -5229,7 +5228,7 @@ msgstr "Indirizzo 1"
5229
  #: pages/checkout.php:321 pages/checkout.php:330 pages/checkout.php:333
5230
  #: pages/checkout.php:336 pages/checkout.php:338 pages/checkout.php:340
5231
  msgid "Address 2"
5232
- msgstr "Indirizzo 2"
5233
 
5234
  #: pages/billing.php:109 pages/checkout.php:355 pages/billing.php:87
5235
  #: pages/billing.php:91 pages/billing.php:100 pages/billing.php:103
@@ -5245,7 +5244,7 @@ msgstr "Città"
5245
  #: pages/checkout.php:335 pages/checkout.php:344 pages/checkout.php:347
5246
  #: pages/checkout.php:350 pages/checkout.php:352 pages/checkout.php:354
5247
  msgid "State"
5248
- msgstr "Stato"
5249
 
5250
  #: pages/billing.php:117 pages/checkout.php:363 pages/billing.php:95
5251
  #: pages/billing.php:99 pages/billing.php:108 pages/billing.php:111
@@ -5253,7 +5252,7 @@ msgstr "Stato"
5253
  #: pages/checkout.php:339 pages/checkout.php:348 pages/checkout.php:351
5254
  #: pages/checkout.php:354 pages/checkout.php:356 pages/checkout.php:358
5255
  msgid "Postal Code"
5256
- msgstr "CAP"
5257
 
5258
  #: pages/billing.php:126 pages/checkout.php:372 pages/billing.php:104
5259
  #: pages/billing.php:108 pages/billing.php:117 pages/billing.php:120
@@ -5261,7 +5260,7 @@ msgstr "CAP"
5261
  #: pages/checkout.php:348 pages/checkout.php:357 pages/checkout.php:360
5262
  #: pages/checkout.php:363 pages/checkout.php:365 pages/checkout.php:367
5263
  msgid "City, State Zip"
5264
- msgstr "Provincia, Nazione"
5265
 
5266
  #: pages/billing.php:179 pages/checkout.php:425 pages/billing.php:157
5267
  #: pages/billing.php:161 pages/billing.php:170 pages/billing.php:173
@@ -5288,7 +5287,7 @@ msgstr "Telefono"
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
5294
  #: pages/billing.php:201 pages/billing.php:210 pages/billing.php:213
@@ -5296,13 +5295,13 @@ msgstr "Indirizzo Email"
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
5302
  #: pages/billing.php:230 pages/billing.php:231 pages/billing.php:234
5303
  #: pages/billing.php:238
5304
  msgid "Credit Card Information"
5305
- msgstr "Informazioni Carta di Credito"
5306
 
5307
  #: pages/billing.php:248 pages/billing.php:217 pages/billing.php:221
5308
  #: pages/billing.php:230 pages/billing.php:232 pages/billing.php:235
@@ -5806,7 +5805,7 @@ msgstr "reCAPTCHA errato. (%s) Riprova."
5806
  #: preheaders/checkout.php:659 preheaders/checkout.php:683
5807
  #: preheaders/checkout.php:701 preheaders/checkout.php:702
5808
  msgid "Payment accepted."
5809
- msgstr "Pagamento accettato"
5810
 
5811
  #: preheaders/checkout.php:497 preheaders/checkout.php:490
5812
  #: preheaders/checkout.php:492 preheaders/checkout.php:509
@@ -5885,8 +5884,8 @@ msgid ""
5885
  "You must <a href=\"%s\">set up a Payment Gateway</a> before any payments "
5886
  "will be processed."
5887
  msgstr ""
5888
- "E' necessario <a href=\"%s\">configurare un metodo di pagamento</a> prima "
5889
- "che qualunque pagamento possa essere effettuato."
5890
 
5891
  #: preheaders/checkout.php:818 preheaders/checkout.php:707
5892
  #: preheaders/checkout.php:709 preheaders/checkout.php:726
@@ -5898,41 +5897,41 @@ msgstr ""
5898
  #: preheaders/checkout.php:1065 preheaders/checkout.php:1066
5899
  msgid "A Payment Gateway must be set up before any payments will be processed."
5900
  msgstr ""
5901
- "E' necessario impostare un metodo di pagamento prima che qualunque pagamento "
5902
- "possa essere effettuato. "
5903
 
5904
  #: scheduled/crons.php:39 scheduled/crons.php:31 scheduled/crons.php:34
5905
  #: scheduled/crons.php:38 scheduled/crons.php:61
5906
  #, php-format
5907
  msgid "Membership expired email sent to %s. "
5908
- msgstr "Avviso di iscrizione scaduta inviato a %s."
5909
 
5910
  #: scheduled/crons.php:105 scheduled/crons.php:27 scheduled/crons.php:74
5911
  #: scheduled/crons.php:80 scheduled/crons.php:84 scheduled/crons.php:88
5912
  #: scheduled/crons.php:99 scheduled/crons.php:100
5913
  #, php-format
5914
  msgid "Membership expiring email sent to %s. "
5915
- msgstr "Avviso di iscrizione in scadenza inviato a %s."
5916
 
5917
  #: scheduled/crons.php:184 scheduled/crons.php:143 scheduled/crons.php:152
5918
  #: scheduled/crons.php:157 scheduled/crons.php:164 scheduled/crons.php:175
5919
  #: scheduled/crons.php:176
5920
  #, php-format
5921
  msgid "Credit card expiring email sent to %s. "
5922
- msgstr "Avviso di Carta di Credito in scadenza inviato a %s."
5923
 
5924
  #: scheduled/crons.php:240 scheduled/crons.php:104 scheduled/crons.php:196
5925
  #: scheduled/crons.php:208 scheduled/crons.php:210 scheduled/crons.php:220
5926
  #: scheduled/crons.php:231 scheduled/crons.php:232
5927
  #, php-format
5928
  msgid "Trial ending email sent to %s. "
5929
- msgstr "Avviso di scadenza periodo di prova inviato a %s."
5930
 
5931
  #: services/applydiscountcode.php:70 services/applydiscountcode.php:64
5932
  #: services/applydiscountcode.php:67
5933
  #, php-format
5934
  msgid "The %s code has been applied to your order. "
5935
- msgstr "Il codice <strong>%s</strong> è stato applicato al tuo ordine."
5936
 
5937
  #: services/applydiscountcode.php:100 services/applydiscountcode.php:82
5938
  #: services/applydiscountcode.php:83 services/applydiscountcode.php:86
@@ -6158,8 +6157,8 @@ msgstr ""
6158
  msgid ""
6159
  "To fully integrate with 2Checkout, be sure to set your 2Checkout INS URL "
6160
  msgstr ""
6161
- "Per l'integrazione completa con 2Checkout, assicurarsi di aver impostato il "
6162
- "proprio 2Checkout INS URL"
6163
 
6164
  #: adminpages/reports/login.php:26 adminpages/reports/login.php:27
6165
  msgid "Visits Today"
@@ -6296,7 +6295,7 @@ msgstr "Annulla Iscrizione"
6296
 
6297
  #: pages/cancel.php:17 pages/cancel.php:37
6298
  msgid "Yes, cancel my account"
6299
- msgstr "Si, cancella il mio conto"
6300
 
6301
  #: pages/cancel.php:19 pages/cancel.php:38
6302
  msgid "No, keep my account"
@@ -6358,7 +6357,7 @@ msgstr "%s dopo %d %s."
6358
  #: preheaders/checkout.php:99 preheaders/checkout.php:100
6359
  #: preheaders/checkout.php:102 preheaders/checkout.php:109
6360
  msgid "Set up Your Account"
6361
- msgstr "Imposta il tuo conto "
6362
 
6363
  #~ msgid "The new level is %s. This membership is free"
6364
  #~ msgstr "Il nuovo livello è %s. Questa iscrizione è gratis"
3
  "Project-Id-Version: Paid Memberships Pro\n"
4
  "POT-Creation-Date: 2016-11-08 17:03-0500\n"
5
  "PO-Revision-Date: \n"
6
+ "Last-Translator: Mirco Babini <mirkolofio@gmail.com>\n"
7
  "Language-Team: Angelo Giammarresi <info@wocmultimedia.com>\n"
8
  "Language: it_IT\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
  "X-Poedit-SourceCharset: UTF-8\n"
13
+ "X-Generator: Poedit 2.4.2\n"
14
 
15
  #: adminpages/addons.php:5 adminpages/advancedsettings.php:5
16
  #: adminpages/discountcodes.php:5 adminpages/emailsettings.php:5
37
  #: adminpages/addons.php:74 adminpages/addons.php:71 adminpages/addons.php:87
38
  #, php-format
39
  msgid "Last checked on %s at %s."
40
+ msgstr "Ultimo controllo il %s alle %s."
41
 
42
  #: adminpages/addons.php:75 adminpages/addons.php:72 adminpages/addons.php:88
43
  msgid "Check Again"
371
  #: adminpages/advancedsettings.php:94 adminpages/advancedsettings.php:85
372
  #: adminpages/advancedsettings.php:92
373
  msgid "Message for Logged-in Non-members"
374
+ msgstr "Messaggio per Utenti Autenticati (Login effettuato), NON-membri"
375
 
376
  #: adminpages/advancedsettings.php:98 adminpages/advancedsettings.php:89
377
  #: adminpages/advancedsettings.php:96
384
  #: adminpages/advancedsettings.php:103 adminpages/advancedsettings.php:94
385
  #: adminpages/advancedsettings.php:101
386
  msgid "Message for Logged-out Users"
387
+ msgstr "Messaggio per Visitatori (Login NON effettuato)"
388
 
389
  #: adminpages/advancedsettings.php:107 adminpages/advancedsettings.php:98
390
  #: adminpages/advancedsettings.php:105
401
  #: adminpages/advancedsettings.php:116 adminpages/advancedsettings.php:107
402
  #: adminpages/advancedsettings.php:114
403
  msgid "This message replaces the post content in RSS feeds."
404
+ msgstr "Questo messaggio sostituisce il contenuto del post nei Feed RSS."
405
 
406
  #: adminpages/advancedsettings.php:122
407
  msgid "Filter searches and archives?"
412
  "No - Non-members will see restricted posts/pages in searches and archives."
413
  msgstr ""
414
  "No - Anche i non membri possono vedere articoli/pagine protette nelle "
415
+ "ricerche e negli archivi."
416
 
417
  #: adminpages/advancedsettings.php:127
418
  msgid ""
419
  "Yes - Only members will see restricted posts/pages in searches and archives."
420
  msgstr ""
421
  "Sì - Solo i Membri possono vedere articoli/pagine protette nelle ricerche e "
422
+ "negli archivi."
423
 
424
  #: adminpages/advancedsettings.php:133 adminpages/advancedsettings.php:113
425
  #: adminpages/advancedsettings.php:120
434
  #: adminpages/advancedsettings.php:138 adminpages/advancedsettings.php:118
435
  #: adminpages/advancedsettings.php:125
436
  msgid "Yes - Show excerpts."
437
+ msgstr " - Mostra estratto."
438
 
439
  #: adminpages/advancedsettings.php:144
440
  msgid "Hide Ads From Members?"
525
  #: classes/gateways/class.pmprogateway_stripe.php:209 includes/profile.php:102
526
  #: includes/profile.php:106 includes/profile.php:122 includes/profile.php:124
527
  msgid "Yes"
528
+ msgstr ""
529
 
530
  #: adminpages/advancedsettings.php:215 adminpages/advancedsettings.php:195
531
  #: adminpages/advancedsettings.php:202
535
  #: adminpages/advancedsettings.php:220 adminpages/advancedsettings.php:200
536
  #: adminpages/advancedsettings.php:207
537
  msgid "Yes - Free memberships only."
538
+ msgstr " - Solo iscrizioni gratuite."
539
 
540
  #: adminpages/advancedsettings.php:221 adminpages/advancedsettings.php:201
541
  #: adminpages/advancedsettings.php:208
542
  msgid "Yes - All memberships."
543
+ msgstr " - Tutte le iscrizioni."
544
 
545
  #: adminpages/advancedsettings.php:223 adminpages/advancedsettings.php:203
546
  #: adminpages/advancedsettings.php:210
547
  msgid "A free reCAPTCHA key is required."
548
+ msgstr "È richiesta una chiave reCAPTCHA gratuita."
549
 
550
  #: adminpages/advancedsettings.php:223 adminpages/advancedsettings.php:203
551
  #: adminpages/advancedsettings.php:210
573
  "If yes, create a WordPress page containing your TOS agreement and assign it "
574
  "using the dropdown above."
575
  msgstr ""
576
+ "Se sì, crea una pagina contenente i Termini di Servizio e selezionala nel "
577
  "menù a tendina qui sopra."
578
 
579
  #: adminpages/advancedsettings.php:285 adminpages/advancedsettings.php:272
580
  msgid "selected"
581
+ msgstr "selezionato"
582
 
583
  #: adminpages/advancedsettings.php:368 adminpages/pagesettings.php:294
584
  #: adminpages/paymentsettings.php:250 adminpages/advancedsettings.php:284
618
  #: adminpages/discountcodes.php:206 adminpages/discountcodes.php:204
619
  #: adminpages/discountcodes.php:205
620
  msgid "There were errors updating the level values: "
621
+ msgstr "Si sono verificati degli errori aggiornando i valori del livello: "
622
 
623
  #: adminpages/discountcodes.php:239 adminpages/discountcodes.php:234
624
  #: adminpages/discountcodes.php:237 adminpages/discountcodes.php:238
743
  #: adminpages/discountcodes.php:393 adminpages/discountcodes.php:388
744
  #: adminpages/discountcodes.php:391 adminpages/discountcodes.php:392
745
  msgid "Leave blank for unlimited uses."
746
+ msgstr "Se lasciato vuoto, utilizzabile illimitatamente."
747
 
748
  #: adminpages/discountcodes.php:402 adminpages/discountcodes.php:400
749
  #: adminpages/discountcodes.php:401
782
  #: adminpages/membershiplevels.php:343 adminpages/membershiplevels.php:345
783
  #: adminpages/membershiplevels.php:355 adminpages/membershiplevels.php:358
784
  msgid "Check if this level has a recurring subscription payment."
785
+ msgstr "Verifica se questo livello richiede iscrizione ricorrente."
786
 
787
  #: adminpages/discountcodes.php:453 adminpages/membershiplevels.php:361
788
  #: adminpages/discountcodes.php:440 adminpages/discountcodes.php:451
921
  #: adminpages/membershiplevels.php:397 adminpages/membershiplevels.php:416
922
  #: adminpages/membershiplevels.php:419
923
  msgid "Check to add a custom trial period."
924
+ msgstr "Seleziona per aggiungere un periodo di prova personalizzato."
925
 
926
  #: adminpages/discountcodes.php:494 adminpages/membershiplevels.php:427
927
  #: adminpages/discountcodes.php:469 adminpages/discountcodes.php:472
1109
  "<em><strong>wordpress@yourdomain.com</strong></em>. You can update this from "
1110
  "address using the fields below."
1111
  msgstr ""
1112
+ "Il sistema invia le email dall'indirizzo <em><strong>wordpress@yourdomain."
1113
  "com</strong></em>. Puoi cambiare questa impostazione usando il campo "
1114
  "seguente."
1115
 
1165
  #: adminpages/emailsettings.php:125 adminpages/emailsettings.php:96
1166
  #: adminpages/emailsettings.php:114
1167
  msgid "when a member checks out."
1168
+ msgstr "quando un membro effettua il pagamento."
1169
 
1170
  #: adminpages/emailsettings.php:130 adminpages/emailsettings.php:101
1171
  #: adminpages/emailsettings.php:119
1197
  #: adminpages/emailsettings.php:152 adminpages/emailsettings.php:123
1198
  #: adminpages/emailsettings.php:141
1199
  msgid "when a user updates his or her billing information."
1200
+ msgstr "quando un utente aggiorna le sue informazioni di pagamento."
1201
 
1202
  #: adminpages/emailsettings.php:158 adminpages/emailsettings.php:129
1203
  #: adminpages/emailsettings.php:147
1443
  "registration."
1444
  msgstr ""
1445
  "Seleziona per nascondere questo livello dalla pagina dei livelli e "
1446
+ "disabilitarne l'iscrizione."
1447
 
1448
  #: adminpages/membershiplevels.php:495 adminpages/membershiplevels.php:457
1449
  #: adminpages/membershiplevels.php:463 adminpages/membershiplevels.php:465
1755
  #: adminpages/orders.php:270 adminpages/orders.php:342
1756
  #: adminpages/orders.php:359 adminpages/orders.php:371
1757
  msgid "Randomly generated for you."
1758
+ msgstr "Generato casualmente."
1759
 
1760
  #: adminpages/orders.php:395 adminpages/orders.php:225
1761
  #: adminpages/orders.php:275 adminpages/orders.php:347
2040
  #: adminpages/orders.php:834 adminpages/orders.php:670
2041
  #: adminpages/orders.php:699 adminpages/orders.php:803
2042
  msgid "Send an invoice for this order to: "
2043
+ msgstr "Invia la fattura per questo ordine a: "
2044
 
2045
  #: adminpages/orders.php:836 adminpages/orders.php:672
2046
  #: adminpages/orders.php:701 adminpages/orders.php:805
2103
  #: adminpages/orders.php:743 adminpages/orders.php:772
2104
  #: adminpages/orders.php:889
2105
  msgid "filter by "
2106
+ msgstr "filtra per "
2107
 
2108
  #: adminpages/orders.php:963 adminpages/orders.php:674
2109
  #: adminpages/orders.php:780 adminpages/orders.php:809
2202
  #: adminpages/orders.php:1249 adminpages/orders.php:1030
2203
  #: adminpages/orders.php:1059 adminpages/orders.php:1215
2204
  msgid "print"
2205
+ msgstr "stampa"
2206
 
2207
  #: adminpages/orders.php:1253 adminpages/orders.php:1033
2208
  #: adminpages/orders.php:1062 adminpages/orders.php:1219
2209
  msgid "email"
2210
+ msgstr "e-mail"
2211
 
2212
  #: adminpages/orders.php:1262 adminpages/orders.php:674
2213
  #: adminpages/orders.php:977 adminpages/orders.php:995
2493
  "<a target=\"_blank\" href=\"http://www.paidmembershipspro.com/2013/10/non-us-"
2494
  "taxes-paid-memberships-pro/\">pmpro_tax filter</a>."
2495
  msgstr ""
2496
+ "Solo per USA. Se fornito, la tassazione verrà applicata ad ogni membro che "
2497
  "ordina dallo stato selezionato. <br />Per gli utenti non-US o per creare "
2498
  "regole più complesse, utilizzare il filtro <a target=\"_blank\" href="
2499
  "\"http://www.paidmembershipspro.com/2013/10/non-us-taxes-paid-memberships-"
2637
  #: adminpages/reports/login.php:168 adminpages/reports/login.php:150
2638
  #: adminpages/reports/login.php:152
2639
  msgid "Total Views"
2640
+ msgstr "Totale Visualizzazioni"
2641
 
2642
  #: adminpages/reports/login.php:169 adminpages/reports/login.php:151
2643
  #: adminpages/reports/login.php:153
2766
  #: adminpages/templates/orders-email.php:14
2767
  #: adminpages/templates/orders-print.php:50
2768
  msgid "Invoice #: "
2769
+ msgstr "Fattura #: "
2770
 
2771
  #: adminpages/templates/orders-email.php:18
2772
  #: adminpages/templates/orders-print.php:54
2904
  #: classes/class.pmproemail.php:665
2905
  #, php-format
2906
  msgid "This membership will expire on %s."
2907
+ msgstr "Questa iscrizione scadrà %s."
2908
 
2909
  #: classes/class.pmproemail.php:307 classes/class.pmproemail.php:263
2910
  #: classes/class.pmproemail.php:265 classes/class.pmproemail.php:275
2991
  #: classes/class.pmproemail.php:810 classes/class.pmproemail.php:811
2992
  #, php-format
2993
  msgid "The new level is %s"
2994
+ msgstr "Il nuovo livello è %s"
2995
 
2996
  #: classes/class.pmproemail.php:795 classes/class.pmproemail.php:647
2997
  #: classes/class.pmproemail.php:696 classes/class.pmproemail.php:761
2998
  #: classes/class.pmproemail.php:764 classes/class.pmproemail.php:773
2999
  #: classes/class.pmproemail.php:775
3000
  msgid "Your membership has been cancelled"
3001
+ msgstr "La tua iscrizione è stata cancellata"
3002
 
3003
  #: classes/class.pmproemail.php:798 classes/class.pmproemail.php:836
3004
  #: classes/class.pmproemail.php:651 classes/class.pmproemail.php:689
3035
  #: classes/class.pmproemail.php:802 classes/class.pmproemail.php:811
3036
  #: classes/class.pmproemail.php:812 classes/class.pmproemail.php:813
3037
  msgid "Membership has been cancelled"
3038
+ msgstr "Iscrizione cancellata"
3039
 
3040
  #: classes/class.pmproemail.php:869 classes/class.pmproemail.php:848
3041
  #: classes/class.pmproemail.php:849 classes/class.pmproemail.php:850
3042
  msgid "Invoice for Order #: "
3043
+ msgstr "Fattura per Ordine #: "
3044
 
3045
  #: classes/gateways/class.pmprogateway.php:55
3046
  #: classes/gateways/class.pmprogateway_authorizenet.php:171
3109
  "A partial payment was made that we could not void. Please contact the site "
3110
  "owner immediately to correct this."
3111
  msgstr ""
3112
+ "È appena stato fatto un pagamento parziale. Per favore contatta "
3113
  "l'amministratore immediatamente per correggere l'errore."
3114
 
3115
  #: classes/gateways/class.pmprogateway_authorizenet.php:39
3345
  #: pages/checkout.php:604 pages/checkout.php:606 pages/checkout.php:608
3346
  #: pages/checkout.php:609
3347
  msgid "what's this?"
3348
+ msgstr "cos'è?"
3349
 
3350
  #: classes/gateways/class.pmprogateway_braintree.php:370
3351
  #: classes/gateways/class.pmprogateway_stripe.php:564 pages/checkout.php:95
3387
  #: classes/gateways/class.pmprogateway_stripe.php:1073
3388
  #: classes/gateways/class.pmprogateway_stripe.php:1076
3389
  msgid "Unknown error: Initial payment failed."
3390
+ msgstr "Errore sconosciuto: pagamento iniziale fallito."
3391
 
3392
  #: classes/gateways/class.pmprogateway_braintree.php:484
3393
  #: classes/gateways/class.pmprogateway_braintree.php:120
3492
  #: classes/gateways/class.pmprogateway_stripe.php:402
3493
  #: classes/gateways/class.pmprogateway_stripe.php:423
3494
  msgid "Could not find the subscription."
3495
+ msgstr "Iscrizione non trovata."
3496
 
3497
  #: classes/gateways/class.pmprogateway_check.php:49
3498
  #: paid-memberships-pro.php:129 adminpages/orders.php:399
3607
  "A partial payment was made that we could not refund. Please contact the site "
3608
  "owner immediately to correct this."
3609
  msgstr ""
3610
+ "È appena stato fatto un pagamento parziale che non ci è possibile risarcire. "
3611
+ "Per favore contatta l'amministratore immediatamente per correggere l'errore."
 
3612
 
3613
  #: classes/gateways/class.pmprogateway_paypal.php:68
3614
  #: paid-memberships-pro.php:132
4077
  #: classes/gateways/class.pmprogateway_stripe.php:1510
4078
  #: classes/gateways/class.pmprogateway_stripe.php:1541
4079
  msgid "Error creating plan with Stripe:"
4080
+ msgstr "Errore nella creazione del piano su Stripe:"
4081
 
4082
  #: classes/gateways/class.pmprogateway_stripe.php:1571
4083
  #: classes/gateways/class.pmprogateway_stripe.php:294
4510
  #: includes/functions.php:309 includes/functions.php:315
4511
  #, php-format
4512
  msgid "The price for membership is <strong>%s</strong> now"
4513
+ msgstr "L'iscrizione costa <strong>%s</strong> adesso"
4514
 
4515
  #: includes/functions.php:322 includes/functions.php:457
4516
  #: includes/functions.php:202 includes/functions.php:204
4519
  #: includes/functions.php:311 includes/functions.php:317
4520
  #, php-format
4521
  msgid "<strong>%s</strong> now"
4522
+ msgstr "<strong>%s</strong> adesso"
4523
 
4524
  #: includes/functions.php:331 includes/functions.php:169
4525
  #: includes/functions.php:205 includes/functions.php:211
4768
  #: includes/functions.php:905 includes/functions.php:911
4769
  #: includes/functions.php:1017
4770
  msgid "Error interacting with database"
4771
+ msgstr "Errore nell'interazione con il database"
4772
 
4773
  #: includes/functions.php:1127 includes/functions.php:907
4774
  #: includes/functions.php:1123
5079
 
5080
  #: includes/profile.php:36 includes/profile.php:34
5081
  msgid "Current Level"
5082
+ msgstr "Livello d'iscrizione corrente"
5083
 
5084
  #: includes/profile.php:65 includes/profile.php:54 includes/profile.php:60
5085
  msgid "Not paying."
5119
  msgid ""
5120
  "This content is for !!levels!! members only.<br /><a href=\"%s\">Register</a>"
5121
  msgstr ""
5122
+ "Questo contenuto è riservato ai soli membri di !!levels!!.<br /><a href=\"%s"
5123
+ "\">Registrati</a>"
5124
 
5125
  #: includes/updates/upgrade_1.php:10 includes/upgradecheck.php:404
5126
  #: includes/upgradecheck.php:413 includes/upgradecheck.php:425
5131
  "This content is for !!levels!! members only.<br /><a href=\"%s\">Log In</a> "
5132
  "<a href=\"%s\">Register</a>"
5133
  msgstr ""
5134
+ "Questo contenuto è riservato ai soli membri di !!levels!!.<br /><a href=\"%s"
5135
+ "\">Accedi</a> <a href=\"%s\">Registrati</a>"
5136
 
5137
  #: includes/updates/upgrade_1.php:14 includes/upgradecheck.php:408
5138
  #: includes/upgradecheck.php:417 includes/upgradecheck.php:429
5220
  #: pages/checkout.php:317 pages/checkout.php:326 pages/checkout.php:329
5221
  #: pages/checkout.php:332 pages/checkout.php:334 pages/checkout.php:336
5222
  msgid "Address 1"
5223
+ msgstr "Via e numero"
5224
 
5225
  #: pages/billing.php:99 pages/checkout.php:345 pages/billing.php:77
5226
  #: pages/billing.php:81 pages/billing.php:90 pages/billing.php:93
5228
  #: pages/checkout.php:321 pages/checkout.php:330 pages/checkout.php:333
5229
  #: pages/checkout.php:336 pages/checkout.php:338 pages/checkout.php:340
5230
  msgid "Address 2"
5231
+ msgstr "Appartamento, suite, unità, ecc."
5232
 
5233
  #: pages/billing.php:109 pages/checkout.php:355 pages/billing.php:87
5234
  #: pages/billing.php:91 pages/billing.php:100 pages/billing.php:103
5244
  #: pages/checkout.php:335 pages/checkout.php:344 pages/checkout.php:347
5245
  #: pages/checkout.php:350 pages/checkout.php:352 pages/checkout.php:354
5246
  msgid "State"
5247
+ msgstr "Provincia"
5248
 
5249
  #: pages/billing.php:117 pages/checkout.php:363 pages/billing.php:95
5250
  #: pages/billing.php:99 pages/billing.php:108 pages/billing.php:111
5252
  #: pages/checkout.php:339 pages/checkout.php:348 pages/checkout.php:351
5253
  #: pages/checkout.php:354 pages/checkout.php:356 pages/checkout.php:358
5254
  msgid "Postal Code"
5255
+ msgstr "C.A.P."
5256
 
5257
  #: pages/billing.php:126 pages/checkout.php:372 pages/billing.php:104
5258
  #: pages/billing.php:108 pages/billing.php:117 pages/billing.php:120
5260
  #: pages/checkout.php:348 pages/checkout.php:357 pages/checkout.php:360
5261
  #: pages/checkout.php:363 pages/checkout.php:365 pages/checkout.php:367
5262
  msgid "City, State Zip"
5263
+ msgstr "Città, Provincia e C.A.P."
5264
 
5265
  #: pages/billing.php:179 pages/checkout.php:425 pages/billing.php:157
5266
  #: pages/billing.php:161 pages/billing.php:170 pages/billing.php:173
5287
  #: pages/checkout.php:453 pages/checkout.php:455 pages/checkout.php:457
5288
  #: pages/checkout.php:460
5289
  msgid "Email Address"
5290
+ msgstr "Indirizzo email"
5291
 
5292
  #: pages/billing.php:219 pages/checkout.php:473 pages/billing.php:197
5293
  #: pages/billing.php:201 pages/billing.php:210 pages/billing.php:213
5295
  #: pages/checkout.php:449 pages/checkout.php:458 pages/checkout.php:462
5296
  #: pages/checkout.php:464 pages/checkout.php:466 pages/checkout.php:469
5297
  msgid "Confirm Email"
5298
+ msgstr "Conferma email"
5299
 
5300
  #: pages/billing.php:247 pages/billing.php:217 pages/billing.php:221
5301
  #: pages/billing.php:230 pages/billing.php:231 pages/billing.php:234
5302
  #: pages/billing.php:238
5303
  msgid "Credit Card Information"
5304
+ msgstr "Dati della carta di credito"
5305
 
5306
  #: pages/billing.php:248 pages/billing.php:217 pages/billing.php:221
5307
  #: pages/billing.php:230 pages/billing.php:232 pages/billing.php:235
5805
  #: preheaders/checkout.php:659 preheaders/checkout.php:683
5806
  #: preheaders/checkout.php:701 preheaders/checkout.php:702
5807
  msgid "Payment accepted."
5808
+ msgstr "Pagamento accettato."
5809
 
5810
  #: preheaders/checkout.php:497 preheaders/checkout.php:490
5811
  #: preheaders/checkout.php:492 preheaders/checkout.php:509
5884
  "You must <a href=\"%s\">set up a Payment Gateway</a> before any payments "
5885
  "will be processed."
5886
  msgstr ""
5887
+ "È necessario <a href=\"%s\">configurare un metodo di pagamento</a> prima che "
5888
+ "qualunque pagamento possa essere effettuato."
5889
 
5890
  #: preheaders/checkout.php:818 preheaders/checkout.php:707
5891
  #: preheaders/checkout.php:709 preheaders/checkout.php:726
5897
  #: preheaders/checkout.php:1065 preheaders/checkout.php:1066
5898
  msgid "A Payment Gateway must be set up before any payments will be processed."
5899
  msgstr ""
5900
+ "È necessario impostare un metodo di pagamento prima che qualunque pagamento "
5901
+ "possa essere effettuato."
5902
 
5903
  #: scheduled/crons.php:39 scheduled/crons.php:31 scheduled/crons.php:34
5904
  #: scheduled/crons.php:38 scheduled/crons.php:61
5905
  #, php-format
5906
  msgid "Membership expired email sent to %s. "
5907
+ msgstr "Avviso di iscrizione scaduta inviato a %s. "
5908
 
5909
  #: scheduled/crons.php:105 scheduled/crons.php:27 scheduled/crons.php:74
5910
  #: scheduled/crons.php:80 scheduled/crons.php:84 scheduled/crons.php:88
5911
  #: scheduled/crons.php:99 scheduled/crons.php:100
5912
  #, php-format
5913
  msgid "Membership expiring email sent to %s. "
5914
+ msgstr "Avviso di iscrizione in scadenza inviato a %s. "
5915
 
5916
  #: scheduled/crons.php:184 scheduled/crons.php:143 scheduled/crons.php:152
5917
  #: scheduled/crons.php:157 scheduled/crons.php:164 scheduled/crons.php:175
5918
  #: scheduled/crons.php:176
5919
  #, php-format
5920
  msgid "Credit card expiring email sent to %s. "
5921
+ msgstr "Avviso di Carta di Credito in scadenza inviato a %s. "
5922
 
5923
  #: scheduled/crons.php:240 scheduled/crons.php:104 scheduled/crons.php:196
5924
  #: scheduled/crons.php:208 scheduled/crons.php:210 scheduled/crons.php:220
5925
  #: scheduled/crons.php:231 scheduled/crons.php:232
5926
  #, php-format
5927
  msgid "Trial ending email sent to %s. "
5928
+ msgstr "Avviso di scadenza periodo di prova inviato a %s. "
5929
 
5930
  #: services/applydiscountcode.php:70 services/applydiscountcode.php:64
5931
  #: services/applydiscountcode.php:67
5932
  #, php-format
5933
  msgid "The %s code has been applied to your order. "
5934
+ msgstr "Il codice <strong>%s</strong> è stato applicato al tuo ordine. "
5935
 
5936
  #: services/applydiscountcode.php:100 services/applydiscountcode.php:82
5937
  #: services/applydiscountcode.php:83 services/applydiscountcode.php:86
6157
  msgid ""
6158
  "To fully integrate with 2Checkout, be sure to set your 2Checkout INS URL "
6159
  msgstr ""
6160
+ "Per l'integrazione completa con 2Checkout, assicurarsi di aver impostato il "
6161
+ "proprio 2Checkout INS URL "
6162
 
6163
  #: adminpages/reports/login.php:26 adminpages/reports/login.php:27
6164
  msgid "Visits Today"
6295
 
6296
  #: pages/cancel.php:17 pages/cancel.php:37
6297
  msgid "Yes, cancel my account"
6298
+ msgstr "Sì, cancella il mio conto"
6299
 
6300
  #: pages/cancel.php:19 pages/cancel.php:38
6301
  msgid "No, keep my account"
6357
  #: preheaders/checkout.php:99 preheaders/checkout.php:100
6358
  #: preheaders/checkout.php:102 preheaders/checkout.php:109
6359
  msgid "Set up Your Account"
6360
+ msgstr "Imposta il tuo conto"
6361
 
6362
  #~ msgid "The new level is %s. This membership is free"
6363
  #~ msgstr "Il nuovo livello è %s. Questa iscrizione è gratis"
pages/billing.php CHANGED
@@ -61,11 +61,11 @@
61
  <?php
62
  $level = $current_user->membership_level;
63
  if($current_user->membership_level->cycle_number > 1) {
64
- printf(__('%s every %d %s.', 'paid-memberships-pro' ), pmpro_formatPrice($level->billing_amount), $level->cycle_number, pmpro_translate_billing_period($level->cycle_period, $level->cycle_number));
65
  } elseif($current_user->membership_level->cycle_number == 1) {
66
- printf(__('%s per %s.', 'paid-memberships-pro' ), pmpro_formatPrice($level->billing_amount), pmpro_translate_billing_period($level->cycle_period));
67
  } else {
68
- echo pmpro_formatPrice($current_user->membership_level->billing_amount);
69
  }
70
  ?>
71
 
61
  <?php
62
  $level = $current_user->membership_level;
63
  if($current_user->membership_level->cycle_number > 1) {
64
+ printf(__('%s every %d %s.', 'paid-memberships-pro' ), pmpro_escape_price( pmpro_formatPrice($level->billing_amount) ), $level->cycle_number, pmpro_translate_billing_period($level->cycle_period, $level->cycle_number));
65
  } elseif($current_user->membership_level->cycle_number == 1) {
66
+ printf(__('%s per %s.', 'paid-memberships-pro' ), pmpro_escape_price( pmpro_formatPrice($level->billing_amount) ), pmpro_translate_billing_period($level->cycle_period));
67
  } else {
68
+ echo pmpro_escape_price( pmpro_formatPrice($current_user->membership_level->billing_amount) );
69
  }
70
  ?>
71
 
pages/checkout.php CHANGED
@@ -32,7 +32,9 @@
32
  <?php } ?>
33
 
34
  <?php if($pmpro_msg) { ?>
35
- <div id="pmpro_message" class="<?php echo pmpro_get_element_class( 'pmpro_message ' . $pmpro_msgt, $pmpro_msgt ); ?>"><?php echo $pmpro_msg?></div>
 
 
36
  <?php } else { ?>
37
  <div id="pmpro_message" class="<?php echo pmpro_get_element_class( 'pmpro_message' ); ?>" style="display: none;"></div>
38
  <?php } ?>
32
  <?php } ?>
33
 
34
  <?php if($pmpro_msg) { ?>
35
+ <div id="pmpro_message" class="<?php echo pmpro_get_element_class( 'pmpro_message ' . $pmpro_msgt, $pmpro_msgt ); ?>">
36
+ <?php echo apply_filters( 'pmpro_checkout_message', $pmpro_msg, $pmpro_msgt ) ?>
37
+ </div>
38
  <?php } else { ?>
39
  <div id="pmpro_message" class="<?php echo pmpro_get_element_class( 'pmpro_message' ); ?>" style="display: none;"></div>
40
  <?php } ?>
pages/confirmation.php CHANGED
@@ -95,17 +95,17 @@
95
  <strong><?php _e('Total Billed', 'paid-memberships-pro' );?></strong>
96
  <p><?php if($pmpro_invoice->total != '0.00') { ?>
97
  <?php if(!empty($pmpro_invoice->tax)) { ?>
98
- <?php _e('Subtotal', 'paid-memberships-pro' );?>: <?php echo pmpro_formatPrice($pmpro_invoice->subtotal);?><br />
99
- <?php _e('Tax', 'paid-memberships-pro' );?>: <?php echo pmpro_formatPrice($pmpro_invoice->tax);?><br />
100
  <?php if(!empty($pmpro_invoice->couponamount)) { ?>
101
- <?php _e('Coupon', 'paid-memberships-pro' );?>: (<?php echo pmpro_formatPrice($pmpro_invoice->couponamount);?>)<br />
102
  <?php } ?>
103
- <strong><?php _e('Total', 'paid-memberships-pro' );?>: <?php echo pmpro_formatPrice($pmpro_invoice->total);?></strong>
104
  <?php } else { ?>
105
- <?php echo pmpro_formatPrice($pmpro_invoice->total);?>
106
  <?php } ?>
107
  <?php } else { ?>
108
- <small class="<?php echo pmpro_get_element_class( 'pmpro_grey' ); ?>"><?php echo esc_html( pmpro_formatPrice(0) );?></small>
109
  <?php } ?></p>
110
  </div> <!-- end pmpro_invoice-total -->
111
 
95
  <strong><?php _e('Total Billed', 'paid-memberships-pro' );?></strong>
96
  <p><?php if($pmpro_invoice->total != '0.00') { ?>
97
  <?php if(!empty($pmpro_invoice->tax)) { ?>
98
+ <?php _e('Subtotal', 'paid-memberships-pro' );?>: <?php echo pmpro_escape_price( pmpro_formatPrice($pmpro_invoice->subtotal) );?><br />
99
+ <?php _e('Tax', 'paid-memberships-pro' );?>: <?php echo pmpro_escape_price( pmpro_formatPrice($pmpro_invoice->tax) );?><br />
100
  <?php if(!empty($pmpro_invoice->couponamount)) { ?>
101
+ <?php _e('Coupon', 'paid-memberships-pro' );?>: (<?php echo pmpro_escape_price( pmpro_formatPrice($pmpro_invoice->couponamount) );?>)<br />
102
  <?php } ?>
103
+ <strong><?php _e('Total', 'paid-memberships-pro' );?>: <?php echo pmpro_escape_price( pmpro_formatPrice($pmpro_invoice->total) );?></strong>
104
  <?php } else { ?>
105
+ <?php echo pmpro_escape_price( pmpro_formatPrice($pmpro_invoice->total) );?>
106
  <?php } ?>
107
  <?php } else { ?>
108
+ <?php echo pmpro_escape_price( pmpro_formatPrice(0) ); ?>
109
  <?php } ?></p>
110
  </div> <!-- end pmpro_invoice-total -->
111
 
pages/invoice.php CHANGED
@@ -85,17 +85,17 @@
85
  <strong><?php _e('Total Billed', 'paid-memberships-pro' );?></strong>
86
  <p><?php if($pmpro_invoice->total != '0.00') { ?>
87
  <?php if(!empty($pmpro_invoice->tax)) { ?>
88
- <?php _e('Subtotal', 'paid-memberships-pro' );?>: <?php echo pmpro_formatPrice($pmpro_invoice->subtotal);?><br />
89
- <?php _e('Tax', 'paid-memberships-pro' );?>: <?php echo pmpro_formatPrice($pmpro_invoice->tax);?><br />
90
  <?php if(!empty($pmpro_invoice->couponamount)) { ?>
91
- <?php _e('Coupon', 'paid-memberships-pro' );?>: (<?php echo pmpro_formatPrice($pmpro_invoice->couponamount);?>)<br />
92
  <?php } ?>
93
- <strong><?php _e('Total', 'paid-memberships-pro' );?>: <?php echo pmpro_formatPrice($pmpro_invoice->total);?></strong>
94
  <?php } else { ?>
95
- <?php echo pmpro_formatPrice($pmpro_invoice->total);?>
96
  <?php } ?>
97
  <?php } else { ?>
98
- <small class="<?php echo pmpro_get_element_class( 'pmpro_grey' ); ?>"><?php echo pmpro_formatPrice(0);?></small>
99
  <?php } ?></p>
100
  </div> <!-- end pmpro_invoice-total -->
101
  </div> <!-- end pmpro_invoice_details -->
85
  <strong><?php _e('Total Billed', 'paid-memberships-pro' );?></strong>
86
  <p><?php if($pmpro_invoice->total != '0.00') { ?>
87
  <?php if(!empty($pmpro_invoice->tax)) { ?>
88
+ <?php _e('Subtotal', 'paid-memberships-pro' );?>: <?php echo pmpro_escape_price( pmpro_formatPrice($pmpro_invoice->subtotal) ); ?><br />
89
+ <?php _e('Tax', 'paid-memberships-pro' );?>: <?php echo pmpro_escape_price( pmpro_formatPrice($pmpro_invoice->tax) );?><br />
90
  <?php if(!empty($pmpro_invoice->couponamount)) { ?>
91
+ <?php _e('Coupon', 'paid-memberships-pro' );?>: (<?php echo pmpro_escape_price (pmpro_formatPrice($pmpro_invoice->couponamount) );?>)<br />
92
  <?php } ?>
93
+ <strong><?php _e('Total', 'paid-memberships-pro' );?>: <?php echo pmpro_escape_price( pmpro_formatPrice($pmpro_invoice->total) );?></strong>
94
  <?php } else { ?>
95
+ <?php echo pmpro_escape_price( pmpro_formatPrice($pmpro_invoice->total) );?>
96
  <?php } ?>
97
  <?php } else { ?>
98
+ <?php echo pmpro_escape_price( pmpro_formatPrice(0) ); ?>
99
  <?php } ?></p>
100
  </div> <!-- end pmpro_invoice-total -->
101
  </div> <!-- end pmpro_invoice_details -->
paid-memberships-pro.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Paid Memberships Pro
4
  * Plugin URI: https://www.paidmembershipspro.com
5
  * Description: The most complete member management and membership subscriptions plugin for WordPress.
6
- * Version: 2.5.6
7
  * Author: Stranger Studios
8
  * Author URI: https://www.strangerstudios.com
9
  * Text Domain: paid-memberships-pro
@@ -16,7 +16,7 @@
16
  */
17
 
18
  // version constant
19
- define( 'PMPRO_VERSION', '2.5.6' );
20
  define( 'PMPRO_USER_AGENT', 'Paid Memberships Pro v' . PMPRO_VERSION . '; ' . site_url() );
21
  define( 'PMPRO_MIN_PHP_VERSION', '5.6' );
22
 
3
  * Plugin Name: Paid Memberships Pro
4
  * Plugin URI: https://www.paidmembershipspro.com
5
  * Description: The most complete member management and membership subscriptions plugin for WordPress.
6
+ * Version: 2.5.7
7
  * Author: Stranger Studios
8
  * Author URI: https://www.strangerstudios.com
9
  * Text Domain: paid-memberships-pro
16
  */
17
 
18
  // version constant
19
+ define( 'PMPRO_VERSION', '2.5.7' );
20
  define( 'PMPRO_USER_AGENT', 'Paid Memberships Pro v' . PMPRO_VERSION . '; ' . site_url() );
21
  define( 'PMPRO_MIN_PHP_VERSION', '5.6' );
22
 
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: strangerstudios, kimannwall, andrewza, dlparker1005, paidmembershipspro
3
  Tags: memberships, members, subscriptions, ecommerce, user registration, member, membership, e-commerce, paypal, stripe, braintree, authorize.net, payflow, restrict access, restrict content, directory
4
  Requires at least: 4
5
- Tested up to: 5.6.2
6
- Stable tag: 2.5.6
7
 
8
  Get Paid with Paid Memberships Pro: The most complete member management and membership subscriptions plugin for your WordPress site.
9
 
@@ -153,6 +153,18 @@ Not sure? You can find out by doing a bit a research.
153
  9. Membership Account page, display all sections or show specific sections using shortcode attributes.
154
 
155
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
156
  = 2.5.6 - 2021-03-05 =
157
  * SECURITY: Now sanitizing and escaping the `order` parameter when filtering the users table in the dashboard. (Thanks, Gen Sato)
158
  * BUG FIX/ENHANCEMENT: Now hiding the ApplePay/GooglePay "Payment Request" buttons when the main checkout form is submitted. This helps to prevent double checkouts.
2
  Contributors: strangerstudios, kimannwall, andrewza, dlparker1005, paidmembershipspro
3
  Tags: memberships, members, subscriptions, ecommerce, user registration, member, membership, e-commerce, paypal, stripe, braintree, authorize.net, payflow, restrict access, restrict content, directory
4
  Requires at least: 4
5
+ Tested up to: 5.7
6
+ Stable tag: 2.5.7
7
 
8
  Get Paid with Paid Memberships Pro: The most complete member management and membership subscriptions plugin for your WordPress site.
9
 
153
  9. Membership Account page, display all sections or show specific sections using shortcode attributes.
154
 
155
  == Changelog ==
156
+ = 2.5.7 - 2021-03-10 =
157
+ * ENHANCEMENT: Added a pmpro_checkout_message filter that can be used to filter error messages shown at checkout.
158
+ * BUG FIX/ENHANCEMENT: Now making sure some billing address fields are available for the billing failure emails sent during the PayPal IPN handler.
159
+ * BUG FIX/ENHANCEMENT: Fixed issues where HTML entities were shown in level prices in some places when using certain currencies. All prices are sent through a special pmpro_escape_price function that allows div, span, and sup tags with id and class attributes. Also removed from unneeded small tags and grey coloring of prices in certain spots.
160
+ * BUG FIX: Now cancelling membership when a SUBSCRIPTION_CANCELED message is sent to the Braintree webhook handler. In the past, we incorrectly sent the payment failed email instead.
161
+ * BUG FIX: Fixed display issues with the Require Membership block. The level select field has been swapped with a list of checkboxes.
162
+ * BUG FIX: Fixed warnings that occurred when processing failed payments in webhook and IPN handlers.
163
+ * BUG FIX: Fixed our Braintree class so we will only attempt to update a user's credit card and address when the getCustomer method is called at checkout or during a billing update.
164
+ * BUG FIX: Fixed issue where refreshing the checkout review page when using PayPal Express caused the associated order to be updated again. Now the order status is updated to review and only updates again when the user confirms.
165
+ * BUG FIX: Avoiding warnings when the pmpro_url function is used if the PMPro pages haven't been set up yet. (Thanks, Thomas Sjolshagen)
166
+ * REFACTOR: Updated the pmpro_getSpecificMembershipLevelForUser( $user_id, $level_id ) function so both fields are required. Will still default to the current user if null is passed for the $user_id.
167
+
168
  = 2.5.6 - 2021-03-05 =
169
  * SECURITY: Now sanitizing and escaping the `order` parameter when filtering the users table in the dashboard. (Thanks, Gen Sato)
170
  * BUG FIX/ENHANCEMENT: Now hiding the ApplePay/GooglePay "Payment Request" buttons when the main checkout form is submitted. This helps to prevent double checkouts.
services/braintree-webhook.php CHANGED
@@ -252,6 +252,7 @@ if ( $webhookNotification->kind === Braintree_WebhookNotification::SUBSCRIPTION_
252
  //prep this order for the failure emails
253
  $morder = new \MemberOrder();
254
  $morder->user_id = $user_id;
 
255
 
256
  $morder->billing->name = isset( $transaction->billing_details->first_name ) && isset( $transaction->billing_details->last_name ) ?
257
  trim( $transaction->billing_details->first_name . " " . $transaction->billing_details->first_name ) :
@@ -337,6 +338,7 @@ if ( $webhookNotification->kind === Braintree_WebhookNotification::SUBSCRIPTION_
337
  //prep this order for the failure emails
338
  $morder = new \MemberOrder();
339
  $morder->user_id = $user_id;
 
340
 
341
  $morder->billing->name = isset( $transaction->billing_details->first_name ) && isset( $transaction->billing_details->last_name ) ?
342
  trim( $transaction->billing_details->first_name . " " . $transaction->billing_details->first_name ) :
@@ -417,56 +419,21 @@ if ( $webhookNotification->kind === Braintree_WebhookNotification::SUBSCRIPTION_
417
  $old_order->billing = pmpro_braintreeAddressInfo( $user_id, $old_order );
418
  }
419
 
420
- //prep this order for the failure emails
421
- $morder = new \MemberOrder();
422
- $morder->user_id = $user_id;
423
-
424
- $morder->billing->name = isset( $transaction->billing_details->first_name ) && isset( $transaction->billing_details->last_name ) ?
425
- trim( $transaction->billing_details->first_name . " " . $transaction->billing_details->first_name ) :
426
- $old_order->billing->name;
427
-
428
- $morder->billing->street = isset( $transaction->billing_details->street_address ) ?
429
- $transaction->billing_details->street_address :
430
- $old_order->billing->street;
431
-
432
- $morder->billing->city = isset( $transaction->billing_details->locality ) ?
433
- $transaction->billing_details->locality :
434
- $old_order->billing->city;
435
-
436
- $morder->billing->state = isset( $transaction->billing_details->region ) ?
437
- $transaction->billing_details->region :
438
- $old_order->billing->state;
439
-
440
- $morder->billing->zip = isset( $transaction->billing_details->postal_code ) ?
441
- $transaction->billing_details->postal_code :
442
- $old_order->billing->zip;
443
-
444
- $morder->billing->country = isset( $transaction->billing_details->country_code_alpha2 ) ?
445
- $transaction->billing_details->country_code_alpha2 :
446
- $old_order->billing->country;
447
 
448
- $morder->billing->phone = $old_order->billing->phone;
449
-
450
- //get CC info that is on file
451
- $morder->cardtype = get_user_meta( $user_id, "pmpro_CardType", true );
452
- $morder->accountnumber = hideCardNumber( get_user_meta( $user_id, "pmpro_AccountNumber", true ), false );
453
- $morder->expirationmonth = get_user_meta( $user_id, "pmpro_ExpirationMonth", true );
454
- $morder->expirationyear = get_user_meta( $user_id, "pmpro_ExpirationYear", true );
455
-
456
- // Email the user and ask them to update their credit card information
457
- $pmproemail = new \PMProEmail();
458
- $pmproemail->sendBillingFailureEmail( $user, $morder );
459
-
460
- // Email admin so they are aware of the failure
461
- $pmproemail = new \PMProEmail();
462
- $pmproemail->sendBillingFailureAdminEmail( get_bloginfo( "admin_email" ), $morder );
463
-
464
- $logstr[] = "Sent email to the member and site admin. Thanks.";
465
  pmpro_braintreeWebhookExit();
466
  }
467
 
468
  //subscription cancelled (they used one l canceled)
469
- if ( Braintree_WebhookNotification::SUBSCRIPTION_CANCELED === $webhookNotification->kind ) {
470
 
471
  $logstr[] = "The Braintree gateway cancelled the subscription plan";
472
 
@@ -520,52 +487,19 @@ if ( Braintree_WebhookNotification::SUBSCRIPTION_CANCELED === $webhookNotificati
520
  $old_order->billing = pmpro_braintreeAddressInfo( $user_id, $old_order );
521
  }
522
 
523
- //prep this order for the failure emails
524
- $morder = new \MemberOrder();
525
- $morder->user_id = $user_id;
526
 
527
- $morder->billing->name = isset( $transaction->billing_details->first_name ) && isset( $transaction->billing_details->last_name ) ?
528
- trim( $transaction->billing_details->first_name . " " . $transaction->billing_details->first_name ) :
529
- $old_order->billing->name;
530
 
531
- $morder->billing->street = isset( $transaction->billing_details->street_address ) ?
532
- $transaction->billing_details->street_address :
533
- $old_order->billing->street;
534
 
535
- $morder->billing->city = isset( $transaction->billing_details->locality ) ?
536
- $transaction->billing_details->locality :
537
- $old_order->billing->city;
538
-
539
- $morder->billing->state = isset( $transaction->billing_details->region ) ?
540
- $transaction->billing_details->region :
541
- $old_order->billing->state;
542
-
543
- $morder->billing->zip = isset( $transaction->billing_details->postal_code ) ?
544
- $transaction->billing_details->postal_code :
545
- $old_order->billing->zip;
546
-
547
- $morder->billing->country = isset( $transaction->billing_details->country_code_alpha2 ) ?
548
- $transaction->billing_details->country_code_alpha2 :
549
- $old_order->billing->country;
550
-
551
- $morder->billing->phone = $old_order->billing->phone;
552
-
553
- //get CC info that is on file
554
- $morder->cardtype = get_user_meta( $user_id, "pmpro_CardType", true );
555
- $morder->accountnumber = hideCardNumber( get_user_meta( $user_id, "pmpro_AccountNumber", true ), false );
556
- $morder->expirationmonth = get_user_meta( $user_id, "pmpro_ExpirationMonth", true );
557
- $morder->expirationyear = get_user_meta( $user_id, "pmpro_ExpirationYear", true );
558
-
559
- // Email the user and let them know the membership was cancelled
560
- $pmproemail = new \PMProEmail();
561
- $pmproemail->sendBillingFailureEmail( $user, $morder );
562
-
563
- // Email admin so they are aware of the failure
564
- $pmproemail = new \PMProEmail();
565
- $pmproemail->sendBillingFailureAdminEmail( get_bloginfo( "admin_email" ), $morder );
566
 
567
- // Send email
568
- $logstr[] = "Sent billing failure email to the member and site admin. Thanks.";
569
  pmpro_braintreeWebhookExit();
570
  }
571
 
252
  //prep this order for the failure emails
253
  $morder = new \MemberOrder();
254
  $morder->user_id = $user_id;
255
+ $morder->membership_id = $old_order->membership_id;
256
 
257
  $morder->billing->name = isset( $transaction->billing_details->first_name ) && isset( $transaction->billing_details->last_name ) ?
258
  trim( $transaction->billing_details->first_name . " " . $transaction->billing_details->first_name ) :
338
  //prep this order for the failure emails
339
  $morder = new \MemberOrder();
340
  $morder->user_id = $user_id;
341
+ $morder->membership_id = $old_order->membership_id;
342
 
343
  $morder->billing->name = isset( $transaction->billing_details->first_name ) && isset( $transaction->billing_details->last_name ) ?
344
  trim( $transaction->billing_details->first_name . " " . $transaction->billing_details->first_name ) :
419
  $old_order->billing = pmpro_braintreeAddressInfo( $user_id, $old_order );
420
  }
421
 
422
+ // We don't currently allow billing limits (number_of_billing_cycles) on Braintree subscriptions.
423
+ // But in case we get here, let's send the correct email to the admin.
424
+ $myemail = new PMProEmail();
425
+ $body = sprintf( __( "<p>A member's Braintree subscription has expired at your site. This typically happens if you've set up billing limits on your levels.</p><p>We have not removed the user's membership level.</p><p>You can view details on this user here: %s</p>", 'paid-memberships-pro' ), esc_url( admin_url( 'user-edit.php?user_id=' . $user_id ) ) );
426
+ $myemail->template = 'braintree_subscription_expired';
427
+ $myemail->subject = sprintf( __( "A member's Braintree subscription has expired at %s", 'paid-memberships-pro' ), get_bloginfo( 'name' ) );
428
+ $myemail->data = array( 'body' => $body );
429
+ $myemail->sendEmail( get_bloginfo( 'admin_email' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
430
 
431
+ $logstr[] = "Sent email to the site admin. Thanks.";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
432
  pmpro_braintreeWebhookExit();
433
  }
434
 
435
  //subscription cancelled (they used one l canceled)
436
+ if ( $webhookNotification->kind === Braintree_WebhookNotification::SUBSCRIPTION_CANCELED ) {
437
 
438
  $logstr[] = "The Braintree gateway cancelled the subscription plan";
439
 
487
  $old_order->billing = pmpro_braintreeAddressInfo( $user_id, $old_order );
488
  }
489
 
490
+ // Cancel the related membership.
491
+ pmpro_cancelMembershipLevel( $old_order->membership_id, $old_order->user_id, 'cancelled' );
 
492
 
493
+ $logstr[] = "Cancelled membership for user with id = {$old_order->user_id}. Subscription transaction id = {$old_order->subscription_transaction_id}.\n";
 
 
494
 
495
+ // Send an email to the member.
496
+ $myemail = new PMProEmail();
497
+ $myemail->sendCancelEmail( $user, $old_order->membership_id );
498
 
499
+ // Send an email to the admin.
500
+ $myemail = new PMProEmail();
501
+ $myemail->sendCancelAdminEmail( $user, $old_order->membership_id );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
502
 
 
 
503
  pmpro_braintreeWebhookExit();
504
  }
505
 
services/ipnhandler.php CHANGED
@@ -662,6 +662,22 @@ function pmpro_ipnFailedPayment( $last_order ) {
662
  $morder->billing->country = $_POST['address_country_code'];
663
  $morder->billing->phone = get_user_meta( $morder->user_id, "pmpro_bphone", true );
664
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
665
  //get CC info that is on file
666
  $morder->cardtype = get_user_meta( $morder->user_id, "pmpro_CardType", true );
667
  $morder->accountnumber = hideCardNumber( get_user_meta( $morder->user_id, "pmpro_AccountNumber", true ), false );
662
  $morder->billing->country = $_POST['address_country_code'];
663
  $morder->billing->phone = get_user_meta( $morder->user_id, "pmpro_bphone", true );
664
 
665
+ //get CC info that is on file
666
+ $morder->cardtype = get_user_meta( $morder->user_id, "pmpro_CardType", true );
667
+ $morder->accountnumber = hideCardNumber( get_user_meta( $morder->user_id, "pmpro_AccountNumber", true ), false );
668
+ $morder->expirationmonth = get_user_meta( $morder->user_id, "pmpro_ExpirationMonth", true );
669
+ $morder->expirationyear = get_user_meta( $morder->user_id, "pmpro_ExpirationYear", true );
670
+ } elseif ( $last_order->gateway == "paypalexpress" ) {
671
+ $morder->billing = new stdClass();
672
+
673
+ $morder->billing->name = $last_order->billing->name;
674
+ $morder->billing->street = $last_order->billing->street;
675
+ $morder->billing->city = $last_order->billing->city;
676
+ $morder->billing->state = $last_order->billing->state;
677
+ $morder->billing->zip = $last_order->billing->zip;
678
+ $morder->billing->country = $last_order->billing->country;
679
+ $morder->billing->phone = $last_order->billing->phone;
680
+
681
  //get CC info that is on file
682
  $morder->cardtype = get_user_meta( $morder->user_id, "pmpro_CardType", true );
683
  $morder->accountnumber = hideCardNumber( get_user_meta( $morder->user_id, "pmpro_AccountNumber", true ), false );
shortcodes/pmpro_account.php CHANGED
@@ -239,7 +239,7 @@ function pmpro_shortcode_account($atts, $content=null, $code="")
239
  <tr id="pmpro_account-invoice-<?php echo $invoice->code; ?>">
240
  <td><a href="<?php echo pmpro_url("invoice", "?invoice=" . $invoice->code)?>"><?php echo date_i18n(get_option("date_format"), $invoice->getTimestamp())?></a></td>
241
  <td><?php if(!empty($invoice->membership_level)) echo $invoice->membership_level->name; else echo __("N/A", 'paid-memberships-pro' );?></td>
242
- <td><?php echo pmpro_formatPrice($invoice->total)?></td>
243
  <td><?php echo $display_status; ?></td>
244
  </tr>
245
  <?php
239
  <tr id="pmpro_account-invoice-<?php echo $invoice->code; ?>">
240
  <td><a href="<?php echo pmpro_url("invoice", "?invoice=" . $invoice->code)?>"><?php echo date_i18n(get_option("date_format"), $invoice->getTimestamp())?></a></td>
241
  <td><?php if(!empty($invoice->membership_level)) echo $invoice->membership_level->name; else echo __("N/A", 'paid-memberships-pro' );?></td>
242
+ <td><?php echo pmpro_escape_price( pmpro_formatPrice($invoice->total) ); ?></td>
243
  <td><?php echo $display_status; ?></td>
244
  </tr>
245
  <?php
shortcodes/pmpro_member.php CHANGED
@@ -128,7 +128,7 @@ function pmpro_member_shortcode($atts, $content=null, $code='')
128
  if(empty($r) || $r == '0.00')
129
  $r = '';
130
  else
131
- $r = pmpro_formatPrice($r);
132
  }
133
 
134
  /**
128
  if(empty($r) || $r == '0.00')
129
  $r = '';
130
  else
131
+ $r = pmpro_escape_price( pmpro_formatPrice($r) );
132
  }
133
 
134
  /**