<?php
/**
 * @package Hafenstudios\Wellenbrecher
 */

namespace Hafenstudios\Wellenbrecher\Support;

use Hafenstudios\Core\Events\EventBus;

defined( 'ABSPATH' ) || exit;

/**
 * Zentrale Pro-Leitplanke (WB19). Alle W5-Funktionen (Bayes, Proof-of-Work,
 * Woo-Checkout, Reports und die kuenftigen Opt-in-Externa aus W5b) registrieren
 * sich NUR bei aktivem Gate. Mit inaktivem Gate verhaelt sich das Plugin exakt
 * wie 1.0.0.
 *
 * Aktiv, wenn die Konstante WELLENBRECHER_PRO gesetzt und wahr ist ODER der
 * Filter `hafenstudios/wellenbrecher_pro` true liefert. Default AUS. Der spaetere
 * Lizenz-Layer (Pro-Launch, WB12) schaltet frei; hier gibt es bewusst keine
 * Lizenz-Logik und kein separates Pro-ZIP.
 */
final class ProGate {

	/**
	 * Ist das Pro-Paket aktiv?
	 *
	 * @return bool
	 */
	public static function enabled(): bool {
		$enabled = defined( 'WELLENBRECHER_PRO' ) && WELLENBRECHER_PRO;

		/**
		 * Schaltet das Pro-Paket frei (Default = der Konstanten-Wert, sonst false).
		 * Der Lizenz-Layer haengt sich hier ein.
		 *
		 * @param bool $enabled Bisheriger Zustand.
		 */
		return (bool) EventBus::filter( 'wellenbrecher_pro', $enabled );
	}
}
