HEX
Server: Apache
System: Linux vps-3158868-x.dattaweb.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: emerlux (1185)
PHP: 8.3.1
Disabled: system, shell, exec, system_exec, shell_exec, mysql_pconnect, passthru, popen, proc_open, proc_close, proc_nice, proc_terminate, proc_get_status, escapeshellarg, escapeshellcmd, eval
Upload Files
File: /home/emerlux/public_html/wp-content/themes/hello-elementor/includes/script.php
<?php

namespace HelloTheme\Includes;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

class Script {

	protected string $handle;
	protected array $dependencies;

	public function __construct( string $handle, array $dependencies = [] ) {
		$this->handle       = $handle;
		$this->dependencies = $dependencies;
	}

	public function enqueue() {
		$asset_path = HELLO_THEME_SCRIPTS_PATH . $this->handle . '.asset.php';
		$asset_url = HELLO_THEME_SCRIPTS_URL;

		if ( ! file_exists( $asset_path ) ) {
			throw new \Exception( $asset_path . ' - You need to run `npm run build` for the "hello-elementor" first.' );
		}

		$script_asset = require $asset_path;

		foreach ( $this->dependencies as $dependency ) {
			$script_asset['dependencies'][] = $dependency;
		}

		wp_enqueue_script(
			$this->handle,
			$asset_url . "$this->handle.js",
			$script_asset['dependencies'],
			$script_asset['version'],
			true
		);

		\wp_set_script_translations( $this->handle, 'hello-elementor' );
	}
}