Files
wp-multisite-waas/inc/development/query-monitor/panel/class-overview.php
2025-02-07 19:02:33 -07:00

117 lines
2.0 KiB
PHP

<?php
/**
* The WP Multisite WaaS Overview QM Panel
*
* @package WP_Ultimo
* @subpackage Development\Query_Monitor\Panel
* @since 2.0.11
*/
namespace WP_Ultimo\Development\Query_Monitor\Panel;
// Exit if accessed directly
defined('ABSPATH') || exit;
/**
* The WP Multisite WaaS Overview QM Panel
*
* @since 2.0.11
*/
class Overview extends \QM_Output_Html {
/**
* Initializes the panel.
*
* @since 2.0.11
*
* @param \QM_Collector $collector The collector associated with the panel.
*/
public function __construct($collector) {
parent::__construct($collector);
add_filter('qm/output/menus', array($this, 'admin_menu'), 1000);
add_filter('qm/output/panel_menus', array($this, 'panel_menu'), 1000);
}
/**
* The name of the panel.
*
* @since 2.0.11
* @return string
*/
public function name() {
return __('WP Multisite WaaS', 'wp-ultimo');
}
/**
* Output the contents of the panel.
*
* @since 2.0.11
* @return void
*/
public function output() {
$data = $this->collector->get_data();
$this->before_tabular_output(); // phpcs:disable ?>
<thead>
<th>Header 1</th>
<th>Header 2</th>
</thead>
<tbody>
<td>Value Title</td>
<td>Value</td>
</tbody>
<?php // phpcs:enable
$this->after_tabular_output();
$this->before_non_tabular_output();
$data = $this->collector->get_data();
$this->after_non_tabular_output();
}
/**
* Adds the panel to the admin panel.
*
* @since 2.0.11
*
* @param array $menu The original menu.
* @return array
*/
public function admin_menu(array $menu) {
return $menu;
}
/**
* Adds a panel menu for the panel.
*
* @since 2.0.11
*
* @param array $menu The admin panel menu.
* @return array
*/
public function panel_menu(array $menu) {
$new_menu = array(
'wp-ultimo' => $this->menu(
array(
'title' => esc_html__('WP Multisite WaaS', 'wp-ultimo'),
'id' => 'wp-ultimo',
)
),
);
return $new_menu + $menu;
}
}