HEX
Server: Apache
System: Linux sxb1plmcpnl510113.prod.sxb1.secureserver.net 4.18.0-553.58.1.lve.el8.x86_64 #1 SMP Fri Jul 4 12:07:06 UTC 2025 x86_64
User: acnbijigo78q (10488831)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: /home/acnbijigo78q/public_html/wp-content/plugins/ultimate-cursor/ultimate-cursor.php
<?php

/**
 * Plugin Name:                 Ultimate Cursor – Interactive and Animated Cursor Effects Toolkit
 * Plugin URI:                  https://wordpress.org/plugins/ultimate-cursor
 * Description:                 Make Your Website Stand Out with Unique Cursor Effects and Smooth Animations!🚀
 * Version:                     1.6.1
 * Author:                      WPXERO
 * Author URI:                  https://wpxero.com/ultimate-cursor
 * Requires at least:           6.0
 * Requires PHP:                7.4
 * License:                     GPL3
 * License URI:                 http://www.gnu.org/licenses/gpl-3.0.html
 * Text Domain:                 ultimate-cursor
 * Elementor requires at least: 3.0.0
 * Elementor tested up to:      3.28.4
 */


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

if (! defined('UCA_VERSION')) {
	define('UCA_VERSION', '1.6.1');
}



/**
 * UltimateCursor Class
 */
class UltimateCursor {
	/**
	 * The single class instance.
	 *
	 * @var $instance
	 */
	private static $instance = null;
	const VERSION                   = UCA_VERSION;
	const MINIMUM_ELEMENTOR_VERSION = '3.0.0';
	const MINIMUM_PHP_VERSION       = '7.0';
	/**
	 * Main Instance
	 * Ensures only one instance of this class exists in memory at any one time.
	 */
	public static function instance() {
		if (is_null(self::$instance)) {
			self::$instance = new self();
			self::$instance->init();
		}
		return self::$instance;
	}

	/**
	 * Path to the plugin directory
	 *
	 * @var $plugin_path
	 */
	public $plugin_path;

	/**
	 * URL to the plugin directory
	 *
	 * @var $plugin_url
	 */
	public $plugin_url;
	public $minimum_elementor_version;
	public $minimum_php_version;

	/**
	 * Ultimate Cursor constructor.
	 */
	public function __construct() {
		/* We do nothing here! */
	}

	/**
	 * Init options
	 */
	public function init() {
		$this->plugin_path = plugin_dir_path(__FILE__);
		$this->plugin_url  = plugin_dir_url(__FILE__);
		$this->minimum_elementor_version = self::MINIMUM_ELEMENTOR_VERSION;
		$this->minimum_php_version = self::MINIMUM_PHP_VERSION;


		// include helper files.
		$this->include_dependencies();
		$this->init_freemius();

		// hooks.
		add_filter('user_has_cap', [$this, 'user_has_cap'], 10, 4);

		// Disable Freemius license activation notice
		add_filter('fs_show_trial_notice_ultimate_cursor', '__return_false');

		// init freemius.
	}

	public function init_freemius() {
		if (! function_exists('ultimate_cursor_fs')) {
			// Create a helper function for easy SDK access.
			function ultimate_cursor_fs() {
				global $ultimate_cursor_fs;

				if (! isset($ultimate_cursor_fs)) {
					// Activate multisite network integration.
					if (! defined('WP_FS__PRODUCT_19720_MULTISITE')) {
						define('WP_FS__PRODUCT_19720_MULTISITE', true);
					}

					// Include Freemius SDK.
					$ultimate_cursor_fs = fs_dynamic_init(array(
						'id'                  => '19720',
						'slug'                => 'ultimate-cursor',
						'premium_slug'        => 'ultimate-cursor-pro',
						'type'                => 'plugin',
						'public_key'          => 'pk_fb94765a4f619e83979c2825626c2',
						'is_premium'          => false,
						'is_premium_only'     => false,
						'has_addons'          => false,
						'has_paid_plans'      => true,
						'is_require_optin'    => false,
						'is_org_compliant'    => true,
						'is_live'             => true,
						'menu'                => array(
							'slug'           => 'ultimate-cursor',
							'contact'        => false,
							'support'        => false,
							'parent'         => array(
								'slug' => 'ultimate-cursor',
							),
						),
						'navigation'          => 'menu',
						'permissions'         => array(
							'newsletter' => false,
							'is_tracking_prohibited' => true,
						),
					));

					// Skip the connection/opt-in screen.
					$ultimate_cursor_fs->skip_connection();
				}

				return $ultimate_cursor_fs;
			}

			// Init Freemius.
			ultimate_cursor_fs();

			// Disable opt-in completely if needed
			add_filter('ultimate_cursor_fs_skip_activation', '__return_true');

			// Signal that SDK was initiated.
			do_action('ultimate_cursor_fs_loaded');
		}
	}


	public function user_has_cap($allcaps, $caps, $args, $user) {
		if (is_user_logged_in() && in_array('upload_files', $caps)) {
			$allcaps['upload_files'] = true;
		}
		return $allcaps;
	}

	/**
	 * Include dependencies
	 */
	private function include_dependencies() {
		require_once $this->plugin_path . 'classes/class-admin.php';
		require_once $this->plugin_path . 'classes/class-assets.php';
		require_once $this->plugin_path . 'classes/class-rest.php';
		require_once $this->plugin_path . 'vendor/freemius/wordpress-sdk/start.php';
		if (did_action('elementor/loaded')) {
			require_once $this->plugin_path . 'classes/class-elementor.php';
		}
	}

	/**
	 * Activation Hook
	 */
	public function activation_hook() {
		// Welcome Page Flag.
		set_transient('_ultimate_cursor_welcome_screen_activation_redirect', true, 30);
	}

	/**
	 * Deactivation Hook
	 */
	public function deactivation_hook() {
	}
}

/**
 * Function works with the Loader class instance
 *
 * @return object UltimateCursor
 */
function ultimate_cursor() {
	return UltimateCursor::instance();
}
add_action('plugins_loaded', 'ultimate_cursor');

register_activation_hook(__FILE__, [ultimate_cursor(), 'activation_hook']);
register_deactivation_hook(__FILE__, [ultimate_cursor(), 'deactivation_hook']);