HEX
Server: LiteSpeed
System: Linux s12873.lon1.stableserver.net 5.14.0-611.11.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Dec 3 09:47:37 EST 2025 x86_64
User: jairicem (1242)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: /home/jairicem/basalehglobal.ng/wp-content/themes/mitech/framework/class-enqueue.php
<?php
defined( 'ABSPATH' ) || exit;

/**
 * Enqueue scripts and styles.
 */
if ( ! class_exists( 'Mitech_Enqueue' ) ) {
	class Mitech_Enqueue {

		protected static $instance = null;

		public function init() {
			add_action( 'enqueue_block_editor_assets', array( $this, 'gutenberg_editor' ) );

			add_action( 'wp_enqueue_scripts', array( $this, 'enqueue' ) );

			/**
			 * Make it run after main style & components.
			 */
			add_action( 'wp_enqueue_scripts', [ $this, 'rtl_styles' ], 20 );

			// Disable woocommerce all styles.
			add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' );

			add_action( 'wp_enqueue_scripts', array( $this, 'dequeue_woocommerce_styles_scripts' ), 99 );
			add_action( 'wp_enqueue_scripts', array( $this, 'dequeue_woo_smart_wishlist_scripts' ), 99 );

			// Fix Cart fragments issue with WC 7.8.0
			add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_wc_cart_fragments' ), 99 );
		}

		/* Fix Cart fragments issue with WC 7.8.0 */
		function enqueue_wc_cart_fragments() {
			if ( function_exists( 'is_woocommerce' ) ) {
				wp_enqueue_script( 'wc-cart-fragments' );
			}
		}


		function gutenberg_editor() {
			wp_enqueue_style( 'font-satoshi', MITECH_THEME_URI . '/assets/fonts/satoshi/font-satoshi.min.css', array(), MITECH_THEME_VERSION );
		}

		function dequeue_woocommerce_styles_scripts() {
			if ( function_exists( 'is_woocommerce' ) ) {
				if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
					// Scripts + Styles from Woo Smart Compare
					wp_dequeue_script( 'woosc-frontend' );
					wp_dequeue_script( 'dragarrange' );
					wp_dequeue_script( 'tableHeadFixer' );
				}
			}
		}

		function dequeue_woo_smart_wishlist_scripts() {
			if ( ! class_exists( 'WPCleverWoosw' ) ) {
				return;
			}

			// Dequeue feather font
			wp_dequeue_style( 'woosw-feather' );
		}

		function enqueue_woocommerce_styles_scripts() {
			wp_enqueue_script( 'woosc-frontend' );
			wp_enqueue_script( 'dragarrange' );
			wp_enqueue_script( 'tableHeadFixer' );
		}

		public static function instance() {
			if ( null === self::$instance ) {
				self::$instance = new self();
			}

			return self::$instance;
		}

		/**
		 * Enqueue scripts & styles.
		 *
		 * @access public
		 */
		public function enqueue() {
			$min       = $this->get_min_suffix();
			$rtl       = $this->get_rtl_suffix();
			$post_type = get_post_type();

			// Remove prettyPhoto, default light box of woocommerce.
			wp_dequeue_script( 'prettyPhoto' );
			wp_dequeue_script( 'prettyPhoto-init' );
			wp_dequeue_style( 'woocommerce_prettyPhoto_css' );

			// Prevent enqueue ihotspot on all pages then only enqueue when use.
			wp_dequeue_script( 'ihotspot-js' );
			wp_dequeue_style( 'ihotspot' );

			// Remove font awesome from Yith Wishlist plugin.
			wp_dequeue_style( 'yith-wcwl-font-awesome' );

			// Remove hint from Woo Smart Compare plugin.
			wp_dequeue_style( 'hint' );

			// Remove font awesome from Visual Composer plugin.
			wp_deregister_style( 'font-awesome' );
			wp_dequeue_style( 'font-awesome' );

			/*
			 * Begin register scripts & styles to be enqueued later.
			 */
			wp_register_style( 'mitech-style-rtl', MITECH_THEME_URI . '/style-rtl.css', array(), MITECH_THEME_VERSION );
			wp_register_style( 'mitech-woocommerce', MITECH_THEME_URI . "/woocommerce{$rtl}{$min}.css", array(), MITECH_THEME_VERSION );

			wp_register_style( 'font-awesome-pro', MITECH_THEME_URI . '/assets/fonts/awesome/css/fontawesome-all.min.css', array(), '6.4.2' );

			wp_register_style( 'justifiedGallery', MITECH_THEME_URI . '/assets/libs/justifiedGallery/css/justifiedGallery.min.css', array(), '3.7.0' );
			wp_register_script( 'justifiedGallery', MITECH_THEME_URI . '/assets/libs/justifiedGallery/js/jquery.justifiedGallery.min.js', array( 'jquery' ), '3.7.0', true );

			wp_register_style( 'spinkit', MITECH_THEME_URI . '/assets/libs/spinkit/spinkit.min.css', array(), null );

			wp_register_style( 'lightgallery', MITECH_THEME_URI . '/assets/libs/lightGallery/css/lightgallery.min.css', array(), '1.6.12' );
			wp_register_script( 'lightgallery', MITECH_THEME_URI . '/assets/libs/lightGallery/js/lightgallery-all.min.js', array(
				'jquery',
			), '1.6.12', true );

			wp_register_style( 'lightslider', MITECH_THEME_URI . '/assets/libs/lightslider/css/lightslider.min.css', array(), '1.1.3' );
			wp_register_script( 'lightslider', MITECH_THEME_URI . '/assets/libs/lightslider/js/lightslider.min.js', array( 'jquery' ), '1.1.6', true );

			wp_register_style( 'magnific-popup', MITECH_THEME_URI . '/assets/libs/magnific-popup/magnific-popup.min.css', array(), '1.1.0' );
			wp_register_script( 'magnific-popup', MITECH_THEME_URI . '/assets/libs/magnific-popup/jquery.magnific-popup.min.js', array( 'jquery' ), '1.1.0', true );

			wp_register_style( 'growl', MITECH_THEME_URI . '/assets/libs/growl/css/jquery.growl.min.css', array(), '1.3.3' );
			wp_register_script( 'growl', MITECH_THEME_URI . '/assets/libs/growl/js/jquery.growl.min.js', array( 'jquery' ), '1.3.3', true );

			// Fix VC waypoints.
			if ( ! wp_script_is( 'vc_waypoints', 'registered' ) ) {
				wp_register_script( 'vc_waypoints', MITECH_THEME_URI . '/assets/libs/vc-waypoints/vc-waypoints.min.js', array( 'jquery' ), '4.0.1', true );
			}

			wp_register_script( 'time-circle', MITECH_THEME_URI . '/assets/libs/time-circle/TimeCircles.min.js', array( 'jquery' ), null, true );

			wp_register_style( 'flipclock', MITECH_THEME_URI . '/assets/libs/flipclock/flipclock.min.css', array(), '1.1' );
			wp_register_script( 'flipclock', MITECH_THEME_URI . '/assets/libs/flipclock/flipclock.min.js', array( 'jquery' ), '1.1', true );

			wp_register_script( 'matchheight', MITECH_THEME_URI . '/assets/libs/matchHeight/jquery.matchHeight-min.js', array( 'jquery' ), '0.7.0', true );
			wp_register_script( 'gmap3', MITECH_THEME_URI . '/assets/libs/gmap3/gmap3.min.js', array( 'jquery' ), '6.1.0', true );
			wp_register_script( 'countdown', MITECH_THEME_URI . '/assets/libs/jquery.countdown/js/jquery.countdown.min.js', array( 'jquery' ), '2.2.0', true );
			wp_register_script( 'typed', MITECH_THEME_URI . '/assets/libs/typed/typed.min.js', array( 'jquery' ), null, true );
			wp_register_script( 'tilt', MITECH_THEME_URI . '/assets/libs/tilt/tilt.jquery.min.js', array( 'jquery' ), null, true );

			wp_register_script( 'scrollie', MITECH_THEME_URI . '/assets/libs/jquery-scrollie/jquery.scrollie.min.js', array( 'jquery' ), '1.0.1', true );
			wp_register_script( 'mitech-scrolling-background', MITECH_THEME_URI . "/assets/js/scrolling-background.js", array(
				'jquery',
				'scrollie',
			), MITECH_THEME_VERSION, true );

			// Fix Wordpress old version not registered this script.
			if ( ! wp_script_is( 'imagesloaded', 'registered' ) ) {
				wp_register_script( 'imagesloaded', MITECH_THEME_URI . '/assets/libs/imagesloaded/imagesloaded.min.js', array( 'jquery' ), null, true );
			}

			wp_register_style( 'swiper', MITECH_THEME_URI . '/assets/libs/swiper/css/swiper.min.css', array(), '4.5.0' );
			wp_register_script( 'swiper', MITECH_THEME_URI . '/assets/libs/swiper/js/swiper.min.js', array(
				'jquery',
				'imagesloaded',
			), '4.5.0', true );

			wp_register_script( 'isotope-masonry', MITECH_THEME_URI . '/assets/libs/isotope/js/isotope.pkgd.min.js', array( 'jquery' ), '3.0.4', true );
			wp_register_script( 'isotope-packery', MITECH_THEME_URI . '/assets/libs/packery-mode/packery-mode.pkgd.min.js', array(
				'jquery',
				'imagesloaded',
				'isotope-masonry',
			), '2.0.0', true );

			wp_register_script( 'sticky-kit', MITECH_THEME_URI . '/assets/js/jquery.sticky-kit.min.js', array(
				'jquery',
			), MITECH_THEME_VERSION, true );

			wp_register_script( 'picturefill', MITECH_THEME_URI . '/assets/libs/picturefill/picturefill.min.js', array( 'jquery' ), '2.3.1', true );

			wp_register_script( 'mousewheel', MITECH_THEME_URI . '/assets/libs/mousewheel/jquery.mousewheel.min.js', array( 'jquery' ), '3.1.13', true );

			wp_register_script( 'tween-max', MITECH_THEME_URI . '/assets/libs/tween-max/TweenMax.min.js', array(
				'jquery',
			), '1.20.2', true );

			wp_register_script( 'hoverIntent', MITECH_THEME_URI . '/assets/libs/hoverIntent/jquery.hoverIntent.min.js', array(
				'jquery',
			), '1.9.0', true );

			wp_register_script( 'easing', MITECH_THEME_URI . '/assets/libs/easing/jquery.easing.min.js', array( 'jquery' ), '1.3', true );

			wp_register_script( 'firefly', MITECH_THEME_URI . '/assets/js/firefly.js', array( 'jquery' ), MITECH_THEME_VERSION, true );

			wp_register_script( 'wavify', MITECH_THEME_URI . '/assets/js/wavify.js', array(
				'jquery',
				'tween-max',
			), MITECH_THEME_VERSION, true );

			wp_register_script( 'particles', MITECH_THEME_URI . '/assets/libs/particles/particles.min.js', array( 'jquery' ), '2.0.0', true );

			wp_register_script( 'constellation', MITECH_THEME_URI . '/assets/js/constellation.js', array(
				'jquery',
				'particles',
			), MITECH_THEME_VERSION, true );

			wp_register_script( 'odometer', MITECH_THEME_URI . '/assets/libs/odometer/odometer.min.js', array( 'jquery' ), '0.4.6', true );

			wp_register_script( 'counter-up', MITECH_THEME_URI . '/assets/libs/countTo/jquery.countTo.js', array( 'jquery' ), null, true );

			wp_register_script( 'counter', MITECH_THEME_URI . '/assets/js/counter.js', array(
				'jquery',
				'vc_waypoints',
			), MITECH_THEME_VERSION, true );

			wp_register_script( 'chart-js', MITECH_THEME_URI . '/assets/libs/chart/Chart.min.js', array( 'jquery' ), '2.7.1', true );

			wp_register_script( 'advanced-chart', MITECH_THEME_URI . '/assets/js/advanced-chart.js', array(
				'jquery',
				'vc_waypoints',
				'chart-js',
			), MITECH_THEME_VERSION, true );

			wp_register_script( 'circle-progress', MITECH_THEME_URI . '/assets/libs/circle-progress/circle-progress.min.js', array( 'jquery' ), '1.2.2', true );
			wp_register_script( 'circle-progress-chart', MITECH_THEME_URI . '/assets/js/circle-progress-chart.js', array(
				'jquery',
				'vc_waypoints',
				'circle-progress',
			), MITECH_THEME_VERSION, true );

			wp_register_script( 'mitech-accordion', MITECH_THEME_URI . '/assets/js/accordion.js', array( 'jquery' ), MITECH_THEME_VERSION, true );

			wp_register_script( 'mitech-countdown', MITECH_THEME_URI . '/assets/js/countdown.js', array( 'jquery' ), MITECH_THEME_VERSION, true );

			/*
			 * End register scripts
			 */
			wp_enqueue_style( 'font-awesome-pro' );
			wp_enqueue_style( 'swiper' );
			wp_enqueue_style( 'spinkit' );
			wp_enqueue_style( 'lightgallery' );

			/*
			 * Enqueue the theme's style.css.
			 * This is recommended because we can add inline styles there
			 * and some plugins use it to do exactly that.
			 */
			if ( is_rtl() ) {
				wp_enqueue_style( 'mitech-style', get_template_directory_uri() . "/style-rtl{$min}.css", array(), MITECH_THEME_VERSION );
			} else {
				wp_enqueue_style( 'mitech-style', get_template_directory_uri() . "/style{$min}.css", array(), MITECH_THEME_VERSION );
			}

			if ( Mitech_Woo::instance()->is_activated() ) {
				wp_enqueue_style( 'mitech-woocommerce' );
			}

			if ( Mitech::setting( 'header_sticky_enable' ) ) {
				wp_enqueue_script( 'headroom', MITECH_THEME_URI . '/assets/js/headroom.js', array( 'jquery' ), MITECH_THEME_VERSION, true );
			}

			wp_enqueue_script( 'lightgallery' );

			wp_enqueue_script( 'jquery-smooth-scroll', MITECH_THEME_URI . '/assets/libs/smooth-scroll/jquery.smooth-scroll.min.js', array( 'jquery' ), '2.0.1', true );
			wp_enqueue_script( 'swiper' );
			wp_enqueue_script( 'hoverIntent' );
			wp_enqueue_script( 'smartmenus', MITECH_THEME_URI . '/assets/libs/smartmenus/jquery.smartmenus.min.js', array( 'jquery' ), '1.1.0', true );

			wp_enqueue_style( 'perfect-scrollbar', MITECH_THEME_URI . '/assets/libs/perfect-scrollbar/css/perfect-scrollbar.min.css', array(), '0.6.14' );
			wp_enqueue_style( 'perfect-scrollbar-woosw', MITECH_THEME_URI . '/assets/libs/perfect-scrollbar/css/custom-theme.min.css', array(), '0.6.14' );
			wp_enqueue_script( 'perfect-scrollbar', MITECH_THEME_URI . '/assets/libs/perfect-scrollbar/js/perfect-scrollbar.jquery.min.js', array( 'jquery' ), '0.6.14', true );

			if ( Mitech::setting( 'notice_cookie_enable' ) === '1' && ! isset( $_COOKIE['notice_cookie_confirm'] ) ) {
				wp_enqueue_script( 'growl' );
				wp_enqueue_style( 'growl' );
			}

			if ( Mitech_Woo::instance()->is_activated() && Mitech::setting( 'shop_archive_quick_view' ) === '1' ) {
				wp_enqueue_style( 'magnific-popup' );
				wp_enqueue_script( 'magnific-popup' );

				wp_enqueue_style( 'lightslider' );
				wp_enqueue_script( 'lightslider' );
			}

			$is_product = false;

			//  Enqueue styles & scripts for single pages.
			if ( is_singular() ) {

				switch ( $post_type ) {
					case 'case_study':
						$_sticky = Mitech::setting( 'single_case_study_sticky_detail_enable' );


						if ( $_sticky == '1' ) {
							wp_enqueue_script( 'sticky-kit' );
						}

						wp_enqueue_style( 'lightgallery' );
						wp_enqueue_script( 'lightgallery' );

						wp_enqueue_script( 'isotope-packery' );

						break;

					case 'product':
						$is_product = true;

						wp_enqueue_style( 'lightgallery' );
						wp_enqueue_script( 'lightgallery' );

						wp_enqueue_style( 'lightslider' );
						wp_enqueue_script( 'lightslider' );

						break;
				}
			}

			/*
			 * The comment-reply script.
			 */
			if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
				if ( $post_type === 'post' ) {
					if ( Mitech::setting( 'single_post_comment_enable' ) === '1' ) {
						wp_enqueue_script( 'comment-reply' );
					}
				} elseif ( $post_type === 'case_study' ) {
					if ( Mitech::setting( 'single_case_study_comment_enable' ) === '1' ) {
						wp_enqueue_script( 'comment-reply' );
					}
				} else {
					wp_enqueue_script( 'comment-reply' );
				}
			}

			$maintenance_templates = Mitech_Maintenance::instance()->get_maintenance_templates_dir();

			if ( is_page_template( $maintenance_templates ) ) {
				wp_enqueue_script( 'mitech-maintenance', MITECH_THEME_URI . '/assets/js/maintenance.js', array( 'jquery' ), MITECH_THEME_VERSION, true );
			}

			if ( is_page_template( 'templates/one-page-scroll.php' ) ) {
				wp_enqueue_script( 'full-page', MITECH_THEME_URI . '/assets/js/jquery.fullPage.js', array( 'jquery' ), MITECH_THEME_VERSION, true );
			}

			wp_enqueue_script( 'wpb_composer_front_js' );

			/*
			 * Enqueue main JS
			 */
			wp_enqueue_script( 'mitech-script', MITECH_THEME_URI . '/assets/js/main.js', array(
				'jquery',
				'vc_waypoints',
			), MITECH_THEME_VERSION, true );

			if ( Mitech_Woo::instance()->is_activated() ) {
				wp_enqueue_script( 'mitech-woo', MITECH_THEME_URI . '/assets/js/woo.js', array(
					'mitech-script',
				), MITECH_THEME_VERSION, true );
			}

			/*
			 * Enqueue custom variable JS
			 */

			$js_variables = array(
				'isRTL'                     => is_rtl(),
				'templateUrl'               => MITECH_THEME_URI,
				'ajaxurl'                   => admin_url( 'admin-ajax.php' ),
				'primary_color'             => Mitech::setting( 'primary_color' ),
				'header_sticky_enable'      => Mitech::setting( 'header_sticky_enable' ),
				'header_sticky_height'      => Mitech::setting( 'header_sticky_height' ),
				'scroll_top_enable'         => Mitech::setting( 'scroll_top_enable' ),
				'light_gallery_auto_play'   => Mitech::setting( 'light_gallery_auto_play' ),
				'light_gallery_download'    => Mitech::setting( 'light_gallery_download' ),
				'light_gallery_full_screen' => Mitech::setting( 'light_gallery_full_screen' ),
				'light_gallery_zoom'        => Mitech::setting( 'light_gallery_zoom' ),
				'light_gallery_thumbnail'   => Mitech::setting( 'light_gallery_thumbnail' ),
				'light_gallery_share'       => Mitech::setting( 'light_gallery_share' ),
				'mobile_menu_breakpoint'    => Mitech::setting( 'mobile_menu_breakpoint' ),
				'isProduct'                 => $is_product,
				'noticeCookieEnable'        => Mitech::setting( 'notice_cookie_enable' ),
				'noticeCookieConfirm'       => isset( $_COOKIE['notice_cookie_confirm'] ) ? 'yes' : 'no',
				'noticeCookieMessages'      => Mitech_Notices::instance()->get_notice_cookie_messages(),
				'isShowNewsletterPopup'     => Mitech_Notices::instance()->is_show_newsletter_popup(),
			);
			wp_localize_script( 'mitech-script', '$insight', $js_variables );

			/**
			 * Custom JS
			 */
			if ( Mitech::setting( 'custom_js_enable' ) == 1 ) {
				wp_add_inline_script( 'mitech-script', html_entity_decode( Mitech::setting( 'custom_js' ) ) );
			}

			// VC custom css.
			$_mitech_query     = Mitech_Global::instance()->get_footer_post();
			$footer_custom_css = '';
			if ( $_mitech_query !== '' && $_mitech_query->have_posts() ) {
				while ( $_mitech_query->have_posts() ) : $_mitech_query->the_post();
					$footer_custom_css .= get_post_meta( get_the_ID(), '_wpb_shortcodes_custom_css', true );
				endwhile;

				wp_add_inline_style( 'mitech-style', html_entity_decode( $footer_custom_css, ENT_QUOTES ) );

				wp_reset_postdata();
			}
		}

		public function rtl_styles() {
			$min = $this->get_min_suffix();

			wp_register_style( 'mitech-style-rtl-custom', MITECH_THEME_URI . "/style-rtl-custom$min.css", [ 'mitech-style' ], MITECH_THEME_VERSION );

			if ( is_rtl() ) {
				wp_enqueue_style( 'mitech-style-rtl-custom' );
			}
		}

		/**
		 * @return string
		 */
		public function get_min_suffix() {
			return defined( 'SCRIPT_DEBUG' ) && true === SCRIPT_DEBUG ? '' : '.min';
		}

		public function get_rtl_suffix() {
			return is_rtl() ? '-rtl' : '';
		}
	}

	Mitech_Enqueue::instance()->init();
}