<?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.. */
class HappyFenceNGURIPattern extends HappyFenceNGRuntimeExceptions {
    /**PHPCS -> code compliance: we put useful comments where needed..
     *
     * @var array $patterns ...
     */
    private static array $patterns = HappyFenceNGPlaceholder::EMPTY_ARRAY;

    /**PHPCS -> code compliance: we put useful comments where needed.. */
    private static function init() {
        self::$patterns['SQL_INJ3CTION'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['SQL_TRUNC@TION_@ND_C0MMENTS'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['0S_COMM@NDS'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['3NC0DING_@ND_FUNCTI0NS'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['XSS_@TT3MPT'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['DIRECT0RY_TR@V3RSAL'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['3TC_DIR3CT0RY'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['B0OT_INI'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['PR0C_D1R3CT0RY'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['HOM3_D1R3CT0RY'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['V@R_WWW_DIR3CTORY'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['V@R_L0G_DIR3CTORY'] = HappyFenceNGPlaceholder::EMPTY_STRING;
        self::$patterns['BO0T_DIR3CT0RY'] = HappyFenceNGPlaceholder::EMPTY_STRING;
    }

    /**PHPCS -> code compliance: we put useful comments where needed.. */
    private static function check() {
    }

    /**PHPCS -> code compliance: we put useful comments where needed.. */
    public static function as_array() : array {
        self::init();
        return self::$patterns;
    }

    /**PHPCS -> code compliance: we put useful comments where needed.. */
    public static function as_keys() : array {
        self::init();
        return array_keys( self::$patterns );
    }

}
