Make WordPress Core


Ignore:
Timestamp:
10/07/2010 07:34:18 PM (14 years ago)
Author:
ryan
Message:

First pass of user admin. Network admin and screen cleanups. see #14696

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/ms-functions.php

    r15678 r15746  
    6060 * @since MU 1.0
    6161 * @uses get_blogs_of_user()
    62  * @uses get_dashboard_blog()
    6362 * @uses add_user_to_blog()
    6463 * @uses update_user_meta()
     
    7372    global $wpdb;
    7473    $blogs = get_blogs_of_user( $user_id );
    75     if ( empty( $blogs ) ) {
    76         $details = get_dashboard_blog();
    77         add_user_to_blog( $details->blog_id, $user_id, 'subscriber' );
    78         update_user_meta( $user_id, 'primary_blog', $details->blog_id );
    79         wp_cache_delete( $user_id, 'users' );
    80         return $details;
    81     }
     74    if ( empty( $blogs ) )
     75        return null;
     76
     77    if ( !is_multisite() )
     78        return $blogs[$wpdb->blogid];
    8279
    8380    $primary_blog = get_user_meta( $user_id, 'primary_blog', true );
    84     $details = get_dashboard_blog();
     81    $first_blog = current($blogs);
    8582    if ( $primary_blog ) {
    86         if ( isset( $blogs[ $primary_blog ] ) == false ) {
    87             add_user_to_blog( $details->blog_id, $user_id, 'subscriber' );
    88             update_user_meta( $user_id, 'primary_blog', $details->blog_id );
    89             wp_cache_delete( $user_id, 'users' );
     83        if ( ! isset( $blogs[ $primary_blog ] ) ) {
     84            add_user_to_blog( $first_blog->blog_id, $user_id, 'subscriber' );
     85            update_user_meta( $user_id, 'primary_blog', $first_blog->blog_id );
     86            $primary = $first_blog;
    9087        } else {
    91             $details = get_blog_details( $primary_blog );
     88            $primary = get_blog_details( $primary_blog );
    9289        }
    9390    } else {
    94         add_user_to_blog( $details->blog_id, $user_id, 'subscriber' ); // Add subscriber permission for dashboard blog
    95         update_user_meta( $user_id, 'primary_blog', $details->blog_id );
    96     }
    97 
    98     if ( ( is_object( $details ) == false ) || ( is_object( $details ) && $details->archived == 1 || $details->spam == 1 || $details->deleted == 1 ) ) {
     91        add_user_to_blog( $first_blog->blog_id, $user_id, 'subscriber' );
     92        update_user_meta( $user_id, 'primary_blog', $first_blog->blog_id );
     93        $primary = $first_blog;
     94    }
     95
     96    if ( ( ! is_object( $primary ) ) || ( is_object( $primary ) && $primary->archived == 1 || $primary->spam == 1 || $primary->deleted == 1 ) ) {
    9997        $blogs = get_blogs_of_user( $user_id, true ); // if a user's primary blog is shut down, check their other blogs.
    10098        $ret = false;
     
    106104                if ( is_object( $details ) && $details->archived == 0 && $details->spam == 0 && $details->deleted == 0 ) {
    107105                    $ret = $blog;
    108                     $changed = false;
    109                     if ( get_user_meta( $user_id , 'primary_blog', true ) != $blog_id ) {
     106                    if ( get_user_meta( $user_id , 'primary_blog', true ) != $blog_id )
    110107                        update_user_meta( $user_id, 'primary_blog', $blog_id );
    111                         $changed = true;
    112                     }
    113                     if ( !get_user_meta($user_id , 'source_domain', true) ) {
     108                    if ( !get_user_meta($user_id , 'source_domain', true) )
    114109                        update_user_meta( $user_id, 'source_domain', $blog->domain );
    115                         $changed = true;
    116                     }
    117                     if ( $changed )
    118                         wp_cache_delete( $user_id, 'users' );
    119110                    break;
    120111                }
    121112            }
    122113        } else {
    123             // Should never get here
    124             $dashboard_blog = get_dashboard_blog();
    125             add_user_to_blog( $dashboard_blog->blog_id, $user_id, 'subscriber' ); // Add subscriber permission for dashboard blog
    126             update_user_meta( $user_id, 'primary_blog', $dashboard_blog->blog_id );
    127             return $dashboard_blog;
     114            return null;
    128115        }
    129116        return $ret;
    130117    } else {
    131         return $details;
     118        return $primary;
    132119    }
    133120}
     
    841828
    842829        wpmu_welcome_user_notification($user_id, $password, $meta);
    843         $user_site = get_site_option( 'dashboard_blog', $current_site->blog_id );
    844 
    845         if ( $user_site == false )
    846             add_user_to_blog( '1', $user_id, get_site_option( 'default_user_role', 'subscriber' ) );
    847         else
    848             add_user_to_blog( $user_site, $user_id, get_site_option( 'default_user_role', 'subscriber' ) );
    849830
    850831        add_new_user_to_blog( $user_id, $user_email, $meta );
     
    927908    update_option( 'blog_public', (int)$meta['public'] );
    928909
    929     if ( !is_super_admin() && get_user_meta( $user_id, 'primary_blog', true ) == get_site_option( 'dashboard_blog', 1 ) )
     910    if ( !is_super_admin() && ! get_user_meta( $user_id, 'primary_blog', true ) )
    930911        update_user_meta( $user_id, 'primary_blog', $blog_id );
    931912
     
    14611442add_action('update_option_blog_public', 'update_blog_public', 10, 2);
    14621443
    1463 /* Redirect all hits to "dashboard" blog to wp-admin/ Dashboard. */
    1464 function redirect_mu_dashboard() {
    1465     global $current_site, $current_blog;
    1466 
    1467     $dashboard_blog = get_dashboard_blog();
    1468     if ( $current_blog->blog_id == $dashboard_blog->blog_id && $dashboard_blog->blog_id != $current_site->blog_id ) {
    1469         $protocol = ( is_ssl() ? 'https://' : 'http://' );
    1470         wp_redirect( $protocol . $dashboard_blog->domain . trailingslashit( $dashboard_blog->path ) . 'wp-admin/' );
    1471         die();
    1472     }
    1473 }
    1474 add_action( 'template_redirect', 'redirect_mu_dashboard' );
    1475 
    14761444function get_dashboard_blog() {
    14771445    if ( $blog = get_site_option( 'dashboard_blog' ) )
Note: See TracChangeset for help on using the changeset viewer.