Ticket #18785: 18785.10.diff

File 18785.10.diff, 2.3 KB (added by nacin, 19 months 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