Version Description
Switch to wp_add_inline_script() and fix inline js minification incompatibility
=
Download this release
Release Info
Developer | deployer |
Plugin | Easy FancyBox |
Version | 1.6.3 |
Comparing to | |
See all releases |
Code changes from version 1.6.2 to 1.6.3
- easy-fancybox.php +9 -5
- inc/class-easyfancybox-admin.php +28 -25
- inc/class-easyfancybox.php +27 -30
easy-fancybox.php
CHANGED
@@ -5,12 +5,12 @@ Plugin URI: http://status301.net/wordpress-plugins/easy-fancybox/
|
|
5 |
Description: Easily enable the <a href="http://fancybox.net/">FancyBox jQuery extension</a> on all image, SWF, PDF, YouTube, Dailymotion and Vimeo links. Also supports iFrame and inline content.
|
6 |
Text Domain: easy-fancybox
|
7 |
Domain Path: languages
|
8 |
-
Version: 1.6.
|
9 |
Author: RavanH
|
10 |
Author URI: http://status301.net/
|
11 |
*/
|
12 |
|
13 |
-
/* Copyright
|
14 |
|
15 |
This program is free software; you can redistribute it and/or modify
|
16 |
it under the terms of the GNU General Public License as published by
|
@@ -37,16 +37,20 @@ if ( ! defined( 'ABSPATH' ) ) exit;
|
|
37 |
* CONSTANTS
|
38 |
**************/
|
39 |
|
40 |
-
define( 'EASY_FANCYBOX_VERSION', '1.6.
|
41 |
define( 'FANCYBOX_VERSION', '1.3.8' );
|
42 |
define( 'MOUSEWHEEL_VERSION', '3.1.13' );
|
43 |
define( 'EASING_VERSION', '1.4.0' );
|
44 |
define( 'METADATA_VERSION', '2.22.1' );
|
45 |
|
46 |
/**************
|
47 |
-
*
|
48 |
**************/
|
49 |
|
50 |
require_once dirname(__FILE__) . '/inc/class-easyfancybox.php';
|
51 |
-
|
52 |
$efb = new easyFancyBox( __FILE__ );
|
|
|
|
|
|
|
|
|
|
5 |
Description: Easily enable the <a href="http://fancybox.net/">FancyBox jQuery extension</a> on all image, SWF, PDF, YouTube, Dailymotion and Vimeo links. Also supports iFrame and inline content.
|
6 |
Text Domain: easy-fancybox
|
7 |
Domain Path: languages
|
8 |
+
Version: 1.6.3
|
9 |
Author: RavanH
|
10 |
Author URI: http://status301.net/
|
11 |
*/
|
12 |
|
13 |
+
/* Copyright 2018 RavanH (email : ravanhagen@gmail.com)
|
14 |
|
15 |
This program is free software; you can redistribute it and/or modify
|
16 |
it under the terms of the GNU General Public License as published by
|
37 |
* CONSTANTS
|
38 |
**************/
|
39 |
|
40 |
+
define( 'EASY_FANCYBOX_VERSION', '1.6.3' );
|
41 |
define( 'FANCYBOX_VERSION', '1.3.8' );
|
42 |
define( 'MOUSEWHEEL_VERSION', '3.1.13' );
|
43 |
define( 'EASING_VERSION', '1.4.0' );
|
44 |
define( 'METADATA_VERSION', '2.22.1' );
|
45 |
|
46 |
/**************
|
47 |
+
* CLASSES
|
48 |
**************/
|
49 |
|
50 |
require_once dirname(__FILE__) . '/inc/class-easyfancybox.php';
|
|
|
51 |
$efb = new easyFancyBox( __FILE__ );
|
52 |
+
|
53 |
+
if ( is_admin() ) {
|
54 |
+
require_once dirname(__FILE__) . '/inc/class-easyfancybox-admin.php';
|
55 |
+
$efb_admin = new easyFancyBox_Admin();
|
56 |
+
}
|
inc/class-easyfancybox-admin.php
CHANGED
@@ -14,11 +14,18 @@ class easyFancyBox_Admin extends easyFancyBox {
|
|
14 |
ADMIN FUNCTIONS
|
15 |
***********************/
|
16 |
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
18 |
foreach ($args as $key => $value) {
|
19 |
// check to see if the section is enabled, else skip to next
|
20 |
-
if ( !isset($value['input'])
|
21 |
-
|
|
|
|
|
22 |
|
23 |
switch($value['input']) {
|
24 |
case 'deep':
|
@@ -229,31 +236,11 @@ class easyFancyBox_Admin extends easyFancyBox {
|
|
229 |
}
|
230 |
}
|
231 |
|
232 |
-
|
233 |
-
RUN
|
234 |
-
**********************/
|
235 |
-
|
236 |
-
public static function run() {
|
237 |
-
add_action('plugins_loaded', array(__CLASS__, 'load_textdomain'));
|
238 |
-
add_action('admin_init', array(__CLASS__, 'admin_init'));
|
239 |
-
}
|
240 |
-
|
241 |
-
public static function load_textdomain(){
|
242 |
load_plugin_textdomain('easy-fancybox', false, dirname( parent::$plugin_basename ) . '/languages' );
|
243 |
}
|
244 |
|
245 |
-
public static function
|
246 |
-
add_action('admin_notices', array(__CLASS__, 'admin_notice'));
|
247 |
-
|
248 |
-
add_filter('plugin_action_links_'.parent::$plugin_basename, array(__CLASS__, 'add_action_link') );
|
249 |
-
|
250 |
-
// in preparation of dedicated admin page move:
|
251 |
-
//add_action('admin_menu', array(__CLASS__, 'add_menu'));
|
252 |
-
|
253 |
-
add_settings_section('fancybox_section', __('FancyBox','easy-fancybox'), array(__CLASS__, 'settings_section'), 'media');
|
254 |
-
|
255 |
-
self::register_settings( parent::$options );
|
256 |
-
|
257 |
/* Dismissable notice */
|
258 |
/* If user clicks to ignore the notice, add that to their user meta */
|
259 |
global $current_user;
|
@@ -267,4 +254,20 @@ class easyFancyBox_Admin extends easyFancyBox {
|
|
267 |
self::$do_compat_warning = true;
|
268 |
}
|
269 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
}
|
14 |
ADMIN FUNCTIONS
|
15 |
***********************/
|
16 |
|
17 |
+
public static function add_settings_section() {
|
18 |
+
add_settings_section('fancybox_section', __('FancyBox','easy-fancybox'), array(__CLASS__, 'settings_section'), 'media');
|
19 |
+
}
|
20 |
+
|
21 |
+
public static function register_settings( $args = [] ) {
|
22 |
+
if ( empty( $args ) ) $args = parent::$options;
|
23 |
foreach ($args as $key => $value) {
|
24 |
// check to see if the section is enabled, else skip to next
|
25 |
+
if ( !isset($value['input'])
|
26 |
+
|| array_key_exists($key, parent::$options['Global']['options']['Enable']['options'])
|
27 |
+
&& !get_option( parent::$options['Global']['options']['Enable']['options'][$key]['id'], parent::$options['Global']['options']['Enable']['options'][$key]['default'])
|
28 |
+
) continue;
|
29 |
|
30 |
switch($value['input']) {
|
31 |
case 'deep':
|
236 |
}
|
237 |
}
|
238 |
|
239 |
+
public static function load_textdomain() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
load_plugin_textdomain('easy-fancybox', false, dirname( parent::$plugin_basename ) . '/languages' );
|
241 |
}
|
242 |
|
243 |
+
public static function admin_notice_dismiss() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
/* Dismissable notice */
|
245 |
/* If user clicks to ignore the notice, add that to their user meta */
|
246 |
global $current_user;
|
254 |
self::$do_compat_warning = true;
|
255 |
}
|
256 |
|
257 |
+
/**********************
|
258 |
+
RUN
|
259 |
+
**********************/
|
260 |
+
|
261 |
+
public function __construct() {
|
262 |
+
add_action('plugins_loaded', array(__CLASS__, 'load_textdomain'));
|
263 |
+
add_action('admin_notices', array(__CLASS__, 'admin_notice'));
|
264 |
+
add_filter('plugin_action_links_'.parent::$plugin_basename, array(__CLASS__, 'add_action_link') );
|
265 |
+
|
266 |
+
// in preparation of dedicated admin page move:
|
267 |
+
//add_action('admin_menu', array(__CLASS__, 'add_menu'));
|
268 |
+
|
269 |
+
add_action('admin_init', array(__CLASS__, 'add_settings_section'));
|
270 |
+
add_action('admin_init', array(__CLASS__, 'register_settings'));
|
271 |
+
add_action('admin_init', array(__CLASS__, 'admin_notice_dismiss'));
|
272 |
+
}
|
273 |
}
|
inc/class-easyfancybox.php
CHANGED
@@ -81,7 +81,8 @@ var fb_opts = {';
|
|
81 |
}
|
82 |
}
|
83 |
echo ' };
|
84 |
-
var easy_fancybox_handler = function(){
|
|
|
85 |
|
86 |
foreach (self::$options as $key => $value) {
|
87 |
// check if not enabled or hide=true then skip
|
@@ -202,7 +203,7 @@ var easy_fancybox_handler = function(){';
|
|
202 |
}
|
203 |
|
204 |
echo '
|
205 |
-
}
|
206 |
var easy_fancybox_auto = function(){';
|
207 |
|
208 |
if ( empty($delayClick) ) $delayClick = '0';
|
@@ -227,7 +228,7 @@ var easy_fancybox_auto = function(){';
|
|
227 |
}
|
228 |
|
229 |
echo '
|
230 |
-
}
|
231 |
/* ]]> */
|
232 |
</script>
|
233 |
';
|
@@ -311,14 +312,21 @@ var easy_fancybox_auto = function(){';
|
|
311 |
else
|
312 |
wp_register_script('jquery-fancybox', self::$plugin_url.'fancybox/jquery.fancybox-'.FANCYBOX_VERSION.'.min.js', array('jquery'), EASY_FANCYBOX_VERSION, true);
|
313 |
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
}
|
323 |
|
324 |
// mousewheel in IMG settings?
|
@@ -363,25 +371,23 @@ var easy_fancybox_auto = function(){';
|
|
363 |
|
364 |
public static function on_ready() {
|
365 |
|
366 |
-
if (!self::$add_scripts)
|
367 |
-
return;
|
368 |
|
369 |
// 'gform_post_render' for gForms content triggers an error... Why?
|
370 |
// 'post-load' is for Infinite Scroll by JetPack
|
371 |
|
372 |
// first exclude some links by adding nolightbox class:
|
373 |
// (1) nofancybox backwards compatibility and (2) tries to detect social sharing buttons with known issues
|
374 |
-
echo '<script type="text/javascript">
|
375 |
-
jQuery(document).on(\'ready post-load\', function(){ jQuery(\'.nofancybox,a.pin-it-button,a[href*="pinterest.com/pin/create"]\').addClass(\'nolightbox\'); });';
|
376 |
|
377 |
-
echo apply_filters( 'easy_fancybox_onready_handler', '
|
378 |
-
jQuery(document).on(\'ready post-load\',easy_fancybox_handler);' );
|
379 |
|
380 |
-
echo apply_filters( '
|
381 |
-
jQuery(document).on(\'ready\',easy_fancybox_auto);' );
|
382 |
|
383 |
-
echo '
|
384 |
-
|
|
|
385 |
}
|
386 |
|
387 |
// Hack to fix missing wmode in Youtube oEmbed code based on David C's code in the comments on
|
@@ -404,13 +410,6 @@ jQuery(document).on(\'ready\',easy_fancybox_auto);' );
|
|
404 |
add_filter('embed_oembed_html', array(__CLASS__, 'add_video_wmode_opaque'), 10, 3);
|
405 |
}
|
406 |
|
407 |
-
public static function plugins_loaded(){
|
408 |
-
if ( is_admin() ) {
|
409 |
-
require_once dirname(__FILE__) . '/class-easyfancybox-admin.php';
|
410 |
-
easyFancyBox_Admin::run();
|
411 |
-
}
|
412 |
-
}
|
413 |
-
|
414 |
/**********************
|
415 |
RUN
|
416 |
**********************/
|
@@ -424,8 +423,6 @@ jQuery(document).on(\'ready\',easy_fancybox_auto);' );
|
|
424 |
require_once dirname(__FILE__) . '/class-easyfancybox-options.php';
|
425 |
|
426 |
// HOOKS //
|
427 |
-
add_action('plugins_loaded', array(__CLASS__, 'plugins_loaded'));
|
428 |
-
|
429 |
add_action('init', array(__CLASS__, 'init'));
|
430 |
add_action('wp_enqueue_scripts', array(__CLASS__, 'enqueue_styles'), 999);
|
431 |
add_action('wp_head', array(__CLASS__, 'main_script'), 999);
|
81 |
}
|
82 |
}
|
83 |
echo ' };
|
84 |
+
var easy_fancybox_handler = function(){
|
85 |
+
jQuery(\'.nofancybox,a.pin-it-button,a[href*="pinterest.com/pin/create"]\').addClass(\'nolightbox\');';
|
86 |
|
87 |
foreach (self::$options as $key => $value) {
|
88 |
// check if not enabled or hide=true then skip
|
203 |
}
|
204 |
|
205 |
echo '
|
206 |
+
};
|
207 |
var easy_fancybox_auto = function(){';
|
208 |
|
209 |
if ( empty($delayClick) ) $delayClick = '0';
|
228 |
}
|
229 |
|
230 |
echo '
|
231 |
+
};
|
232 |
/* ]]> */
|
233 |
</script>
|
234 |
';
|
312 |
else
|
313 |
wp_register_script('jquery-fancybox', self::$plugin_url.'fancybox/jquery.fancybox-'.FANCYBOX_VERSION.'.min.js', array('jquery'), EASY_FANCYBOX_VERSION, true);
|
314 |
|
315 |
+
$add_easing = false;
|
316 |
+
// test for easing in IMG settings
|
317 |
+
if ( get_option(self::$options['Global']['options']['Enable']['options']['IMG']['id'], self::$options['Global']['options']['Enable']['options']['IMG']['default'])
|
318 |
+
&& ( 'elastic' == get_option( self::$options['IMG']['options']['transitionIn']['id'], self::$options['IMG']['options']['transitionIn']['default'])
|
319 |
+
|| 'elastic' == get_option( self::$options['IMG']['options']['transitionOut']['id'], self::$options['IMG']['options']['transitionOut']['default']) ) )
|
320 |
+
$add_easing = true;
|
321 |
+
// test for easing in Inline settings
|
322 |
+
if ( get_option(self::$options['Global']['options']['Enable']['options']['Inline']['id'], self::$options['Global']['options']['Enable']['options']['Inline']['default'])
|
323 |
+
&& ( 'elastic' == get_option( self::$options['Inline']['options']['transitionIn']['id'], self::$options['Inline']['options']['transitionIn']['default'])
|
324 |
+
|| 'elastic' == get_option( self::$options['Inline']['options']['transitionOut']['id'], self::$options['Inline']['options']['transitionOut']['default']) ) )
|
325 |
+
$add_easing = true;
|
326 |
+
// register easing?
|
327 |
+
if ( $add_easing ) {
|
328 |
+
wp_deregister_script('jquery-easing');
|
329 |
+
wp_register_script('jquery-easing', self::$plugin_url.'js/jquery.easing.min.js', array('jquery'), EASING_VERSION, true);
|
330 |
}
|
331 |
|
332 |
// mousewheel in IMG settings?
|
371 |
|
372 |
public static function on_ready() {
|
373 |
|
374 |
+
if (!self::$add_scripts)
|
375 |
+
return; // abort mission, there is no need for any script files
|
376 |
|
377 |
// 'gform_post_render' for gForms content triggers an error... Why?
|
378 |
// 'post-load' is for Infinite Scroll by JetPack
|
379 |
|
380 |
// first exclude some links by adding nolightbox class:
|
381 |
// (1) nofancybox backwards compatibility and (2) tries to detect social sharing buttons with known issues
|
382 |
+
echo '<script type="text/javascript">' . PHP_EOL;
|
|
|
383 |
|
384 |
+
echo apply_filters( 'easy_fancybox_onready_handler', 'jQuery(easy_fancybox_handler);' ) . PHP_EOL;
|
|
|
385 |
|
386 |
+
echo apply_filters( 'easy_fancybox_onpostload_handler', 'jQuery(document.body).on(\'post-load\',easy_fancybox_handler);' ) . PHP_EOL;
|
|
|
387 |
|
388 |
+
echo apply_filters( 'easy_fancybox_onready_auto', 'jQuery(easy_fancybox_auto);' ) . PHP_EOL;
|
389 |
+
|
390 |
+
echo '</script>' . PHP_EOL;
|
391 |
}
|
392 |
|
393 |
// Hack to fix missing wmode in Youtube oEmbed code based on David C's code in the comments on
|
410 |
add_filter('embed_oembed_html', array(__CLASS__, 'add_video_wmode_opaque'), 10, 3);
|
411 |
}
|
412 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
413 |
/**********************
|
414 |
RUN
|
415 |
**********************/
|
423 |
require_once dirname(__FILE__) . '/class-easyfancybox-options.php';
|
424 |
|
425 |
// HOOKS //
|
|
|
|
|
426 |
add_action('init', array(__CLASS__, 'init'));
|
427 |
add_action('wp_enqueue_scripts', array(__CLASS__, 'enqueue_styles'), 999);
|
428 |
add_action('wp_head', array(__CLASS__, 'main_script'), 999);
|