Ticket #16556: exact-role-search.patch
File exact-role-search.patch, 1.4 KB (added by , 14 years ago) |
---|
-
wp-admin/includes/user.php
686 686 687 687 if ( $this->role ) { 688 688 $this->query_from .= " INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id"; 689 $this->query_where .= $wpdb->prepare(" AND $wpdb->usermeta.meta_key = '{$wpdb->prefix}capabilities' AND $wpdb->usermeta.meta_value LIKE %s", '% ' . $this->role . '%');689 $this->query_where .= $wpdb->prepare(" AND $wpdb->usermeta.meta_key = '{$wpdb->prefix}capabilities' AND $wpdb->usermeta.meta_value LIKE %s", '%"' . $this->role . '"%'); 690 690 } elseif ( is_multisite() ) { 691 691 $level_key = $wpdb->prefix . 'capabilities'; // wpmu site admins don't have user_levels 692 692 $this->query_from .= ", $wpdb->usermeta"; -
wp-includes/user.php
456 456 // Build a CPU-intensive query that will return concise information. 457 457 $select_count = array(); 458 458 foreach ( $avail_roles as $this_role => $name ) { 459 $select_count[] = "COUNT(NULLIF(`meta_value` LIKE '% " . like_escape($this_role) ."%', FALSE))";459 $select_count[] = "COUNT(NULLIF(`meta_value` LIKE '%\"" . like_escape($this_role) . "\"%', FALSE))"; 460 460 } 461 461 $select_count = implode(', ', $select_count); 462 462