Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
03/11/2010 04:52:34 PM (16 years ago)
Author:
apeatling
Message:

Fixes #2149, fixed inconsistencies between single WP and WPMU with registration and activation. Single WP users must now activate their accounts and confirm they are using a valid email.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/1.2/bp-core/bp-core-wpabstraction.php

    r2752 r2832  
    9090        }
    9191}
    92 
    93 if ( !function_exists( 'wpmu_validate_user_signup' ) ) {
    94         function wpmu_validate_user_signup( $user_name, $user_email ) {
    95                 global $wpdb;
    96 
    97                 $errors = new WP_Error();
    98 
    99                 $user_email = sanitize_email( $user_email );
    100 
    101                 if ( empty( $user_name ) )
    102                         $errors->add('user_name', __("Please enter a username"));
    103 
    104                 $maybe = array();
    105                 preg_match( "/[a-z0-9]+/", $user_name, $maybe );
    106 
    107                 $illegal_names = get_site_option( "illegal_names" );
    108                 if( is_array( $illegal_names ) == false ) {
    109                         $illegal_names = array(  "www", "web", "root", "admin", "main", "invite", "administrator" );
    110                         add_site_option( "illegal_names", $illegal_names );
    111                 }
    112 
    113                 if ( !validate_username( $user_name ) || in_array( $user_name, $illegal_names ) == true || $user_name != $maybe[0] ) {
    114                     $errors->add('user_name', __("Only lowercase letters and numbers allowed"));
    115                 }
    116 
    117                 if( strlen( $user_name ) < 4 ) {
    118                     $errors->add('user_name',  __("Username must be at least 4 characters"));
    119                 }
    120 
    121                 if ( strpos( " " . $user_name, "_" ) != false )
    122                         $errors->add('user_name', __("Sorry, usernames may not contain the character '_'!"));
    123 
    124                 // all numeric?
    125                 $match = array();
    126                 preg_match( '/[0-9]*/', $user_name, $match );
    127                 if ( $match[0] == $user_name )
    128                         $errors->add('user_name', __("Sorry, usernames must have letters too!"));
    129 
    130                 if ( !is_email( $user_email ) )
    131                         $errors->add('user_email', __("Please check your email address."));
    132 
    133                 $limited_email_domains = get_site_option( 'limited_email_domains' );
    134                 if ( is_array( $limited_email_domains ) && empty( $limited_email_domains ) == false ) {
    135                         $emaildomain = substr( $user_email, 1 + strpos( $user_email, '@' ) );
    136                         if( in_array( $emaildomain, $limited_email_domains ) == false ) {
    137                                 $errors->add('user_email', __("Sorry, that email address is not allowed!"));
    138                         }
    139                 }
    140 
    141                 // Check if the username has been used already.
    142                 if ( username_exists($user_name) )
    143                         $errors->add('user_name', __("Sorry, that username already exists!"));
    144 
    145                 // Check if the email address has been used already.
    146                 if ( email_exists($user_email) )
    147                         $errors->add('user_email', __("Sorry, that email address is already used!"));
    148 
    149                 $result = array('user_name' => $user_name, 'user_email' => $user_email, 'errors' => $errors);
    150 
    151                 return apply_filters('wpmu_validate_user_signup', $result);
    152         }
    153 }
Note: See TracChangeset for help on using the changeset viewer.