96 lines
1.4 KiB
PHP
96 lines
1.4 KiB
PHP
|
<?php declare(strict_types = 1);
|
||
|
/**
|
||
|
* Mock 'Debug Bar' panel class.
|
||
|
*
|
||
|
* @package query-monitor
|
||
|
*/
|
||
|
|
||
|
abstract class Debug_Bar_Panel {
|
||
|
|
||
|
/**
|
||
|
* @var string
|
||
|
*/
|
||
|
public $_title = '';
|
||
|
|
||
|
/**
|
||
|
* @var bool
|
||
|
*/
|
||
|
public $_visible = true;
|
||
|
|
||
|
/**
|
||
|
* @param string $title
|
||
|
*/
|
||
|
public function __construct( $title = '' ) {
|
||
|
$this->title( $title );
|
||
|
|
||
|
if ( $this->init() === false ) {
|
||
|
$this->set_visible( false );
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
add_filter( 'debug_bar_classes', array( $this, 'debug_bar_classes' ) );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Initializes the panel.
|
||
|
*
|
||
|
* @return false|void
|
||
|
*/
|
||
|
public function init() {}
|
||
|
|
||
|
/**
|
||
|
* @return void
|
||
|
*/
|
||
|
public function prerender() {}
|
||
|
|
||
|
/**
|
||
|
* Renders the panel.
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function render() {}
|
||
|
|
||
|
/**
|
||
|
* @return bool
|
||
|
*/
|
||
|
public function is_visible() {
|
||
|
return $this->_visible;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param bool $visible
|
||
|
* @return void
|
||
|
*/
|
||
|
public function set_visible( $visible ) {
|
||
|
$this->_visible = $visible;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param string|null $title
|
||
|
* @return string|void
|
||
|
*/
|
||
|
public function title( $title = null ) {
|
||
|
if ( ! isset( $title ) ) {
|
||
|
return $this->_title;
|
||
|
}
|
||
|
$this->_title = $title;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param array<int, string> $classes
|
||
|
* @return array<int, string>
|
||
|
*/
|
||
|
public function debug_bar_classes( $classes ) {
|
||
|
return $classes;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param string $title
|
||
|
* @return void
|
||
|
*/
|
||
|
public function Debug_Bar_Panel( $title = '' ) {
|
||
|
self::__construct( $title );
|
||
|
}
|
||
|
|
||
|
}
|