/**
  * 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());
 }
Example #2
0
/**
 * Returns the URL to permanently delete a role (edit roles screen).
 *
 * @since  1.0.0
 * @access public
 * @param  string  $role
 * @return string
 */
function members_get_delete_role_url($role)
{
    $url = add_query_arg(array('action' => 'delete', 'role' => $role), members_get_edit_roles_url());
    return wp_nonce_url($url, 'delete_role', 'members_delete_role_nonce');
}
Example #3
0
    /**
     * Displays the page content.
     *
     * @since  1.0.0
     * @access public
     * @return void
     */
    public function page()
    {
        require_once members_plugin()->admin_dir . 'class-role-list-table.php';
        ?>

		<div class="wrap">

			<h1>
				<?php 
        esc_html_e('Roles', 'members');
        ?>

				<?php 
        if (current_user_can('create_roles')) {
            ?>
					<a href="<?php 
            echo esc_url(members_get_new_role_url());
            ?>
" class="page-title-action"><?php 
            esc_html_e('Add New', 'members');
            ?>
</a>
				<?php 
        }
        ?>
			</h1>

			<?php 
        settings_errors('members_roles');
        ?>

			<div id="poststuff">

				<form id="roles" action="<?php 
        echo esc_url(members_get_edit_roles_url());
        ?>
" method="post">

					<?php 
        $table = new Members_Role_List_Table();
        ?>
					<?php 
        $table->prepare_items();
        ?>
					<?php 
        $table->display();
        ?>

				</form><!-- #roles -->

			</div><!-- #poststuff -->

		</div><!-- .wrap -->
	<?php 
    }