Files
wp-multisite-waas/inc/list-tables/class-customers-membership-list-table.php
2024-11-30 18:24:12 -07:00

96 lines
2.6 KiB
PHP

<?php
/**
* Customers' Membership List Table class.
*
* @package WP_Ultimo
* @subpackage List_Table
* @since 2.0.0
*/
namespace WP_Ultimo\List_Tables;
// Exit if accessed directly
defined('ABSPATH') || exit;
/**
* Membership List Table class.
*
* @since 2.0.0
*/
class Customers_Membership_List_Table extends Membership_List_Table {
/**
* Returns the list of columns for this particular List Table.
*
* @since 2.0.0
* @return array
*/
public function get_columns() {
$columns = array(
'responsive' => '',
);
return $columns;
} // end get_columns;
/**
* Renders the inside column responsive.
*
* @since 2.0.0
*
* @param object $item The item being rendered.
* @return void
*/
public function column_responsive($item) {
$p = $item->get_plan();
$expired = strtotime((string) $item->get_date_expiration()) <= time();
$product_count = 1 + count($item->get_addon_ids());
$products_list = $p ? sprintf(_n('Contains %s', 'Contains %1$s and %2$s other product(s)', $product_count, 'wp-ultimo'), $p->get_name(), count($item->get_addon_ids())) : ''; // phpcs:ignore
echo wu_responsive_table_row(array(
'id' => $item->get_id(),
'title' => $item->get_hash(),
'url' => wu_network_admin_url('wp-ultimo-edit-membership', array(
'id' => $item->get_id(),
)),
'status' => $this->column_status($item),
), array(
'total' => array(
'icon' => 'dashicons-wu-shopping-bag1 wu-align-middle wu-mr-1',
'label' => __('Payment Total', 'wp-ultimo'),
'value' => $item->get_price_description(),
),
'products' => array(
'icon' => 'dashicons-wu-package wu-align-middle wu-mr-1',
'label' => __('Products', 'wp-ultimo'),
'value' => $products_list,
),
'gateway' => array(
'icon' => 'dashicons-wu-credit-card2 wu-align-middle wu-mr-1',
'label' => __('Gateway', 'wp-ultimo'),
'value' => wu_slug_to_name($item->get_gateway()),
),
),
array(
'date_expiration' => array(
'icon' => 'dashicons-wu-calendar1 wu-align-middle wu-mr-1',
'label' => __('Expires', 'wp-ultimo'),
'value' => sprintf($expired ? __('Expired %s', 'wp-ultimo') : __('Expiring %s', 'wp-ultimo'), wu_human_time_diff(strtotime((string) $item->get_date_expiration()))),
),
'date_created' => array(
'icon' => 'dashicons-wu-calendar1 wu-align-middle wu-mr-1',
'label' => __('Created at', 'wp-ultimo'),
'value' => sprintf(__('Created %s', 'wp-ultimo'), wu_human_time_diff(strtotime((string) $item->get_date_created()))),
),
));
} // end column_responsive;
} // end class Customers_Membership_List_Table;