Viewing File: /home/rtsgrob/ww4/wp-content/updraft/plugins-old/keydesign-addon/keydesign-addon.php

<?php
/*
	Plugin Name: KeyDesign Addon
	Plugin URI: https://keydesign-themes.com/
	Author: KeyDesign
	Author URI: https://keydesign-themes.com/
	Version: 3.4
	Description: KeyDesign Core Plugin for Incubator Theme
	Text Domain: keydesign
*/

	if ( ! defined( 'ABSPATH' ) ) die('-1');

	if ( ! defined( 'KEYDESIGN_PLUGIN_PATH' ) ) {
		define( 'KEYDESIGN_PLUGIN_PATH', dirname( __FILE__ ) );
	}

	if ( is_admin() ) {
		/* Load admin area */
		require_once ( trailingslashit( KEYDESIGN_PLUGIN_PATH ) . 'theme/admin/admin-init.php' );

		/* Import OCDI files */
		require_once ( trailingslashit( KEYDESIGN_PLUGIN_PATH ) . 'theme/vendors/ocdi/one-click-demo-import.php' );

		/* Theme demo import config */
		require_once ( trailingslashit( KEYDESIGN_PLUGIN_PATH ) . 'theme/admin/theme-demo-config.php' );
	}

	add_action('admin_init','initiate_keydesign_addon');
	function initiate_keydesign_addon() {
		if ( defined('WPB_VC_VERSION') ){
			if ( version_compare( 6.10, WPB_VC_VERSION, '>' )){
				add_action( 'admin_notices', 'keydesign_version_notice' );
				add_action( 'network_admin_notices','keydesign_version_notice' );
			}
		} else {
			add_action( 'admin_notices', 'keydesign_activation_notice' );
			add_action( 'network_admin_notices','keydesign_activation_notice' );
		}
	}

	/* Verify VC version and activation */
	function keydesign_version_notice() {
		$is_multisite = is_multisite();
		$is_network_admin = is_network_admin();
		if( ( $is_multisite && $is_network_admin ) || !$is_multisite ) {
			echo '<div class="updated">
				<p>'.__('The','keydesign').' <strong>Keydesign Addon</strong> '.__('plugin requires','keydesign').' <strong>WPBakery Page Builder</strong> '.__('version 6.10 or greater.','keydesign').'</p>
			</div>';
		}
	}

	function keydesign_activation_notice() {
		$is_multisite = is_multisite();
		$is_network_admin = is_network_admin();
		if( ( $is_multisite && $is_network_admin) || !$is_multisite ) {
			echo '<div class="updated">
				<p>'.__('The','keydesign').' <strong>KeyDesign Addon</strong> '.__('plugin requires','keydesign').' <strong>WPBakery Page Builder</strong> '.__('Plugin installed and activated.','keydesign').'</p>
			</div>';
		}
	}

	/*	Load plugin textdomain. */
	add_action( 'plugins_loaded', 'keydesign_addon_load_textdomain' );
	function keydesign_addon_load_textdomain() {
		load_plugin_textdomain( 'keydesign', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
	}

	/* Allow SVG icon upload */
	add_filter( 'upload_mimes', 'keydesign_svg_upload' );
	function keydesign_svg_upload( $mimes ){
		$mimes['svg'] = 'image/svg+xml';
		return $mimes;
	}

	/* Embed width and height */
	add_filter( 'embed_defaults', 'modify_embed_defaults' );
	function modify_embed_defaults() {
	    return array(
	        'width'  => 750,
	        'height' => 375
	    );
	}

	/* Add post meta boxes */
	require_once ( trailingslashit( KEYDESIGN_PLUGIN_PATH ) . 'theme-pagemeta.php' );

	if ( !class_exists( 'KEYDESIGN_ADDON_CLASS' ) ) {
		class KEYDESIGN_ADDON_CLASS {

			public $elements_folder;
			public $params_dir;

			function __construct() {
				$this->elements_folder	=	plugin_dir_path( __FILE__ ).'elements/';
				$this->params_dir = plugin_dir_path( __FILE__ ).'params/';
				add_action( 'after_setup_theme', array( $this, 'integrate_with_vc' ) );
				add_action( 'wp_enqueue_scripts', array( $this, 'keydesign_load_front_scripts' ) );
				add_action( 'admin_enqueue_scripts', array( $this, 'keydesign_load_admin_scripts') );
				add_action( 'init', array( $this, 'keydesign_init_portfolio_cpt' ) );
				add_action( 'widgets_init', array( $this, 'keydesign_register_kd_socials' ) );
				add_action( 'add_meta_boxes', 'themetek_add_meta_box' );
			}

			public function integrate_with_vc() {
				if ( class_exists( 'WPBakeryShortCode' ) ) {
					foreach( glob( $this->elements_folder."/*.php" ) as $elem ) {
						require_once( $elem );
					}
					foreach( glob( $this->params_dir."/*.php" ) as $param ) {
						require_once( $param );
					}
				}
			}

			public function keydesign_init_portfolio_cpt() {
				require_once ( trailingslashit( KEYDESIGN_PLUGIN_PATH ) . 'custom-post-type.php' );
			}

			function keydesign_register_kd_socials() {
				require_once ( trailingslashit( KEYDESIGN_PLUGIN_PATH ) . '/widgets/socials.php' );
			 	register_widget( 'kd_socials' );
			}

			public function keydesign_load_front_scripts() {
				// Register & Load plug-in main style sheet
				wp_register_style( 'kd_addon_style', plugins_url('assets/css/kd_vc_front.css', __FILE__));
				wp_enqueue_style( 'kd_addon_style' );

				// Easing Script
				wp_register_script( 'kd_easing_script', plugins_url('assets/js/jquery.easing.min.js', __FILE__), array('jquery') );
				wp_enqueue_script ( 'kd_easing_script' );

				// OWL Carousel
				wp_register_style( 'kd_carousel_style', plugins_url('assets/css/owl.carousel.min.css', __FILE__));
				wp_enqueue_style( 'kd_carousel_style' );
				wp_register_script( 'kd_carousel_script', plugins_url('assets/js/owl.carousel.min.js', __FILE__), array('jquery') );
				wp_enqueue_script ( 'kd_carousel_script' );

				// Easy Tabs
				wp_register_script( 'kd_easytabs_script', plugins_url('assets/js/jquery.easytabs.min.js', __FILE__), array('jquery') );
				wp_enqueue_script ( 'kd_easytabs_script' );

		    	// Countdown Element
				wp_register_script( 'kd_countdown_script', plugins_url('assets/js/jquery.countdown.js', __FILE__), array('jquery') );

				// Pie Chart Element
				wp_register_script( 'kd_easypiechart_script', plugins_url('assets/js/jquery.easypiechart.min.js', __FILE__), array('jquery') );

				// Event session Element
				wp_register_script( 'kd_jquery_appear', plugins_url('assets/js/jquery.appear.js', __FILE__), array('jquery') );
				wp_enqueue_script ( 'kd_jquery_appear' );

				// Register & Load Photoswipe
				wp_register_style( 'photoswipe', plugins_url('assets/css/photoswipe.css', __FILE__));
				wp_register_style( 'photoswipe-skin', plugins_url('assets/css/photoswipe-default-skin.css', __FILE__));
				wp_register_script( 'photoswipejs', plugins_url('assets/js/photoswipe.min.js', __FILE__), array('jquery') );
				wp_register_script( 'photoswipejs-ui', plugins_url('assets/js/photoswipe-ui-default.min.js', __FILE__), array('jquery') );

				// Progressbar element
				wp_register_script( 'kd_progressbar', plugins_url('assets/js/kd_progressbar.js', __FILE__), array('jquery') );

				// Counter element
				wp_register_script( 'kd_countto', plugins_url('assets/js/kd_countto.js', __FILE__), array('jquery') );

				// Plugin Front End Script
				wp_register_script( 'kd_addon_script', plugins_url('assets/js/kd_addon_script.js', __FILE__), array('jquery') );
				wp_enqueue_script ( 'kd_addon_script' );

				// Deque and deregister FontAwesome on WPBakery
				wp_dequeue_style( 'vc_font_awesome_5_shims' );
	      		wp_deregister_style( 'vc_font_awesome_5_shims' );
				wp_dequeue_style( 'vc_font_awesome_5' );
				wp_deregister_style( 'vc_font_awesome_5' );
			}

			public function keydesign_load_admin_scripts() {
				wp_enqueue_style( 'kd_addon_backend_style', plugins_url( 'assets/admin/css/kd_vc_backend.css', __FILE__ ) );
			}

		}
	}

	// Finally initialize code
	new KEYDESIGN_ADDON_CLASS();
Back to Directory File Manager