mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
Update 1.3.29
This commit is contained in:
+193
-183
@@ -95,7 +95,7 @@
|
||||
foreach( $fields as $key => $array ) {
|
||||
if ( isset( $args[$key] ) && !empty( $args[$key] ) ) {
|
||||
if ( isset($array['validate']) && in_array( $array['validate'], array('unique_username','unique_email','unique_username_or_email') ) ) {
|
||||
if ( !$ultimatemember->form->has_error( $key ) && preg_grep( "/".$args[$key]."/i" , $words ) ) {
|
||||
if ( !$ultimatemember->form->has_error( $key ) && in_array( $args[$key], $words ) ) {
|
||||
$ultimatemember->form->add_error( $key, __('You are not allowed to use this word as your username.','ultimatemember') );
|
||||
}
|
||||
}
|
||||
@@ -163,6 +163,10 @@
|
||||
$ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimatemember'), $array['title'] ) );
|
||||
}
|
||||
|
||||
if ( isset( $array['type'] ) && $array['type'] == 'multiselect' && isset( $array['required'] ) && $array['required'] == 1 && !isset( $args[$key] ) && !in_array($key, array('role_radio','role_select') ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('%s is required.','ultimatemember'), $array['title'] ) );
|
||||
}
|
||||
|
||||
if ( $key == 'role_select' || $key == 'role_radio' ) {
|
||||
if ( isset( $array['required'] ) && $array['required'] == 1 && ( !isset( $args['role'] ) || empty( $args['role'] ) ) ) {
|
||||
$ultimatemember->form->add_error('role', __('Please specify account type.','ultimatemember') );
|
||||
@@ -171,198 +175,204 @@
|
||||
|
||||
if ( isset( $args[$key] ) ) {
|
||||
|
||||
if ( isset( $array['required'] ) && $array['required'] == 1 ) {
|
||||
if ( !isset($args[$key]) || $args[$key] == '' ) {
|
||||
$ultimatemember->form->add_error($key, sprintf( __('%s is required','ultimatemember'), $array['label'] ) );
|
||||
if ( isset( $array['required'] ) && $array['required'] == 1 ) {
|
||||
if ( !isset($args[$key]) || $args[$key] == '' ) {
|
||||
$ultimatemember->form->add_error($key, sprintf( __('%s is required','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['max_words'] ) && $array['max_words'] > 0 ) {
|
||||
if ( str_word_count( $args[$key] ) > $array['max_words'] ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('You are only allowed to enter a maximum of %s words','ultimatemember'), $array['max_words']) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['min_chars'] ) && $array['min_chars'] > 0 ) {
|
||||
if ( $args[$key] && strlen( utf8_decode( $args[$key] ) ) < $array['min_chars'] ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Your %s must contain at least %s characters','ultimatemember'), $array['label'], $array['min_chars']) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['max_chars'] ) && $array['max_chars'] > 0 ) {
|
||||
if ( $args[$key] && strlen( utf8_decode( $args[$key] ) ) > $array['max_chars'] ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Your %s must contain less than %s characters','ultimatemember'), $array['label'], $array['max_chars']) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['html'] ) && $array['html'] == 0 ) {
|
||||
if ( wp_strip_all_tags( $args[$key] ) != $args[$key] ) {
|
||||
$ultimatemember->form->add_error($key, __('You can not use HTML tags here','ultimatemember') );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['force_good_pass'] ) && $array['force_good_pass'] == 1 ) {
|
||||
if ( !$ultimatemember->validation->strong_pass( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimatemember') );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['force_confirm_pass'] ) && $array['force_confirm_pass'] == 1 ) {
|
||||
if ( $args[ 'confirm_' . $key] == '' && !$ultimatemember->form->has_error($key) ) {
|
||||
$ultimatemember->form->add_error( 'confirm_' . $key , __('Please confirm your password','ultimatemember') );
|
||||
}
|
||||
if ( $args[ 'confirm_' . $key] != $args[$key] && !$ultimatemember->form->has_error($key) ) {
|
||||
$ultimatemember->form->add_error( 'confirm_' . $key , __('Your passwords do not match','ultimatemember') );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['min_selections'] ) && $array['min_selections'] > 0 ) {
|
||||
if ( ( !isset($args[$key]) ) || ( isset( $args[$key] ) && is_array($args[$key]) && count( $args[$key] ) < $array['min_selections'] ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please select at least %s choices','ultimatemember'), $array['min_selections'] ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['max_selections'] ) && $array['max_selections'] > 0 ) {
|
||||
if ( isset( $args[$key] ) && is_array($args[$key]) && count( $args[$key] ) > $array['max_selections'] ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('You can only select up to %s choices','ultimatemember'), $array['max_selections'] ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['validate'] ) && !empty( $array['validate'] ) ) {
|
||||
|
||||
switch( $array['validate'] ) {
|
||||
|
||||
case 'custom':
|
||||
$custom = $array['custom_validate'];
|
||||
do_action("um_custom_field_validation_{$custom}", $key, $array );
|
||||
break;
|
||||
|
||||
case 'numeric':
|
||||
if ( $args[$key] && !is_numeric( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Please enter numbers only in this field','ultimatemember') );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'phone_number':
|
||||
if ( !$ultimatemember->validation->is_phone_number( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Please enter a valid phone number','ultimatemember') );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'youtube_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'youtube.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'soundcloud_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'soundcloud.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'facebook_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'facebook.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'twitter_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'twitter.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
if ( isset( $array['max_words'] ) && $array['max_words'] > 0 ) {
|
||||
if ( str_word_count( $args[$key] ) > $array['max_words'] ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('You are only allowed to enter a maximum of %s words','ultimatemember'), $array['max_words']) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['min_chars'] ) && $array['min_chars'] > 0 ) {
|
||||
if ( $args[$key] && strlen( utf8_decode( $args[$key] ) ) < $array['min_chars'] ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Your %s must contain at least %s characters','ultimatemember'), $array['label'], $array['min_chars']) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['max_chars'] ) && $array['max_chars'] > 0 ) {
|
||||
if ( $args[$key] && strlen( utf8_decode( $args[$key] ) ) > $array['max_chars'] ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Your %s must contain less than %s characters','ultimatemember'), $array['label'], $array['max_chars']) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['html'] ) && $array['html'] == 0 ) {
|
||||
if ( wp_strip_all_tags( $args[$key] ) != trim( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('You can not use HTML tags here','ultimatemember') );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['force_good_pass'] ) && $array['force_good_pass'] == 1 ) {
|
||||
if ( !$ultimatemember->validation->strong_pass( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimatemember') );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['force_confirm_pass'] ) && $array['force_confirm_pass'] == 1 ) {
|
||||
if ( $args[ 'confirm_' . $key] == '' && !$ultimatemember->form->has_error($key) ) {
|
||||
$ultimatemember->form->add_error( 'confirm_' . $key , __('Please confirm your password','ultimatemember') );
|
||||
}
|
||||
if ( $args[ 'confirm_' . $key] != $args[$key] && !$ultimatemember->form->has_error($key) ) {
|
||||
$ultimatemember->form->add_error( 'confirm_' . $key , __('Your passwords do not match','ultimatemember') );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['min_selections'] ) && $array['min_selections'] > 0 ) {
|
||||
if ( ( !isset($args[$key]) ) || ( isset( $args[$key] ) && is_array($args[$key]) && count( $args[$key] ) < $array['min_selections'] ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please select at least %s choices','ultimatemember'), $array['min_selections'] ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['max_selections'] ) && $array['max_selections'] > 0 ) {
|
||||
if ( isset( $args[$key] ) && is_array($args[$key]) && count( $args[$key] ) > $array['max_selections'] ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('You can only select up to %s choices','ultimatemember'), $array['max_selections'] ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $array['validate'] ) && !empty( $array['validate'] ) ) {
|
||||
|
||||
switch( $array['validate'] ) {
|
||||
|
||||
case 'custom':
|
||||
$custom = $array['custom_validate'];
|
||||
do_action("um_custom_field_validation_{$custom}", $key, $array, $args );
|
||||
break;
|
||||
|
||||
case 'numeric':
|
||||
if ( $args[$key] && !is_numeric( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Please enter numbers only in this field','ultimatemember') );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'phone_number':
|
||||
if ( !$ultimatemember->validation->is_phone_number( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Please enter a valid phone number','ultimatemember') );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'youtube_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'youtube.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'soundcloud_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'soundcloud.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'facebook_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'facebook.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'twitter_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'twitter.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'instagram_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'instagram.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'google_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'plus.google.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'linkedin_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'linkedin.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'skype':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'skype.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'unique_username':
|
||||
|
||||
if ( $args[$key] == '' ) {
|
||||
$ultimatemember->form->add_error($key, __('You must provide a username','ultimatemember') );
|
||||
} else if ( $mode == 'register' && username_exists( sanitize_user( $args[$key] ) ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your username is already taken','ultimatemember') );
|
||||
} else if ( is_email( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Username cannot be an email','ultimatemember') );
|
||||
} else if ( !$ultimatemember->validation->safe_username( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your username contains invalid characters','ultimatemember') );
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'unique_username_or_email':
|
||||
|
||||
if ( $args[$key] == '' ) {
|
||||
$ultimatemember->form->add_error($key, __('You must provide a username','ultimatemember') );
|
||||
} else if ( $mode == 'register' && username_exists( sanitize_user( $args[$key] ) ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your username is already taken','ultimatemember') );
|
||||
} else if ( $mode == 'register' && email_exists( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimatemember') );
|
||||
} else if ( !$ultimatemember->validation->safe_username( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your username contains invalid characters','ultimatemember') );
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'unique_email':
|
||||
|
||||
if ( in_array( $key, array('user_email') ) ) {
|
||||
case 'instagram_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'instagram.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
if ( $args[$key] == '' && in_array( $key, array('user_email') ) ) {
|
||||
$ultimatemember->form->add_error($key, __('You must provide your email','ultimatemember') );
|
||||
} else if ( $mode == 'register' && email_exists( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimatemember') );
|
||||
} else if ( !is_email( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('This is not a valid email','ultimatemember') );
|
||||
case 'google_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'plus.google.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'linkedin_url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'linkedin.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'url':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Please enter a valid URL','ultimatemember') );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'skype':
|
||||
if ( !$ultimatemember->validation->is_url( $args[$key], 'skype.com' ) ) {
|
||||
$ultimatemember->form->add_error($key, sprintf(__('Please enter a valid %s username or profile URL','ultimatemember'), $array['label'] ) );
|
||||
}
|
||||
break;
|
||||
|
||||
case 'unique_username':
|
||||
|
||||
if ( $args[$key] == '' ) {
|
||||
$ultimatemember->form->add_error($key, __('You must provide a username','ultimatemember') );
|
||||
} else if ( $mode == 'register' && username_exists( sanitize_user( $args[$key] ) ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your username is already taken','ultimatemember') );
|
||||
} else if ( is_email( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Username cannot be an email','ultimatemember') );
|
||||
} else if ( !$ultimatemember->validation->safe_username( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your email contains invalid characters','ultimatemember') );
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if ( $args[$key] != '' && !is_email($args[$key]) ) {
|
||||
$ultimatemember->form->add_error($key, __('This is not a valid email','ultimatemember') );
|
||||
} else if ( $args[$key] != '' && email_exists( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimatemember') );
|
||||
$ultimatemember->form->add_error($key, __('Your username contains invalid characters','ultimatemember') );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
case 'unique_username_or_email':
|
||||
|
||||
if ( $args[$key] == '' ) {
|
||||
$ultimatemember->form->add_error($key, __('You must provide a username','ultimatemember') );
|
||||
} else if ( $mode == 'register' && username_exists( sanitize_user( $args[$key] ) ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your username is already taken','ultimatemember') );
|
||||
} else if ( $mode == 'register' && email_exists( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimatemember') );
|
||||
} else if ( !$ultimatemember->validation->safe_username( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your username contains invalid characters','ultimatemember') );
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'unique_email':
|
||||
|
||||
if ( in_array( $key, array('user_email') ) ) {
|
||||
|
||||
if ( $args[$key] == '' && in_array( $key, array('user_email') ) ) {
|
||||
$ultimatemember->form->add_error($key, __('You must provide your email','ultimatemember') );
|
||||
} else if ( $mode == 'register' && email_exists( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimatemember') );
|
||||
} else if ( !is_email( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('This is not a valid email','ultimatemember') );
|
||||
} else if ( !$ultimatemember->validation->safe_username( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('Your email contains invalid characters','ultimatemember') );
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if ( $args[$key] != '' && !is_email($args[$key]) ) {
|
||||
$ultimatemember->form->add_error($key, __('This is not a valid email','ultimatemember') );
|
||||
} else if ( $args[$key] != '' && email_exists( $args[$key] ) ) {
|
||||
$ultimatemember->form->add_error($key, __('This email is already linked to an existing account','ultimatemember') );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ( isset( $args['description'] ) ) {
|
||||
$max_chars = um_get_option('profile_bio_maxchars');
|
||||
if ( strlen( utf8_decode( $args['description'] ) ) > $max_chars && $max_chars ) {
|
||||
$ultimatemember->form->add_error('description', sprintf(__('Your user description must contain less than %s characters','ultimatemember'), $max_chars ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $args['description'] ) ) {
|
||||
$max_chars = um_get_option('profile_bio_maxchars');
|
||||
if ( strlen( utf8_decode( $args['description'] ) ) > $max_chars && $max_chars ) {
|
||||
$ultimatemember->form->add_error('description', sprintf(__('Your user description must contain less than %s characters','ultimatemember'), $max_chars ) );
|
||||
}
|
||||
}
|
||||
|
||||
} // end if ( isset in args array )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user