Featured Image From URL - Version 3.3.2

Version Description

  • Fix: notices (due FIFU widget for Elementor).
Download this release

Release Info

Developer marceljm
Plugin Icon 128x128 Featured Image From URL
Version 3.3.2
Comparing to
See all releases

Code changes from version 3.3.1 to 3.3.2

admin/html/css/base-ui.css CHANGED
@@ -979,14 +979,14 @@ a.ui-button:focus {
979
  a.ui-button:active,
980
  .ui-button:active,
981
  .ui-button.ui-state-active:hover {
982
- border: 1px solid #003eff;
983
  background: #0073aa;
984
  font-weight: normal;
985
  color: #ffffff;
986
  }
987
  .ui-icon-background,
988
  .ui-state-active .ui-icon-background {
989
- border: #003eff;
990
  background-color: #ffffff;
991
  }
992
  .ui-state-active a,
979
  a.ui-button:active,
980
  .ui-button:active,
981
  .ui-button.ui-state-active:hover {
982
+ border: 1px solid #0073aa;
983
  background: #0073aa;
984
  font-weight: normal;
985
  color: #ffffff;
986
  }
987
  .ui-icon-background,
988
  .ui-state-active .ui-icon-background {
989
+ border: #0073aa;
990
  background-color: #ffffff;
991
  }
992
  .ui-state-active a,
admin/html/js/menu.js CHANGED
@@ -226,11 +226,13 @@ function fifu_save_dimensions_all_js() {
226
  var count = data.length;
227
 
228
  function dimensionsLoop(data, i) {
 
229
  var image = new Image();
230
  jQuery(image).attr('src', data[i]['guid']);
231
 
232
  var poll = setInterval(function () {
233
- if (image.naturalWidth) {
 
234
  clearInterval(poll);
235
  fifu_get_sizes(image, data[i]['ID'], data[i]['guid']);
236
  image = null;
@@ -243,8 +245,11 @@ function fifu_save_dimensions_all_js() {
243
  invert('save_dimensions_all');
244
  jQuery("#countdown").text('done');
245
  }
 
 
 
246
  }
247
- }, 10);
248
  }
249
 
250
  if (data.length > 0) {
226
  var count = data.length;
227
 
228
  function dimensionsLoop(data, i) {
229
+ var attempts = 0;
230
  var image = new Image();
231
  jQuery(image).attr('src', data[i]['guid']);
232
 
233
  var poll = setInterval(function () {
234
+ if (image.naturalWidth || attempts > 100) {
235
+ attempts = 0;
236
  clearInterval(poll);
237
  fifu_get_sizes(image, data[i]['ID'], data[i]['guid']);
238
  image = null;
245
  invert('save_dimensions_all');
246
  jQuery("#countdown").text('done');
247
  }
248
+ } else {
249
+ console.log(data[i]['guid']);
250
+ attempts++;
251
  }
252
+ }, 25);
253
  }
254
 
255
  if (data.length > 0) {
elementor/elementor-fifu-extension.php CHANGED
@@ -1,139 +1,30 @@
1
  <?php
2
 
3
  if (!defined('ABSPATH')) {
4
- exit; // Exit if accessed directly.
5
  }
6
 
7
- /**
8
- * Main Elementor FIFU Extension Class
9
- *
10
- * The main class that initiates and runs the plugin.
11
- *
12
- * @since 1.0.0
13
- */
14
  final class Elementor_FIFU_Extension {
15
 
16
- /**
17
- * Plugin Version
18
- *
19
- * @since 1.0.0
20
- *
21
- * @var string The plugin version.
22
- */
23
- const VERSION = '1.0.0';
24
-
25
- /**
26
- * Minimum Elementor Version
27
- *
28
- * @since 1.0.0
29
- *
30
- * @var string Minimum Elementor version required to run the plugin.
31
- */
32
- const MINIMUM_ELEMENTOR_VERSION = '3.0.0';
33
-
34
- /**
35
- * Minimum PHP Version
36
- *
37
- * @since 1.0.0
38
- *
39
- * @var string Minimum PHP version required to run the plugin.
40
- */
41
- const MINIMUM_PHP_VERSION = '7.0';
42
-
43
- /**
44
- * Instance
45
- *
46
- * @since 1.0.0
47
- *
48
- * @access private
49
- * @static
50
- *
51
- * @var Elementor_FIFU_Extension The single instance of the class.
52
- */
53
  private static $_instance = null;
54
 
55
- /**
56
- * Instance
57
- *
58
- * Ensures only one instance of the class is loaded or can be loaded.
59
- *
60
- * @since 1.0.0
61
- *
62
- * @access public
63
- * @static
64
- *
65
- * @return Elementor_FIFU_Extension An instance of the class.
66
- */
67
  public static function instance() {
68
-
69
  if (is_null(self::$_instance)) {
70
  self::$_instance = new self();
71
  }
72
  return self::$_instance;
73
  }
74
 
75
- /**
76
- * Constructor
77
- *
78
- * @since 1.0.0
79
- *
80
- * @access public
81
- */
82
  public function __construct() {
83
-
84
  add_action('init', [$this, 'i18n']);
85
  add_action('plugins_loaded', [$this, 'init']);
86
  }
87
 
88
- /**
89
- * Load Textdomain
90
- *
91
- * Load plugin localization files.
92
- *
93
- * Fired by `init` action hook.
94
- *
95
- * @since 1.0.0
96
- *
97
- * @access public
98
- */
99
  public function i18n() {
100
-
101
  load_plugin_textdomain('elementor-fifu-extension');
102
  }
103
 
104
- /**
105
- * Initialize the plugin
106
- *
107
- * Load the plugin only after Elementor (and other plugins) are loaded.
108
- * Checks for basic plugin requirements, if one check fail don't continue,
109
- * if all check have passed load the files required to run the plugin.
110
- *
111
- * Fired by `plugins_loaded` action hook.
112
- *
113
- * @since 1.0.0
114
- *
115
- * @access public
116
- */
117
  public function init() {
118
-
119
- // Check if Elementor installed and activated
120
- if (!did_action('elementor/loaded')) {
121
- add_action('admin_notices', [$this, 'admin_notice_missing_main_plugin']);
122
- return;
123
- }
124
-
125
- // Check for required Elementor version
126
- if (!version_compare(ELEMENTOR_VERSION, self::MINIMUM_ELEMENTOR_VERSION, '>=')) {
127
- add_action('admin_notices', [$this, 'admin_notice_minimum_elementor_version']);
128
- return;
129
- }
130
-
131
- // Check for required PHP version
132
- if (version_compare(PHP_VERSION, self::MINIMUM_PHP_VERSION, '<')) {
133
- add_action('admin_notices', [$this, 'admin_notice_minimum_php_version']);
134
- return;
135
- }
136
-
137
  // Add Plugin actions
138
  add_action('elementor/widgets/widgets_registered', [$this, 'init_widgets']);
139
  add_action('elementor/controls/controls_registered', [$this, 'init_controls']);
@@ -142,91 +33,7 @@ final class Elementor_FIFU_Extension {
142
  add_action('elementor/frontend/after_register_scripts', [$this, 'widget_scripts']);
143
  }
144
 
145
- /**
146
- * Admin notice
147
- *
148
- * Warning when the site doesn't have Elementor installed or activated.
149
- *
150
- * @since 1.0.0
151
- *
152
- * @access public
153
- */
154
- public function admin_notice_missing_main_plugin() {
155
-
156
- if (isset($_GET['activate']))
157
- unset($_GET['activate']);
158
-
159
- $message = sprintf(
160
- /* translators: 1: Plugin name 2: Elementor */
161
- esc_html__('"%1$s" requires "%2$s" to be installed and activated.', 'elementor-fifu-extension'),
162
- '<strong>' . esc_html__('Elementor FIFU Extension', 'elementor-fifu-extension') . '</strong>',
163
- '<strong>' . esc_html__('Elementor', 'elementor-fifu-extension') . '</strong>'
164
- );
165
-
166
- printf('<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message);
167
- }
168
-
169
- /**
170
- * Admin notice
171
- *
172
- * Warning when the site doesn't have a minimum required Elementor version.
173
- *
174
- * @since 1.0.0
175
- *
176
- * @access public
177
- */
178
- public function admin_notice_minimum_elementor_version() {
179
-
180
- if (isset($_GET['activate']))
181
- unset($_GET['activate']);
182
-
183
- $message = sprintf(
184
- /* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */
185
- esc_html__('"%1$s" requires "%2$s" version %3$s or greater.', 'elementor-fifu-extension'),
186
- '<strong>' . esc_html__('Elementor FIFU Extension', 'elementor-fifu-extension') . '</strong>',
187
- '<strong>' . esc_html__('Elementor', 'elementor-fifu-extension') . '</strong>',
188
- self::MINIMUM_ELEMENTOR_VERSION
189
- );
190
-
191
- printf('<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message);
192
- }
193
-
194
- /**
195
- * Admin notice
196
- *
197
- * Warning when the site doesn't have a minimum required PHP version.
198
- *
199
- * @since 1.0.0
200
- *
201
- * @access public
202
- */
203
- public function admin_notice_minimum_php_version() {
204
-
205
- if (isset($_GET['activate']))
206
- unset($_GET['activate']);
207
-
208
- $message = sprintf(
209
- /* translators: 1: Plugin name 2: PHP 3: Required PHP version */
210
- esc_html__('"%1$s" requires "%2$s" version %3$s or greater.', 'elementor-fifu-extension'),
211
- '<strong>' . esc_html__('Elementor FIFU Extension', 'elementor-fifu-extension') . '</strong>',
212
- '<strong>' . esc_html__('PHP', 'elementor-fifu-extension') . '</strong>',
213
- self::MINIMUM_PHP_VERSION
214
- );
215
-
216
- printf('<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message);
217
- }
218
-
219
- /**
220
- * Init Widgets
221
- *
222
- * Include widgets files and register them
223
- *
224
- * @since 1.0.0
225
- *
226
- * @access public
227
- */
228
  public function init_widgets() {
229
-
230
  // Include Widget files
231
  require_once( __DIR__ . '/widgets/widget.php' );
232
 
@@ -234,15 +41,6 @@ final class Elementor_FIFU_Extension {
234
  \Elementor\Plugin::instance()->widgets_manager->register_widget_type(new \Elementor_FIFU_Widget());
235
  }
236
 
237
- /**
238
- * Init Controls
239
- *
240
- * Include controls files and register them
241
- *
242
- * @since 1.0.0
243
- *
244
- * @access public
245
- */
246
  public function init_controls() {
247
 
248
  }
@@ -254,4 +52,3 @@ final class Elementor_FIFU_Extension {
254
  }
255
 
256
  Elementor_FIFU_Extension::instance();
257
-
1
  <?php
2
 
3
  if (!defined('ABSPATH')) {
4
+ exit;
5
  }
6
 
 
 
 
 
 
 
 
7
  final class Elementor_FIFU_Extension {
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  private static $_instance = null;
10
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  public static function instance() {
 
12
  if (is_null(self::$_instance)) {
13
  self::$_instance = new self();
14
  }
15
  return self::$_instance;
16
  }
17
 
 
 
 
 
 
 
 
18
  public function __construct() {
 
19
  add_action('init', [$this, 'i18n']);
20
  add_action('plugins_loaded', [$this, 'init']);
21
  }
22
 
 
 
 
 
 
 
 
 
 
 
 
23
  public function i18n() {
 
24
  load_plugin_textdomain('elementor-fifu-extension');
25
  }
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  public function init() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  // Add Plugin actions
29
  add_action('elementor/widgets/widgets_registered', [$this, 'init_widgets']);
30
  add_action('elementor/controls/controls_registered', [$this, 'init_controls']);
33
  add_action('elementor/frontend/after_register_scripts', [$this, 'widget_scripts']);
34
  }
35
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  public function init_widgets() {
 
37
  // Include Widget files
38
  require_once( __DIR__ . '/widgets/widget.php' );
39
 
41
  \Elementor\Plugin::instance()->widgets_manager->register_widget_type(new \Elementor_FIFU_Widget());
42
  }
43
 
 
 
 
 
 
 
 
 
 
44
  public function init_controls() {
45
 
46
  }
52
  }
53
 
54
  Elementor_FIFU_Extension::instance();
 
featured-image-from-url.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Featured Image from URL
5
  * Plugin URI: https://fifu.app/
6
  * Description: Use an external image as featured image of a post or WooCommerce product. Includes Image Search, Video, Social Tags, SEO, Lazy Load, Gallery, Automation etc.
7
- * Version: 3.3.1
8
  * Author: fifu.app
9
  * Author URI: https://fifu.app/
10
  * WC requires at least: 4.0
4
  * Plugin Name: Featured Image from URL
5
  * Plugin URI: https://fifu.app/
6
  * Description: Use an external image as featured image of a post or WooCommerce product. Includes Image Search, Video, Social Tags, SEO, Lazy Load, Gallery, Automation etc.
7
+ * Version: 3.3.2
8
  * Author: fifu.app
9
  * Author URI: https://fifu.app/
10
  * WC requires at least: 4.0
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://donorbox.org/fifu
4
  Tags: featured, image, url, woocommerce, thumbnail
5
  Requires at least: 5.3
6
  Tested up to: 5.5
7
- Stable tag: 3.3.1
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -188,20 +188,20 @@ Supports videos from YouTube, Vimeo, Imgur, 9GAG, Cloudinary, Tumblr and Publiti
188
 
189
  == Changelog ==
190
 
 
 
 
191
  = 3.3.1 =
192
  * New feature: FIFU widget for Elementor; improvement: integration with WP All Import (taxonomies); style issue: conflict between FIFU Settings and plugins/themes CSS (jQuery-ui).
193
 
194
  = 3.3.0 =
195
  * Improvement: responsive external images with Jetpack; bug fix: cropped Jetpack images; deprecated: Add Class and jQuery options.
196
 
197
- = 3.2.9 =
198
- * Improvement: FIFU automatically removes URL spaces on the right; deprecated: CSS Style; bug fix: images may not be shown due js error (jQuery not defined).
199
-
200
  = others =
201
  * [more](https://fifu.app/changelog/)
202
 
203
 
204
  == Upgrade Notice ==
205
 
206
- = 3.3.0 =
207
- * New feature: FIFU widget for Elementor; improvement: integration with WP All Import (taxonomies); style issue: conflict between FIFU Settings and plugins/themes CSS (jQuery-ui).
4
  Tags: featured, image, url, woocommerce, thumbnail
5
  Requires at least: 5.3
6
  Tested up to: 5.5
7
+ Stable tag: 3.3.2
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
188
 
189
  == Changelog ==
190
 
191
+ = 3.3.2 =
192
+ * Fix: notices (due FIFU widget for Elementor).
193
+
194
  = 3.3.1 =
195
  * New feature: FIFU widget for Elementor; improvement: integration with WP All Import (taxonomies); style issue: conflict between FIFU Settings and plugins/themes CSS (jQuery-ui).
196
 
197
  = 3.3.0 =
198
  * Improvement: responsive external images with Jetpack; bug fix: cropped Jetpack images; deprecated: Add Class and jQuery options.
199
 
 
 
 
200
  = others =
201
  * [more](https://fifu.app/changelog/)
202
 
203
 
204
  == Upgrade Notice ==
205
 
206
+ = 3.3.2 =
207
+ * Fix: notices (due FIFU widget for Elementor).