WordPress.org

Make WordPress Core

Ticket #16774: 16777.expanded.diff

File 16777.expanded.diff, 2.5 KB (added by georgestephanis, 6 years ago)

Expanded and abstracted.

  • wp-admin/includes/class-wp-ms-sites-list-table.php

     
    2222        function prepare_items() {
    2323                global $s, $mode, $wpdb, $current_site;
    2424
    25                 $mode = ( empty( $_REQUEST['mode'] ) ) ? 'list' : $_REQUEST['mode'];
     25                $mode = self::get_mode( 'list' );
    2626
    2727                $per_page = $this->get_items_per_page( 'sites_network_per_page' );
    2828
  • wp-admin/includes/class-wp-posts-list-table.php

     
    9696                else
    9797                        $total_pages = $wp_query->max_num_pages;
    9898
    99                 $mode = empty( $_REQUEST['mode'] ) ? 'list' : $_REQUEST['mode'];
     99                $mode = self::get_mode( 'list' );
    100100
    101101                $this->is_trash = isset( $_REQUEST['post_status'] ) && $_REQUEST['post_status'] == 'trash';
    102102
  • wp-admin/includes/class-wp-list-table.php

     
    915915
    916916                printf( "<script type='text/javascript'>list_args = %s;</script>\n", json_encode( $args ) );
    917917        }
     918
     919        /**
     920         * Get the mode.  Carry over the user's preference from last time.
     921         *
     922         * @since 3.5
     923         * @return string
     924         */
     925        function get_mode( $fallback = 'list' ){
     926                $screen = get_current_screen();
     927
     928                $default_mode = get_user_option( "{$screen->id}_last_view" );
     929                if ( empty( $default_mode ) )
     930                        $default_mode = $fallback;
     931
     932                $mode = ( ! empty( $_REQUEST['mode'] ) ) ? $_REQUEST['mode'] : $default_mode;
     933
     934                if ( $mode !== $default_mode )
     935                        update_user_meta( get_current_user_id(), "{$screen->id}_last_view", $mode );
     936               
     937                return $mode;
     938        }
    918939}
  • wp-admin/includes/class-wp-ms-users-list-table.php

     
    5656                if ( isset( $_REQUEST['order'] ) )
    5757                        $args['order'] = $_REQUEST['order'];
    5858
    59                 $mode = empty( $_REQUEST['mode'] ) ? 'list' : $_REQUEST['mode'];
     59                $mode = self::get_mode( 'list' );
    6060
    6161                // Query the user IDs for this page
    6262                $wp_user_search = new WP_User_Query( $args );