';
$array_keys = array_keys( $sections );
diff --git a/includes/admin/settings/class-settings-license.php b/includes/admin/settings/class-settings-license.php
index 2e841e6c03..de63daae4d 100644
--- a/includes/admin/settings/class-settings-license.php
+++ b/includes/admin/settings/class-settings-license.php
@@ -10,7 +10,7 @@
*/
if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly
+ exit; // Exit if accessed directly.
}
if ( ! class_exists( 'Give_Settings_License' ) ) :
@@ -30,6 +30,10 @@ public function __construct() {
$this->label = esc_html__( 'Licenses', 'give' );
parent::__construct();
+
+ // Filter to remove the license tab.
+ add_filter( 'give-settings_tabs_array', array( $this, 'remove_license_tab' ), 9999999, 1 );
+
}
/**
@@ -59,6 +63,44 @@ public function get_settings() {
// Output.
return $settings;
}
+
+ /**
+ * Remove the license tab if no Give addon
+ * is activated.
+ *
+ * @param array $tabs Give Settings Tabs.
+ *
+ * @since 2.1.4
+ *
+ * @return array
+ */
+ public function remove_license_tab( $tabs ) {
+ /**
+ * Remove the license tab if no Give licensed addon
+ * is activated.
+ */
+ if ( ! $this->is_show_setting_page() ) {
+ unset( $tabs['licenses'] );
+ }
+
+ return $tabs;
+ }
+
+ /**
+ * Returns if at least one Give addon is activated.
+ * Note: note only for internal logic
+ *
+ * @since 2.1.4
+ * @access private
+ *
+ * @return bool
+ */
+ private function is_show_setting_page() {
+ $licensed_addons = Give_License::get_licensed_addons();
+ $activated_plugins = get_option( 'active_plugins', array() );
+
+ return (bool) count( array_intersect( $activated_plugins, $licensed_addons ) );
+ }
}
endif;
diff --git a/includes/admin/shortcodes/admin-shortcodes.js b/includes/admin/shortcodes/admin-shortcodes.js
index eea67374c0..3540a024d3 100644
--- a/includes/admin/shortcodes/admin-shortcodes.js
+++ b/includes/admin/shortcodes/admin-shortcodes.js
@@ -12,6 +12,8 @@
/* global ajaxurl, jQuery, scShortcodes, tinymce */
+import {GiveWarningAlert, GiveErrorAlert, GiveConfirmModal} from '../../../assets/src/js/plugins/modal';
+
var jq = jQuery.noConflict();
var scShortcode, scButton;
@@ -19,7 +21,7 @@ var scShortcode, scButton;
/**
* Show continue button title setting field only if display style is not All Fields.
*/
-var render_continue_button_title_field = function() {
+window.render_continue_button_title_field = function() {
var selected_display_style = jq('.mce-txt', '.mce-give-display-style').text(),
expected_display_styles = [ '- Select -', 'All Fields' ];
@@ -30,7 +32,7 @@ var render_continue_button_title_field = function() {
}
};
-var scForm = {
+window.scForm = {
open: function( editor_id ) {
var editor = tinymce.get( editor_id );
@@ -101,7 +103,12 @@ var scForm = {
valid = false;
- alert( required[ id ] );
+ new GiveErrorAlert({
+ modalContent:{
+ desc: required[ id ],
+ cancelBtnTitle: give_vars.ok,
+ }
+ }).render();
break;
}
diff --git a/includes/admin/shortcodes/class-shortcode-button.php b/includes/admin/shortcodes/class-shortcode-button.php
index 49a14a0069..e80b62dfc3 100644
--- a/includes/admin/shortcodes/class-shortcode-button.php
+++ b/includes/admin/shortcodes/class-shortcode-button.php
@@ -86,7 +86,7 @@ public function admin_enqueue_assets() {
wp_enqueue_script(
'give_shortcode',
- GIVE_PLUGIN_URL . 'includes/admin/shortcodes/admin-shortcodes.js',
+ GIVE_PLUGIN_URL . 'assets/dist/js/admin-shortcodes.js',
array( 'jquery' ),
GIVE_VERSION,
true
diff --git a/includes/admin/shortcodes/shortcode-give-totals.php b/includes/admin/shortcodes/shortcode-give-totals.php
index ff2d58b0dd..ad493a0529 100644
--- a/includes/admin/shortcodes/shortcode-give-totals.php
+++ b/includes/admin/shortcodes/shortcode-give-totals.php
@@ -72,7 +72,7 @@ public function define_fields() {
array(
'type' => 'container',
'html' => sprintf( '
%s
',
- __( 'This shortcode shows the total amount raised towards a custom goal for one or several forms regardless of whether they have goals enabled or not.', 'give' )
+ __( 'This shortcode shows the total amount raised towards a custom goal for one or several forms regardless of whether they have goals enabled or not.', 'give' )
),
),
array(
@@ -80,18 +80,21 @@ public function define_fields() {
'html' => sprintf( '
%s
', __( 'Shortcode Configuration', 'give' ) ),
),
array(
- 'type' => 'textbox',
- 'name' => 'ids',
- 'label' => __( 'Donation Form IDs:', 'give' ),
- 'tooltip' => __( 'Enter the IDs separated by commas for the donation forms you would like to combine within the totals.', 'give' ),
+ 'type' => 'textbox',
+ 'name' => 'ids',
+ 'label' => __( 'Donation Form IDs:', 'give' ),
+ 'tooltip' => __( 'Enter the IDs separated by commas for the donation forms you would like to combine within the totals.', 'give' ),
),
$category_lists,
$tag_lists,
array(
- 'type' => 'textbox',
- 'name' => 'total_goal',
- 'label' => __( 'Total Goal:', 'give' ),
- 'tooltip' => __( 'Enter the total goal amount that you would like to display.', 'give' ),
+ 'type' => 'textbox',
+ 'name' => 'total_goal',
+ 'label' => __( 'Total Goal:', 'give' ),
+ 'tooltip' => __( 'Enter the total goal amount that you would like to display.', 'give' ),
+ 'required' => array(
+ 'alert' => esc_html__( 'Please enter a valid total goal amount.', 'give' ),
+ ),
),
array(
'type' => 'textbox',
diff --git a/includes/admin/tools/export/give-export-donations-functions.php b/includes/admin/tools/export/give-export-donations-functions.php
index c8dab1b6c2..3725d1a5a6 100644
--- a/includes/admin/tools/export/give-export-donations-functions.php
+++ b/includes/admin/tools/export/give-export-donations-functions.php
@@ -464,6 +464,15 @@ function give_export_donation_standard_fields() {
?>
+
+
diff --git a/includes/api/class-give-api.php b/includes/api/class-give-api.php
index fd04e8571b..6645937188 100644
--- a/includes/api/class-give-api.php
+++ b/includes/api/class-give-api.php
@@ -1247,7 +1247,15 @@ public function get_stats( $args = array() ) {
$i = 0;
foreach ( $forms as $form_info ) {
$donations['donations'][ $i ] = array(
- $form_info->post_name => give_get_form_sales_stats( $form_info->ID ),
+ $form_info->post_name => $this->stats->get_sales(
+ $form_info->ID,
+ is_numeric( $args['startdate'] )
+ ? strtotime( $args['startdate'] )
+ : $args['startdate'],
+ is_numeric( $args['enddate'] )
+ ? strtotime( $args['enddate'] )
+ : $args['enddate']
+ ),
);
$i ++;
}
@@ -1255,7 +1263,15 @@ public function get_stats( $args = array() ) {
if ( get_post_type( $args['form'] ) == 'give_forms' ) {
$form_info = get_post( $args['form'] );
$donations['donations'][0] = array(
- $form_info->post_name => give_get_form_sales_stats( $args['form'] ),
+ $form_info->post_name => $this->stats->get_sales(
+ $args['form'],
+ is_numeric( $args['startdate'] )
+ ? strtotime( $args['startdate'] )
+ : $args['startdate'],
+ is_numeric( $args['enddate'] )
+ ? strtotime( $args['enddate'] )
+ : $args['enddate']
+ ),
);
} else {
$error['error'] = sprintf( /* translators: %s: form */
@@ -1862,23 +1878,23 @@ public function process_api_key( $args ) {
case 'generate':
if ( $this->generate_api_key( $user_id ) ) {
Give_Cache::delete( Give_Cache::get_key( 'give_total_api_keys' ) );
- wp_redirect( add_query_arg( 'give-message', 'api-key-generated', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
+ wp_redirect( add_query_arg( 'give-messages[]', 'api-key-generated', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
exit();
} else {
- wp_redirect( add_query_arg( 'give-message', 'api-key-failed', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
+ wp_redirect( add_query_arg( 'give-messages[]', 'api-key-failed', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
exit();
}
break;
case 'regenerate':
$this->generate_api_key( $user_id, true );
Give_Cache::delete( Give_Cache::get_key( 'give_total_api_keys' ) );
- wp_redirect( add_query_arg( 'give-message', 'api-key-regenerated', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
+ wp_redirect( add_query_arg( 'give-messages[]', 'api-key-regenerated', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
exit();
break;
case 'revoke':
$this->revoke_api_key( $user_id );
Give_Cache::delete( Give_Cache::get_key( 'give_total_api_keys' ) );
- wp_redirect( add_query_arg( 'give-message', 'api-key-revoked', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
+ wp_redirect( add_query_arg( 'give-messages[]', 'api-key-revoked', 'edit.php?post_type=give_forms&page=give-tools&tab=api' ) );
exit();
break;
default;
diff --git a/includes/class-give-license-handler.php b/includes/class-give-license-handler.php
index 131db0713f..743e014da1 100644
--- a/includes/class-give-license-handler.php
+++ b/includes/class-give-license-handler.php
@@ -106,6 +106,16 @@ class Give_License {
*/
private $api_url = 'https://givewp.com/edd-sl-api/';
+ /**
+ * array of licensed addons
+ *
+ * @since 2.1.4
+ * @access private
+ *
+ * @var array
+ */
+ private static $licensed_addons = array();
+
/**
* Account URL
*
@@ -166,6 +176,9 @@ public function __construct( $_file, $_item_name, $_version, $_author, $_optname
Give_Cache::set( 'give_cache_hide_license_notice_after_activation', true, DAY_IN_SECONDS );
}
+ // Add plugin to registered licenses list.
+ array_push( self::$licensed_addons, plugin_basename( $this->file ) );
+
// Setup hooks
$this->includes();
$this->hooks();
@@ -939,6 +952,20 @@ private function is_deactivating_license() {
return $status;
}
+
+ /**
+ * Return licensed addons info
+ *
+ * Note: note only for internal logic
+ *
+ * @since 2.1.4
+ *
+ * @return array
+ */
+ static function get_licensed_addons() {
+ return self::$licensed_addons;
+ }
+
}
endif; // end class_exists check.
diff --git a/includes/class-give-readme-parser.php b/includes/class-give-readme-parser.php
new file mode 100644
index 0000000000..9707541dd4
--- /dev/null
+++ b/includes/class-give-readme-parser.php
@@ -0,0 +1,60 @@
+file_url = $file_url;
+ $this->file_content = wp_remote_retrieve_body( wp_remote_get( $this->file_url ) );
+ }
+
+ /**
+ * Get required Give core minimum version for addon
+ *
+ * @since 2.1.4
+ * @access public
+ *
+ * @return string
+ */
+ public function requires_at_least() {
+ // Regex to extract Give core minimum version from the readme.txt file.
+ preg_match('|Requires Give:(.*)|i', $this->file_content, $_requires_at_least );
+
+ if( is_array( $_requires_at_least ) && 1 < count( $_requires_at_least ) ) {
+ $_requires_at_least = trim( $_requires_at_least[1] );
+ }else{
+ $_requires_at_least = null;
+ }
+
+ return $_requires_at_least;
+ }
+}
diff --git a/includes/class-give-scripts.php b/includes/class-give-scripts.php
index 7e46c41784..b225e1e6da 100644
--- a/includes/class-give-scripts.php
+++ b/includes/class-give-scripts.php
@@ -198,6 +198,7 @@ public function admin_localize_scripts() {
'import_failed' => __( 'Import failed', 'give' ),
'flush_success' => __( 'Flush success', 'give' ),
'flush_error' => __( 'Flush error', 'give' ),
+ 'no_form_selected' => __( 'No form selected', 'give' ),
'batch_export_no_class' => __( 'You must choose a method.', 'give' ),
'batch_export_no_reqs' => __( 'Required fields not completed.', 'give' ),
'reset_stats_warn' => __( 'Are you sure you want to reset Give? This process is not reversible and will delete all data regardless of test or live mode. Please be sure you have a recent backup before proceeding.', 'give' ),
diff --git a/includes/emails/functions.php b/includes/emails/functions.php
index 78f93b626b..324c28f801 100644
--- a/includes/emails/functions.php
+++ b/includes/emails/functions.php
@@ -250,7 +250,7 @@ function give_admin_email_user_donor_disconnection( $user_id, $donor_id ) {
$message .= __( 'Do you want to reconnect User and Donor profile again?', 'give' ) . "\n\n";
$message .= sprintf(
'%2$s',
- esc_url( admin_url() . 'edit.php?post_type=give_forms&page=give-donors&view=overview&id=' . $donor_id . '&user_id=' . $user_id . '&give-message=reconnect-user' ),
+ esc_url( admin_url() . 'edit.php?post_type=give_forms&page=give-donors&view=overview&id=' . $donor_id . '&user_id=' . $user_id . '&give-messages[]=reconnect-user' ),
__( 'Reconnect User', 'give' ) . "\n\n"
);
$message .= __( 'Thank you,', 'give' ) . "\n\n";
diff --git a/includes/emails/template.php b/includes/emails/template.php
index 68e78ad995..a0b395f274 100644
--- a/includes/emails/template.php
+++ b/includes/emails/template.php
@@ -133,7 +133,7 @@ function give_email_preview_buttons_callback( $field ) {
add_query_arg( array(
'give_action' => 'send_preview_email',
'email_type' => $field_id,
- 'give-message' => 'sent-test-email',
+ 'give-messages[]' => 'sent-test-email',
) ), 'give-send-preview-email' ),
esc_attr__( 'Send Test Email.', 'give' ),
esc_html__( 'Send Test Email', 'give' )
diff --git a/includes/forms/template.php b/includes/forms/template.php
index 4be467fb5d..07531c7414 100644
--- a/includes/forms/template.php
+++ b/includes/forms/template.php
@@ -259,21 +259,21 @@ function give_show_purchase_form( $form_id, $args ) {
*
* @since 1.7
*/
- do_action( 'give_donation_form_before_register_login', $form_id );
+ do_action( 'give_donation_form_before_register_login', $form_id, $args );
/**
* Fire when register/login form fields render.
*
* @since 1.7
*/
- do_action( 'give_donation_form_register_login_fields', $form_id );
+ do_action( 'give_donation_form_register_login_fields', $form_id, $args );
/**
* Fire when credit card form fields render.
*
* @since 1.7
*/
- do_action( 'give_donation_form_before_cc_form', $form_id );
+ do_action( 'give_donation_form_before_cc_form', $form_id, $args );
// Load the credit card form and allow gateways to load their own if they wish.
if ( has_action( 'give_' . $payment_mode . '_cc_form' ) ) {
@@ -293,7 +293,7 @@ function give_show_purchase_form( $form_id, $args ) {
*
* @param int $form_id The form ID.
*/
- do_action( 'give_cc_form', $form_id );
+ do_action( 'give_cc_form', $form_id, $args );
}
/**
@@ -301,7 +301,7 @@ function give_show_purchase_form( $form_id, $args ) {
*
* @since 1.7
*/
- do_action( 'give_donation_form_after_cc_form', $form_id );
+ do_action( 'give_donation_form_after_cc_form', $form_id, $args );
} else {
/**
@@ -318,7 +318,7 @@ function give_show_purchase_form( $form_id, $args ) {
*
* @since 1.7
*/
- do_action( 'give_payment_fields_bottom', $form_id );
+ do_action( 'give_payment_fields_bottom', $form_id, $args );
}
add_action( 'give_donation_form', 'give_show_purchase_form', 10, 2 );
@@ -1663,11 +1663,12 @@ function give_checkout_final_total( $form_id ) {
*
* @since 1.0
*
- * @param int $form_id The form ID.
+ * @param int $form_id The donation form ID.
+ * @param array $args List of arguments.
*
* @return void
*/
-function give_checkout_submit( $form_id ) {
+function give_checkout_submit( $form_id, $args ) {
?>
$item ) {
+ if( false !== strpos( $item, 'give-display-' ) ) {
+ unset( $class[$index] );
+ }
+ }
+
return $class;
}
diff --git a/includes/misc-functions.php b/includes/misc-functions.php
index 58aba1acf7..acf9c14630 100644
--- a/includes/misc-functions.php
+++ b/includes/misc-functions.php
@@ -2069,4 +2069,47 @@ function give_goal_progress_stats( $form ) {
*/
return apply_filters( 'give_goal_progress_stats', $stats_array );
-}
\ No newline at end of file
+}
+
+/**
+ * Get the admin messages key to show the notices.
+ *
+ * @since 2.1.4
+ *
+ * @return array $message admin message key.
+ */
+function give_get_admin_messages_key() {
+ $messages = empty( $_GET['give-messages'] ) ? array() : give_clean( $_GET['give-messages'] );
+
+ // backward compatibility.
+ if ( ! empty( $_GET['give-message'] ) ) {
+ $messages[] = give_clean( $_GET['give-message'] );
+ }
+
+ /**
+ * Filter to modify the admin messages key.
+ *
+ * @since 2.1.4
+ *
+ * @param array $message admin message key.
+ *
+ * @return array $message admin message key.
+ */
+ return (array) apply_filters( 'give_get_admin_messages_key', $messages );
+}
+
+/**
+ * Get User Agent String.
+ *
+ * @since 2.1.4
+ *
+ * @return array|string
+ */
+function give_get_user_agent() {
+
+ // Get User Agent.
+ $user_agent = ! empty( $_SERVER['HTTP_USER_AGENT'] ) ? give_clean( $_SERVER['HTTP_USER_AGENT'] ) : ''; // WPCS: input var ok.
+
+ return $user_agent;
+
+}
diff --git a/includes/payments/class-give-payment.php b/includes/payments/class-give-payment.php
index 7ecf2bb357..41ce915f53 100644
--- a/includes/payments/class-give-payment.php
+++ b/includes/payments/class-give-payment.php
@@ -954,6 +954,10 @@ public function save() {
wp_update_post( $args );
break;
+ case 'total':
+ $this->update_meta( '_give_payment_total', give_sanitize_amount_for_db( $this->total ) );
+ break;
+
default:
/**
* Fires while saving payment.
@@ -994,11 +998,8 @@ public function save() {
// Verify and update form meta based on the form status.
give_set_form_closed_status( $this->form_id );
-
}
- $this->update_meta( '_give_payment_total', give_sanitize_amount_for_db( $this->total ) );
-
$this->pending = array();
$saved = true;
}// End if().
@@ -1207,12 +1208,13 @@ private function decrease_subtotal( $amount = 0.00 ) {
* Set or update the total for a payment.
*
* @since 1.5
+ * @since 2.1.4 reset total in pending property
* @access private
*
* @return void
*/
private function recalculate_total() {
- $this->total = $this->subtotal;
+ $this->pending['total'] = $this->total = $this->subtotal;
}
/**
diff --git a/includes/process-donation.php b/includes/process-donation.php
index 1782d7ccf8..d748347ae3 100644
--- a/includes/process-donation.php
+++ b/includes/process-donation.php
@@ -465,12 +465,13 @@ function give_verify_minimum_price( $amount_range = 'minimum' ) {
$post_data = give_clean( $_POST ); // WPCS: input var ok, sanitization ok, CSRF ok.
$amount = ! empty( $post_data['give-amount'] ) ? give_maybe_sanitize_amount( $post_data['give-amount'] ) : 0;
$form_id = ! empty( $post_data['give-form-id'] ) ? $post_data['give-form-id'] : 0;
- $price_id = ! empty( $post_data['give-price-id'] ) ? $post_data['give-price-id'] : '';
+ $price_id = isset( $post_data['give-price-id'] ) ? absint( $post_data['give-price-id'] ) : '';
$variable_prices = give_has_variable_prices( $form_id );
+ $price_ids = array_map( 'absint', give_get_variable_price_ids( $form_id ) );
$verified_stat = false;
- if ( $variable_prices && in_array( $price_id, give_get_variable_price_ids( $form_id ), true ) ) {
+ if ( $variable_prices && in_array( $price_id, $price_ids, true ) ) {
$price_level_amount = give_get_price_option_amount( $form_id, $price_id );
@@ -1353,13 +1354,14 @@ function give_validate_donation_amount( $valid_data ) {
// Sanitize donation amount.
$post_data['give-amount'] = give_maybe_sanitize_amount( $post_data['give-amount'] );
$variable_price_option_amount = give_maybe_sanitize_amount( give_get_price_option_amount( $post_data['give-form-id'], $post_data['give-price-id'] ) );
+ $new_price_id = '';
if ( $post_data['give-amount'] === $variable_price_option_amount ) {
return true;
}
if ( $form->is_custom_price( $post_data['give-amount'] ) ) {
- $post_data['give-price-id'] = 'custom';
+ $new_price_id = 'custom';
} else {
// Find correct donation level from all donation levels.
@@ -1370,7 +1372,7 @@ function give_validate_donation_amount( $valid_data ) {
// Set first match donation level ID.
if ( $post_data['give-amount'] === $variable_price['_give_amount'] ) {
- $post_data['give-price-id'] = $variable_price['_give_id']['level_id'];
+ $new_price_id = $variable_price['_give_id']['level_id'];
break;
}
}
@@ -1378,12 +1380,23 @@ function give_validate_donation_amount( $valid_data ) {
// If donation amount is not find in donation levels then check if form has custom donation feature enable or not.
// If yes then set price id to custom if amount is greater then custom minimum amount (if any).
- if ( ! empty( $post_data['give-price-id'] ) ) {
+ if ( $post_data['give-price-id'] === $new_price_id ) {
$donation_level_matched = true;
}
} // End if().
- return ( $donation_level_matched ? true : false );
+ if ( ! $donation_level_matched ) {
+ give_set_error(
+ 'invalid_donation_amount',
+ sprintf(
+ /* translators: %s: invalid donation amount */
+ __( 'Donation amount %s is invalid.', 'give' ),
+ give_currency_filter(
+ give_format_amount( $post_data['give-amount'], array( 'sanitize' => false, ) )
+ )
+ )
+ );
+ }
}
add_action( 'give_checkout_error_checks', 'give_validate_donation_amount', 10, 1 );
diff --git a/includes/shortcodes.php b/includes/shortcodes.php
index a8958aa15a..dcea6e7be9 100644
--- a/includes/shortcodes.php
+++ b/includes/shortcodes.php
@@ -565,7 +565,6 @@ function give_process_profile_editor_updates( $data ) {
add_action( 'give_edit_user_profile', 'give_process_profile_editor_updates' );
-
/**
* Give totals Shortcode.
*
@@ -596,6 +595,15 @@ function give_totals_shortcode( $atts ) {
// Total Goal.
$total_goal = give_maybe_sanitize_amount( $atts['total_goal'] );
+ /**
+ * Give Action fire before the shortcode is rendering is started.
+ *
+ * @since 2.1.4
+ *
+ * @param array $atts shortcode attribute.
+ */
+ do_action( 'give_totals_goal_shortcode_before_render', $atts );
+
// Build query based on cat, tag and Form ids.
if ( ! empty( $atts['cats'] ) || ! empty( $atts['tags'] ) || ! empty( $atts['ids'] ) ) {
@@ -604,13 +612,20 @@ function give_totals_shortcode( $atts ) {
$form_ids = array_filter( array_map( 'trim', explode( ',', $atts['ids'] ) ) );
}
+ /**
+ * Filter to modify WP Query for Total Goal.
+ *
+ * @since 2.1.4
+ *
+ * @param array WP query argument for Total Goal.
+ */
$form_args = array(
- 'post_type' => 'give_forms',
- 'post_status' => 'publish',
- 'post__in' => $form_ids,
- 'posts_per_page' => - 1,
- 'fields' => 'ids',
- 'tax_query' => array(
+ 'post_type' => 'give_forms',
+ 'post_status' => 'publish',
+ 'post__in' => $form_ids,
+ 'posts_per_page' => - 1,
+ 'fields' => 'ids',
+ 'tax_query' => array(
'relation' => 'AND',
),
);
@@ -631,6 +646,17 @@ function give_totals_shortcode( $atts ) {
);
}
+ /**
+ * Filter to modify WP Query for Total Goal.
+ *
+ * @since 2.1.4
+ *
+ * @param array $form_args WP query argument for Total Goal.
+ *
+ * @return array $form_args WP query argument for Total Goal.
+ */
+ $form_args = (array) apply_filters( 'give_totals_goal_shortcode_query_args', $form_args );
+
$forms = new WP_Query( $form_args );
if ( isset( $forms->posts ) ) {
@@ -644,7 +670,7 @@ function give_totals_shortcode( $atts ) {
*
* @since 2.1
*
- * @param int $post Form ID.
+ * @param int $post Form ID.
* @param string $form_earning Total earning of Form.
*/
$total += apply_filters( 'give_totals_form_earning', $form_earning, $post );
@@ -679,7 +705,7 @@ function give_totals_shortcode( $atts ) {
* @since 2.1
*
* @param string $message Shortcode Message.
- * @param array $atts ShortCode attributes.
+ * @param array $atts ShortCode attributes.
*/
$message = apply_filters( 'give_totals_shortcode_message', $message, $atts );
@@ -699,6 +725,17 @@ function give_totals_shortcode( $atts ) {
licenses page to correct this issue."
msgstr ""
-#: includes/class-give-license-handler.php:630
+#: includes/class-give-license-handler.php:643
msgid "Your Give add-on license expired for payment #%2$d. Click to renew an existing license or %4$s."
msgstr ""
-#: includes/class-give-license-handler.php:635, includes/class-give-license-handler.php:654
+#: includes/class-give-license-handler.php:648, includes/class-give-license-handler.php:667
msgid "Click here if already renewed"
msgstr ""
-#: includes/class-give-license-handler.php:648
+#: includes/class-give-license-handler.php:661
msgid "Your Give add-on license will expire in %1$s for payment #%3$d. Click to renew an existing license or %5$s."
msgstr ""
-#: includes/class-give-license-handler.php:850, includes/api/class-give-api.php:1830, includes/forms/functions.php:319, includes/gateways/manual.php:38, includes/admin/donors/donor-actions.php:436, includes/admin/tools/export/export-actions.php:26, includes/admin/tools/export/pdf-reports.php:35
+#: includes/class-give-license-handler.php:863, includes/api/class-give-api.php:1846, includes/forms/functions.php:319, includes/gateways/manual.php:38, includes/admin/donors/donor-actions.php:436, includes/admin/tools/export/export-actions.php:26, includes/admin/tools/export/pdf-reports.php:35
msgid "Nonce verification failed."
msgstr ""
-#: includes/class-give-license-handler.php:850, includes/class-notices.php:576, includes/formatting.php:680, includes/admin/EDD_SL_Plugin_Updater.php:396, includes/api/class-give-api.php:1830, includes/api/class-give-api.php:1836, includes/api/class-give-api.php:1851, includes/api/class-give-api.php:1856, includes/forms/functions.php:319, includes/gateways/manual.php:38, includes/admin/donors/donor-actions.php:31, includes/admin/donors/donor-actions.php:45, includes/admin/donors/donor-actions.php:144, includes/admin/donors/donor-actions.php:158, includes/admin/donors/donor-actions.php:226, includes/admin/donors/donor-actions.php:241, includes/admin/donors/donor-actions.php:325, includes/admin/donors/donor-actions.php:339, includes/admin/donors/donor-actions.php:418, includes/admin/donors/donor-actions.php:514, includes/admin/donors/donor-actions.php:561, includes/admin/donors/donor-actions.php:599, includes/admin/donors/donor-actions.php:615, includes/admin/emails/class-donation-receipt-email.php:300, includes/admin/forms/dashboard-columns.php:255, includes/admin/payments/actions.php:31, includes/admin/payments/actions.php:85, includes/admin/payments/actions.php:98, includes/admin/payments/actions.php:333, includes/admin/payments/actions.php:353, includes/admin/payments/actions.php:386, includes/admin/payments/actions.php:408, includes/admin/payments/view-payment-details.php:19, includes/admin/payments/view-payment-details.php:32, includes/admin/payments/view-payment-details.php:42, includes/admin/reports/reports.php:143, includes/admin/upgrades/upgrade-functions.php:381, includes/admin/tools/data/class-give-tools-delete-import-donors.php:268, includes/admin/tools/data/class-give-tools-delete-test-donors.php:239, includes/admin/tools/data/class-give-tools-delete-test-transactions.php:129, includes/admin/tools/data/class-give-tools-recount-all-stats.php:248, includes/admin/tools/data/class-give-tools-recount-donor-stats.php:204, includes/admin/tools/data/class-give-tools-recount-form-stats.php:204, includes/admin/tools/data/class-give-tools-recount-income.php:178, includes/admin/tools/data/class-give-tools-recount-single-donor-stats.php:160, includes/admin/tools/data/class-give-tools-reset-stats.php:198, includes/admin/tools/export/class-batch-export.php:145, includes/admin/tools/export/class-core-settings-export.php:81, includes/admin/tools/export/class-export.php:185, includes/admin/tools/export/export-actions.php:26, includes/admin/tools/export/pdf-reports.php:31, includes/admin/tools/export/pdf-reports.php:35, includes/admin/tools/export/pdf-reports.php:39, includes/admin/tools/logs/class-api-requests-logs-list-table.php:154, includes/admin/tools/logs/class-gateway-error-logs-list-table.php:136
+#: includes/class-give-license-handler.php:863, includes/class-notices.php:576, includes/formatting.php:680, includes/admin/EDD_SL_Plugin_Updater.php:396, includes/api/class-give-api.php:1846, includes/api/class-give-api.php:1852, includes/api/class-give-api.php:1867, includes/api/class-give-api.php:1872, includes/forms/functions.php:319, includes/gateways/manual.php:38, includes/admin/donors/donor-actions.php:31, includes/admin/donors/donor-actions.php:45, includes/admin/donors/donor-actions.php:144, includes/admin/donors/donor-actions.php:158, includes/admin/donors/donor-actions.php:226, includes/admin/donors/donor-actions.php:241, includes/admin/donors/donor-actions.php:325, includes/admin/donors/donor-actions.php:339, includes/admin/donors/donor-actions.php:418, includes/admin/donors/donor-actions.php:514, includes/admin/donors/donor-actions.php:561, includes/admin/donors/donor-actions.php:599, includes/admin/donors/donor-actions.php:615, includes/admin/emails/class-donation-receipt-email.php:300, includes/admin/forms/dashboard-columns.php:255, includes/admin/payments/actions.php:31, includes/admin/payments/actions.php:85, includes/admin/payments/actions.php:98, includes/admin/payments/actions.php:333, includes/admin/payments/actions.php:353, includes/admin/payments/actions.php:386, includes/admin/payments/actions.php:408, includes/admin/payments/view-payment-details.php:19, includes/admin/payments/view-payment-details.php:32, includes/admin/payments/view-payment-details.php:42, includes/admin/reports/reports.php:143, includes/admin/upgrades/upgrade-functions.php:381, includes/admin/tools/data/class-give-tools-delete-import-donors.php:268, includes/admin/tools/data/class-give-tools-delete-test-donors.php:239, includes/admin/tools/data/class-give-tools-delete-test-transactions.php:129, includes/admin/tools/data/class-give-tools-recount-all-stats.php:248, includes/admin/tools/data/class-give-tools-recount-donor-stats.php:204, includes/admin/tools/data/class-give-tools-recount-form-stats.php:204, includes/admin/tools/data/class-give-tools-recount-income.php:178, includes/admin/tools/data/class-give-tools-recount-single-donor-stats.php:160, includes/admin/tools/data/class-give-tools-reset-stats.php:198, includes/admin/tools/export/class-batch-export.php:145, includes/admin/tools/export/class-core-settings-export.php:81, includes/admin/tools/export/class-export.php:185, includes/admin/tools/export/export-actions.php:26, includes/admin/tools/export/pdf-reports.php:31, includes/admin/tools/export/pdf-reports.php:35, includes/admin/tools/export/pdf-reports.php:39, includes/admin/tools/logs/class-api-requests-logs-list-table.php:154, includes/admin/tools/logs/class-gateway-error-logs-list-table.php:136
msgid "Error"
msgstr ""
@@ -471,7 +475,7 @@ msgstr ""
msgid "Ok"
msgstr ""
-#: includes/class-give-scripts.php:187, includes/forms/template.php:1355, includes/admin/donors/class-donor-table.php:469, includes/admin/donors/donors.php:460, includes/admin/donors/donors.php:684, includes/admin/donors/donors.php:1066, includes/admin/payments/view-payment-details.php:633
+#: includes/class-give-scripts.php:187, includes/forms/template.php:1355, includes/admin/donors/class-donor-table.php:469, includes/admin/donors/donors.php:460, includes/admin/donors/donors.php:684, includes/admin/donors/donors.php:1066, includes/admin/payments/view-payment-details.php:632
msgid "Cancel"
msgstr ""
@@ -528,214 +532,218 @@ msgid "Flush error"
msgstr ""
#: includes/class-give-scripts.php:201
-msgid "You must choose a method."
+msgid "No form selected"
msgstr ""
#: includes/class-give-scripts.php:202
-msgid "Required fields not completed."
+msgid "You must choose a method."
msgstr ""
#: includes/class-give-scripts.php:203
-msgid "Are you sure you want to reset Give? This process is not reversible and will delete all data regardless of test or live mode. Please be sure you have a recent backup before proceeding."
+msgid "Required fields not completed."
msgstr ""
#: includes/class-give-scripts.php:204
-msgid "Are you sure you want to delete all the test donors? This process will also delete test donations as well."
+msgid "Are you sure you want to reset Give? This process is not reversible and will delete all data regardless of test or live mode. Please be sure you have a recent backup before proceeding."
msgstr ""
#: includes/class-give-scripts.php:205
-msgid "Are you sure you want to delete all the imported donors? This process will also delete imported donations as well."
+msgid "Are you sure you want to delete all the test donors? This process will also delete test donations as well."
msgstr ""
#: includes/class-give-scripts.php:206
+msgid "Are you sure you want to delete all the imported donors? This process will also delete imported donations as well."
+msgstr ""
+
+#: includes/class-give-scripts.php:207
msgid "Please enter amount in monetary decimal ( %1$s ) format without thousand separator ( %2$s ) ."
msgstr ""
-#: includes/class-give-scripts.php:208
+#: includes/class-give-scripts.php:209
msgid "Do you want to delete this item?"
msgstr ""
-#: includes/class-give-scripts.php:209, includes/admin/admin-actions.php:299
+#: includes/class-give-scripts.php:210, includes/admin/admin-actions.php:301
msgid "You cannot set the success and failed pages to the same page"
msgstr ""
-#: includes/class-give-scripts.php:210
+#: includes/class-give-scripts.php:211
msgid "Dismiss this notice."
msgstr ""
-#: includes/class-give-scripts.php:211
+#: includes/class-give-scripts.php:212
msgid "Type to search all forms"
msgstr ""
-#: includes/class-give-scripts.php:212
+#: includes/class-give-scripts.php:213
msgid "Type to search all donors"
msgstr ""
-#: includes/class-give-scripts.php:213
+#: includes/class-give-scripts.php:214
msgid "Type to search all countries"
msgstr ""
-#: includes/class-give-scripts.php:214
+#: includes/class-give-scripts.php:215
msgid "Type to search all states/provinces"
msgstr ""
-#: includes/class-give-scripts.php:215
+#: includes/class-give-scripts.php:216
msgid "Action forbidden"
msgstr ""
-#: includes/class-give-scripts.php:216
+#: includes/class-give-scripts.php:217
msgid "To edit first name and last name, please go to user profile of the donor."
msgstr ""
-#: includes/class-give-scripts.php:217
+#: includes/class-give-scripts.php:218
msgid "Remove from Bulk Delete"
msgstr ""
-#: includes/class-give-scripts.php:220
+#: includes/class-give-scripts.php:221
msgid "No donors selected"
msgstr ""
-#: includes/class-give-scripts.php:221
+#: includes/class-give-scripts.php:222
msgid "You must choose at least one or more donors to delete."
msgstr ""
-#: includes/class-give-scripts.php:224
+#: includes/class-give-scripts.php:225
msgid "No action selected"
msgstr ""
-#: includes/class-give-scripts.php:225
+#: includes/class-give-scripts.php:226
msgid "You must select a bulk action to proceed."
msgstr ""
-#: includes/class-give-scripts.php:230
+#: includes/class-give-scripts.php:231
msgid "No payments selected"
msgstr ""
-#: includes/class-give-scripts.php:233
+#: includes/class-give-scripts.php:234
msgid "You must choose at least one or more donations to delete."
msgstr ""
-#: includes/class-give-scripts.php:234
+#: includes/class-give-scripts.php:235
msgid "Are you sure you want to permanently delete this donation?"
msgstr ""
-#: includes/class-give-scripts.php:235
+#: includes/class-give-scripts.php:236
msgid "Are you sure you want to permanently delete the selected {payment_count} donations?"
msgstr ""
-#: includes/class-give-scripts.php:238
+#: includes/class-give-scripts.php:239
msgid "You must choose at least one or more recipients to resend the email receipt."
msgstr ""
-#: includes/class-give-scripts.php:239
+#: includes/class-give-scripts.php:240
msgid "Are you sure you want to resend the email receipt to this recipient?"
msgstr ""
-#: includes/class-give-scripts.php:240
+#: includes/class-give-scripts.php:241
msgid "Are you sure you want to resend the emails receipt to {payment_count} recipients?"
msgstr ""
-#: includes/class-give-scripts.php:243
+#: includes/class-give-scripts.php:244
msgid "You must choose at least one or more donations to set status to {status}."
msgstr ""
-#: includes/class-give-scripts.php:244
+#: includes/class-give-scripts.php:245
msgid "Are you sure you want to set status of this donation to {status}?"
msgstr ""
-#: includes/class-give-scripts.php:245
+#: includes/class-give-scripts.php:246
msgid "Are you sure you want to set status of {payment_count} donations to {status}?"
msgstr ""
-#: includes/class-give-scripts.php:249
+#: includes/class-give-scripts.php:250
msgid "Please reload this page and try again"
msgstr ""
-#: includes/class-give-scripts.php:253
+#: includes/class-give-scripts.php:254
msgid "Choose Image"
msgstr ""
-#: includes/class-give-scripts.php:256
+#: includes/class-give-scripts.php:257
msgid "Choose File"
msgstr ""
-#: includes/class-give-scripts.php:260
+#: includes/class-give-scripts.php:261
msgid "No results match {search_term}"
msgstr ""
-#: includes/class-give-scripts.php:261
+#: includes/class-give-scripts.php:262
msgid "Searching results for match {search_term}"
msgstr ""
-#: includes/class-give-scripts.php:263
+#: includes/class-give-scripts.php:264
msgid "Run Updates"
msgstr ""
-#: includes/class-give-scripts.php:264
+#: includes/class-give-scripts.php:265
msgid "The following process will make updates to your site's database. Please create a database backup before proceeding with updates."
msgstr ""
-#: includes/class-give-scripts.php:265
+#: includes/class-give-scripts.php:266
msgid "Something went wrong kindly try again!"
msgstr ""
-#: includes/class-give-scripts.php:268
+#: includes/class-give-scripts.php:269
msgid "Changes you made may not be saved."
msgstr ""
-#: includes/class-give-scripts.php:350
+#: includes/class-give-scripts.php:351
msgid "Please select a payment method."
msgstr ""
-#: includes/class-give-scripts.php:351
+#: includes/class-give-scripts.php:352
msgid "The minimum custom donation amount for this form is"
msgstr ""
-#: includes/class-give-scripts.php:352
+#: includes/class-give-scripts.php:353
msgid "The maximum custom donation amount for this form is"
msgstr ""
-#: includes/class-give-scripts.php:353
+#: includes/class-give-scripts.php:354
msgid "Loading..."
msgstr ""
-#: includes/class-give-scripts.php:354
+#: includes/class-give-scripts.php:355
msgid "Please Wait..."
msgstr ""
-#: includes/class-give-scripts.php:368
+#: includes/class-give-scripts.php:369
msgid "Please select payment mode."
msgstr ""
-#: includes/class-give-scripts.php:369, includes/process-donation.php:546, includes/shortcodes.php:449, includes/admin/admin-actions.php:782
+#: includes/class-give-scripts.php:370, includes/process-donation.php:547, includes/shortcodes.php:449, includes/admin/admin-actions.php:786
msgid "Please enter your first name."
msgstr ""
-#: includes/class-give-scripts.php:370, includes/process-donation.php:542
+#: includes/class-give-scripts.php:371, includes/process-donation.php:543
msgid "Please enter a valid email address."
msgstr ""
-#: includes/class-give-scripts.php:371, includes/user-functions.php:305
+#: includes/class-give-scripts.php:372, includes/user-functions.php:305
msgid "Invalid username. Only lowercase letters (a-z) and numbers are allowed."
msgstr ""
-#: includes/class-give-scripts.php:372, includes/process-donation.php:846, includes/user-functions.php:410
+#: includes/class-give-scripts.php:373, includes/process-donation.php:847, includes/user-functions.php:410
msgid "Enter a password."
msgstr ""
-#: includes/class-give-scripts.php:373, includes/user-functions.php:414
+#: includes/class-give-scripts.php:374, includes/user-functions.php:414
msgid "Enter the password confirmation."
msgstr ""
-#: includes/class-give-scripts.php:374, includes/process-donation.php:521
+#: includes/class-give-scripts.php:375, includes/process-donation.php:522
msgid "You must agree to the terms and conditions."
msgstr ""
-#: includes/class-give-scripts.php:381
+#: includes/class-give-scripts.php:382
msgid "Loading"
msgstr ""
-#: includes/class-give-scripts.php:383, includes/admin/tools/views/html-admin-page-data.php:33
+#: includes/class-give-scripts.php:384, includes/admin/tools/views/html-admin-page-data.php:33
msgid "Please select an option"
msgstr ""
@@ -5079,7 +5087,7 @@ msgstr ""
msgid "%s million"
msgstr ""
-#: includes/formatting.php:679, includes/formatting.php:716, includes/process-donation.php:724
+#: includes/formatting.php:679, includes/formatting.php:716, includes/process-donation.php:725
msgid "Nonce verification has failed."
msgstr ""
@@ -5307,11 +5315,11 @@ msgstr ""
msgid "Donation History"
msgstr ""
-#: includes/login-register.php:118, includes/process-donation.php:826
+#: includes/login-register.php:118, includes/process-donation.php:827
msgid "The password you entered is incorrect."
msgstr ""
-#: includes/login-register.php:121, includes/process-donation.php:850
+#: includes/login-register.php:121, includes/process-donation.php:851
msgid "The username you entered does not exist."
msgstr ""
@@ -5327,7 +5335,7 @@ msgstr ""
msgid "Email address already taken."
msgstr ""
-#: includes/login-register.php:261, includes/process-donation.php:696, includes/process-donation.php:891, includes/user-functions.php:364, includes/admin/donors/donor-actions.php:441
+#: includes/login-register.php:261, includes/process-donation.php:697, includes/process-donation.php:892, includes/user-functions.php:364, includes/admin/donors/donor-actions.php:441
msgid "Invalid email."
msgstr ""
@@ -5733,51 +5741,56 @@ msgstr ""
msgid "This form has a maximum donation amount of %s."
msgstr ""
-#: includes/process-donation.php:555
+#: includes/process-donation.php:556
msgid "Please enter your primary billing address."
msgstr ""
-#: includes/process-donation.php:559
+#: includes/process-donation.php:560
msgid "Please enter your zip / postal code."
msgstr ""
-#: includes/process-donation.php:563
+#: includes/process-donation.php:564
msgid "Please enter your billing city."
msgstr ""
-#: includes/process-donation.php:567
+#: includes/process-donation.php:568
msgid "Please select your billing country."
msgstr ""
-#: includes/process-donation.php:573
+#: includes/process-donation.php:574
msgid "Please enter billing state / province / County."
msgstr ""
-#: includes/process-donation.php:612
+#: includes/process-donation.php:613
msgid "Please enter Company Name."
msgstr ""
-#: includes/process-donation.php:701
+#: includes/process-donation.php:702
msgid "The user information is invalid."
msgstr ""
-#: includes/process-donation.php:799, includes/user-functions.php:319
+#: includes/process-donation.php:800, includes/user-functions.php:319
msgid "You must register or login to complete your donation."
msgstr ""
-#: includes/process-donation.php:828, includes/forms/template.php:1345, templates/shortcode-login.php:46
+#: includes/process-donation.php:829, includes/forms/template.php:1345, templates/shortcode-login.php:46
msgid "Reset Password"
msgstr ""
-#: includes/process-donation.php:907, includes/user-functions.php:354
+#: includes/process-donation.php:908, includes/user-functions.php:354
msgid "Enter an email."
msgstr ""
-#: includes/process-donation.php:1086
+#: includes/process-donation.php:1087
msgid "The zip / postal code you entered for your billing address is invalid."
msgstr ""
-#: includes/process-donation.php:1431
+#. translators: %s: invalid donation amount
+#: includes/process-donation.php:1393
+msgid "Donation amount %s is invalid."
+msgstr ""
+
+#: includes/process-donation.php:1444
msgid "The First Name and Last Name fields cannot contain an email address or numbers."
msgstr ""
@@ -5825,19 +5838,19 @@ msgstr ""
msgid "The email you entered belongs to another donor. Please use another."
msgstr ""
-#: includes/shortcodes.php:583, includes/admin/shortcodes/shortcode-give-totals.php:101
+#: includes/shortcodes.php:582, includes/admin/shortcodes/shortcode-give-totals.php:104
msgid "Hey! We've raised {total} of the {total_goal} we are trying to raise for this campaign!"
msgstr ""
-#: includes/shortcodes.php:592, includes/forms/template.php:646, includes/forms/template.php:1710, includes/admin/forms/class-metabox-form-data.php:263, includes/admin/forms/class-metabox-form-data.php:273
+#: includes/shortcodes.php:591, includes/forms/template.php:646, includes/forms/template.php:1711, includes/admin/forms/class-metabox-form-data.php:263, includes/admin/forms/class-metabox-form-data.php:273
msgid "Donate Now"
msgstr ""
-#: includes/shortcodes.php:870
+#: includes/shortcodes.php:909
msgid "« Previous"
msgstr ""
-#: includes/shortcodes.php:871
+#: includes/shortcodes.php:910
msgid "Next »"
msgstr ""
@@ -5904,167 +5917,167 @@ msgid_plural "Donation statuses updated successfully."
msgstr[0] ""
msgstr[1] ""
-#: includes/admin/admin-actions.php:213
+#: includes/admin/admin-actions.php:215
msgid "The donation has been deleted."
msgstr ""
-#: includes/admin/admin-actions.php:221
+#: includes/admin/admin-actions.php:223
msgid "The donation receipt has been resent."
msgstr ""
-#: includes/admin/admin-actions.php:229
+#: includes/admin/admin-actions.php:231
msgid "The reports cache has been cleared."
msgstr ""
-#: includes/admin/admin-actions.php:237
+#: includes/admin/admin-actions.php:239
msgid "The donation note has been deleted."
msgstr ""
-#: includes/admin/admin-actions.php:251
+#: includes/admin/admin-actions.php:253
msgid "The settings have been imported."
msgstr ""
-#: includes/admin/admin-actions.php:259
+#: includes/admin/admin-actions.php:261
msgid "API keys have been generated."
msgstr ""
-#: includes/admin/admin-actions.php:267
+#: includes/admin/admin-actions.php:269
msgid "The specified user already has API keys."
msgstr ""
-#: includes/admin/admin-actions.php:275
+#: includes/admin/admin-actions.php:277
msgid "API keys have been regenerated."
msgstr ""
-#: includes/admin/admin-actions.php:283
+#: includes/admin/admin-actions.php:285
msgid "API keys have been revoked."
msgstr ""
-#: includes/admin/admin-actions.php:291
+#: includes/admin/admin-actions.php:293
msgid "The test email has been sent."
msgstr ""
-#: includes/admin/admin-actions.php:312
+#: includes/admin/admin-actions.php:315
msgid "The donation note has been added."
msgstr ""
-#: includes/admin/admin-actions.php:320
+#: includes/admin/admin-actions.php:323
msgid "The donation has been updated."
msgstr ""
-#: includes/admin/admin-actions.php:334
+#: includes/admin/admin-actions.php:337
msgid "The selected donor(s) has been deleted."
msgstr ""
-#: includes/admin/admin-actions.php:343
+#: includes/admin/admin-actions.php:346
msgid "The selected donor(s) and the associated donation(s) has been deleted."
msgstr ""
-#: includes/admin/admin-actions.php:352
+#: includes/admin/admin-actions.php:355
msgid "You must confirm to delete the selected donor(s)."
msgstr ""
-#: includes/admin/admin-actions.php:361, includes/admin/donors/donor-actions.php:299, includes/admin/donors/donors.php:222, includes/admin/donors/donors.php:236
+#: includes/admin/admin-actions.php:364, includes/admin/donors/donor-actions.php:299, includes/admin/donors/donors.php:222, includes/admin/donors/donors.php:236
msgid "Invalid Donor ID."
msgstr ""
-#: includes/admin/admin-actions.php:370
+#: includes/admin/admin-actions.php:373
msgid "Unable to delete selected donor(s)."
msgstr ""
-#: includes/admin/admin-actions.php:379
+#: includes/admin/admin-actions.php:382
msgid "Donor email added."
msgstr ""
-#: includes/admin/admin-actions.php:388
+#: includes/admin/admin-actions.php:391
msgid "Donor email removed."
msgstr ""
-#: includes/admin/admin-actions.php:397
+#: includes/admin/admin-actions.php:400
msgid "Failed to remove donor email."
msgstr ""
-#: includes/admin/admin-actions.php:406
+#: includes/admin/admin-actions.php:409
msgid "Primary email updated for donor."
msgstr ""
-#: includes/admin/admin-actions.php:415
+#: includes/admin/admin-actions.php:418
msgid "Failed to set primary email."
msgstr ""
-#: includes/admin/admin-actions.php:424
+#: includes/admin/admin-actions.php:427
msgid "User has been successfully connected with Donor."
msgstr ""
-#: includes/admin/admin-actions.php:433
+#: includes/admin/admin-actions.php:436
msgid "Donor information updated successfully."
msgstr ""
-#: includes/admin/admin-actions.php:469
+#: includes/admin/admin-actions.php:473
msgid "Give Test Mode Active"
msgstr ""
-#: includes/admin/admin-actions.php:513, includes/admin/tools/views/html-admin-page-import-donations.php:25, includes/admin/tools/views/html-admin-page-imports.php:47
+#: includes/admin/admin-actions.php:517, includes/admin/tools/views/html-admin-page-import-donations.php:25, includes/admin/tools/views/html-admin-page-imports.php:47
msgid "Import Donations"
msgstr ""
-#: includes/admin/admin-actions.php:605
+#: includes/admin/admin-actions.php:609
msgid "All donation uploaded successfully!"
msgstr ""
-#: includes/admin/admin-actions.php:781
+#: includes/admin/admin-actions.php:785
msgid "ERROR"
msgstr ""
-#: includes/admin/admin-actions.php:809, includes/admin/donors/class-donor-table.php:65, includes/admin/emails/abstract-email-notification.php:150, includes/admin/emails/class-donation-receipt-email.php:46, includes/admin/emails/class-donor-register-email.php:41, includes/admin/emails/class-email-access-email.php:42, includes/admin/reports/class-donor-reports-table.php:66, templates/history-donations.php:69, templates/shortcode-receipt.php:39
+#: includes/admin/admin-actions.php:813, includes/admin/donors/class-donor-table.php:65, includes/admin/emails/abstract-email-notification.php:150, includes/admin/emails/class-donation-receipt-email.php:46, includes/admin/emails/class-donor-register-email.php:41, includes/admin/emails/class-email-access-email.php:42, includes/admin/reports/class-donor-reports-table.php:66, templates/history-donations.php:69, templates/shortcode-receipt.php:39
msgid "Donor"
msgstr ""
-#: includes/admin/admin-actions.php:812
+#: includes/admin/admin-actions.php:816
msgid "View Donor Information"
msgstr ""
-#: includes/admin/admin-actions.php:881
+#: includes/admin/admin-actions.php:885
msgid "Error: Security issue."
msgstr ""
-#: includes/admin/admin-actions.php:912
+#: includes/admin/admin-actions.php:916
msgid "Error: Unable to save the address. Please check if address already exist."
msgstr ""
-#: includes/admin/admin-actions.php:941
+#: includes/admin/admin-actions.php:945
msgid "Successfully added a new address to the donor."
msgstr ""
-#: includes/admin/admin-actions.php:956
+#: includes/admin/admin-actions.php:960
msgid "Error: Unable to delete address."
msgstr ""
-#: includes/admin/admin-actions.php:964
+#: includes/admin/admin-actions.php:968
msgid "Successfully removed a address of donor."
msgstr ""
-#: includes/admin/admin-actions.php:975
+#: includes/admin/admin-actions.php:979
msgid "Error: Unable to update address. Please check if address already exist."
msgstr ""
-#: includes/admin/admin-actions.php:993
+#: includes/admin/admin-actions.php:997
msgid "Successfully updated a address of donor"
msgstr ""
-#: includes/admin/admin-actions.php:1014, includes/admin/payments/view-payment-details.php:679
+#: includes/admin/admin-actions.php:1018, includes/admin/payments/view-payment-details.php:678
msgid "Billing Address"
msgstr ""
-#: includes/admin/admin-actions.php:1031
+#: includes/admin/admin-actions.php:1035
msgid "Personal Address"
msgstr ""
-#: includes/admin/admin-actions.php:1146
+#: includes/admin/admin-actions.php:1150
msgid "Cache flushed successfully."
msgstr ""
-#: includes/admin/admin-actions.php:1150
+#: includes/admin/admin-actions.php:1154
msgid "An error occured while flushing the cache."
msgstr ""
@@ -6167,27 +6180,27 @@ msgstr ""
msgid "Your settings have been saved."
msgstr ""
-#: includes/admin/class-admin-settings.php:328
+#: includes/admin/class-admin-settings.php:338
msgid "Add Field"
msgstr ""
-#: includes/admin/class-admin-settings.php:463
+#: includes/admin/class-admin-settings.php:473
msgid "Remove setting field"
msgstr ""
-#: includes/admin/class-admin-settings.php:672, includes/admin/give-metabox-functions.php:775
+#: includes/admin/class-admin-settings.php:682, includes/admin/give-metabox-functions.php:775
msgid "Add or Upload %s"
msgstr ""
-#: includes/admin/class-admin-settings.php:672, includes/admin/give-metabox-functions.php:775
+#: includes/admin/class-admin-settings.php:682, includes/admin/give-metabox-functions.php:775
msgid "File"
msgstr ""
-#: includes/admin/class-admin-settings.php:672, includes/admin/give-metabox-functions.php:775
+#: includes/admin/class-admin-settings.php:682, includes/admin/give-metabox-functions.php:775
msgid "Image"
msgstr ""
-#: includes/admin/class-admin-settings.php:826, includes/admin/give-metabox-functions.php:867
+#: includes/admin/class-admin-settings.php:836, includes/admin/give-metabox-functions.php:867
msgid "Need Help? See docs on \"%s\""
msgstr ""
@@ -7206,49 +7219,49 @@ msgstr ""
#. translators: %s: form
#. translators: %s: form
#. translators: %s: form
-#: includes/api/class-give-api.php:1034, includes/api/class-give-api.php:1262, includes/api/class-give-api.php:1390
+#: includes/api/class-give-api.php:1034, includes/api/class-give-api.php:1278, includes/api/class-give-api.php:1406
msgid "Form %s not found."
msgstr ""
-#: includes/api/class-give-api.php:1165, includes/api/class-give-api.php:1280
+#: includes/api/class-give-api.php:1165, includes/api/class-give-api.php:1296
msgid "The end date must be later than the start date."
msgstr ""
-#: includes/api/class-give-api.php:1170, includes/api/class-give-api.php:1285
+#: includes/api/class-give-api.php:1170, includes/api/class-give-api.php:1301
msgid "Invalid or no date range specified."
msgstr ""
-#: includes/api/class-give-api.php:1784
+#: includes/api/class-give-api.php:1800
msgid "Give API Keys"
msgstr ""
-#: includes/api/class-give-api.php:1793
+#: includes/api/class-give-api.php:1809
msgid "Generate API Key"
msgstr ""
-#: includes/api/class-give-api.php:1795
+#: includes/api/class-give-api.php:1811
msgid "Public key:"
msgstr ""
-#: includes/api/class-give-api.php:1799
+#: includes/api/class-give-api.php:1815
msgid "Secret key:"
msgstr ""
-#: includes/api/class-give-api.php:1803
+#: includes/api/class-give-api.php:1819
msgid "Token:"
msgstr ""
-#: includes/api/class-give-api.php:1808
+#: includes/api/class-give-api.php:1824
msgid "Revoke API Keys"
msgstr ""
-#: includes/api/class-give-api.php:1836
+#: includes/api/class-give-api.php:1852
msgid "User ID Required."
msgstr ""
#. translators: %s: process
#. translators: %s: process
-#: includes/api/class-give-api.php:1851, includes/api/class-give-api.php:1856
+#: includes/api/class-give-api.php:1867, includes/api/class-give-api.php:1872
msgid "You do not have permission to %s API keys for this user."
msgstr ""
@@ -7404,7 +7417,7 @@ msgstr ""
msgid "Thank you for your donation. Your generosity is appreciated! Here are the details of your donation:"
msgstr ""
-#: includes/emails/functions.php:114, includes/admin/payments/view-payment-details.php:432
+#: includes/emails/functions.php:114, includes/admin/payments/view-payment-details.php:431
msgid "Donation Date:"
msgstr ""
@@ -7681,15 +7694,15 @@ msgstr ""
msgid "Donation Total:"
msgstr ""
-#: includes/forms/template.php:1944
+#: includes/forms/template.php:1945
msgid "Notice:"
msgstr ""
-#: includes/forms/template.php:1944
+#: includes/forms/template.php:1945
msgid "Test mode is enabled. While in test mode no live donations are processed."
msgstr ""
-#: includes/forms/template.php:1974
+#: includes/forms/template.php:1975
msgid "Please log in in order to complete your donation."
msgstr ""
@@ -8211,7 +8224,7 @@ msgstr ""
msgid "Edit Donor"
msgstr ""
-#: includes/admin/donors/donors.php:376, includes/admin/payments/view-payment-details.php:550
+#: includes/admin/donors/donors.php:376, includes/admin/payments/view-payment-details.php:549
msgid "Donor ID:"
msgstr ""
@@ -8239,7 +8252,7 @@ msgstr ""
msgid "View User Profile"
msgstr ""
-#: includes/admin/donors/donors.php:440, includes/admin/payments/view-payment-details.php:602
+#: includes/admin/donors/donors.php:440, includes/admin/payments/view-payment-details.php:601
msgid "Company Name:"
msgstr ""
@@ -8269,35 +8282,35 @@ msgstr ""
msgid "Add Address"
msgstr ""
-#: includes/admin/donors/donors.php:583, includes/admin/payments/view-payment-details.php:699
+#: includes/admin/donors/donors.php:583, includes/admin/payments/view-payment-details.php:698
msgid "Country:"
msgstr ""
-#: includes/admin/donors/donors.php:594, includes/admin/payments/view-payment-details.php:709
+#: includes/admin/donors/donors.php:594, includes/admin/payments/view-payment-details.php:708
msgid "Select a country"
msgstr ""
-#: includes/admin/donors/donors.php:602, includes/admin/payments/view-payment-details.php:719
+#: includes/admin/donors/donors.php:602, includes/admin/payments/view-payment-details.php:718
msgid "Address 1:"
msgstr ""
-#: includes/admin/donors/donors.php:610, includes/admin/payments/view-payment-details.php:726
+#: includes/admin/donors/donors.php:610, includes/admin/payments/view-payment-details.php:725
msgid "Address 2:"
msgstr ""
-#: includes/admin/donors/donors.php:619, includes/admin/payments/view-payment-details.php:733
+#: includes/admin/donors/donors.php:619, includes/admin/payments/view-payment-details.php:732
msgid "City:"
msgstr ""
-#: includes/admin/donors/donors.php:632, includes/admin/payments/view-payment-details.php:744
+#: includes/admin/donors/donors.php:632, includes/admin/payments/view-payment-details.php:743
msgid "State / Province / County:"
msgstr ""
-#: includes/admin/donors/donors.php:658, includes/admin/payments/view-payment-details.php:756
+#: includes/admin/donors/donors.php:658, includes/admin/payments/view-payment-details.php:755
msgid "Select a state"
msgstr ""
-#: includes/admin/donors/donors.php:671, includes/admin/payments/view-payment-details.php:771
+#: includes/admin/donors/donors.php:671, includes/admin/payments/view-payment-details.php:770
msgid "Zip / Postal Code:"
msgstr ""
@@ -9058,7 +9071,7 @@ msgstr ""
msgid "Resend Donation %s Receipt"
msgstr ""
-#: includes/admin/payments/class-payments-table.php:591, includes/admin/payments/view-payment-details.php:259
+#: includes/admin/payments/class-payments-table.php:591, includes/admin/payments/view-payment-details.php:258
msgid "Resend Receipt"
msgstr ""
@@ -9169,107 +9182,107 @@ msgstr ""
msgid "Time:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:206, includes/admin/payments/view-payment-details.php:468
+#: includes/admin/payments/view-payment-details.php:206, includes/admin/payments/view-payment-details.php:467
msgid "Total Donation:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:245
+#: includes/admin/payments/view-payment-details.php:244
msgid "Save Donation"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:285
+#: includes/admin/payments/view-payment-details.php:284
msgid "Donation Meta"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:305
+#: includes/admin/payments/view-payment-details.php:304
msgid "Gateway:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:313
+#: includes/admin/payments/view-payment-details.php:312
msgid "Key:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:320
+#: includes/admin/payments/view-payment-details.php:319
msgid "IP:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:332
+#: includes/admin/payments/view-payment-details.php:331
msgid "Transaction ID:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:332
+#: includes/admin/payments/view-payment-details.php:331
msgid "The transaction ID within %s."
msgstr ""
-#: includes/admin/payments/view-payment-details.php:340
+#: includes/admin/payments/view-payment-details.php:339
msgid "View all donations for this donor »"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:397
+#: includes/admin/payments/view-payment-details.php:396
msgid "Donation Information"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:404
+#: includes/admin/payments/view-payment-details.php:403
msgid "Donation Form ID:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:416
+#: includes/admin/payments/view-payment-details.php:415
msgid "Donation Form Title:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:436
+#: includes/admin/payments/view-payment-details.php:435
msgid "Donation Level:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:541
+#: includes/admin/payments/view-payment-details.php:540
msgid "Donor Details"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:560
+#: includes/admin/payments/view-payment-details.php:559
msgid "Create New Donor"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:563
+#: includes/admin/payments/view-payment-details.php:562
msgid "Donor Since:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:569
+#: includes/admin/payments/view-payment-details.php:568
msgid "Donor Name:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:583
+#: includes/admin/payments/view-payment-details.php:582
msgid "Donor Email:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:589
+#: includes/admin/payments/view-payment-details.php:588
msgid "Change Donor:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:613
+#: includes/admin/payments/view-payment-details.php:612
msgid "New Donor First Name:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:619
+#: includes/admin/payments/view-payment-details.php:618
msgid "New Donor Last Name:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:625
+#: includes/admin/payments/view-payment-details.php:624
msgid "New Donor Email:"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:635
+#: includes/admin/payments/view-payment-details.php:634
msgid "Click \"Save Donation\" to create new donor."
msgstr ""
-#: includes/admin/payments/view-payment-details.php:811
+#: includes/admin/payments/view-payment-details.php:810
msgid "Donation Notes"
msgstr ""
-#: includes/admin/payments/view-payment-details.php:828
+#: includes/admin/payments/view-payment-details.php:827
msgid "No donation notes."
msgstr ""
-#: includes/admin/payments/view-payment-details.php:834
+#: includes/admin/payments/view-payment-details.php:833
msgid "Add Note"
msgstr ""
@@ -9390,7 +9403,7 @@ msgstr ""
msgid "Report Type"
msgstr ""
-#: includes/admin/reports/reports.php:200, includes/admin/shortcodes/shortcode-give-donation-grid.php:70, includes/admin/shortcodes/shortcode-give-donation-grid.php:80, includes/admin/shortcodes/shortcode-give-donation-grid.php:90, includes/admin/shortcodes/shortcode-give-form.php:70, includes/admin/shortcodes/shortcode-give-form.php:80, includes/admin/shortcodes/shortcode-give-goal.php:71, includes/admin/shortcodes/shortcode-give-goal.php:81, includes/admin/shortcodes/shortcode-give-receipt.php:50, includes/admin/shortcodes/shortcode-give-receipt.php:59, includes/admin/shortcodes/shortcode-give-receipt.php:68, includes/admin/shortcodes/shortcode-give-receipt.php:77, includes/admin/shortcodes/shortcode-give-receipt.php:86, includes/admin/shortcodes/shortcode-give-receipt.php:95, includes/admin/shortcodes/shortcode-give-totals.php:125
+#: includes/admin/reports/reports.php:200, includes/admin/shortcodes/shortcode-give-donation-grid.php:70, includes/admin/shortcodes/shortcode-give-donation-grid.php:80, includes/admin/shortcodes/shortcode-give-donation-grid.php:90, includes/admin/shortcodes/shortcode-give-form.php:70, includes/admin/shortcodes/shortcode-give-form.php:80, includes/admin/shortcodes/shortcode-give-goal.php:71, includes/admin/shortcodes/shortcode-give-goal.php:81, includes/admin/shortcodes/shortcode-give-receipt.php:50, includes/admin/shortcodes/shortcode-give-receipt.php:59, includes/admin/shortcodes/shortcode-give-receipt.php:68, includes/admin/shortcodes/shortcode-give-receipt.php:77, includes/admin/shortcodes/shortcode-give-receipt.php:86, includes/admin/shortcodes/shortcode-give-receipt.php:95, includes/admin/shortcodes/shortcode-give-totals.php:128
msgid "Show"
msgstr ""
@@ -9851,7 +9864,7 @@ msgstr ""
msgid "Do you want to display the goal's progress bar?"
msgstr ""
-#: includes/admin/shortcodes/shortcode-give-donation-grid.php:71, includes/admin/shortcodes/shortcode-give-donation-grid.php:81, includes/admin/shortcodes/shortcode-give-donation-grid.php:91, includes/admin/shortcodes/shortcode-give-form.php:71, includes/admin/shortcodes/shortcode-give-form.php:81, includes/admin/shortcodes/shortcode-give-goal.php:72, includes/admin/shortcodes/shortcode-give-goal.php:82, includes/admin/shortcodes/shortcode-give-receipt.php:51, includes/admin/shortcodes/shortcode-give-receipt.php:60, includes/admin/shortcodes/shortcode-give-receipt.php:69, includes/admin/shortcodes/shortcode-give-receipt.php:78, includes/admin/shortcodes/shortcode-give-receipt.php:87, includes/admin/shortcodes/shortcode-give-receipt.php:96, includes/admin/shortcodes/shortcode-give-totals.php:126
+#: includes/admin/shortcodes/shortcode-give-donation-grid.php:71, includes/admin/shortcodes/shortcode-give-donation-grid.php:81, includes/admin/shortcodes/shortcode-give-donation-grid.php:91, includes/admin/shortcodes/shortcode-give-form.php:71, includes/admin/shortcodes/shortcode-give-form.php:81, includes/admin/shortcodes/shortcode-give-goal.php:72, includes/admin/shortcodes/shortcode-give-goal.php:82, includes/admin/shortcodes/shortcode-give-receipt.php:51, includes/admin/shortcodes/shortcode-give-receipt.php:60, includes/admin/shortcodes/shortcode-give-receipt.php:69, includes/admin/shortcodes/shortcode-give-receipt.php:78, includes/admin/shortcodes/shortcode-give-receipt.php:87, includes/admin/shortcodes/shortcode-give-receipt.php:96, includes/admin/shortcodes/shortcode-give-totals.php:129
msgid "Hide"
msgstr ""
@@ -9953,7 +9966,7 @@ msgstr ""
msgid "This text displays the amount of income raised compared to the goal."
msgstr ""
-#: includes/admin/shortcodes/shortcode-give-goal.php:78, includes/admin/shortcodes/shortcode-give-totals.php:122
+#: includes/admin/shortcodes/shortcode-give-goal.php:78, includes/admin/shortcodes/shortcode-give-totals.php:125
msgid "Show Progress Bar:"
msgstr ""
@@ -10057,35 +10070,39 @@ msgstr ""
msgid "Enter the total goal amount that you would like to display."
msgstr ""
-#: includes/admin/shortcodes/shortcode-give-totals.php:99
+#: includes/admin/shortcodes/shortcode-give-totals.php:96
+msgid "Please enter a valid total goal amount."
+msgstr ""
+
+#: includes/admin/shortcodes/shortcode-give-totals.php:102
msgid "Message:"
msgstr ""
-#: includes/admin/shortcodes/shortcode-give-totals.php:100
+#: includes/admin/shortcodes/shortcode-give-totals.php:103
msgid "Enter a message to display encouraging donors to support the goal."
msgstr ""
-#: includes/admin/shortcodes/shortcode-give-totals.php:109
+#: includes/admin/shortcodes/shortcode-give-totals.php:112
msgid "Link:"
msgstr ""
-#: includes/admin/shortcodes/shortcode-give-totals.php:110
+#: includes/admin/shortcodes/shortcode-give-totals.php:113
msgid "Enter a link to the main campaign donation form."
msgstr ""
-#: includes/admin/shortcodes/shortcode-give-totals.php:115
+#: includes/admin/shortcodes/shortcode-give-totals.php:118
msgid "Link Text:"
msgstr ""
-#: includes/admin/shortcodes/shortcode-give-totals.php:116
+#: includes/admin/shortcodes/shortcode-give-totals.php:119
msgid "Enter hyperlink text for the link to the main campaign donation form."
msgstr ""
-#: includes/admin/shortcodes/shortcode-give-totals.php:117
+#: includes/admin/shortcodes/shortcode-give-totals.php:120
msgid "Donate!"
msgstr ""
-#: includes/admin/shortcodes/shortcode-give-totals.php:123
+#: includes/admin/shortcodes/shortcode-give-totals.php:126
msgid "Select whether you would like to show a goal progress bar."
msgstr ""
@@ -10418,19 +10435,19 @@ msgstr ""
msgid "Donor's Billing Address"
msgstr ""
-#: includes/admin/tools/export/give-export-donations-functions.php:486
+#: includes/admin/tools/export/give-export-donations-functions.php:495
msgid "Custom Field Columns:"
msgstr ""
-#: includes/admin/tools/export/give-export-donations-functions.php:491
+#: includes/admin/tools/export/give-export-donations-functions.php:500
msgid "The following fields may have been created by custom code, or another plugin."
msgstr ""
-#: includes/admin/tools/export/give-export-donations-functions.php:511
+#: includes/admin/tools/export/give-export-donations-functions.php:520
msgid "Hidden Custom Field Columns:"
msgstr ""
-#: includes/admin/tools/export/give-export-donations-functions.php:516
+#: includes/admin/tools/export/give-export-donations-functions.php:525
msgid "The following hidden custom fields contain data created by Give Core, a Give Add-on, another plugin, etc. Hidden fields are generally used for programming logic, but you may contain data you would like to export."
msgstr ""
diff --git a/readme.txt b/readme.txt
index 3789e305e2..cb9c0c1c9a 100644
--- a/readme.txt
+++ b/readme.txt
@@ -5,7 +5,7 @@ Tags: donation, donations, donation plugin, wordpress donation plugin, givewp, g
Requires at least: 4.8
Tested up to: 4.9
Requires PHP: 5.3
-Stable tag: 2.1.3
+Stable tag: 2.1.4
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -208,6 +208,25 @@ Use Give for donations, and let WooCommerce or WP eCommerce or the like handle y
== Changelog ==
+= 2.1.4: June 5th, 2018 =
+* New: Added support for multiple messages passed to Give's internal notice API. [#1936](https://github.com/wordimpress/give/issues/1936)
+* New: Added a new check for add-ons to always check the minimum Give version required prior to being able to update. This will prevent the case where an add-on is updated and requires a new version of Give Core than is currently running and deactivates itself. [#3217](https://github.com/wordimpress/give/issues/3217)
+* Tweak: Improved how a donation amount is saved within the internal Give_Payment class. [#3304](https://github.com/wordimpress/give/issues/3304)
+* Tweak: If a gateway is marked as disabled in the admin settings then disable the option to set it as the default gateway. [#3296](https://github.com/wordimpress/give/issues/3296)
+* Fix: Improved the layout of the export donations columns so that they look good on mobile devices and more. [#3266](https://github.com/wordimpress/give/issues/3266)
+* Fix: Preventing PHP notices related to AKISMET admin settings when saving. [#3260](https://github.com/wordimpress/give/issues/3260)
+* Fix: Prevent the licenses tab from displaying in settings if there are no add-ons installed. [#3254](https://github.com/wordimpress/give/issues/3254)
+* Fix: The Give API was not respecting date ranges for earnings and donations endpoints. [#3191](https://github.com/wordimpress/give/issues/3191)
+* Fix: Plugin conflict with WPML where the plugin would display language settings within Give's admin settings incorrectly. [#3314](https://github.com/wordimpress/give/issues/3314)
+* Fix: In button mode text would display incorrectly from the form if closing the modal popup. [#3301](https://github.com/wordimpress/give/issues/3301)
+* Fix: Plugin conflict where WPML would cause the give_totals shortcode to output the incorrect donation amounts. [#3291](https://github.com/wordimpress/give/issues/3291)
+* Fix: The Give notice dismiss button should work when rendering Give notices using JS. [#3278](https://github.com/wordimpress/give/issues/3278)
+* Fix: Theme conflict with Woo's Storefron theme where Give's admin footer text would overlap some elements. [#3274](https://github.com/wordimpress/give/issues/3274)
+* Fix: Ensure that Give's state field doesn't lose its style when switching countries. [#3255](https://github.com/wordimpress/give/issues/3255)
+* Fix: Don't allow the set donation amount to be less than the minimum amount when saving donation forms in wp-admin. [#3249](https://github.com/wordimpress/give/issues/3249)
+* Fix: The "total" attribute is now required for the give_totals shortcode so you don't have a blank goal displaying on the website. [#3060](https://github.com/wordimpress/give/issues/3060)
+* Fix: Resolved a form grid shortcode issue where the Payment Method field would display incorrect when only one gateway is enabled. [#3293](https://github.com/wordimpress/give/issues/3293)
+
= 2.1.3: May 23rd, 2018 =
* New: Better SPAM protection through the usage of improved client and server side validation to only allow alphabet characters for first and last name, validation to ensure that the gateway field is not left empty (to compbat SPAM bot scripts), and sanitize all input fields when processing the donation. [#3035](https://github.com/WordImpress/Give/issues/3035#issuecomment-391393093)
* New: Added new customizable "Email Heading" fields for all Core emails (coming soon to add-ons as well). [#3110](https://github.com/WordImpress/Give/issues/3110)
@@ -217,7 +236,7 @@ Use Give for donations, and let WooCommerce or WP eCommerce or the like handle y
* Fix: The add-on plugin activation banner now displays properly without having to refresh the plugins screen to see it. [#3153](https://github.com/WordImpress/Give/issues/3153)
* Fix: Give's shortcode picker was having an incompatibility with Elementor causing the TinyMCE to be partially blocked. [#3171](https://github.com/WordImpress/Give/issues/3171)
* Fix: Give was conflicting with Beaver Builder preventing users from seeing the builder options within the WP-admin single page/post view. [#3207](https://github.com/WordImpress/Give/issues/3207)
-* Fix: Give's API was not repecting the date range parameters passed to it. Now it does so you can filter the API by date ranges as expected. [#3191](https://github.com/WordImpress/Give/issues/3191)
+* Fix: Give's API was not respecting the date range parameters passed to it. Now it does so you can filter the API by date ranges as expected. [#3191](https://github.com/WordImpress/Give/issues/3191)
* Fix: This version contains a database cleanup routine to delete donation payment meta that is not attached to any payment. For instance, if you deleted a payment the metadata associated with it still remained prior to this version. With this upgrade the orphaned data will be removed. [#3205](https://github.com/WordImpress/Give/issues/3205)
* Fix: Resolved PHP notices when exporting donor in lower PHP versions. (#3222)[https://github.com/WordImpress/Give/issues/3222], [#3218](https://github.com/WordImpress/Give/issues/3218)
* Fix: We've updated the donation form's