| Server IP : 103.88.176.108 / Your IP : 216.73.216.211 Web Server : Apache/2.4.41 (Ubuntu) System : Linux webserver 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/themes/neve/header-footer-grid/Core/ |
Upload File : |
<?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 ) );
}
}