a3 Lazy Load - Version 1.9.2

Version Description

This maintenance update is for compatibility with WordPress 5.0.2 and PHP 7.3. It also includes performance updates to the plugin framework.

Download this release

Release Info

Developer a3rev
Plugin Icon 128x128 a3 Lazy Load
Version 1.9.2
Comparing to
See all releases

Code changes from version 1.9.1 to 1.9.2

a3-lazy-load.php CHANGED
@@ -2,15 +2,15 @@
2
  /*
3
  Plugin Name: a3 Lazy Load
4
  Description: Speed up your site and enhance frontend user's visual experience in PC's, Tablets and mobile with a3 Lazy Load.
5
- Version: 1.9.1
6
  Author: a3rev Software
7
  Author URI: https://a3rev.com/
8
  Requires at least: 4.0
9
- Tested up to: 4.9.8
10
  Text Domain: a3-lazy-load
11
  Domain Path: /languages
12
  WC requires at least: 2.0.0
13
- WC tested up to: 3.4.4
14
  License: GPLv2 or later
15
  Copyright © 2011 a3 Revolution Software Development team
16
  a3 Revolution Software Development team
@@ -32,7 +32,8 @@ define('A3_LAZY_LOAD_CSS_URL', A3_LAZY_LOAD_URL . '/assets/css');
32
  define('A3_LAZY_LOAD_IMAGES_URL', A3_LAZY_LOAD_URL . '/assets/images');
33
 
34
  define( 'A3_LAZY_LOAD_KEY', 'a3_lazy_load' );
35
- define( 'A3_LAZY_VERSION', '1.9.1' );
 
36
 
37
  /**
38
  * Load Localisation files.
2
  /*
3
  Plugin Name: a3 Lazy Load
4
  Description: Speed up your site and enhance frontend user's visual experience in PC's, Tablets and mobile with a3 Lazy Load.
5
+ Version: 1.9.2
6
  Author: a3rev Software
7
  Author URI: https://a3rev.com/
8
  Requires at least: 4.0
9
+ Tested up to: 5.0.2
10
  Text Domain: a3-lazy-load
11
  Domain Path: /languages
12
  WC requires at least: 2.0.0
13
+ WC tested up to: 3.5.3
14
  License: GPLv2 or later
15
  Copyright © 2011 a3 Revolution Software Development team
16
  a3 Revolution Software Development team
32
  define('A3_LAZY_LOAD_IMAGES_URL', A3_LAZY_LOAD_URL . '/assets/images');
33
 
34
  define( 'A3_LAZY_LOAD_KEY', 'a3_lazy_load' );
35
+ define( 'A3_LAZY_VERSION', '1.9.2' );
36
+ define( 'A3_LAZY_LOAD_G_FONTS', false );
37
 
38
  /**
39
  * Load Localisation files.
admin/admin-interface.php CHANGED
@@ -384,7 +384,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
384
 
385
  default :
386
  // Do not include when it's separate option
387
- if ( isset( $value['separate_option'] ) && $value['separate_option'] != false ) continue;
388
 
389
  // Remove [, ] characters from id argument
390
  if ( strstr( $value['id'], '[' ) ) {
@@ -1144,7 +1144,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
1144
  * @return void
1145
  * ========================================================================
1146
  * Option Array Structure :
1147
- * type => row | column | heading | ajax_submit | ajax_multi_submit | google_api_key | onoff_toggle_box
1148
  * | text | email | number | password | color | bg_color | textarea | select | multiselect | radio | onoff_radio | checkbox | onoff_checkbox
1149
  * | switcher_checkbox | image_size | single_select_page | typography | border | border_styles | border_corner | box_shadow
1150
  * | slider | upload | wp_editor | array_textfields | time_picker
@@ -1834,6 +1834,62 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
1834
 
1835
  break;
1836
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1837
  // Manual Check New Version when click on the button instead of wait for daily
1838
  case 'manual_check_version':
1839
 
384
 
385
  default :
386
  // Do not include when it's separate option
387
+ if ( isset( $value['separate_option'] ) && $value['separate_option'] != false ) break;
388
 
389
  // Remove [, ] characters from id argument
390
  if ( strstr( $value['id'], '[' ) ) {
1144
  * @return void
1145
  * ========================================================================
1146
  * Option Array Structure :
1147
+ * type => row | column | heading | ajax_submit | ajax_multi_submit | google_api_key | google_map_api_key | onoff_toggle_box
1148
  * | text | email | number | password | color | bg_color | textarea | select | multiselect | radio | onoff_radio | checkbox | onoff_checkbox
1149
  * | switcher_checkbox | image_size | single_select_page | typography | border | border_styles | border_corner | box_shadow
1150
  * | slider | upload | wp_editor | array_textfields | time_picker
1834
 
1835
  break;
1836
 
1837
+ // Google Map API Key input
1838
+ case 'google_map_api_key':
1839
+
1840
+ $google_map_api_key = $this->settings_get_option( $this->google_map_api_key_option );
1841
+ $google_map_api_key_enable = $this->settings_get_option( $this->google_map_api_key_option . '_enable', 0 );
1842
+ if ( ! isset( $value['checked_label'] ) ) $value['checked_label'] = __( 'ON', 'a3-lazy-load' );
1843
+ if ( ! isset( $value['unchecked_label'] ) ) $value['unchecked_label'] = __( 'OFF', 'a3-lazy-load' );
1844
+
1845
+ ?><tr valign="top">
1846
+ <th scope="row" class="titledesc">
1847
+ <?php echo $tip; ?>
1848
+ <label for="<?php echo $this->google_map_api_key_option; ?>"><?php echo __( 'Google Maps API', 'a3-lazy-load' ); ?></label>
1849
+ </th>
1850
+ <td class="forminp forminp-onoff_checkbox forminp-<?php echo sanitize_title( $value['type'] ) ?>">
1851
+ <input
1852
+ name="<?php echo $this->google_map_api_key_option; ?>_enable"
1853
+ id="<?php echo $this->google_map_api_key_option; ?>_enable"
1854
+ class="a3rev-ui-onoff_checkbox a3rev-ui-onoff_google_api_key_enable"
1855
+ checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
1856
+ unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
1857
+ type="checkbox"
1858
+ value="1"
1859
+ <?php checked( $google_map_api_key_enable, 1 ); ?>
1860
+ /> <span class="description" style="margin-left:5px;"><?php echo __( 'Switch ON to connect to Google Maps API', 'a3-lazy-load' ); ?></span>
1861
+
1862
+ <div>&nbsp;</div>
1863
+ <div class="a3rev-ui-google-api-key-container" style="<?php if( 1 != $google_map_api_key_enable ) { echo 'display: none;'; } ?>">
1864
+ <div class="a3rev-ui-google-api-key-description"><?php echo sprintf( __( "Enter your existing Google Map API Key below. Don't have a key? Visit <a href='%s' target='_blank'>Google Maps API</a> to create a key", 'a3-lazy-load' ), 'https://developers.google.com/maps/documentation/javascript/get-api-key' ); ?></div>
1865
+ <div class="a3rev-ui-google-api-key-inside
1866
+ <?php
1867
+ if ( $this->is_valid_google_map_api_key() ) {
1868
+ echo 'a3rev-ui-google-valid-key';
1869
+ } elseif ( '' != $google_map_api_key ) {
1870
+ echo 'a3rev-ui-google-unvalid-key';
1871
+ }
1872
+ ?>
1873
+ ">
1874
+ <input
1875
+ name="<?php echo $this->google_map_api_key_option; ?>"
1876
+ id="<?php echo $this->google_map_api_key_option; ?>"
1877
+ type="text"
1878
+ style="<?php echo esc_attr( $value['css'] ); ?>"
1879
+ value="<?php echo esc_attr( $google_map_api_key ); ?>"
1880
+ class="a3rev-ui-text a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?> <?php echo esc_attr( $value['class'] ); ?>"
1881
+ placeholder="<?php echo __( 'Google Map API Key', 'a3-lazy-load' ); ?>"
1882
+ <?php echo implode( ' ', $custom_attributes ); ?>
1883
+ />
1884
+ <p class="a3rev-ui-google-valid-key-message"><?php echo __( 'Your Google API Key is valid and automatic font updates are enabled.', 'a3-lazy-load' ); ?></p>
1885
+ <p class="a3rev-ui-google-unvalid-key-message"><?php echo __( 'Please enter a valid Google API Key.', 'a3-lazy-load' ); ?></p>
1886
+ </div>
1887
+ </div>
1888
+ </td>
1889
+ </tr><?php
1890
+
1891
+ break;
1892
+
1893
  // Manual Check New Version when click on the button instead of wait for daily
1894
  case 'manual_check_version':
1895
 
admin/admin-ui.php CHANGED
@@ -31,13 +31,15 @@ class A3_Lazy_Load_Admin_UI
31
  * You must change to correct plugin name that you are working
32
  */
33
 
34
- public $framework_version = '2.0.7';
35
  public $plugin_name = A3_LAZY_LOAD_KEY;
36
  public $plugin_path = A3_LAZY_LOAD_NAME;
37
  public $google_api_key_option = '';
 
38
  public $toggle_box_open_option = '';
39
  public $version_transient = '';
40
  public $is_free_plugin = true;
 
41
 
42
  public $support_url = '';
43
 
@@ -71,11 +73,18 @@ class A3_Lazy_Load_Admin_UI
71
  public $admin_pages = array( 'a3-lazy-load', 'a3-lazy-load-add' );
72
 
73
  public function __construct() {
74
- $this->google_api_key_option = A3_LAZY_LOAD_KEY . '_google_api_key';
75
- $this->toggle_box_open_option = A3_LAZY_LOAD_KEY . '_toggle_box_open';
76
- $this->version_transient = A3_LAZY_LOAD_KEY . '_licinfo';
 
 
 
 
 
77
 
78
  $this->support_url = 'https://wordpress.org/support/plugin/a3-lazy-load/';
 
 
79
  }
80
 
81
 
@@ -104,6 +113,95 @@ class A3_Lazy_Load_Admin_UI
104
  return (array)$admin_pages;
105
  }
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  /**
108
  * get_premium_video_data()
109
  * return array
31
  * You must change to correct plugin name that you are working
32
  */
33
 
34
+ public $framework_version = '2.1.0';
35
  public $plugin_name = A3_LAZY_LOAD_KEY;
36
  public $plugin_path = A3_LAZY_LOAD_NAME;
37
  public $google_api_key_option = '';
38
+ public $google_map_api_key_option = '';
39
  public $toggle_box_open_option = '';
40
  public $version_transient = '';
41
  public $is_free_plugin = true;
42
+ public $is_load_google_fonts = true;
43
 
44
  public $support_url = '';
45
 
73
  public $admin_pages = array( 'a3-lazy-load', 'a3-lazy-load-add' );
74
 
75
  public function __construct() {
76
+ $this->google_api_key_option = A3_LAZY_LOAD_KEY . '_google_api_key';
77
+ $this->google_map_api_key_option = A3_LAZY_LOAD_KEY . '_google_map_api_key';
78
+ $this->toggle_box_open_option = A3_LAZY_LOAD_KEY . '_toggle_box_open';
79
+ $this->version_transient = A3_LAZY_LOAD_KEY . '_licinfo';
80
+
81
+ if ( defined( 'A3_LAZY_LOAD_G_FONTS' ) ) {
82
+ $this->is_load_google_fonts = (boolean) A3_LAZY_LOAD_G_FONTS;
83
+ }
84
 
85
  $this->support_url = 'https://wordpress.org/support/plugin/a3-lazy-load/';
86
+
87
+ $this->update_google_map_api_key();
88
  }
89
 
90
 
113
  return (array)$admin_pages;
114
  }
115
 
116
+ public function is_valid_google_map_api_key( $cache=true ) {
117
+ $is_valid = false;
118
+
119
+ $this->google_map_api_key = get_option( $this->google_map_api_key_option, '' );
120
+ $google_map_api_key_enable = get_option( $this->google_map_api_key_option . '_enable', 0 );
121
+
122
+ if ( '' != trim( $this->google_map_api_key ) && 1 == $google_map_api_key_enable ) {
123
+
124
+ $google_map_api_key_status = get_transient( $this->google_map_api_key_option . '_status' );
125
+
126
+ if ( ! $cache ) {
127
+ $google_map_api_key_status = null;
128
+ }
129
+
130
+ if ( ! $google_map_api_key_status ) {
131
+ $respone_api = wp_remote_get( "https://maps.googleapis.com/maps/api/geocode/json?address=Australia&key=" . trim( $this->google_map_api_key ),
132
+ array(
133
+ 'sslverify' => false,
134
+ 'timeout' => 45
135
+ )
136
+ );
137
+
138
+ $response_map = array();
139
+
140
+ // Check it is a valid request
141
+ if ( ! is_wp_error( $respone_api ) ) {
142
+
143
+ $json_string = get_magic_quotes_gpc() ? stripslashes( $respone_api['body'] ) : $respone_api['body'];
144
+ $response_map = json_decode( $json_string, true );
145
+
146
+ // Make sure that the valid response from google is not an error message
147
+ if ( ! isset( $response_map['error_message'] ) ) {
148
+ $google_map_api_key_status = 'valid';
149
+ } else {
150
+ $google_map_api_key_status = 'invalid';
151
+ }
152
+
153
+ } else {
154
+ $google_map_api_key_status = 'invalid';
155
+ }
156
+
157
+ //caching google map api status for 24 hours
158
+ set_transient( $this->google_map_api_key_option . '_status', $google_map_api_key_status, 86400 );
159
+ }
160
+
161
+ if ( 'valid' == $google_map_api_key_status ) {
162
+ $is_valid = true;
163
+ }
164
+
165
+ }
166
+
167
+ return $is_valid;
168
+ }
169
+
170
+ public function update_google_map_api_key() {
171
+ // Enable Google Map API Key
172
+ if ( isset( $_POST[ $this->google_map_api_key_option . '_enable' ] ) ) {
173
+ $old_google_map_api_key_enable = get_option( $this->google_map_api_key_option . '_enable', 0 );
174
+
175
+ update_option( $this->google_map_api_key_option . '_enable', 1 );
176
+
177
+ $option_value = trim( $_POST[ $this->google_map_api_key_option ] );
178
+
179
+ $old_google_map_api_key_option = get_option( $this->google_map_api_key_option );
180
+
181
+ if ( 1 != $old_google_map_api_key_enable || $option_value != $old_google_map_api_key_option ) {
182
+
183
+ update_option( $this->google_map_api_key_option, $option_value );
184
+
185
+ // Clear cached of google map api key status
186
+ delete_transient( $this->google_map_api_key_option . '_status' );
187
+ }
188
+
189
+ // Disable Google Map API Key
190
+ } elseif ( isset( $_POST[ $this->google_map_api_key_option ] ) ) {
191
+ $old_google_map_api_key_enable = get_option( $this->google_map_api_key_option . '_enable', 0 );
192
+
193
+ update_option( $this->google_map_api_key_option . '_enable', 0 );
194
+
195
+ $option_value = trim( $_POST[ $this->google_map_api_key_option ] );
196
+ update_option( $this->google_map_api_key_option, $option_value );
197
+
198
+ if ( 0 != $old_google_map_api_key_enable ) {
199
+ // Clear cached of google map api key status
200
+ delete_transient( $this->google_map_api_key_option . '_status' );
201
+ }
202
+ }
203
+ }
204
+
205
  /**
206
  * get_premium_video_data()
207
  * return array
admin/assets/css/admin-ui-style.css CHANGED
@@ -248,7 +248,8 @@
248
  .a3rev_panel_container .a3rev-ui-password { width:300px; max-width:70%; }
249
 
250
  /* Google API KEY Control */
251
- .a3rev_panel_container .a3rev-ui-google_api_key { width:350px; max-width: 100%; }
 
252
  .a3rev_panel_container .a3rev-ui-google-api-key-inside { margin-top: 10px; }
253
  .a3rev_panel_container .a3rev-ui-google-valid-key-message,
254
  .a3rev_panel_container .a3rev-ui-google-unvalid-key-message { display: none; }
248
  .a3rev_panel_container .a3rev-ui-password { width:300px; max-width:70%; }
249
 
250
  /* Google API KEY Control */
251
+ .a3rev_panel_container .a3rev-ui-google_api_key,
252
+ .a3rev_panel_container .a3rev-ui-google_map_api_key { width:350px; max-width: 100%; }
253
  .a3rev_panel_container .a3rev-ui-google-api-key-inside { margin-top: 10px; }
254
  .a3rev_panel_container .a3rev-ui-google-valid-key-message,
255
  .a3rev_panel_container .a3rev-ui-google-unvalid-key-message { display: none; }
admin/assets/css/admin-ui-style.min.css CHANGED
@@ -93,7 +93,8 @@
93
  .a3rev_panel_container .a3rev-ui-password{width:300px;max-width:70%;}
94
 
95
  /* Google API KEY Control */
96
- .a3rev_panel_container .a3rev-ui-google_api_key{width:350px;max-width:100%;}
 
97
  .a3rev_panel_container .a3rev-ui-google-api-key-inside{margin-top:10px;}
98
  .a3rev_panel_container .a3rev-ui-google-valid-key-message,
99
  .a3rev_panel_container .a3rev-ui-google-unvalid-key-message{display:none;}
93
  .a3rev_panel_container .a3rev-ui-password{width:300px;max-width:70%;}
94
 
95
  /* Google API KEY Control */
96
+ .a3rev_panel_container .a3rev-ui-google_api_key,
97
+ .a3rev_panel_container .a3rev-ui-google_map_api_key{width:350px;max-width:100%;}
98
  .a3rev_panel_container .a3rev-ui-google-api-key-inside{margin-top:10px;}
99
  .a3rev_panel_container .a3rev-ui-google-valid-key-message,
100
  .a3rev_panel_container .a3rev-ui-google-unvalid-key-message{display:none;}
admin/assets/js/admin-ui-script.js CHANGED
@@ -102,12 +102,18 @@
102
 
103
  /* Apply for Google API Key */
104
  elem.parents('.forminp-google_api_key').find('.a3rev-ui-google-api-key-container').slideDown();
 
 
 
105
  } else {
106
  /* Apply for Border Corner */
107
  elem.parents('.a3rev-ui-settings-control').find('.a3rev-ui-border-corner-value-container').slideUp();
108
 
109
  /* Apply for Google API Key */
110
  elem.parents('.forminp-google_api_key').find('.a3rev-ui-google-api-key-container').slideUp();
 
 
 
111
  }
112
 
113
  $('input[name="' + input_name + '"]').trigger("a3rev-ui-onoff_checkbox-switch", [elem.val(), status]);
102
 
103
  /* Apply for Google API Key */
104
  elem.parents('.forminp-google_api_key').find('.a3rev-ui-google-api-key-container').slideDown();
105
+
106
+ /* Apply for Google Map API Key */
107
+ elem.parents('.forminp-google_map_api_key').find('.a3rev-ui-google-api-key-container').slideDown();
108
  } else {
109
  /* Apply for Border Corner */
110
  elem.parents('.a3rev-ui-settings-control').find('.a3rev-ui-border-corner-value-container').slideUp();
111
 
112
  /* Apply for Google API Key */
113
  elem.parents('.forminp-google_api_key').find('.a3rev-ui-google-api-key-container').slideUp();
114
+
115
+ /* Apply for Google Map API Key */
116
+ elem.parents('.forminp-google_map_api_key').find('.a3rev-ui-google-api-key-container').slideUp();
117
  }
118
 
119
  $('input[name="' + input_name + '"]').trigger("a3rev-ui-onoff_checkbox-switch", [elem.val(), status]);
admin/includes/fonts_face.php CHANGED
@@ -357,6 +357,11 @@ class A3_Lazy_Load_Fonts_Face extends A3_Lazy_Load_Admin_UI
357
  public function __construct() {
358
  parent::__construct();
359
 
 
 
 
 
 
360
  // Enable Google Font API Key
361
  if ( isset( $_POST[ $this->google_api_key_option . '_enable' ] ) ) {
362
  $old_google_api_key_enable = get_option( $this->google_api_key_option . '_enable', 0 );
@@ -415,6 +420,10 @@ class A3_Lazy_Load_Fonts_Face extends A3_Lazy_Load_Admin_UI
415
  public function is_valid_google_api_key( $cache=true ) {
416
  $is_valid = false;
417
 
 
 
 
 
418
  $this->google_api_key = get_option( $this->google_api_key_option, '' );
419
  $google_api_key_enable = get_option( $this->google_api_key_option . '_enable', 0 );
420
 
@@ -456,7 +465,7 @@ class A3_Lazy_Load_Fonts_Face extends A3_Lazy_Load_Admin_UI
456
 
457
  // Get font list from default webfonts.json file of plugin
458
  if ( 'invalid' == $google_api_key_status && file_exists( $this->admin_plugin_dir() . '/assets/webfonts/webfonts.json' ) ) {
459
- $webfonts = wp_remote_fopen( $this->admin_plugin_url() . '/assets/webfonts/webfonts.json' );
460
  if ( false != $webfonts ) {
461
  $json_string = get_magic_quotes_gpc() ? stripslashes( $webfonts ) : $webfonts;
462
  $response_fonts = json_decode( $json_string, true );
@@ -509,7 +518,7 @@ class A3_Lazy_Load_Fonts_Face extends A3_Lazy_Load_Admin_UI
509
 
510
  // Get font list from default webfonts.json file of plugin
511
  if ( file_exists( $this->admin_plugin_dir() . '/assets/webfonts/webfonts.json' ) ) {
512
- $webfonts = wp_remote_fopen( $this->admin_plugin_url() . '/assets/webfonts/webfonts.json' );
513
  if ( false != $webfonts ) {
514
  $json_string = get_magic_quotes_gpc() ? stripslashes( $webfonts ) : $webfonts;
515
  $response_fonts = json_decode( $json_string, true );
357
  public function __construct() {
358
  parent::__construct();
359
 
360
+ if ( ! $this->is_load_google_fonts ) {
361
+ $this->google_fonts = array();
362
+ return;
363
+ }
364
+
365
  // Enable Google Font API Key
366
  if ( isset( $_POST[ $this->google_api_key_option . '_enable' ] ) ) {
367
  $old_google_api_key_enable = get_option( $this->google_api_key_option . '_enable', 0 );
420
  public function is_valid_google_api_key( $cache=true ) {
421
  $is_valid = false;
422
 
423
+ if ( ! $this->is_load_google_fonts ) {
424
+ return false;
425
+ }
426
+
427
  $this->google_api_key = get_option( $this->google_api_key_option, '' );
428
  $google_api_key_enable = get_option( $this->google_api_key_option . '_enable', 0 );
429
 
465
 
466
  // Get font list from default webfonts.json file of plugin
467
  if ( 'invalid' == $google_api_key_status && file_exists( $this->admin_plugin_dir() . '/assets/webfonts/webfonts.json' ) ) {
468
+ $webfonts = file_get_contents( $this->admin_plugin_dir() . '/assets/webfonts/webfonts.json' );
469
  if ( false != $webfonts ) {
470
  $json_string = get_magic_quotes_gpc() ? stripslashes( $webfonts ) : $webfonts;
471
  $response_fonts = json_decode( $json_string, true );
518
 
519
  // Get font list from default webfonts.json file of plugin
520
  if ( file_exists( $this->admin_plugin_dir() . '/assets/webfonts/webfonts.json' ) ) {
521
+ $webfonts = file_get_contents( $this->admin_plugin_dir() . '/assets/webfonts/webfonts.json' );
522
  if ( false != $webfonts ) {
523
  $json_string = get_magic_quotes_gpc() ? stripslashes( $webfonts ) : $webfonts;
524
  $response_fonts = json_decode( $json_string, true );
admin/less/sass.php CHANGED
@@ -19,11 +19,22 @@ class A3_Lazy_Load_Less
19
  add_action( 'wp_enqueue_scripts', array ($this, 'apply_style_css_fontend') , 12 );
20
  }
21
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  public function apply_style_css_fontend()
23
  {
24
- $_upload_dir = wp_upload_dir();
25
- if ( file_exists( $_upload_dir['basedir'] . '/sass/' . $this->css_file_name . '.min.css' ) ) {
26
- wp_enqueue_style( 'a3' . $this->css_file_name, str_replace( array('http:','https:'), '', $_upload_dir['baseurl'] ) . '/sass/' . $this->css_file_name . '.min.css', array(), $this->get_css_file_version() );
27
  }
28
  }
29
 
19
  add_action( 'wp_enqueue_scripts', array ($this, 'apply_style_css_fontend') , 12 );
20
  }
21
 
22
+ public function register_dynamic_style_file()
23
+ {
24
+ $_upload_dir = wp_upload_dir();
25
+ if ( file_exists( $_upload_dir['basedir'] . '/sass/' . $this->css_file_name . '.min.css' ) ) {
26
+ wp_register_style( 'a3' . $this->css_file_name, str_replace( array('http:','https:'), '', $_upload_dir['baseurl'] ) . '/sass/' . $this->css_file_name . '.min.css', array(), $this->get_css_file_version() );
27
+
28
+ return true;
29
+ }
30
+
31
+ return false;
32
+ }
33
+
34
  public function apply_style_css_fontend()
35
  {
36
+ if ( $this->register_dynamic_style_file() ) {
37
+ wp_enqueue_style( 'a3' . $this->css_file_name );
 
38
  }
39
  }
40
 
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: a3rev, a3rev Software, nguyencongtuan
3
  Tags: a3 lazy load, Lazy Loading , image lazy load, lazyload
4
  Requires at least: 4.5
5
- Tested up to: 4.9.8
6
- Stable tag: 1.9.1
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -194,6 +194,18 @@ Filter tags to add to class name of theme to exclude lazy load on images or vide
194
 
195
  == Changelog ==
196
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  = 1.9.1 - 2018/08/10 =
198
  * This maintenance update resolves 2 issues from the v 1.9.0 upgrade
199
  * Fix - Set min-width of placeholder to resolve any image tag that does not have width or height not showing the spinner effect. Example Gutenberg image block.
@@ -406,6 +418,9 @@ Filter tags to add to class name of theme to exclude lazy load on images or vide
406
 
407
  == Upgrade Notice ==
408
 
 
 
 
409
  = 1.9.1 =
410
  This maintenance update resolves 2 issues from the v 1.9.0 upgrade
411
 
2
  Contributors: a3rev, a3rev Software, nguyencongtuan
3
  Tags: a3 lazy load, Lazy Loading , image lazy load, lazyload
4
  Requires at least: 4.5
5
+ Tested up to: 5.0.2
6
+ Stable tag: 1.9.2
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
194
 
195
  == Changelog ==
196
 
197
+ = 1.9.2 - 2019/01/02 =
198
+ * This maintenance update is for compatibility with WordPress 5.0.2 and PHP 7.3. It also includes performance updates to the plugin framework.
199
+ * Tweak - Test for compatibility with WordPress 5.0.2 and WordPress 4.9.9
200
+ * Tweak - Create new structure for future development of Gutenberg Blocks
201
+ * Framework - Performance improvement. Replace wp_remote_fopen with file_get_contents for get web fonts
202
+ * Framework - Performance improvement. Define new variable `is_load_google_fonts` if admin does not require to load google fonts
203
+ * Credit - Props to Derek for alerting us to the framework google fonts performance issue
204
+ * Framework - Register style name for dynamic style of plugin for use with Gutenberg block
205
+ * Framework - Update Modal script and style to version 4.1.1
206
+ * Framework - Update a3rev Plugin Framework to version 2.1.0
207
+ * Framework - Test and update for compatibility with PHP 7.3
208
+
209
  = 1.9.1 - 2018/08/10 =
210
  * This maintenance update resolves 2 issues from the v 1.9.0 upgrade
211
  * Fix - Set min-width of placeholder to resolve any image tag that does not have width or height not showing the spinner effect. Example Gutenberg image block.
418
 
419
  == Upgrade Notice ==
420
 
421
+ = 1.9.2 =
422
+ This maintenance update is for compatibility with WordPress 5.0.2 and PHP 7.3. It also includes performance updates to the plugin framework.
423
+
424
  = 1.9.1 =
425
  This maintenance update resolves 2 issues from the v 1.9.0 upgrade
426