HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javaapp.co.uk/wp-content/plugins/popup-builder/com/helpers/PopupBuilderActivePackage.php
<?php
namespace sgpb;

class PopupBuilderActivePackage
{
	// sections and additional options array
	private static $sections = array();

	public static function init()
	{
		self::$sections = array(
			'userStatus' => array('min-version' => SGPB_POPUP_PRO_MIN_VERSION, 'min-pkg' => SGPB_POPUP_PKG_SILVER, 'name' => 'userStatus'),
			'popupConditionsSection' => array('min-version' => SGPB_POPUP_PRO_MIN_VERSION, 'min-pkg' => SGPB_POPUP_PKG_SILVER, 'name' => 'popupConditionsSection'),
			'popupOtherConditionsSection' => array('min-version' => SGPB_POPUP_PRO_MIN_VERSION, 'min-pkg' => SGPB_POPUP_PKG_SILVER, 'name' => 'popupOtherConditionsSection')
		);
	}

	public static function canUseSection($optionName)
	{
		if (!isset(self::$sections[$optionName])) {
			return false;
		}

		return self::checkVersionAndPackage(self::$sections[$optionName]);
	}

	public static function canUseOption($optionName)
	{
		global $SGPB_OPTIONS;
		$currentOption = array();

		foreach ($SGPB_OPTIONS as $option) {
			if ($option['name'] == $optionName) {
				$currentOption = $option;
				break;
			}
		}

		return self::checkVersionAndPackage($currentOption);
	}

	private static function checkVersionAndPackage($option)
	{
		$currentOptionSupportedMinVersion = '';
		$currentOptionSupportedMinPackage = '';

		if (isset($option['min-version'])) {
			$currentOptionSupportedMinVersion = $option['min-version'];
		}
		if (isset($option['min-pkg'])) {
			$currentOptionSupportedMinPackage = $option['min-pkg'];
		}
		$optionAvailable = apply_filters('sgpbOptionAvailable', $option);

		// it can change option availability from extensions
		if (isset($optionAvailable['status'])) {
			return $optionAvailable['status'];
		}

		if ($currentOptionSupportedMinVersion <= SG_POPUP_VERSION) {
			if ($currentOptionSupportedMinPackage <= SGPB_POPUP_PKG) {
				return true;
			}
		}

		return false;
	}
}

PopupBuilderActivePackage::init();