HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/triad-infosec/wp-content/plugins/simple-history/inc/services/class-service.php
<?php

namespace Simple_History\Services;

use Simple_History\Helpers;
use Simple_History\Simple_History;

/**
 * Class for core services to extend,
 * i.e. services that are loaded early and are required for Simple History to work.
 */
abstract class Service {
	/** @var Simple_History */
	protected Simple_History $simple_history;

	/**
	 * Plugins and dropins are loaded using the "after_setup_theme" filter so
	 * themes can use filters to modify the loading of them.
	 * The drawback with this is that for example logouts done when plugins like
	 * iThemes Security is installed is not logged, because those plugins fire wp_logout()
	 * using filter "plugins_loaded", i.e. before simple history has loaded its filters.
	 *
	 * @param Simple_History $simple_history Simple History instance.
	 */
	public function __construct( Simple_History $simple_history ) {
		$this->simple_history = $simple_history;
	}

	/**
	 * Get the slug for the service,
	 * i.e. the unqualified class name.
	 *
	 * @return string
	 */
	public function get_slug() {
		return Helpers::get_class_short_name( $this );
	}

	/**
	 * Called when service is loaded.
	 */
	abstract public function loaded();
}