File: /var/www/html/ielts-store/wp-content/plugins/automatewoo/admin/reports-tabs/abstract.php
<?php
/**
* AW_Admin_Reports_Tab_Abstract class.
*
* @package AutomateWoo/Admin
*/
abstract class AW_Admin_Reports_Tab_Abstract {
/**
* Report tab ID.
*
* @var string
*/
public $id;
/**
* Report tab name.
*
* @var string
*/
public $name;
/**
* Reports Controller object.
*
* @var AutomateWoo\Admin\Controllers\Reports
*/
public $controller;
/**
* Get report object.
*
* @return object
*/
abstract public function get_report_class();
/**
* Get report tab ID.
*
* @return string
*/
public function get_id() {
return $this->id;
}
/**
* Get report tab url.
*
* @return string
*/
public function get_url() {
return admin_url( 'admin.php?page=automatewoo-reports&tab=' . $this->get_id() );
}
/**
* Output before report content.
*
* @return string|false
*/
public function output_before_report() {
return false;
}
/**
* Report action handler.
*
* @param string $action
*/
public function handle_actions( $action ) {}
/**
* Output report content.
*/
public function output() {
$class = $this->get_report_class();
if ( ! $class ) {
return;
}
$class->nonce_action = $this->controller->get_nonce_action();
$class->output_report();
}
}