X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/41578db67d72562346e4dbb2a14889b23d522813..3194d1bb103c2d8db4f44feeced5e58ee2756658:/wp-admin/includes/class-wp-users-list-table.php
diff --git a/wp-admin/includes/class-wp-users-list-table.php b/wp-admin/includes/class-wp-users-list-table.php
index dcce6d55..9e26867d 100644
--- a/wp-admin/includes/class-wp-users-list-table.php
+++ b/wp-admin/includes/class-wp-users-list-table.php
@@ -1,12 +1,19 @@
'user',
'plural' => 'users',
'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
) );
- $this->is_site_users = 'site-users-network' == $this->screen->id;
+ $this->is_site_users = 'site-users-network' === $this->screen->id;
if ( $this->is_site_users )
$this->site_id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
@@ -52,8 +63,10 @@ class WP_Users_List_Table extends WP_List_Table {
*
* @since 3.1.0
* @access public
+ *
+ * @return bool
*/
- function ajax_user_can() {
+ public function ajax_user_can() {
if ( $this->is_site_users )
return current_user_can( 'manage_sites' );
else
@@ -65,8 +78,11 @@ class WP_Users_List_Table extends WP_List_Table {
*
* @since 3.1.0
* @access public
+ *
+ * @global string $role
+ * @global string $usersearch
*/
- function prepare_items() {
+ public function prepare_items() {
global $role, $usersearch;
$usersearch = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST['s'] ) ) : '';
@@ -78,13 +94,23 @@ class WP_Users_List_Table extends WP_List_Table {
$paged = $this->get_pagenum();
- $args = array(
- 'number' => $users_per_page,
- 'offset' => ( $paged-1 ) * $users_per_page,
- 'role' => $role,
- 'search' => $usersearch,
- 'fields' => 'all_with_meta'
- );
+ if ( 'none' === $role ) {
+ $args = array(
+ 'number' => $users_per_page,
+ 'offset' => ( $paged-1 ) * $users_per_page,
+ 'include' => wp_get_users_with_no_role(),
+ 'search' => $usersearch,
+ 'fields' => 'all_with_meta'
+ );
+ } else {
+ $args = array(
+ 'number' => $users_per_page,
+ 'offset' => ( $paged-1 ) * $users_per_page,
+ 'role' => $role,
+ 'search' => $usersearch,
+ 'fields' => 'all_with_meta'
+ );
+ }
if ( '' !== $args['search'] )
$args['search'] = '*' . $args['search'] . '*';
@@ -98,6 +124,16 @@ class WP_Users_List_Table extends WP_List_Table {
if ( isset( $_REQUEST['order'] ) )
$args['order'] = $_REQUEST['order'];
+ /**
+ * Filter the query arguments used to retrieve users for the current users list table.
+ *
+ * @since 4.4.0
+ *
+ * @param array $args Arguments passed to WP_User_Query to retrieve items for the current
+ * users list table.
+ */
+ $args = apply_filters( 'users_list_table_query_args', $args );
+
// Query the user IDs for this page
$wp_user_search = new WP_User_Query( $args );
@@ -115,8 +151,8 @@ class WP_Users_List_Table extends WP_List_Table {
* @since 3.1.0
* @access public
*/
- function no_items() {
- _e( 'No matching users were found.' );
+ public function no_items() {
+ _e( 'No users found.' );
}
/**
@@ -127,12 +163,16 @@ class WP_Users_List_Table extends WP_List_Table {
* filtering of the user table.
*
* @since 3.1.0
- * @access public
+ * @access protected
+ *
+ * @global string $role
*
* @return array An array of HTML links, one for each view.
*/
- function get_views() {
- global $wp_roles, $role;
+ protected function get_views() {
+ global $role;
+
+ $wp_roles = wp_roles();
if ( $this->is_site_users ) {
$url = 'site-users.php?id=' . $this->site_id;
@@ -143,11 +183,11 @@ class WP_Users_List_Table extends WP_List_Table {
$url = 'users.php';
$users_of_blog = count_users();
}
+
$total_users = $users_of_blog['total_users'];
$avail_roles =& $users_of_blog['avail_roles'];
unset($users_of_blog);
- $current_role = false;
$class = empty($role) ? ' class="current"' : '';
$role_links = array();
$role_links['all'] = "" . sprintf( _nx( 'All (%s)', 'All (%s)', $total_users, 'users' ), number_format_i18n( $total_users ) ) . '';
@@ -157,8 +197,7 @@ class WP_Users_List_Table extends WP_List_Table {
$class = '';
- if ( $this_role == $role ) {
- $current_role = $role;
+ if ( $this_role === $role ) {
$class = ' class="current"';
}
@@ -168,6 +207,21 @@ class WP_Users_List_Table extends WP_List_Table {
$role_links[$this_role] = "$name";
}
+ if ( ! empty( $avail_roles['none' ] ) ) {
+
+ $class = '';
+
+ if ( 'none' === $role ) {
+ $class = ' class="current"';
+ }
+
+ $name = __( 'No role' );
+ /* translators: User role name with count */
+ $name = sprintf( __('%1$s (%2$s)'), $name, number_format_i18n( $avail_roles['none' ] ) );
+ $role_links['none'] = "$name";
+
+ }
+
return $role_links;
}
@@ -175,11 +229,11 @@ class WP_Users_List_Table extends WP_List_Table {
* Retrieve an associative array of bulk actions available on this table.
*
* @since 3.1.0
- * @access public
+ * @access protected
*
* @return array Array of bulk actions.
*/
- function get_bulk_actions() {
+ protected function get_bulk_actions() {
$actions = array();
if ( is_multisite() ) {
@@ -197,20 +251,19 @@ class WP_Users_List_Table extends WP_List_Table {
* Output the controls to allow user roles to be changed in bulk.
*
* @since 3.1.0
- * @access public
+ * @access protected
*
* @param string $which Whether this is being invoked above ("top")
* or below the table ("bottom").
*/
- function extra_tablenav( $which ) {
- if ( 'top' != $which )
- return;
+ protected function extra_tablenav( $which ) {
+ $id = 'bottom' === $which ? 'new_role2' : 'new_role';
?>
-
-
-