updated plugin Easy Digital Downloads
version 3.1.1.2
This commit is contained in:
@ -676,13 +676,21 @@ function edd_purchase_form_validate_new_user() {
|
||||
// Email address is unsafe (multisite only)
|
||||
} elseif ( is_multisite() && is_email_address_unsafe( $user_email ) ) {
|
||||
edd_set_error( 'email_unsafe', __( 'You cannot use that email address to signup at this time.', 'easy-digital-downloads' ) );
|
||||
|
||||
// Check if email exists
|
||||
} elseif ( ( true === $registering_new_user ) && email_exists( $user_email ) ) {
|
||||
edd_set_error( 'email_used', __( 'Email already used. Login or use a different email to complete your purchase.', 'easy-digital-downloads' ) );
|
||||
|
||||
// Add email to valid user data
|
||||
} elseif ( true === $registering_new_user ) {
|
||||
// Check if email exists.
|
||||
$customers = edd_get_customers(
|
||||
array(
|
||||
'email' => $user_email,
|
||||
'user_id__not_in' => array( null ),
|
||||
)
|
||||
);
|
||||
if ( email_exists( $user_email ) || ! empty( $customers ) ) {
|
||||
edd_set_error( 'email_used', __( 'Email already used. Login or use a different email to complete your purchase.', 'easy-digital-downloads' ) );
|
||||
} else {
|
||||
$valid_user_data['user_email'] = $user_email;
|
||||
}
|
||||
} else {
|
||||
// Add email to valid user data.
|
||||
$valid_user_data['user_email'] = $user_email;
|
||||
}
|
||||
|
||||
@ -731,11 +739,11 @@ function edd_purchase_form_validate_user_login() {
|
||||
|
||||
// Start an array to collect valid user data.
|
||||
$valid_user_data = array(
|
||||
'user_id' => 0
|
||||
'user_id' => 0,
|
||||
);
|
||||
|
||||
$user_login = ! empty( $_POST['edd_user_login'] ) ? sanitize_text_field( $_POST['edd_user_login'] ) : '';
|
||||
$user_pass = ! empty( $_POST['edd_user_pass'] ) ? sanitize_text_field( $_POST['edd_user_pass'] ) : '';
|
||||
$user_pass = ! empty( $_POST['edd_user_pass'] ) ? $_POST['edd_user_pass'] : '';
|
||||
|
||||
// Username.
|
||||
if ( empty( $user_login ) && edd_no_guest_checkout() ) {
|
||||
@ -747,19 +755,17 @@ function edd_purchase_form_validate_user_login() {
|
||||
|
||||
if ( ! $user instanceof WP_User ) {
|
||||
return $valid_user_data;
|
||||
} else {
|
||||
// Re-populate the valid user data array.
|
||||
$valid_user_data = array(
|
||||
'user_id' => $user->ID,
|
||||
'user_login' => $user->user_login,
|
||||
'user_email' => $user->user_email,
|
||||
'user_first' => $user->first_name,
|
||||
'user_last' => $user->last_name,
|
||||
'user_pass' => $user_pass,
|
||||
);
|
||||
}
|
||||
|
||||
return (array) $valid_user_data;
|
||||
// Populate the valid user data array.
|
||||
return array(
|
||||
'user_id' => $user->ID,
|
||||
'user_login' => $user->user_login,
|
||||
'user_email' => $user->user_email,
|
||||
'user_first' => $user->first_name,
|
||||
'user_last' => $user->last_name,
|
||||
'user_pass' => $user_pass,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1280,6 +1286,22 @@ function edd_check_purchase_email( $valid_data, $posted ) {
|
||||
}
|
||||
add_action( 'edd_checkout_error_checks', 'edd_check_purchase_email', 10, 2 );
|
||||
|
||||
/**
|
||||
* Checks the length of the user's email address.
|
||||
*
|
||||
* @since 3.1.0.5
|
||||
* @param array $valid_data The array of validated data.
|
||||
* @param array $posted_data The array of posted data.
|
||||
* @return void
|
||||
*/
|
||||
function edd_check_purchase_email_length( $valid_data, $posted_data ) {
|
||||
// Customer emails are limited to 100 characters.
|
||||
if ( ! empty( $posted_data['edd_email'] ) && strlen( $posted_data['edd_email'] ) > 100 ) {
|
||||
edd_set_error( 'email_length', __( 'Your email address must be shorter than 100 characters.', 'easy-digital-downloads' ) );
|
||||
}
|
||||
}
|
||||
add_action( 'edd_checkout_error_checks', 'edd_check_purchase_email_length', 10, 2 );
|
||||
|
||||
/**
|
||||
* Process a straight-to-gateway purchase
|
||||
*
|
||||
|
Reference in New Issue
Block a user