HEX
Server: LiteSpeed
System: Linux cde2.duelhost.dk 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64
User: dtptviut (1121)
PHP: 8.0.30
Disabled: exec,system,passthru,shell_exec,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/dtptviut/public_html/wp-content/plugins/duplicate-post/src/ui/asset-manager.php
<?php

namespace Yoast\WP\Duplicate_Post\UI;

/**
 * Duplicate Post class to manage assets.
 */
class Asset_Manager {

	/**
	 * Adds hooks to integrate with WordPress.
	 *
	 * @return void
	 */
	public function register_hooks() {
		\add_action( 'init', [ $this, 'register_styles' ] );
		\add_action( 'init', [ $this, 'register_scripts' ] );
	}

	/**
	 * Registers the styles.
	 *
	 * @return void
	 */
	public function register_styles() {
		\wp_register_style( 'duplicate-post', \plugins_url( '/css/duplicate-post.css', \DUPLICATE_POST_FILE ), [], \DUPLICATE_POST_CURRENT_VERSION );
		\wp_register_style( 'duplicate-post-options', \plugins_url( '/css/duplicate-post-options.css', \DUPLICATE_POST_FILE ), [], \DUPLICATE_POST_CURRENT_VERSION );
	}

	/**
	 * Registers the scripts.
	 *
	 * @return void
	 */
	public function register_scripts() {
		\wp_register_script(
			'duplicate_post_edit_script',
			\plugins_url( 'js/dist/duplicate-post-edit.js', \DUPLICATE_POST_FILE ),
			[
				'wp-api-fetch',
				'wp-components',
				'wp-element',
				'wp-i18n',
			],
			\DUPLICATE_POST_CURRENT_VERSION,
			true,
		);
		\wp_set_script_translations( 'duplicate_post_edit_script', 'duplicate-post' );

		\wp_register_script(
			'duplicate_post_strings',
			\plugins_url( 'js/dist/duplicate-post-strings.js', \DUPLICATE_POST_FILE ),
			[
				'wp-components',
				'wp-element',
				'wp-i18n',
			],
			\DUPLICATE_POST_CURRENT_VERSION,
			true,
		);
		\wp_set_script_translations( 'duplicate_post_strings', 'duplicate-post' );

		\wp_register_script(
			'duplicate_post_quick_edit_script',
			\plugins_url( 'js/dist/duplicate-post-quick-edit.js', \DUPLICATE_POST_FILE ),
			[ 'jquery' ],
			\DUPLICATE_POST_CURRENT_VERSION,
			true,
		);

		\wp_register_script(
			'duplicate_post_options_script',
			\plugins_url( 'js/dist/duplicate-post-options.js', \DUPLICATE_POST_FILE ),
			[ 'jquery' ],
			\DUPLICATE_POST_CURRENT_VERSION,
			true,
		);
	}

	/**
	 * Enqueues the styles.
	 *
	 * @return void
	 */
	public function enqueue_styles() {
		\wp_enqueue_style( 'duplicate-post' );
	}

	/**
	 * Enqueues the styles for the options page.
	 *
	 * @return void
	 */
	public function enqueue_options_styles() {
		\wp_enqueue_style( 'duplicate-post-options' );
	}

	/**
	 * Enqueues the script for the Block editor and passes object via localization.
	 *
	 * @param array $data_object The object to pass to the script.
	 *
	 * @return void
	 */
	public function enqueue_edit_script( $data_object = [] ) {
		$handle = 'duplicate_post_edit_script';
		\wp_enqueue_script( $handle );
		\wp_add_inline_script(
			$handle,
			'let duplicatePostNotices = {};',
			'before',
		);
		\wp_localize_script(
			$handle,
			'duplicatePost',
			$data_object,
		);
	}

	/**
	 * Enqueues the script for the Javascript strings and passes object via localization.
	 *
	 * @param array $data_object The object to pass to the script.
	 *
	 * @return void
	 */
	public function enqueue_strings_script( $data_object = [] ) {
		$handle = 'duplicate_post_strings';
		\wp_enqueue_script( $handle );
		\wp_localize_script(
			$handle,
			'duplicatePostStrings',
			$data_object,
		);
	}

	/**
	 * Enqueues the script for the Quick Edit.
	 *
	 * @return void
	 */
	public function enqueue_quick_edit_script() {
		\wp_enqueue_script( 'duplicate_post_quick_edit_script' );
	}

	/**
	 * Enqueues the script for the Options page.
	 *
	 * @return void
	 */
	public function enqueue_options_script() {
		\wp_enqueue_script( 'duplicate_post_options_script' );
	}

	/**
	 * Enqueues the script for the Elementor plugin.
	 *
	 * @param array $data_object The object to pass to the script.
	 *
	 * @return void
	 */
	public function enqueue_elementor_script( $data_object = [] ) {
		$handle = 'duplicate_post_elementor_script';

		\wp_register_script(
			$handle,
			\plugins_url( 'js/dist/duplicate-post-elementor.js', \DUPLICATE_POST_FILE ),
			[ 'jquery' ],
			\DUPLICATE_POST_CURRENT_VERSION,
			true,
		);
		\wp_enqueue_script( $handle );
		\wp_localize_script(
			$handle,
			'duplicatePost',
			$data_object,
		);
	}
}