Example #1
0
/**
 * Returns an array of the roles that have no users.
 *
 * @since  1.0.0
 * @access public
 * @return array
 */
function members_get_inactive_role_slugs()
{
    return array_diff(members_get_role_slugs(), members_get_active_role_slugs());
}
 /**
  * Returns an array of views for the list table.
  *
  * @since  1.0.0
  * @access protected
  * @return array
  */
 protected function get_views()
 {
     $active = members_get_role_group('active');
     $inactive = members_get_role_group('inactive');
     if ($active) {
         $active->roles = members_get_active_role_slugs();
     }
     if ($inactive) {
         $inactive->roles = members_get_inactive_role_slugs();
     }
     $views = array();
     $current = ' class="current"';
     $all_count = count(members_get_role_slugs());
     // Add the default/all view.
     $views['all'] = sprintf('<a%s href="%s">%s</a>', 'all' === $this->role_view ? $current : '', esc_url(members_get_edit_roles_url()), sprintf(_n('All %s', 'All %s', $all_count, 'members'), sprintf('<span class="count">(%s)</span>', number_format_i18n($all_count))));
     // Loop through the role groups and put them into the view list.
     foreach (members_get_role_groups() as $group) {
         // Skip role groups that shouldn't be shown in the view list.
         if (!$group->show_in_view_list) {
             continue;
         }
         $count = count($group->roles);
         // Skip any views with 0 roles.
         if (0 >= $count) {
             continue;
         }
         $noop = $group->label_count;
         // Add the view link.
         $views[$group->name] = sprintf('<a%s href="%s">%s</a>', $group->name === $this->role_view ? $current : '', 'all' === $group->name ? esc_url(members_get_edit_roles_url()) : esc_url(members_get_role_view_url($group->name)), sprintf(translate_nooped_plural($noop, $count, $noop['domain']), sprintf('<span class="count">(%s)</span>', number_format_i18n($count))));
     }
     return apply_filters('members_manage_roles_views', $views, $this->role_view, members_get_edit_roles_url());
 }