<?php
/**
 * HappyFenceNG Total Enterprise Security Plugin
 * HAPPYWPRESS is a RazorVue Trademark.
 *
 * @package     HappyFenceNG
 * @developer   Simonluca Scillitani
 * @copyright   2025 RazorVue di Scillitani Simonluca
 * @link        https://razorvue.it
 * @author      RazorVue di Scillitani Simonluca
 * @brand       HappyWPress
 * @uri         https://happywpress.com
 * @set all
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**PHPCS -> code compliance: we put useful comments where needed.. */
enum HappyFenceNGRgs: string {

		case ID = '9ciyxsadnXD58T2Ld@LQSKdjb';
		case SR = 'Running';
		case SO = 'Offline';
		case NA = '(REQUIRES PREMIUM)';
		case SP = '(PRO+)';
		case SA = '(Agency+)';
		case SE = '(Enterprise)';


		case RFS_404         = '404 Evasion Trap';
		case RFS_CRB         = 'CloudFlare Request Blocker';
		case RFS_IPBL        = 'IP Blacklist Scanner';
		case RFS_GIP         = 'GeoIp Shield';
		case RFS_ULE         = 'Uniform Login Errors';
		case RFS_MFA_SS      = 'MFA Start Session';
		case MFAUI_RENDER    = 'MFA User UI';
		case MFAUI_SAB       = 'MFA Save and backup';
		case MFAUI_BCK       = 'MFA Backup Codes Generator';
		case MFAUI_SHORT     = 'UI Shortcode Hook';
		case RFS_SWPM        = 'SWPM Auth hook';
		case RFS_MFA_AU      = 'MFA Auth';
		case RFS_MFA_SHC     = 'MFA Shortcode';
		case RFS_DPF_SP      = 'DeepFilter Save Post';
		case RFS_DPF_UPD     = 'DeepFilter Update';
		case RFS_DPF_DSP     = 'DeepFilter pre-dispatch';
		case RFS_RSH_CS      = 'RESH Cron Scanner';
		case RFS_UPG         = 'Upload Guard filter';
		case RFS_REST_AUTH   = 'REST AUTH filter';
		case RFS_ENUM_AUTH   = 'AUTH Enum filter';
		case RFS_ENUM_AUTH_2 = 'AUTH 2 Enum filter';
		case RFS_REST_ENDP   = 'REST ENDPOINT filter';
		case RFS_REDR_AUTH   = 'Redirect Author';
		case RFS_REDR_TMPL   = 'Template Redirect';
		case RFS_RRHL        = 'Remove Rest HEAD Link';
		case RFS_MOLE        = 'Login Error Obfuscator';
		case RFS_XMLRPCM     = 'XMLRPC Methods';
		case RFS_XMLRPCF     = 'Core XMLRPC Filters';
		case RFS_META        = 'META Generator';
		case RFS_EMBED       = 'Embed Script';
		case RFS_REST_URL    = 'REST Url';
		case RFS_REST_OEMBED = 'Oembed Handler';
		case RFS_CULOG       = 'Custom Login';
		case RFS_RSS_FEED_1  = 'Disable RSS Feed 1/7';
		case RFS_RSS_FEED_2  = 'Disable RSS Feed 2/7';
		case RFS_RSS_FEED_3  = 'Disable RSS Feed 3/7';
		case RFS_RSS_FEED_4  = 'Disable RSS Feed 4/7';
		case RFS_RSS_FEED_5  = 'Disable RSS Feed 5/7';
		case RFS_RSS_FEED_6  = 'Disable RSS Feed 6/7';
		case RFS_RSS_FEED_7  = 'Disable RSS Feed 7/7';
		case RFS_APP_PWD     = 'App Password Disabler';
		case RFS_FED         = 'FileEdit Handler';
		case URI_SCAN_DECT   = 'URI Scan Detector';
		case RFS_FSS_SCHED   = 'FileSystem Scanner Scheduler';
		case RFS_HTA_CHECK   = 'HtAccess Integrity Checker';
		case RFS_RLC         = 'Rate Limiter Checker';
		case RFS_PGW_ENG     = 'PluginWatcher Engine';
		case RFS_REB         = 'REST Endpoint Blocker';
		case RFS_RERH        = 'REST Endpoint Restriction Handler';
		case RFS_ROB_CHK     = 'Robots Checker';
		case RFS_ROB_PCH     = 'Robots Patcher';
		case RFS_SUSQ        = 'SUSQ Detector';

		case RFS_CF_GUARD   = 'Cloudflare Guard';
		case RFS_IPBL_GUARD = 'Ip Blacklist Guard';
		case RFS_SYS_SLD1   = 'Sys Shields 1/6';
		case RFS_SYS_SLD2   = 'Sys Shields 2/6';
		case RFS_SYS_SLD3   = 'Sys Shields 3/6';
		case RFS_SYS_SLD4   = 'Sys Shields 4/6';
		case RFS_SYS_SLD5   = 'Sys Shields 5/6';
		case RFS_SYS_SLD6   = 'Sys Shields 6/6';

		case RFS_INT_GRD  = 'Integrity Guard';
		case RFS_ADV_SHD1 = 'Adv Shields 1/3';
		case RFS_ADV_SHD2 = 'Adv Shields 2/3';
		case RFS_ADV_SHD3 = 'Adv Shields 3/3';

		case RFS_SUS_QGD     = 'SusQ Guard';
		case RFS_MFA_1       = 'MFA 1/3';
		case RFS_MFA_2       = 'MFA 2/3';
		case RFS_MFA_3       = 'MFA 3/3';
		case RFS_ACORE       = 'Acore Engine';
		case RFS_GEOIP       = 'Geoip Guard';
		case RFS_DEEPG       = 'DeepFilter Guard';
		case RFS_UPLG        = 'Upload Guard';
		case RFS_RESH        = 'Resh Scanner';
		case RFS_PVGR        = 'Privacy Guard';
		case RFS_PVRE        = 'Privacy Renderer';
		case RFS_IPBL_PROTON = 'VPN Proton Guard';
		case RFS_IPBL_TOR    = 'DarkWeb TOR Guard';
		case RFS_CFD         = 'Cloudflare Detector';





	/**PHPCS -> code compliance: we put useful comments where needed.. */
	public static function get_regs(): array {
			return array_filter(
				self::cases(),
				fn( $acase ) => ! in_array( $acase, array( self::ID, self::NA, self::SR, self::SO, self::SP, self::SA, self::SE ), true )
			);
	}
}
