File: /var/www/html/ielts-store/wp-content/plugins/automatewoo/admin/dashboard-widgets/abstract.php
<?php
namespace AutomateWoo;
/**
 * Dashboard_Widget class.
 *
 * @since 2.8
 */
abstract class Dashboard_Widget {
	/**
	 * Widget's ID
	 *
	 * @var string
	 */
	public $id;
	/**
	 * Widget's title.
	 *
	 * @var string optional
	 */
	public $title = '';
	/**
	 * Set date range for widget.
	 *
	 * @var DateTime
	 */
	public $date_from;
	/**
	 * Set date range for widget.
	 *
	 * @var DateTime
	 */
	public $date_to;
	/**
	 * Show/hide widget.
	 *
	 * @var bool
	 */
	public $display = true;
	/**
	 * Current instance of dashboard controller.
	 *
	 * @var Admin\Controllers\Dashboard
	 */
	public $controller;
	/**
	 * Get widget's ID.
	 *
	 * @return string
	 */
	public function get_id() {
		return $this->id;
	}
	/**
	 * Set GMT date range.
	 *
	 * @param DateTime $from
	 * @param DateTime $to
	 */
	public function set_date_range( $from, $to ) {
		$this->date_from = $from;
		$this->date_to   = $to;
	}
	/**
	 * Display the widget.
	 */
	public function output() {
		$this->output_before();
		$this->output_content();
		$this->output_after();
	}
	/**
	 * Output the widget content.
	 */
	protected function output_content() {}
	/**
	 * Output before the widget content.
	 */
	protected function output_before() {
		$classes = 'automatewoo-dashboard-widget automatewoo-dashboard-widget--' . $this->get_id();
		echo '<div class="' . esc_attr( $classes ) . '">';
		echo '<div class="automatewoo-dashboard-widget__content">';
	}
	/**
	 * Output after the widget content.
	 */
	protected function output_after() {
		echo '</div></div>';
	}
}