Files
wp-multisite-waas/inc/list-tables/customer-panel/class-site-list-table.php
David Stone d88e50df38 Prep Plugin for release on WordPress.org (#23)
* Update translation text domain
* Escape everything that should be escaped.
* Add nonce checks where needed.
* Sanitize all inputs.
* Apply Code style changes across the codebase.
* Correct many deprecation notices.
* Optimize load order of many filters.
* Add Proper Build script
* Use emojii flags
* Fix i18n deprecation  notice for translating too early
* Put all scripts in footer and load async
2025-04-14 11:36:46 -06:00

112 lines
1.7 KiB
PHP

<?php
/**
* Customers Site List Table class.
*
* @package WP_Ultimo
* @subpackage List_Table
* @since 2.0.0
*/
namespace WP_Ultimo\List_Tables\Customer_Panel;
// Exit if accessed directly
defined('ABSPATH') || exit;
use WP_Ultimo\List_Tables\Site_List_Table as Parent_Site_List_Table;
/**
* Site List Table class.
*
* @since 2.0.0
*/
class Site_List_Table extends Parent_Site_List_Table {
/**
* Initializes the table.
*
* @since 2.0.0
*/
public function __construct() {
parent::__construct();
$this->modes = [
'grid' => __('Grid View'),
];
$this->current_mode = 'grid';
}
/**
* Returns the list of columns for this particular List Table.
*
* @since 2.0.0
* @return array
*/
public function get_columns() {
return [];
}
/**
* Clears filters.
*
* @since 2.0.0
*/
public function get_filters(): array {
return [
'filters' => [],
'date_filters' => [],
];
}
/**
* Clears views.
*
* @since 2.0.0
* @return array
*/
public function get_views() {
return [
'all' => [
'field' => 'type',
'url' => add_query_arg('type', 'all'),
'label' => __('Your Sites', 'wp-multisite-waas'),
'count' => 0,
],
];
}
/**
* Get the extra fields based on the request.
*
* @since 2.0.0
* @return array
*/
public function get_extra_fields() {
$customer = wu_get_current_customer();
if ( ! $customer) {
return [
'blog_id__in' => ['null_id'], // pass absurd value to make sure the query returns nothing.
];
}
$fields = parent::get_extra_fields();
$fields = [
'meta_query' => [
'customer_id' => [
'key' => 'wu_customer_id',
'value' => $customer->get_id(),
],
],
];
return $fields;
}
}