PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /home/trave494/v1world.us/wp-content/plugins/wp-mail-smtp/src/Compatibility/
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64
IP: 209.182.202.254
Choose File :

Url:
Dir : //home/trave494/v1world.us/wp-content/plugins/wp-mail-smtp/src/Compatibility/Compatibility.php

<?php

namespace WPMailSMTP\Compatibility;

use WPMailSMTP\WP;

/**
 * Compatibility.
 * Class for managing compatibility with other plugins.
 *
 * @since 2.8.0
 */
class Compatibility {

	/**
	 * Initialized compatibility plugins.
	 *
	 * @since 2.8.0
	 *
	 * @var array
	 */
	protected $plugins = [];

	/**
	 * Initialize class.
	 *
	 * @since 2.8.0
	 */
	public function init() {

		// Setup compatibility only in admin area.
		if ( WP::in_wp_admin() ) {
			$this->setup_compatibility();
		}
	}

	/**
	 * Setup compatibility plugins.
	 *
	 * @since 2.8.0
	 */
	public function setup_compatibility() {

		$plugins = [
			'admin-2020' => '\WPMailSMTP\Compatibility\Plugin\Admin2020',
		];

		foreach ( $plugins as $key => $classname ) {
			if ( class_exists( $classname ) && is_callable( [ $classname, 'is_applicable' ] ) ) {
				if ( $classname::is_applicable() ) {
					$this->plugins[ $key ] = new $classname();
				}
			}
		}
	}

	/**
	 * Get compatibility plugin.
	 *
	 * @since 2.8.0
	 *
	 * @param string $key Plugin key.
	 *
	 * @return \WPMailSMTP\Compatibility\Plugin\PluginAbstract | false
	 */
	public function get_plugin( $key ) {

		return isset( $this->plugins[ $key ] ) ? $this->plugins[ $key ] : false;
	}
}