/** * Prepare list items. * * @since 1.0.0 */ public function prepare_items() { $this->_column_headers = array($this->get_columns(), array(), $this->get_sortable_columns()); $per_page = apply_filters('ms_helper_listtable_member_items_per_page', self::DEFAULT_PAGE_SIZE); $current_page = $this->get_pagenum(); $args = array('number' => $per_page, 'offset' => ($current_page - 1) * $per_page); // Prepare the filter details. $args = $this->prepare_query_args($args); $total_items = MS_Model_Member::get_members_count($args); $this->items = MS_Model_Member::get_members($args); $this->set_pagination_args(array('total_items' => $total_items, 'per_page' => $per_page)); do_action('ms_helper_listtable_member_prepare_items', $args, $this); }
/** * This list has no views. * * @since 1.0.2.0 * * @return array */ public function get_views() { $views = array(); $args = array(); $count = 0; $views['label'] = array('label' => __('Subscription Status:', 'membership2')); if (empty($_REQUEST['membership_id'])) { // All users $url = esc_url_raw(add_query_arg('status', 'all')); $views['all'] = array('url' => $url, 'label' => __('All users', 'membership2')); } else { $args['membership_id'] = $_REQUEST['membership_id']; } // Active, Trial, Cancelled $url = esc_url_raw(remove_query_arg('status')); $args['subscription_status'] = MS_Model_Relationship::STATUS_ACTIVE; $count = MS_Model_Member::get_members_count($args); $views['active'] = array('url' => $url, 'label' => __('Active subscription', 'membership2'), 'count' => $count); // Cancelled $url = esc_url_raw(add_query_arg('status', MS_Model_Relationship::STATUS_CANCELED)); $args['subscription_status'] = MS_Model_Relationship::STATUS_CANCELED; $count = MS_Model_Member::get_members_count($args); $views['cancelled'] = array('url' => $url, 'label' => __('Cancelled', 'membership2'), 'count' => $count); // Trial if (MS_Model_Addon::is_enabled(MS_Model_Addon::ADDON_TRIAL)) { $url = esc_url_raw(add_query_arg('status', MS_Model_Relationship::STATUS_TRIAL)); $args['subscription_status'] = MS_Model_Relationship::STATUS_TRIAL; $count = MS_Model_Member::get_members_count($args); $views['trial'] = array('url' => $url, 'label' => __('Trial', 'membership2'), 'count' => $count); } // Expired, Trial-Expired $url = esc_url_raw(add_query_arg('status', 'expired')); $args['subscription_status'] = 'expired'; $count = MS_Model_Member::get_members_count($args); $views['expired'] = array('url' => $url, 'label' => __('Expired', 'membership2'), 'count' => $count); return $views; }