BYPASS SHELL BY ./RAZORGANZ
Server: nginx/1.20.1
System: Linux iZdzfnv9mwfppeZ 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64
User: apache (48)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/themes/neve/header-footer-grid/Core/Script_Register.php
<?php
/**
 * Handles Inline Script Register for HFG components
 *
 * @package Neve
 */
namespace HFG\Core;

/**
 * Class Script_Register
 *
 * @package HFG\Core
 */
class Script_Register {

	/**
	 * Holds the instance of the class.
	 *
	 * @var Script_Register
	 */
	private static $_instance;

	/**
	 * Holds all queued scripts data.
	 *
	 * @var array
	 */
	private $scripts = [];

	/**
	 * Returns the instance of the class.
	 *
	 * @return Script_Register
	 */
	public static function get_instance() {
		if ( null === self::$_instance ) {
			self::$_instance = new self();
		}

		return self::$_instance;
	}

	/**
	 * Function that is run after instantiation.
	 *
	 * @return void
	 */
	public function __construct() {}

	/**
	 * Check if handle is already queued to avoid duplicates.
	 *
	 * @param string $handle Unique handle for the inline script.
	 *
	 * @return bool
	 */
	public function is_queued( $handle ) {
		return isset( $this->scripts[ $handle ] );
	}

	/**
	 * Register to queue.
	 *
	 * @param string $handle Unique handle for the inline script.
	 * @param string $data Script data.
	 */
	public function register_script( $handle, $data ) {
		if ( empty( $data ) ) {
			return;
		}
		if ( $this->is_queued( $handle ) ) {
			return;
		}
		$this->scripts[ $handle ] = $data;
	}

	/**
	 * Return the inline script.
	 *
	 * @return string
	 */
	public function inline_scripts() {
		if ( empty( $this->scripts ) ) {
			return '';
		}
		return implode( '', array_values( $this->scripts ) );
	}
}