WordPress.org

Make WordPress Core


Ignore:
Timestamp:
09/05/2010 05:07:36 PM (9 years ago)
Author:
scribu
Message:

Use get_users() in WP_MS_User_Table. See #14579

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/default-list-tables.php

    r15571 r15572  
    27782778
    27792779    function prepare_items() {
    2780         global $s, $mode, $wpdb;
    2781 
    2782         $mode = ( empty( $_REQUEST['mode'] ) ) ? 'list' : $_REQUEST['mode'];
    2783 
    2784         $per_page = $this->get_items_per_page( 'ms_users_per_page' );
    2785 
    2786         $pagenum = $this->get_pagenum();
    2787 
    2788         $s = isset( $_REQUEST['s'] ) ? stripslashes( trim( $_REQUEST[ 's' ] ) ) : '';
    2789         $like_s = esc_sql( like_escape( $s ) );
    2790 
    2791         $query = "SELECT * FROM {$wpdb->users}";
    2792 
    2793         if ( !empty( $like_s ) ) {
    2794             $query .= " WHERE user_login LIKE '%$like_s%' OR user_email LIKE '%$like_s%'";
    2795         }
    2796 
    2797         $order_by = isset( $_REQUEST['orderby'] ) ? $_REQUEST['orderby'] : 'id';
    2798         if ( $order_by == 'email' ) {
    2799             $query .= ' ORDER BY user_email ';
    2800         } elseif ( $order_by == 'login' ) {
    2801             $query .= ' ORDER BY user_login ';
    2802         } elseif ( $order_by == 'name' ) {
    2803             $query .= ' ORDER BY display_name ';
    2804         } elseif ( $order_by == 'registered' ) {
    2805             $query .= ' ORDER BY user_registered ';
    2806         } else {
    2807             $order_by = 'id';
    2808             $query .= ' ORDER BY ID ';
    2809         }
    2810 
    2811         $order = ( isset( $_REQUEST['order'] ) && 'DESC' == strtoupper( $_REQUEST['order'] ) ) ? 'DESC' : 'ASC';
    2812         $query .= $order;
    2813 
    2814         $total = $wpdb->get_var( str_replace( 'SELECT *', 'SELECT COUNT( ID )', $query ) );
    2815 
    2816         $query .= " LIMIT " . intval( ( $pagenum - 1 ) * $per_page ) . ", " . intval( $per_page );
    2817 
    2818         $this->items = $wpdb->get_results( $query, ARRAY_A );
    2819 
    2820         $num_pages = ceil( $total / $per_page );
    2821 
     2780        $usersearch = isset( $_REQUEST['s'] ) ? $_REQUEST['s'] : '';
     2781
     2782        $users_per_page = $this->get_items_per_page( 'ms_users_per_page' );
     2783
     2784        $paged = $this->get_pagenum();
     2785
     2786        $args = array(
     2787            'number' => $users_per_page,
     2788            'offset' => ( $paged-1 ) * $users_per_page,
     2789            'search' => $usersearch,
     2790            'blog_id' => 0
     2791        );
     2792
     2793        if ( isset( $_REQUEST['orderby'] ) )
     2794            $args['orderby'] = $_REQUEST['orderby'];
     2795
     2796        if ( isset( $_REQUEST['order'] ) )
     2797            $args['order'] = $_REQUEST['order'];
     2798
     2799        // Query the user IDs for this page
     2800        $wp_user_search = new WP_User_Query( $args );
     2801
     2802        $this->items = $wp_user_search->get_results();
     2803       
    28222804        $this->set_pagination_args( array(
    2823             'total_items' => $total,
    2824             'per_page' => $per_page,
     2805            'total_items' => $wp_user_search->get_total(),
     2806            'per_page' => $users_per_page,     
    28252807        ) );
    28262808    }
     
    28832865
    28842866            foreach ( $status_list as $status => $col ) {
    2885                 if ( $user[$status] )
     2867                if ( $user->$status )
    28862868                    $class = $col;
    28872869            }
     
    28972879                    case 'cb': ?>
    28982880                        <th scope="row" class="check-column">
    2899                             <input type="checkbox" id="blog_<?php echo $user['ID'] ?>" name="allusers[]" value="<?php echo esc_attr( $user['ID'] ) ?>" />
     2881                            <input type="checkbox" id="blog_<?php echo $user->ID ?>" name="allusers[]" value="<?php echo esc_attr( $user->ID ) ?>" />
    29002882                        </th>
    29012883                    <?php
     
    29042886                    case 'id': ?>
    29052887                        <th valign="top" scope="row">
    2906                             <?php echo $user['ID'] ?>
     2888                            <?php echo $user->ID ?>
    29072889                        </th>
    29082890                    <?php
     
    29102892
    29112893                    case 'login':
    2912                         $avatar = get_avatar( $user['user_email'], 32 );
    2913                         $edit_link = ( get_current_user_id() == $user['ID'] ) ? 'profile.php' : 'user-edit.php?user_id=' . $user['ID'];
     2894                        $avatar = get_avatar( $user->user_email, 32 );
     2895                        $edit_link = ( get_current_user_id() == $user->ID ) ? 'profile.php' : 'user-edit.php?user_id=' . $user->ID;
    29142896                        ?>
    29152897                        <td class="username column-username">
    2916                             <?php echo $avatar; ?><strong><a href="<?php echo esc_url( admin_url( $edit_link ) ); ?>" class="edit"><?php echo stripslashes( $user['user_login'] ); ?></a><?php
    2917                             if ( in_array( $user['user_login'], $super_admins ) )
     2898                            <?php echo $avatar; ?><strong><a href="<?php echo esc_url( admin_url( $edit_link ) ); ?>" class="edit"><?php echo stripslashes( $user->user_login ); ?></a><?php
     2899                            if ( in_array( $user->user_login, $super_admins ) )
    29182900                                echo ' - ' . __( 'Super admin' );
    29192901                            ?></strong>
     
    29232905                                $actions['edit'] = '<a href="' . esc_url( admin_url( $edit_link ) ) . '">' . __( 'Edit' ) . '</a>';
    29242906
    2925                                 if ( ! in_array( $user['user_login'], $super_admins ) ) {
    2926                                     $actions['delete'] = '<a href="' . $delete = esc_url( network_admin_url( add_query_arg( '_wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), wp_nonce_url( 'edit.php', 'deleteuser' ) . '&amp;action=deleteuser&amp;id=' . $user['ID'] ) ) ) . '" class="delete">' . __( 'Delete' ) . '</a>';
     2907                                if ( ! in_array( $user->user_login, $super_admins ) ) {
     2908                                    $actions['delete'] = '<a href="' . $delete = esc_url( network_admin_url( add_query_arg( '_wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), wp_nonce_url( 'edit.php', 'deleteuser' ) . '&amp;action=deleteuser&amp;id=' . $user->ID ) ) ) . '" class="delete">' . __( 'Delete' ) . '</a>';
    29272909                                }
    29282910
     
    29352917
    29362918                    case 'name': ?>
    2937                         <td class="name column-name"><?php echo $user['display_name'] ?></td>
     2919                        <td class="name column-name"><?php echo $user->display_name ?></td>
    29382920                    <?php
    29392921                    break;
    29402922
    29412923                    case 'email': ?>
    2942                         <td class="email column-email"><a href="mailto:<?php echo $user['user_email'] ?>"><?php echo $user['user_email'] ?></a></td>
     2924                        <td class="email column-email"><a href="mailto:<?php echo $user->user_email ?>"><?php echo $user->user_email ?></a></td>
    29432925                    <?php
    29442926                    break;
     
    29502932                            $date = 'Y/m/d \<\b\r \/\> g:i:s a';
    29512933                    ?>
    2952                         <td><?php echo mysql2date( __( $date ), $user['user_registered'] ); ?></td>
     2934                        <td><?php echo mysql2date( __( $date ), $user->user_registered ); ?></td>
    29532935                    <?php
    29542936                    break;
    29552937
    29562938                    case 'blogs':
    2957                         $blogs = get_blogs_of_user( $user['ID'], true );
     2939                        $blogs = get_blogs_of_user( $user->ID, true );
    29582940                        ?>
    29592941                        <td>
     
    29832965
    29842966                    default: ?>
    2985                         <td><?php do_action( 'manage_users_custom_column', $column_name, $user['ID'] ); ?></td>
     2967                        <td><?php do_action( 'manage_users_custom_column', $column_name, $user->ID ); ?></td>
    29862968                    <?php
    29872969                    break;
Note: See TracChangeset for help on using the changeset viewer.