Sindbad~EG File Manager
<?php
/**
* Methods used for filtering and displaying WP Featherlight images.
*
* @package WPFeatherlight\Scripts
* @copyright Copyright (c) 2018, Cipher Development, LLC
* @license GPL-2.0+
* @since 0.1.0
*/
/**
* The main featherlight script and style loader.
*
* @since 0.1.0
*/
class WP_Featherlight_Scripts {
/**
* Property for storing the script and style suffix.
*
* @since 0.3.0
* @var string
*/
protected $suffix;
/**
* Property for storing the plugin directory URL.
*
* @since 0.3.0
* @var string
*/
protected $url;
/**
* Property for storing the script and style version.
*
* @since 0.3.0
* @var string
*/
protected $version;
/**
* Set up class properties.
*
* @since 0.1.0
* @param string $url The absolute URI path to the plugin directory.
* @param string $version The version to use when loading scripts.
* @return void
*/
public function __construct( $url, $version ) {
$this->suffix = $this->get_suffix();
$this->url = $url;
$this->version = $version;
}
/**
* Helper function for getting the script `.min` suffix for minified files.
*
* @since 0.1.0
* @access public
* @return string
*/
public function get_suffix() {
static $suffix;
if ( null === $suffix ) {
$debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
$enabled = (bool) apply_filters( 'wp_featherlight_enable_suffix', ! $debug );
$suffix = $enabled ? '.min' : '';
}
return $suffix;
}
/**
* Load all required CSS files on the front end.
*
* Developers can disable our CSS by filtering wp_featherlight_load_css to
* false within their theme or plugin.
*
* @since 0.1.0
* @access public
* @return void
*/
public function load_css() {
if ( ! apply_filters( 'wp_featherlight_load_css', true ) ) {
return;
}
wp_enqueue_style(
'wp-featherlight',
"{$this->url}css/wp-featherlight{$this->suffix}.css",
array(),
$this->version
);
wp_style_add_data( 'wp-featherlight', 'rtl', 'replace' );
wp_style_add_data( 'wp-featherlight', 'suffix', $this->suffix );
}
/**
* Helper function to determine whether or not to load a packed version of
* our JavaScript libraries on the front end.
*
* Developers can filter wp_featherlight_enable_packed_js to false if they
* are loading any of the following libraries in their theme or plugin:
*
* http://noelboss.github.io/featherlight/
* http://noelboss.github.io/featherlight/gallery.html
* https://github.com/marcandre/detect_swipe
*
* @since 0.1.0
* @access protected
* @return bool
*/
protected function enable_packed_js() {
if ( empty( $this->suffix ) ) {
return false;
}
return apply_filters( 'wp_featherlight_enable_packed_js', true );
}
/**
* Load all required JavaScript files on the front end.
*
* Developers can disable our JS by filtering wp_featherlight_load_js to
* false within their theme or plugin.
*
* @since 0.1.0
* @access public
* @return void
*/
public function load_js() {
if ( ! apply_filters( 'wp_featherlight_load_js', true ) ) {
return;
}
if ( $this->enable_packed_js() ) {
$this->load_packed_js();
} else {
$this->load_unpacked_js();
}
}
/**
* Load the packed and minified version of our JavaScript files. This is the
* preferred loading method as it saves us from adding a bunch of http
* requests, but it could create conflicts with some plugins and themes.
*
* @since 0.1.0
* @access public
* @return void
*/
public function load_packed_js() {
wp_enqueue_script(
'wp-featherlight',
"{$this->url}js/wpFeatherlight.pkgd{$this->suffix}.js",
array( 'jquery' ),
$this->version,
true
);
}
/**
* Load all of our JS files individually to for maximum compatibility.
*
* @since 0.1.0
* @access public
* @return void
*/
public function load_unpacked_js() {
wp_enqueue_script(
'jquery-detect-swipe',
"{$this->url}js/vendor/jquery.detect_swipe{$this->suffix}.js",
array( 'jquery' ),
'2.1.4',
true
);
wp_enqueue_script(
'featherlight',
"{$this->url}js/vendor/featherlight{$this->suffix}.js",
array( 'jquery-detect-swipe' ),
'1.7.9',
true
);
wp_enqueue_script(
'featherlight-gallery',
"{$this->url}js/vendor/featherlight.gallery{$this->suffix}.js",
array( 'featherlight' ),
'1.7.9',
true
);
wp_enqueue_script(
'wp-featherlight',
"{$this->url}js/wpFeatherlight{$this->suffix}.js",
array( 'featherlight-gallery' ),
$this->version,
true
);
}
/**
* Remove all required scripts and styles on entries where the user has
* checked the admin option to disable the lightbox.
*
* @since 0.1.0
* @access public
* @return void
*/
public function maybe_disable() {
if ( get_post_meta( get_the_ID(), 'wp_featherlight_disable', true ) ) {
add_filter( 'wp_featherlight_load_css', '__return_false' );
add_filter( 'wp_featherlight_load_js', '__return_false' );
}
}
/**
* Add custom body classes to help our script enable and disable features
* without creating true plugin database options.
*
* @since 0.3.0
* @access public
* @param array $classes the existing body classes.
* @return array $classes the amended body classes.
*/
public function script_helpers( $classes ) {
if ( apply_filters( 'wp_featherlight_captions', true ) ) {
$classes[] = 'wp-featherlight-captions';
}
return $classes;
}
/**
* Get the class running!
*
* @since 0.1.0
* @access public
* @return void
*/
public function run() {
_deprecated_function( __METHOD__, '1.0.0' );
}
/**
* Hook into WordPress.
*
* @since 0.1.0
* @access protected
* @return void
*/
protected function wp_hooks() {
_deprecated_function( __METHOD__, '1.0.0' );
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists