File: /home/thuexe247c/public_html/wp-content/plugins/sliderkits/includes/class-init.php
<?php
/**
* SliderKits setup
*
* @package SliderKits
* @since 1.0.4
*/
defined( 'ABSPATH' ) || exit;
/**
* Main SliderKits Class.
*
* @class SliderKits
*/
final class SliderKits {
/**
* SliderKits version.
*
* @var string
*/
public $version = '1.0.4';
/**
* The single instance of the class.
*
* @var SliderKits
* @since 1.0.0
*/
protected static $_instance = null;
/**
* Main SliderKits Instance.
*
* Ensures only one instance of SliderKits is loaded or can be loaded.
*
* @since 1.0.0
* @static
* @see SliderKits()
* @return SliderKits - Main instance.
*/
public static function instance() {
if ( is_null( self::$_instance ) ) {
self::$_instance = new self();
}
return self::$_instance;
}
/**
* Cloning is forbidden.
*
* @since 1.0.0
*/
public function __clone() {
wc_doing_it_wrong( __FUNCTION__, esc_html__( 'Cloning is forbidden.', 'sliderkits' ), $this->version );
}
/**
* Unserializing instances of this class is forbidden.
*
* @since 1.0.0
*/
public function __wakeup() {
wc_doing_it_wrong( __FUNCTION__, esc_html__( 'Unserializing instances of this class is forbidden.', 'sliderkits' ), $this->version );
}
/**
* SuperPro Constructor.
*/
public function __construct() {
$this->define_constants();
$this->init_hooks();
}
/**
* Init Hooks
*/
public function init_hooks(){
add_action( 'init', array( $this,'textdomain' ) );
add_action( 'wp_enqueue_scripts', array( $this, 'scripts' ) );
add_action( 'init', array( $this,'includes' ) );
add_action( 'init', array( $this, 'check_update' ) );
}
/**
* Define SliderKits Constants.
*/
private function define_constants() {
$this->define( 'SK_DEBUG', FALSE );
$this->define( 'SK_ABSPATH', dirname( SK_FILE ) . '/' );
$this->define( 'SK_PLUGIN_BASENAME', plugin_basename( SK_FILE ) );
$this->define( 'SK_DIR', plugin_dir_path( dirname(__FILE__) ) );
$this->define( 'SK_DIR_URI', plugins_url( __FILE__ ) );
$this->define( 'SK_ROOT_DIR', plugins_url().'/'.plugin_basename( SK_DIR ).'/' );
$this->define( 'SK_VERSION', $this->version );
$this->define( 'SK_PLACEHOLDER_IMG', plugins_url( 'assets/img/placeholder.png', SK_FILE ) );
}
/**
* Define constant if not already set.
*
* @param string $name Constant name.
* @param string|bool $value Constant value.
*/
private function define( $name, $value ) {
if ( ! defined( $name ) ) {
define( $name, $value );
}
}
/**
* Localize
*/
public function textdomain() {
load_plugin_textdomain( 'sliderkits', FALSE, dirname( plugin_basename( SK_FILE ) ).'/languages/' );
}
/**
* Styles / Scripts
*/
public function scripts() {
$min = ! SK_DEBUG ? '.min' : '';
/* Dependent CSS Files */
$depend_css_files = array(
'slick' => 'assets/vendors/slick/slick.css',
'slick-theme' => 'assets/vendors/slick/slick-theme.css',
'sliderkits' => 'assets/css/sliderkits' . $min . '.css',
'default-slider' => 'assets/css/widgets/default-slider.css',
'split-slider' => 'assets/css/widgets/split-slider.css',
'carousel-slider' => 'assets/css/widgets/carousel-slider.css',
'carousel-popup' => 'assets/css/widgets/carousel-popup.css',
'carousel-with-background' => 'assets/css/widgets/carousel-with-background.css',
'accordion-slider' => 'assets/css/widgets/accordion-slider.css',
'app-slider' => 'assets/css/widgets/app-slider.css',
'blog-slider' => 'assets/css/widgets/blog-slider.css',
'team-slider' => 'assets/css/widgets/team-slider.css'
);
foreach ( $depend_css_files as $handle => $path ) {
wp_register_style( $handle, plugins_url( $path, SK_FILE ), '', null );
}
/* Plugin Core Scripts and Styles */
wp_enqueue_style( 'bootstrap-grid', plugins_url( 'assets/vendors/bootstrip-grid.min.css', SK_FILE ), '', null );
wp_enqueue_style( 'sliderkits-icons', plugins_url( 'assets/vendors/sliderkits-icons/sliderkits-icons.css', SK_FILE ), '', null );
wp_enqueue_script( 'lazyload', plugins_url( 'assets/vendors/lazyload.min.js', SK_FILE ), array(), null, false );
wp_enqueue_script( 'slick', plugins_url( 'assets/vendors/slick/slick.min.js', SK_FILE ), array( 'jquery' ), null, true );
wp_enqueue_script( 'sliderkits', plugins_url( 'assets/js/sliderkits' . $min . '.js', SK_FILE ), array( 'jquery', 'imagesloaded' ), null, true );
}
/**
* Include required core files used in admin and on the frontend.
*/
public function includes() {
require_once SK_ABSPATH . 'includes/class-template-loader.php';
require_once SK_ABSPATH . 'includes/class-elementor-widgets.php';
require_once SK_ABSPATH . 'includes/plugin-update-checker/plugin-update-checker.php';
}
public function check_update(){
$UpdateChecker = Puc_v4_Factory::buildUpdateChecker(
'https://focuxtheme.com/update-server/?action=get_metadata&slug=sliderkits',
SK_FILE,
'sliderkits'
);
}
}