users; if ( count( $users ) > 0 ) { foreach( $users as $user ) { $include[] = $user->user->ID; } } else { // no results $include[] = 0; } unset( $group ); unset( $users ); } } if ( count( $include ) > 0 ) { $include = array_unique( $include ); $ids = implode( ',', wp_parse_id_list( $include ) ); $user_query->query_where .= " AND $wpdb->users.ID IN ($ids)"; } } } return $user_query; } /** * Enqueue scripts the group-actions. */ public static function admin_enqueue_scripts() { global $pagenow; if ( ( $pagenow == 'users.php' ) && empty( $_GET['page'] ) ) { Groups_UIE::enqueue( 'select' ); } } /** * Adds the group add/remove buttons after the last action box. */ public static function admin_head() { global $pagenow; if ( ( $pagenow == 'users.php' ) && empty( $_GET['page'] ) ) { // .subsubsub rule added because with views_users() the list can get long // icon distinguishes from role links echo ''; // group-actions echo ''; // groups filter echo ''; } } /** * Renders group actions in the users table's extra_tablenav(). */ public static function restrict_manage_users() { global $pagenow, $wpdb, $groups_select_user_groups_index; // We don't handle multiple instances so don't render another. if ( !isset( $groups_select_user_groups_index ) ) { $groups_select_user_groups_index = 0; } else { return ''; } $output = ''; if ( ( $pagenow == 'users.php' ) && empty( $_GET['page'] ) ) { // groups select $groups_table = _groups_get_tablename( 'group' ); if ( $groups = $wpdb->get_results( "SELECT * FROM $groups_table ORDER BY name" ) ) { $groups_select = sprintf( ''; } // group bulk actions added through extra_tablenav() $box = '