Ticket #15706: multisite-fuzzy-limited-domains-15706.patch
File multisite-fuzzy-limited-domains-15706.patch, 1.9 KB (added by , 14 years ago) |
---|
-
wp-includes/ms-functions.php
519 519 $limited_email_domains = get_site_option( 'limited_email_domains' ); 520 520 if ( is_array( $limited_email_domains ) && empty( $limited_email_domains ) == false ) { 521 521 $emaildomain = substr( $user_email, 1 + strpos( $user_email, '@' ) ); 522 if ( in_array( $emaildomain, $limited_email_domains ) == false ) 522 $matched_domain = false; 523 foreach( $limited_email_domains as $limited_domain ) { 524 if( substr( $limited_domain, 0, 2 ) == '*.' ){ 525 //Allow all subdomains for this limited domain. Nick off the '*.' and do a more expansive match. 526 $local_limited_domain = substr( $limited_domain, 2 ); 527 if( substr( $emaildomain, strlen( $emaildomain ) - strlen( $local_limited_domain ) ) == $local_limited_domain ) { 528 $matched_domain = true; 529 } 530 } else { 531 // Direct domain match 532 if ( $emaildomain == $limited_domain ) 533 $matched_domain = true; 534 } 535 } 536 if( $matched_domain == false ) { 523 537 $errors->add('user_email', __('Sorry, that email address is not allowed!')); 538 } 524 539 } 525 540 526 541 // Check if the username has been used already. -
wp-admin/network/edit.php
122 122 $limited_email = array(); 123 123 foreach ( (array) $limited_email_domains as $domain ) { 124 124 $domain = trim( $domain ); 125 if ( ! preg_match( '/(--|\.\.)/', $domain ) && preg_match( '|^([a-zA-Z0-9-\. ])+$|', $domain ) )125 if ( ! preg_match( '/(--|\.\.)/', $domain ) && preg_match( '|^([a-zA-Z0-9-\.\*])+$|', $domain ) ) 126 126 $limited_email[] = trim( $domain ); 127 127 } 128 128 update_site_option( 'limited_email_domains', $limited_email );