WordPress.org

Make WordPress Core

Ticket #18785: 18785.10.diff

File 18785.10.diff, 2.3 KB (added by nacin, 9 years ago)
  • wp-admin/admin-ajax.php

     
    5555        $list_class = $_GET['list_args']['class'];
    5656        check_ajax_referer( "fetch-list-$list_class", '_ajax_fetch_list_nonce' );
    5757
    58         $current_screen = (object) $_GET['list_args']['screen'];
    59         //TODO fix this in a better way see #15336
    60         $current_screen->is_network = 'false' === $current_screen->is_network ? false : true;
    61         $current_screen->is_user = 'false' === $current_screen->is_user ? false : true;
     58        $current_screen = convert_to_screen( $_GET['list_args']['screen']['id'] );
    6259
    63         define( 'WP_NETWORK_ADMIN', $current_screen->is_network );
    64         define( 'WP_USER_ADMIN', $current_screen->is_user );
    65 
    6660        $wp_list_table = _get_list_table( $list_class );
    6761        if ( ! $wp_list_table )
    6862                die( '0' );
  • wp-admin/includes/screen.php

     
    412412                $id = str_replace( array( '-new', '-add' ), '', $id );
    413413
    414414                if ( $hook_name ) {
    415                         if ( '-network' == substr( $id, -8 ) )
     415                        if ( '-network' == substr( $id, -8 ) ) {
    416416                                $id = str_replace( '-network', '', $id );
    417                         elseif ( '-user' == substr( $id, -5 ) )
     417                                $is_network = true;
     418                        } elseif ( '-user' == substr( $id, -5 ) ) {
    418419                                $id = str_replace( '-user', '', $id );
     420                                $is_user = true;
     421                        } else {
     422                                $is_network = $is_user = false;
     423                        }
    419424
    420425                        $id = sanitize_key( $id );
    421426                        if ( post_type_exists( $id ) ) {
     
    431436                                        $post_type = $second;
    432437                                }
    433438                        }
     439                } else {
     440                        $is_network = is_network_admin();
     441                        $is_user = is_user_admin();
    434442                }
    435443
    436444                if ( 'index' == $id )
     
    485493                                break;
    486494                }
    487495
    488                 if ( is_network_admin() ) {
     496                if ( $is_network ) {
    489497                        $id   .= '-network';
    490498                        $base .= '-network';
    491                 } elseif ( is_user_admin() ) {
     499                } elseif ( $is_user ) {
    492500                        $id   .= '-user';
    493501                        $base .= '-user';
    494502                }
     
    506514                $screen->action     = $action;
    507515                $screen->post_type  = $post_type;
    508516                $screen->taxonomy   = $taxonomy;
    509                 $screen->is_user    = is_user_admin();
    510                 $screen->is_network = is_network_admin();
     517                $screen->is_user    = $is_user;
     518                $screen->is_network = $is_network;
    511519
    512520                self::$_registry[ $id ] = $screen;
    513521