WordPress.org

Make WordPress Core

Ticket #12459: 12459.3.diff

File 12459.3.diff, 867 bytes (added by Denis-de-Bernardy, 5 years ago)
  • wp-includes/ms-functions.php

     
    4949                return false; 
    5050 
    5151        $blogs = $match = array(); 
     52        $prefix_length = strlen($wpdb->base_prefix); 
    5253        foreach ( (array) $user as $key => $value ) { 
    53                 if ( false !== strpos( $key, '_capabilities') && 0 === strpos( $key, $wpdb->base_prefix ) && preg_match( '/' . $wpdb->base_prefix . '((\d+)_)?capabilities/', $key, $match ) ) { 
     54                if ( $prefix_length && substr($key, 0, $prefix_length) != $wpdb->base_prefix ) 
     55                        continue; 
     56                if ( substr($key, -12, 12) != 'capabilities' ) 
     57                        continue; 
     58                if ( preg_match( '/^' . $wpdb->base_prefix . '((\d+)_)?capabilities$/', $key, $match ) ) { 
    5459                        if ( count( $match ) > 2 ) 
    5560                                $blog_id = $match[ 2 ]; 
    5661                        else