diff --git wp-admin/includes/class-wp-users-list-table.php wp-admin/includes/class-wp-users-list-table.php
index 9ad3c13..3d41e98 100644
|
|
|
class WP_Users_List_Table extends WP_List_Table { |
| 193 | 193 | if ( ! $this->is_site_users ) |
| 194 | 194 | $post_counts = count_many_users_posts( array_keys( $this->items ) ); |
| 195 | 195 | |
| 196 | | $editable_roles = array_keys( get_editable_roles() ); |
| 197 | | |
| 198 | 196 | $style = ''; |
| 199 | 197 | foreach ( $this->items as $userid => $user_object ) { |
| 200 | | if ( count( $user_object->roles ) <= 1 ) { |
| 201 | | $role = reset( $user_object->roles ); |
| 202 | | } elseif ( $roles = array_intersect( array_values( $user_object->roles ), $editable_roles ) ) { |
| 203 | | $role = reset( $roles ); |
| 204 | | } else { |
| 205 | | $role = reset( $user_object->roles ); |
| 206 | | } |
| 207 | | |
| 208 | 198 | if ( is_multisite() && empty( $user_object->allcaps ) ) |
| 209 | 199 | continue; |
| 210 | 200 | |
| 211 | 201 | $style = ( ' class="alternate"' == $style ) ? '' : ' class="alternate"'; |
| 212 | | echo "\n\t", $this->single_row( $user_object, $style, $role, isset( $post_counts ) ? $post_counts[ $userid ] : 0 ); |
| | 202 | echo "\n\t", $this->single_row( $user_object, $style, isset( $post_counts ) ? $post_counts[ $userid ] : 0 ); |
| 213 | 203 | } |
| 214 | 204 | } |
| 215 | 205 | |
| … |
… |
class WP_Users_List_Table extends WP_List_Table { |
| 224 | 214 | * @param int $numposts Optional. Post count to display for this user. Defaults to zero, as in, a new user has made zero posts. |
| 225 | 215 | * @return string |
| 226 | 216 | */ |
| 227 | | function single_row( $user_object, $style = '', $role = '', $numposts = 0 ) { |
| 228 | | global $wp_roles; |
| 229 | | |
| | 217 | function single_row( $user_object, $style = '', $numposts = 0 ) { |
| 230 | 218 | if ( !( is_object( $user_object ) && is_a( $user_object, 'WP_User' ) ) ) |
| 231 | 219 | $user_object = get_userdata( (int) $user_object ); |
| 232 | 220 | $user_object->filter = 'display'; |
| … |
… |
class WP_Users_List_Table extends WP_List_Table { |
| 267 | 255 | } else { |
| 268 | 256 | $edit = '<strong>' . $user_object->user_login . '</strong>'; |
| 269 | 257 | } |
| 270 | | $role_name = isset( $wp_roles->role_names[$role] ) ? translate_user_role( $wp_roles->role_names[$role] ) : __( 'None' ); |
| | 258 | |
| 271 | 259 | $avatar = get_avatar( $user_object->ID, 32 ); |
| 272 | 260 | |
| 273 | 261 | $r = "<tr id='user-$user_object->ID'$style>"; |
| … |
… |
class WP_Users_List_Table extends WP_List_Table { |
| 297 | 285 | $r .= "<td $attributes><a href='mailto:$email' title='" . esc_attr( sprintf( __( 'E-mail: %s' ), $email ) ) . "'>$email</a></td>"; |
| 298 | 286 | break; |
| 299 | 287 | case 'role': |
| 300 | | $r .= "<td $attributes>$role_name</td>"; |
| | 288 | $r .= "<td $attributes>" . $this->get_role_str( $user_object ) . "</td>"; |
| 301 | 289 | break; |
| 302 | 290 | case 'posts': |
| 303 | 291 | $attributes = 'class="posts column-posts num"' . $style; |
| … |
… |
class WP_Users_List_Table extends WP_List_Table { |
| 321 | 309 | |
| 322 | 310 | return $r; |
| 323 | 311 | } |
| | 312 | |
| | 313 | private function get_role_str( $user_object ) { |
| | 314 | global $wp_roles; |
| | 315 | |
| | 316 | $role_str = array(); |
| | 317 | |
| | 318 | foreach ( $user_object->roles as $role ) { |
| | 319 | if ( isset( $wp_roles->role_names[$role] ) ) |
| | 320 | $role_str[] = translate_user_role( $wp_roles->role_names[$role] ); |
| | 321 | } |
| | 322 | |
| | 323 | if ( empty( $role_str ) ) |
| | 324 | return __( 'None' ); |
| | 325 | |
| | 326 | return implode( ', ', $role_str ); |
| | 327 | } |
| 324 | 328 | } |