HEX
Server: Apache
System: Linux d5123.usc1.stableserver.net 5.14.0-570.17.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Sat May 24 12:53:17 EDT 2025 x86_64
User: d5123 (1001)
PHP: 8.4.21
Disabled: NONE
Upload Files
File: /home/d5123/myboofola_com/wp-content/plugins/semantic-linkboss/plugin.php
<?php

/**
 * Plugin File
 *
 * @package SEMANTIC_LB
 * @since 0.0.0
 */

namespace SEMANTIC_LB;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

use SEMANTIC_LB\Classes\Auth;

/**
 * Plugin class
 *
 * @since 0.0.0
 */

final class Plugin {


	/**
	 * Require Files
	 *
	 * @return void
	 */

	/**
	 * Init Plugin
	 *
	 * @since 0.0.0
	 * @return void
	 */
	public function init() {
	}

	/**
	 * Admind Styles
	 *
	 * @since 2.6.5
	 */
	public function enqueue_styles( $hook_suffix ) {
		if ( 'toplevel_page_semantic-linkboss' !== $hook_suffix && 'semantic-linkboss_page_semantic-linkboss-get-pro' !== $hook_suffix ) {
			return;
		}
		$direction_suffix = is_rtl() ? '.rtl' : '';
		wp_enqueue_style( 'wp-components' );
		wp_register_style( 'semantic-linkboss', SEMANTIC_LB_URL . 'build/index.css', array(), SEMANTIC_LB_VERSION );
		wp_enqueue_style( 'semantic-linkboss' );
	}

	/**
	 * Enqueue admin scripts
	 *
	 * @since 2.6.5
	 * @return void
	 */
	public function enqueue_scripts( $hook_suffix ) {

		wp_register_script( 'linkboss-socket', SEMANTIC_LB_ASSETS_URL . 'vendor/socket.io.min.js', array(), 'v4.8.1', true );
		wp_enqueue_script( 'linkboss-socket' );

		$access_token = Auth::get_access_token();
		wp_localize_script(
			'linkboss-socket',
			'LinkBossSocket',
			array(
				'access_token' => $access_token,
				'api_url'      => esc_url( SEMANTIC_LB_REMOTE_ROOT_URL ),
				'assets_url'   => SEMANTIC_LB_ASSETS_URL,
				'nonce'        => wp_create_nonce( 'wp_rest' ),
			)
		);

		wp_register_script( 'semantic-linkboss-admin', SEMANTIC_LB_ASSETS_URL . 'js/semantic-linkboss-admin.js', array( 'jquery', 'linkboss-socket' ), SEMANTIC_LB_VERSION, true );
		wp_enqueue_script( 'semantic-linkboss-admin' );

		if ( 'toplevel_page_semantic-linkboss' !== $hook_suffix ) {
			return;
		}

		$asset_file = plugin_dir_path( __FILE__ ) . 'build/index.asset.php';

		if ( ! file_exists( $asset_file ) ) {
			return;
		}

		$asset = include $asset_file;

		// wp_register_script( 'semantic-linkboss-sweetalert2', SEMANTIC_LB_ASSETS_URL . 'vendor/sweetalert2.min.js', array( 'jquery' ), '11.4.8', true );
		wp_register_script( 'semantic-linkboss', SEMANTIC_LB_URL . 'build/index.js', $asset['dependencies'], $asset['version'], true );
		wp_enqueue_script( 'semantic-linkboss' );
		// wp_enqueue_script( 'semantic-linkboss-sweetalert2' );

		/**
		 * Localize Script
		 */
		$script_config = array(
			'rest_url'     => esc_url( get_rest_url() ),
			'ajax_url'     => admin_url( 'admin-ajax.php' ),
			'app_api'      => esc_url( SEMANTIC_LB_REMOTE_URL ),
			'staging'      => ! defined( 'SEMANTIC_LB_STAGING' ) ? true : false,
			'version'      => SEMANTIC_LB_VERSION,
			'nonce'        => wp_create_nonce( 'wp_rest' ),
			'assets_url'   => SEMANTIC_LB_ASSETS_URL,
			'logo'         => SEMANTIC_LB_ASSETS_URL . 'imgs/logo.png',
			'root_url'     => SEMANTIC_LB_URL,
			'current_user' => array(
				'domain'       => esc_url( home_url() ),
				'display_name' => wp_get_current_user()->display_name,
				'email'        => wp_get_current_user()->user_email,
				'id'           => wp_get_current_user()->ID,
				'avatar'       => get_avatar_url( wp_get_current_user()->ID ),
			),
		);

		wp_localize_script( 'semantic-linkboss', 'LinkBossConfig', $script_config );

		$ajax_config = array(
			'ajax_nonce' => wp_create_nonce( 'linkboss_ajax_nonce' ),
		);

		wp_localize_script( 'semantic-linkboss', 'LinkBossAjax', $ajax_config );
	}

	/**
	 * Constructor
	 *
	 * @since 0.0.0
	 */
	public function __construct() {
		$this->init();
		$this->setup_hooks();
	}

	/**
	 * Setup Hooks
	 *
	 * @since 0.0.0
	 */
	private function setup_hooks() {
		add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_styles' ), 99999 );
		add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 99999 );
	}
}

// kick off the plugin
if ( class_exists( 'SEMANTIC_LB\Plugin' ) ) {
	new Plugin();
}