Make WordPress Core

Ticket #18188: 18188.3.diff

File 18188.3.diff, 4.7 KB (added by ryan, 13 years ago)

Bring site being edited up to primary

  • wp-includes/admin-bar.php

     
    287287        if ( count( $wp_admin_bar->user->blogs ) < 1 && ! is_super_admin() )
    288288                return;
    289289
     290        $is_list_secondary = false;
     291
    290292        $wp_admin_bar->add_menu( array(
    291293                'id'    => 'my-sites',
    292294                'title' => __( 'My Sites' ),
    293295                'href'  => admin_url( 'my-sites.php' ),
    294296        ) );
    295297
    296         if ( is_super_admin() ) {
     298        if ( is_super_admin() && is_blog_admin() ) {
     299                $is_list_secondary = true;
     300
    297301                $wp_admin_bar->add_group( array(
    298302                        'parent' => 'my-sites',
    299303                        'id'     => 'my-sites-super-admin',
     
    332336                ) );
    333337        }
    334338
     339        if ( is_network_admin() && is_super_admin() ) {
     340                if ( 'sites' == get_current_screen()->parent_base && !empty( $_REQUEST['id'] ) ) {
     341                        $is_list_secondary = true;
     342                        $site = get_blog_details( intval( $_REQUEST['id'] ), true );
     343                        $site->userblog_id = $site->blog_id;
     344                        _wp_admin_bar_site_menu( $site, 'edit-site', 'my-sites', $wp_admin_bar );
     345                }
     346        }
     347
    335348        // Add site links
    336349        $wp_admin_bar->add_group( array(
    337350                'parent' => 'my-sites',
    338351                'id'     => 'my-sites-list',
    339352                'meta'   => array(
    340                         'class' => is_super_admin() ? 'ab-sub-secondary' : '',
     353                        'class' => $is_list_secondary ? 'ab-sub-secondary' : '',
    341354                ),
    342355        ) );
    343356
     357        foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
     358                if ( isset( $site ) && ( $site->userblog_id == $blog->userblog_id ) )
     359                        continue;
     360                _wp_admin_bar_site_menu( $blog, 'blog-' . $blog->userblog_id, 'my-sites-list', $wp_admin_bar );
     361        }
     362}
     363
     364function _wp_admin_bar_site_menu( $blog, $menu_id, $parent, $wp_admin_bar ) {
    344365        $blue_wp_logo_url = includes_url('images/wpmini-blue.png');
     366        // @todo Replace with some favicon lookup.
     367        //$blavatar = '<img src="' . esc_url( blavatar_url( blavatar_domain( $blog->siteurl ), 'img', 16, $blue_wp_logo_url ) ) . '" alt="Blavatar" width="16" height="16" />';
     368        $blavatar = '<img src="' . esc_url($blue_wp_logo_url) . '" alt="' . esc_attr__( 'Blavatar' ) . '" width="16" height="16" class="blavatar"/>';
    345369
    346         foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
    347                 // @todo Replace with some favicon lookup.
    348                 //$blavatar = '<img src="' . esc_url( blavatar_url( blavatar_domain( $blog->siteurl ), 'img', 16, $blue_wp_logo_url ) ) . '" alt="Blavatar" width="16" height="16" />';
    349                 $blavatar = '<img src="' . esc_url($blue_wp_logo_url) . '" alt="' . esc_attr__( 'Blavatar' ) . '" width="16" height="16" class="blavatar"/>';
     370        $blogname = empty( $blog->blogname ) ? $blog->domain : $blog->blogname;
    350371
    351                 $blogname = empty( $blog->blogname ) ? $blog->domain : $blog->blogname;
    352                 $menu_id  = 'blog-' . $blog->userblog_id;
     372        $wp_admin_bar->add_menu( array(
     373                'parent'    => $parent,
     374                'id'        => $menu_id,
     375                'title'     => $blavatar . $blogname,
     376                'href'      => get_admin_url( $blog->userblog_id ),
     377        ) );
    353378
    354                 $wp_admin_bar->add_menu( array(
    355                         'parent'    => 'my-sites-list',
    356                         'id'        => $menu_id,
    357                         'title'     => $blavatar . $blogname,
    358                         'href'      => get_admin_url( $blog->userblog_id ),
    359                 ) );
     379        $wp_admin_bar->add_menu( array(
     380                'parent' => $menu_id,
     381                'id'     => $menu_id . '-d',
     382                'title'  => __( 'Dashboard' ),
     383                'href'   => get_admin_url( $blog->userblog_id ),
     384        ) );
    360385
     386        if ( current_user_can_for_blog( $blog->userblog_id, 'edit_posts' ) ) {
    361387                $wp_admin_bar->add_menu( array(
    362388                        'parent' => $menu_id,
    363                         'id'     => $menu_id . '-d',
    364                         'title'  => __( 'Dashboard' ),
    365                         'href'   => get_admin_url( $blog->userblog_id ),
     389                        'id'     => $menu_id . '-n',
     390                        'title'  => __( 'New Post' ),
     391                        'href'   => get_admin_url( $blog->userblog_id, 'post-new.php' ),
    366392                ) );
    367 
    368                 if ( current_user_can_for_blog( $blog->userblog_id, 'edit_posts' ) ) {
    369                         $wp_admin_bar->add_menu( array(
    370                                 'parent' => $menu_id,
    371                                 'id'     => $menu_id . '-n',
    372                                 'title'  => __( 'New Post' ),
    373                                 'href'   => get_admin_url( $blog->userblog_id, 'post-new.php' ),
    374                         ) );
    375                         $wp_admin_bar->add_menu( array(
    376                                 'parent' => $menu_id,
    377                                 'id'     => $menu_id . '-c',
    378                                 'title'  => __( 'Manage Comments' ),
    379                                 'href'   => get_admin_url( $blog->userblog_id, 'edit-comments.php' ),
    380                         ) );
    381                 }
    382 
    383393                $wp_admin_bar->add_menu( array(
    384394                        'parent' => $menu_id,
    385                         'id'     => $menu_id . '-v',
    386                         'title'  => __( 'Visit Site' ),
    387                         'href'   => get_home_url( $blog->userblog_id, '/' ),
     395                        'id'     => $menu_id . '-c',
     396                        'title'  => __( 'Manage Comments' ),
     397                        'href'   => get_admin_url( $blog->userblog_id, 'edit-comments.php' ),
    388398                ) );
    389399        }
     400
     401        $wp_admin_bar->add_menu( array(
     402                'parent' => $menu_id,
     403                'id'     => $menu_id . '-v',
     404                'title'  => __( 'Visit Site' ),
     405                'href'   => get_home_url( $blog->userblog_id, '/' ),
     406        ) );
    390407}
    391408
    392409/**