a3 Lazy Load - Version 2.0.0

Version Description

This feature release has a lot. PHP is upgraded to Composer PHP Dependency Manager, Compatibility with Jetpack Accelerator, a full security review, and compatibility with with WordPress 5.3.0

Download this release

Release Info

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

Code changes from version 1.9.3 to 2.0.0

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.3
6
  Author: a3rev Software
7
  Author URI: https://a3rev.com/
8
  Requires at least: 4.0
9
- Tested up to: 5.2.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.6.4
14
  License: GPLv2 or later
15
  Copyright © 2011 a3 Revolution Software Development team
16
  a3 Revolution Software Development team
@@ -32,9 +32,19 @@ 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.3' );
36
  define( 'A3_LAZY_LOAD_G_FONTS', false );
37
 
 
 
 
 
 
 
 
 
 
 
38
  /**
39
  * Load Localisation files.
40
  *
@@ -60,13 +70,12 @@ include( 'admin/admin-interface.php' );
60
 
61
  include( 'admin/admin-pages/admin-settings-page.php' );
62
 
 
 
 
63
  include( 'admin/admin-init.php' );
64
  include( 'admin/less/sass.php' );
65
 
66
- include( 'classes/class-a3-lazy-load-excludes.php' );
67
- include( 'classes/class-a3-lazy-load.php' );
68
- include( 'classes/class-a3-lazy-load-filter.php' );
69
-
70
  include( 'admin/a3-lazy-load-admin.php' );
71
 
72
  // Defined this function for check Lazy Load is enabled that 3rd party plugins or theme can use to check
@@ -91,5 +100,3 @@ if ( 1 == $a3_lazy_load_global_settings['a3l_apply_lazyloadxt'] && !is_admin() &
91
  * Call when the plugin is activated
92
  */
93
  register_activation_hook(__FILE__, 'a3_lazy_load_activated');
94
-
95
- ?>
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: 2.0.0
6
  Author: a3rev Software
7
  Author URI: https://a3rev.com/
8
  Requires at least: 4.0
9
+ Tested up to: 5.3.0
10
  Text Domain: a3-lazy-load
11
  Domain Path: /languages
12
  WC requires at least: 2.0.0
13
+ WC tested up to: 3.8.0
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', '2.0.0' );
36
  define( 'A3_LAZY_LOAD_G_FONTS', false );
37
 
38
+ if ( version_compare( PHP_VERSION, '5.6.0', '>=' ) ) {
39
+ require __DIR__ . '/vendor/autoload.php';
40
+
41
+ global $a3_lazy_load_excludes;
42
+ $a3_lazy_load_excludes = new \A3Rev\LazyLoad\Excludes();
43
+
44
+ } else {
45
+ return;
46
+ }
47
+
48
  /**
49
  * Load Localisation files.
50
  *
70
 
71
  include( 'admin/admin-pages/admin-settings-page.php' );
72
 
73
+ // Backwards compatibility for 3rd party plugin use functions from this plugin
74
+ include( 'classes/classes-backwards-compatibility.php' );
75
+
76
  include( 'admin/admin-init.php' );
77
  include( 'admin/less/sass.php' );
78
 
 
 
 
 
79
  include( 'admin/a3-lazy-load-admin.php' );
80
 
81
  // Defined this function for check Lazy Load is enabled that 3rd party plugins or theme can use to check
100
  * Call when the plugin is activated
101
  */
102
  register_activation_hook(__FILE__, 'a3_lazy_load_activated');
 
 
admin/a3-lazy-load-admin.php CHANGED
@@ -31,22 +31,45 @@ global $a3_lazy_load_admin_init;
31
  $a3_lazy_load_admin_init->init();
32
 
33
  // Add upgrade notice to Dashboard pages
34
- add_filter( $a3_lazy_load_admin_init->plugin_name . '_plugin_extension_boxes', array( 'A3_Lazy_Load_Hook_Filter', 'plugin_extension_box' ) );
35
 
36
  // Add language
37
  add_action('init', 'a3_lazy_load_init', 105);
38
 
39
  // Add custom style to dashboard
40
- add_action( 'admin_enqueue_scripts', array( 'A3_Lazy_Load_Hook_Filter', 'a3_wp_admin' ) );
41
 
42
  // Add extra link on left of Deactivate link on Plugin manager page
43
- add_action( 'plugin_action_links_'.A3_LAZY_LOAD_NAME, array( 'A3_Lazy_Load_Hook_Filter', 'settings_plugin_links' ) );
44
 
45
  // Add text on right of Visit the plugin on Plugin manager page
46
- add_filter( 'plugin_row_meta', array( 'A3_Lazy_Load_Hook_Filter', 'plugin_extra_links'), 10, 2 );
47
 
48
  // Add admin sidebar menu css
49
- add_action( 'admin_enqueue_scripts', array( 'A3_Lazy_Load_Hook_Filter', 'admin_sidebar_menu_css' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
 
51
  // Check upgrade functions
52
  function a3_lazy_load_upgrade_plugin() {
@@ -64,5 +87,3 @@ function a3_lazy_load_upgrade_plugin() {
64
 
65
  update_option('a3_lazy_load_version', A3_LAZY_VERSION );
66
  }
67
-
68
- ?>
31
  $a3_lazy_load_admin_init->init();
32
 
33
  // Add upgrade notice to Dashboard pages
34
+ add_filter( $a3_lazy_load_admin_init->plugin_name . '_plugin_extension_boxes', array( '\A3Rev\LazyLoad\Hook_Filter', 'plugin_extension_box' ) );
35
 
36
  // Add language
37
  add_action('init', 'a3_lazy_load_init', 105);
38
 
39
  // Add custom style to dashboard
40
+ add_action( 'admin_enqueue_scripts', array( '\A3Rev\LazyLoad\Hook_Filter', 'a3_wp_admin' ) );
41
 
42
  // Add extra link on left of Deactivate link on Plugin manager page
43
+ add_action( 'plugin_action_links_'.A3_LAZY_LOAD_NAME, array( '\A3Rev\LazyLoad\Hook_Filter', 'settings_plugin_links' ) );
44
 
45
  // Add text on right of Visit the plugin on Plugin manager page
46
+ add_filter( 'plugin_row_meta', array( '\A3Rev\LazyLoad\Hook_Filter', 'plugin_extra_links'), 10, 2 );
47
 
48
  // Add admin sidebar menu css
49
+ add_action( 'admin_enqueue_scripts', array( '\A3Rev\LazyLoad\Hook_Filter', 'admin_sidebar_menu_css' ) );
50
+
51
+ // Init lazy load Instance
52
+ add_action( 'wp', 'a3_lazy_load_instance', 10, 0 );
53
+ function a3_lazy_load_instance() {
54
+ $allow_instance = true;
55
+
56
+ if ( is_feed() ) {
57
+ $allow_instance = false;
58
+ }
59
+
60
+ if ( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) {
61
+ $allow_instance = false;
62
+ }
63
+
64
+ // Compatibility with Better AMP plugin
65
+ if ( function_exists( 'is_better_amp' ) && is_better_amp() ) {
66
+ $allow_instance = false;
67
+ }
68
+
69
+ if ( $allow_instance ) {
70
+ \A3Rev\LazyLoad::_instance();
71
+ }
72
+ }
73
 
74
  // Check upgrade functions
75
  function a3_lazy_load_upgrade_plugin() {
87
 
88
  update_option('a3_lazy_load_version', A3_LAZY_VERSION );
89
  }
 
 
admin/admin-init.php CHANGED
@@ -187,7 +187,7 @@ class A3_Lazy_Load_Admin_Init extends A3_Lazy_Load_Admin_UI
187
 
188
  ?>
189
  <div class="wrap">
190
- <div class="icon32 icon32-a3rev-ui-settings icon32-a3rev<?php echo $current_page; ?>" id="icon32-a3rev<?php echo $current_page; ?>"><br /></div>
191
  <?php
192
  $tabs = apply_filters( $this->plugin_name . '-' . $current_page . '_settings_tabs_array', array() );
193
 
@@ -299,7 +299,7 @@ class A3_Lazy_Load_Admin_Init extends A3_Lazy_Load_Admin_UI
299
  <?php
300
  foreach ( $subtabs as $subtab ) {
301
  ?>
302
- <div class="section" id="<?php echo trim( $subtab['name'] ); ?>">
303
  <?php if ( isset( $subtab['callback_function'] ) && !empty( $subtab['callback_function'] ) ) call_user_func( $subtab['callback_function'] ); ?>
304
  </div>
305
  <?php
187
 
188
  ?>
189
  <div class="wrap">
190
+ <div class="icon32 icon32-a3rev-ui-settings icon32-a3rev<?php echo esc_attr( $current_page ); ?>" id="icon32-a3rev<?php echo esc_attr( $current_page ); ?>"><br /></div>
191
  <?php
192
  $tabs = apply_filters( $this->plugin_name . '-' . $current_page . '_settings_tabs_array', array() );
193
 
299
  <?php
300
  foreach ( $subtabs as $subtab ) {
301
  ?>
302
+ <div class="section" id="<?php echo trim( esc_attr( $subtab['name'] ) ); ?>">
303
  <?php if ( isset( $subtab['callback_function'] ) && !empty( $subtab['callback_function'] ) ) call_user_func( $subtab['callback_function'] ); ?>
304
  </div>
305
  <?php
admin/admin-interface.php CHANGED
@@ -180,8 +180,8 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
180
  if ( isset( $_REQUEST['type'] ) ) {
181
  switch ( trim( $_REQUEST['type'] ) ) {
182
  case 'open_close_panel_box':
183
- $form_key = $_REQUEST['form_key'];
184
- $box_id = $_REQUEST['box_id'];
185
  $is_open = $_REQUEST['is_open'];
186
 
187
  $user_id = get_current_user_id();
@@ -198,7 +198,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
198
  break;
199
 
200
  case 'check_new_version':
201
- $transient_name = $_REQUEST['transient_name'];
202
  delete_transient( $transient_name );
203
 
204
  $new_version = '';
@@ -674,13 +674,13 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
674
  if ( trim( $option_name ) == '' || $value['separate_option'] != false ) {
675
  if ( $key != false ) {
676
  if ( isset( $_POST[ $id_attribute ][ $key ] ) ) {
677
- $option_value = $_POST[ $id_attribute ][ $key ];
678
  } else {
679
  $option_value = '';
680
  }
681
  } else {
682
  if ( isset( $_POST[ $id_attribute ] ) ) {
683
- $option_value = $_POST[ $id_attribute ];
684
  } else {
685
  $option_value = '';
686
  }
@@ -689,13 +689,13 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
689
  } else {
690
  if ( $key != false ) {
691
  if ( isset( $_POST[ $option_name ][ $id_attribute ][ $key ] ) ) {
692
- $option_value = $_POST[ $option_name ][ $id_attribute ][ $key ];
693
  } else {
694
  $option_value = '';
695
  }
696
  } else {
697
  if ( isset( $_POST[ $option_name ][ $id_attribute ] ) ) {
698
- $option_value = $_POST[ $option_name ][ $id_attribute ];
699
  } else {
700
  $option_value = '';
701
  }
@@ -729,13 +729,71 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
729
  if ( trim( $option_name ) == '' || $value['separate_option'] != false ) {
730
  if ( $key != false ) {
731
  if ( isset( $_POST[ $id_attribute ][ $key ] ) ) {
732
- $option_value = $_POST[ $id_attribute ][ $key ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
733
  } else {
734
  $option_value = '';
735
  }
736
  } else {
737
  if ( isset( $_POST[ $id_attribute ] ) ) {
738
- $option_value = $_POST[ $id_attribute ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
739
  } else {
740
  $option_value = '';
741
  }
@@ -744,13 +802,71 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
744
  } else {
745
  if ( $key != false ) {
746
  if ( isset( $_POST[ $option_name ][ $id_attribute ][ $key ] ) ) {
747
- $option_value = $_POST[ $option_name ][ $id_attribute ][ $key ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
748
  } else {
749
  $option_value = '';
750
  }
751
  } else {
752
  if ( isset( $_POST[ $option_name ][ $id_attribute ] ) ) {
753
- $option_value = $_POST[ $option_name ][ $id_attribute ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
754
  } else {
755
  $option_value = '';
756
  }
@@ -771,7 +887,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
771
 
772
  if ( trim( $option_name ) != '' && $value['separate_option'] != false ) {
773
  if ( isset( $_POST[ $id_attribute ][ $key . '_attachment_id' ] ) ) {
774
- $attachment_id = $_POST[ $id_attribute ][ $key . '_attachment_id' ];
775
  } else {
776
  $attachment_id = 0;
777
  }
@@ -779,7 +895,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
779
  $update_separate_options[ $id_attribute ][ $key . '_attachment_id' ] = $attachment_id;
780
  } else {
781
  if ( isset( $_POST[ $option_name ][ $id_attribute ][ $key . '_attachment_id' ] ) ) {
782
- $attachment_id = $_POST[ $option_name ][ $id_attribute ][ $key . '_attachment_id' ];
783
  } else {
784
  $attachment_id = 0;
785
  }
@@ -789,14 +905,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
789
  } else {
790
  if ( trim( $option_name ) != '' && $value['separate_option'] != false ) {
791
  if ( isset( $_POST[ $id_attribute . '_attachment_id' ] ) ) {
792
- $attachment_id = $_POST[ $id_attribute . '_attachment_id' ];
793
  } else {
794
  $attachment_id = 0;
795
  }
796
  $update_separate_options[ $id_attribute . '_attachment_id' ] = $attachment_id;
797
  } else {
798
  if ( isset( $_POST[ $option_name ][ $id_attribute . '_attachment_id' ] ) ) {
799
- $attachment_id = $_POST[ $option_name ][ $id_attribute . '_attachment_id' ];
800
  } else {
801
  $attachment_id = 0;
802
  }
@@ -1688,7 +1804,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
1688
  $box_handle_class .= 'box_active';
1689
  }
1690
 
1691
- if ( isset( $_GET['box_open'] ) && $_GET['box_open'] == $value['id'] ) {
1692
  $opened_class = 'box_open';
1693
  }
1694
 
@@ -1751,12 +1867,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
1751
  ?><tr valign="top">
1752
  <th scope="row" class="titledesc">
1753
  <?php echo $tip; ?>
1754
- <label for="<?php echo $this->google_api_key_option; ?>"><?php echo __( 'Google Fonts API', 'a3-lazy-load' ); ?></label>
1755
  </th>
1756
- <td class="forminp forminp-onoff_checkbox forminp-<?php echo sanitize_title( $value['type'] ) ?>">
1757
  <input
1758
- name="<?php echo $this->google_api_key_option; ?>_enable"
1759
- id="<?php echo $this->google_api_key_option; ?>_enable"
1760
  class="a3rev-ui-onoff_checkbox a3rev-ui-onoff_google_api_key_enable"
1761
  checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
1762
  unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
@@ -1778,12 +1894,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
1778
  ?>
1779
  ">
1780
  <input
1781
- name="<?php echo $this->google_api_key_option; ?>"
1782
- id="<?php echo $this->google_api_key_option; ?>"
1783
  type="text"
1784
  style="<?php echo esc_attr( $value['css'] ); ?>"
1785
  value="<?php echo esc_attr( $google_api_key ); ?>"
1786
- class="a3rev-ui-text a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?> <?php echo esc_attr( $value['class'] ); ?>"
1787
  placeholder="<?php echo __( 'Google Fonts API Key', 'a3-lazy-load' ); ?>"
1788
  <?php echo implode( ' ', $custom_attributes ); ?>
1789
  />
@@ -1807,12 +1923,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
1807
  ?><tr valign="top">
1808
  <th scope="row" class="titledesc">
1809
  <?php echo $tip; ?>
1810
- <label for="<?php echo $this->google_map_api_key_option; ?>"><?php echo __( 'Google Maps API', 'a3-lazy-load' ); ?></label>
1811
  </th>
1812
- <td class="forminp forminp-onoff_checkbox forminp-<?php echo sanitize_title( $value['type'] ) ?>">
1813
  <input
1814
- name="<?php echo $this->google_map_api_key_option; ?>_enable"
1815
- id="<?php echo $this->google_map_api_key_option; ?>_enable"
1816
  class="a3rev-ui-onoff_checkbox a3rev-ui-onoff_google_api_key_enable"
1817
  checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
1818
  unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
@@ -1834,12 +1950,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
1834
  ?>
1835
  ">
1836
  <input
1837
- name="<?php echo $this->google_map_api_key_option; ?>"
1838
- id="<?php echo $this->google_map_api_key_option; ?>"
1839
  type="text"
1840
  style="<?php echo esc_attr( $value['css'] ); ?>"
1841
  value="<?php echo esc_attr( $google_map_api_key ); ?>"
1842
- class="a3rev-ui-text a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?> <?php echo esc_attr( $value['class'] ); ?>"
1843
  placeholder="<?php echo __( 'Google Map API Key', 'a3-lazy-load' ); ?>"
1844
  <?php echo implode( ' ', $custom_attributes ); ?>
1845
  />
@@ -1876,7 +1992,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
1876
 
1877
  ?><tr valign="top">
1878
  <td colspan="2">
1879
- <p class="a3rev-ui-check-version-message <?php echo $check_version_class; ?>"><?php echo $version_message; ?></p>
1880
  </td>
1881
  </tr><?php
1882
 
@@ -1895,19 +2011,19 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
1895
  <th scope="row" class="titledesc"><?php echo $tip; ?><?php echo $value['name']; ?></th>
1896
  <td class="forminp">
1897
 
1898
- <div class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-control">
1899
 
1900
  <button
1901
  name="<?php echo $name_attribute; ?>"
1902
- id="<?php echo $id_attribute; ?>"
1903
  data-submit_data="<?php echo esc_attr( $submit_data ); ?>"
1904
  type="button"
1905
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-button <?php echo esc_attr( $value['class'] ); ?>"
1906
  style="<?php echo esc_attr( $value['css'] ); ?>"
1907
  <?php echo implode( ' ', $custom_attributes ); ?>
1908
  ><?php echo $button_name; ?></button>
1909
- <span class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-successed"><?php echo $successed_text; ?></span>
1910
- <span class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-errors"><?php echo $errors_text; ?></span>
1911
 
1912
  <!-- Progress Bar -->
1913
  <div class="a3rev-ui-progress-bar-wrap">
@@ -1968,30 +2084,30 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
1968
  <th scope="row" class="titledesc"><?php echo $tip; ?><?php echo $value['name']; ?></th>
1969
  <td class="forminp">
1970
 
1971
- <div class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-control">
1972
  <?php echo $description; ?>
1973
  <button
1974
  data-resubmit="<?php echo $resubmit ? 1 : 0 ; ?>"
1975
  name="<?php echo $name_attribute; ?>"
1976
- id="<?php echo $id_attribute; ?>"
1977
  data-multi_ajax="<?php echo esc_attr( $multi_ajax ); ?>"
1978
  type="button"
1979
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-button <?php echo esc_attr( $value['class'] ); ?>"
1980
  style="<?php echo esc_attr( $value['css'] ); ?>"
1981
  <?php echo implode( ' ', $custom_attributes ); ?>
1982
  <?php if ( ! empty( $confirm_message ) ) { ?>
1983
  data-confirm_message="<?php echo esc_attr( $confirm_message ); ?>"
1984
  <?php } ?>
1985
  ><?php echo $button_name; ?></button>
1986
- <span class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-successed"><?php echo $successed_text; ?></span>
1987
- <span class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-errors"><?php echo $errors_text; ?></span>
1988
 
1989
  <!-- Progress Bar -->
1990
  <?php if ( ! empty( $notice ) ) { ?>
1991
  <div class="a3rev-ui-progress-notice"><?php echo $notice; ?></div>
1992
  <?php } ?>
1993
  <div class="a3rev-ui-progress-bar-wrap">
1994
- <div class="a3rev-ui-progress-inner" data-current="<?php echo $multi_current_items; ?>" data-total="<?php echo $multi_total_items; ?>" ></div>
1995
  <div class="a3rev-ui-progressing-text"><?php echo $progressing_text; ?></div>
1996
  <div class="a3rev-ui-completed-text"><?php echo $completed_text; ?></div>
1997
  </div>
@@ -2027,16 +2143,16 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2027
  $current_color = isset( $statistic_customizer['current_color'] ) ? $statistic_customizer['current_color'] : '';
2028
  }
2029
  ?>
2030
- <div style="<?php echo ( isset( $single_submit['show_statistic'] ) && ! $single_submit['show_statistic'] ) ? 'display:none;' : ''; ?> width: <?php echo $column_width; ?>%;" class="a3rev-ui-statistic-item a3rev-ui-statistic-<?php echo esc_attr( $single_submit['item_id'] ); ?>">
2031
  <div class="a3rev-ui-pie-wrap">
2032
  <div class="a3rev-ui-pie <?php echo esc_attr( $pie_class); ?>">
2033
- <div class="a3rev-ui-pie-left-side a3rev-ui-pie-half-circle" style="transform: rotate(<?php echo $left_deg; ?>deg); <?php echo ( ! empty( $current_color ) ? 'border-color:' . $current_color : '' ); ?>"></div>
2034
- <div class="a3rev-ui-pie-right-side a3rev-ui-pie-half-circle" style="transform: rotate(<?php echo $right_deg; ?>deg); <?php echo ( ! empty( $current_color ) ? 'border-color:' . $current_color : '' ); ?>"></div>
2035
  </div>
2036
  <div class="a3rev-ui-pie-shadow"></div>
2037
  </div>
2038
  <div class="a3rev-ui-statistic-text">
2039
- <span class="a3rev-ui-statistic-current-item" data-current="<?php echo $current_items; ?>" ><?php echo $current_items; ?></span>
2040
  <span class="a3rev-ui-statistic-separate">/</span>
2041
  <span class="a3rev-ui-statistic-total-item"><?php echo $total_items; ?></span>
2042
  <br />
@@ -2064,12 +2180,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2064
  ?><tr valign="top">
2065
  <th scope="row" class="titledesc">
2066
  <?php echo $tip; ?>
2067
- <label for="<?php echo $this->toggle_box_open_option; ?>"><?php echo __( 'Open Box Display', 'a3-lazy-load' ); ?></label>
2068
  </th>
2069
- <td class="forminp forminp-onoff_checkbox forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2070
  <input
2071
- name="<?php echo $this->toggle_box_open_option; ?>"
2072
- id="<?php echo $this->toggle_box_open_option; ?>"
2073
  class="a3rev-ui-onoff_checkbox a3rev-ui-onoff_toggle_box <?php echo esc_attr( $value['class'] ); ?>"
2074
  checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
2075
  unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
@@ -2093,16 +2209,16 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2093
  ?><tr valign="top">
2094
  <th scope="row" class="titledesc">
2095
  <?php echo $tip; ?>
2096
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
2097
  </th>
2098
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2099
  <input
2100
  name="<?php echo $name_attribute; ?>"
2101
- id="<?php echo $id_attribute; ?>"
2102
  type="<?php echo esc_attr( $type ); ?>"
2103
  style="<?php echo esc_attr( $value['css'] ); ?>"
2104
  value="<?php echo esc_attr( $option_value ); ?>"
2105
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?> <?php echo esc_attr( $value['class'] ); ?>"
2106
  placeholder="<?php echo esc_attr( $value['placeholder'] ); ?>"
2107
  <?php echo implode( ' ', $custom_attributes ); ?>
2108
  /> <?php echo $description; ?>
@@ -2120,12 +2236,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2120
  ?><tr valign="top">
2121
  <th scope="row" class="titledesc">
2122
  <?php echo $tip; ?>
2123
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
2124
  </th>
2125
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2126
  <input
2127
  name="<?php echo $name_attribute; ?>"
2128
- id="<?php echo $id_attribute; ?>"
2129
  type="text"
2130
  value="<?php echo esc_attr( $option_value ); ?>"
2131
  class="a3rev-color-picker"
@@ -2151,12 +2267,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2151
  ?><tr valign="top">
2152
  <th scope="row" class="titledesc">
2153
  <?php echo $tip; ?>
2154
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
2155
  </th>
2156
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2157
  <input
2158
  name="<?php echo $name_attribute; ?>[enable]"
2159
- id="<?php echo $id_attribute; ?>"
2160
  class="a3rev-ui-bg_color-enable a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
2161
  checked_label="<?php _e( 'ON', 'a3-lazy-load' ); ?>"
2162
  unchecked_label="<?php _e( 'OFF', 'a3-lazy-load' ); ?>"
@@ -2169,7 +2285,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2169
  <div class="a3rev-ui-bg_color-enable-container">
2170
  <input
2171
  name="<?php echo $name_attribute; ?>[color]"
2172
- id="<?php echo $id_attribute; ?>-color"
2173
  type="text"
2174
  value="<?php echo esc_attr( $color ); ?>"
2175
  class="a3rev-color-picker"
@@ -2187,16 +2303,16 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2187
  ?><tr valign="top">
2188
  <th scope="row" class="titledesc">
2189
  <?php echo $tip; ?>
2190
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
2191
  </th>
2192
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2193
  <?php echo $description; ?>
2194
 
2195
  <textarea
2196
  name="<?php echo $name_attribute; ?>"
2197
- id="<?php echo $id_attribute; ?>"
2198
  style="<?php echo esc_attr( $value['css'] ); ?>"
2199
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?> <?php echo esc_attr( $value['class'] ); ?>"
2200
  placeholder="<?php echo esc_attr( $value['placeholder'] ); ?>"
2201
  <?php echo implode( ' ', $custom_attributes ); ?>
2202
  ><?php echo esc_textarea( $option_value ); ?></textarea>
@@ -2223,14 +2339,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2223
  ?><tr valign="top">
2224
  <th scope="row" class="titledesc">
2225
  <?php echo $tip; ?>
2226
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
2227
  </th>
2228
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2229
  <select
2230
  name="<?php echo $name_attribute; ?><?php if ( $value['type'] == 'multiselect' ) echo '[]'; ?>"
2231
- id="<?php echo $id_attribute; ?>"
2232
  style="<?php echo esc_attr( $value['css'] ); ?>"
2233
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?> <?php echo esc_attr( $value['class'] ); ?>"
2234
  data-placeholder="<?php echo esc_html( $value['placeholder'] ); ?>"
2235
  <?php echo implode( ' ', $custom_attributes ); ?>
2236
  <?php if ( $value['type'] == 'multiselect' ) echo 'multiple="multiple"'; ?>
@@ -2290,9 +2406,9 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2290
  ?><tr valign="top">
2291
  <th scope="row" class="titledesc">
2292
  <?php echo $tip; ?>
2293
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
2294
  </th>
2295
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2296
  <fieldset>
2297
  <?php echo $description; ?>
2298
  <ul>
@@ -2303,10 +2419,10 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2303
  <li>
2304
  <label><input
2305
  name="<?php echo $name_attribute; ?>"
2306
- value="<?php echo $val; ?>"
2307
  type="radio"
2308
  style="<?php echo esc_attr( $value['css'] ); ?>"
2309
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?> <?php echo esc_attr( $value['class'] ); ?>"
2310
  <?php echo implode( ' ', $custom_attributes ); ?>
2311
  <?php checked( $val, $option_value ); ?>
2312
  /> <span class="description" style="margin-left:5px;"><?php echo $text ?></span></label>
@@ -2329,9 +2445,9 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2329
  ?><tr valign="top">
2330
  <th scope="row" class="titledesc">
2331
  <?php echo $tip; ?>
2332
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
2333
  </th>
2334
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2335
  <fieldset>
2336
  <?php echo $description; ?>
2337
  <ul>
@@ -2381,7 +2497,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2381
  if ( $value['show_if_checked'] == 'option' ) echo 'show_options_if_checked';
2382
  ?>">
2383
  <th scope="row" class="titledesc">
2384
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
2385
  </th>
2386
  <td class="forminp forminp-checkbox">
2387
  <fieldset>
@@ -2399,10 +2515,10 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2399
  ?>
2400
  <legend class="screen-reader-text"><span><?php echo $value['name']; ?></span></legend>
2401
 
2402
- <label for="<?php echo $id_attribute; ?>">
2403
  <input
2404
  name="<?php echo $name_attribute; ?>"
2405
- id="<?php echo $id_attribute; ?>"
2406
  type="checkbox"
2407
  value="<?php echo esc_attr( stripslashes( $value['checked_value'] ) ); ?>"
2408
  <?php checked( $option_value, esc_attr( stripslashes( $value['checked_value'] ) ) ); ?>
@@ -2434,12 +2550,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2434
  ?><tr valign="top">
2435
  <th scope="row" class="titledesc">
2436
  <?php echo $tip; ?>
2437
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
2438
  </th>
2439
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2440
  <input
2441
  name="<?php echo $name_attribute; ?>"
2442
- id="<?php echo $id_attribute; ?>"
2443
  class="a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
2444
  checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
2445
  unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
@@ -2463,12 +2579,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2463
  ?><tr valign="top">
2464
  <th scope="row" class="titledesc">
2465
  <?php echo $tip; ?>
2466
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
2467
  </th>
2468
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2469
  <input
2470
  name="<?php echo $name_attribute; ?>"
2471
- id="<?php echo $id_attribute; ?>"
2472
  class="a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
2473
  checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
2474
  unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
@@ -2491,13 +2607,13 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2491
 
2492
  ?><tr valign="top">
2493
  <th scope="row" class="titledesc"><?php echo $tip; ?><?php echo $value['name']; ?></th>
2494
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2495
 
2496
- <label><?php _e( 'Width', 'a3-lazy-load' ); ?> <input name="<?php echo $name_attribute; ?>[width]" id="<?php echo $id_attribute; ?>-width" type="text" class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-width" value="<?php echo $width; ?>" /></label>
2497
 
2498
- <label><?php _e( 'Height', 'a3-lazy-load' ); ?> <input name="<?php echo $name_attribute; ?>[height]" id="<?php echo $id_attribute; ?>-height" type="text" class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-height" value="<?php echo $height; ?>" /></label>
2499
 
2500
- <label><?php _e( 'Hard Crop', 'a3-lazy-load' ); ?> <input name="<?php echo $name_attribute; ?>[crop]" id="<?php echo $id_attribute; ?>-crop" type="checkbox" class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-crop" <?php echo $crop; ?> /></label>
2501
 
2502
  </td>
2503
  </tr><?php
@@ -2551,12 +2667,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2551
  <th scope="row" class="titledesc"><?php echo $tip; ?><?php echo $value['name']; ?></th>
2552
  <td class="forminp">
2553
  <?php echo $description; ?>
2554
- <div class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-control">
2555
  <!-- Font Size -->
2556
  <select
2557
  name="<?php echo $name_attribute; ?>[size]"
2558
- id="<?php echo $id_attribute; ?>-size"
2559
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-size chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2560
  >
2561
  <?php
2562
  for ( $i = 6; $i <= 70; $i++ ) {
@@ -2571,8 +2687,8 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2571
  <!-- Line Height -->
2572
  <select
2573
  name="<?php echo $name_attribute; ?>[line_height]"
2574
- id="<?php echo $id_attribute; ?>-line_height"
2575
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-line_height chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2576
  >
2577
  <?php
2578
  for ( $i = 0.6; $i <= 3.1; $i = $i + 0.1 ) {
@@ -2587,8 +2703,8 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2587
  <!-- Font Face -->
2588
  <select
2589
  name="<?php echo $name_attribute; ?>[face]"
2590
- id="<?php echo $id_attribute; ?>-face"
2591
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-face chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2592
  >
2593
  <optgroup label="<?php _e( '-- Default Fonts --', 'a3-lazy-load' ); ?>">
2594
  <?php
@@ -2617,8 +2733,8 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2617
  <!-- Font Weight -->
2618
  <select
2619
  name="<?php echo $name_attribute; ?>[style]"
2620
- id="<?php echo $id_attribute; ?>-style"
2621
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-style chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2622
  >
2623
  <?php
2624
  foreach ( $this->get_font_weights() as $val => $text ) {
@@ -2634,10 +2750,10 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2634
  <!-- Font Color -->
2635
  <input
2636
  name="<?php echo $name_attribute; ?>[color]"
2637
- id="<?php echo $id_attribute; ?>-color"
2638
  type="text"
2639
  value="<?php echo esc_attr( $color ); ?>"
2640
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?>-color a3rev-color-picker"
2641
  <?php echo $default_color; ?>
2642
  />
2643
 
@@ -2709,7 +2825,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2709
  <!-- Border Width -->
2710
  <select
2711
  name="<?php echo $name_attribute; ?>[width]"
2712
- id="<?php echo $id_attribute; ?>-width"
2713
  class="a3rev-ui-border_styles-width chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2714
  >
2715
  <?php
@@ -2726,7 +2842,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2726
  <!-- Border Style -->
2727
  <select
2728
  name="<?php echo $name_attribute; ?>[style]"
2729
- id="<?php echo $id_attribute; ?>-style"
2730
  class="a3rev-ui-border_styles-style chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2731
  >
2732
  <?php
@@ -2743,7 +2859,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2743
  <!-- Border Color -->
2744
  <input
2745
  name="<?php echo $name_attribute; ?>[color]"
2746
- id="<?php echo $id_attribute; ?>-color"
2747
  type="text"
2748
  value="<?php echo esc_attr( $color ); ?>"
2749
  class="a3rev-ui-border_styles-color a3rev-color-picker"
@@ -2758,7 +2874,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2758
  <!-- Border Corner : Rounded or Square -->
2759
  <input
2760
  name="<?php echo $name_attribute; ?>[corner]"
2761
- id="<?php echo $id_attribute; ?>"
2762
  class="a3rev-ui-border-corner a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
2763
  checked_label="<?php _e( 'Rounded', 'a3-lazy-load' ); ?>"
2764
  unchecked_label="<?php _e( 'Square', 'a3-lazy-load' ); ?>"
@@ -2775,14 +2891,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2775
  <div class="a3rev-ui-slide-container">
2776
  <div class="a3rev-ui-slide-container-start">
2777
  <div class="a3rev-ui-slide-container-end">
2778
- <div class="a3rev-ui-slide" id="<?php echo $id_attribute; ?>-top_left_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
2779
  </div>
2780
  </div>
2781
  <div class="a3rev-ui-slide-result-container">
2782
  <input
2783
  readonly="readonly"
2784
  name="<?php echo $name_attribute; ?>[top_left_corner]"
2785
- id="<?php echo $id_attribute; ?>-top_left_corner"
2786
  type="text"
2787
  value="<?php echo esc_attr( $top_left_corner ); ?>"
2788
  class="a3rev-ui-border_top_left_corner a3rev-ui-slider"
@@ -2795,14 +2911,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2795
  <div class="a3rev-ui-slide-container">
2796
  <div class="a3rev-ui-slide-container-start">
2797
  <div class="a3rev-ui-slide-container-end">
2798
- <div class="a3rev-ui-slide" id="<?php echo $id_attribute; ?>-top_right_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
2799
  </div>
2800
  </div>
2801
  <div class="a3rev-ui-slide-result-container">
2802
  <input
2803
  readonly="readonly"
2804
  name="<?php echo $name_attribute; ?>[top_right_corner]"
2805
- id="<?php echo $id_attribute; ?>-top_right_corner"
2806
  type="text"
2807
  value="<?php echo esc_attr( $top_right_corner ); ?>"
2808
  class="a3rev-ui-border_top_right_corner a3rev-ui-slider"
@@ -2815,14 +2931,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2815
  <div class="a3rev-ui-slide-container">
2816
  <div class="a3rev-ui-slide-container-start">
2817
  <div class="a3rev-ui-slide-container-end">
2818
- <div class="a3rev-ui-slide" id="<?php echo $id_attribute; ?>-bottom_right_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
2819
  </div>
2820
  </div>
2821
  <div class="a3rev-ui-slide-result-container">
2822
  <input
2823
  readonly="readonly"
2824
  name="<?php echo $name_attribute; ?>[bottom_right_corner]"
2825
- id="<?php echo $id_attribute; ?>-bottom_right_corner"
2826
  type="text"
2827
  value="<?php echo esc_attr( $bottom_right_corner ); ?>"
2828
  class="a3rev-ui-border_bottom_right_corner a3rev-ui-slider"
@@ -2835,14 +2951,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2835
  <div class="a3rev-ui-slide-container">
2836
  <div class="a3rev-ui-slide-container-start">
2837
  <div class="a3rev-ui-slide-container-end">
2838
- <div class="a3rev-ui-slide" id="<?php echo $id_attribute; ?>-bottom_left_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
2839
  </div>
2840
  </div>
2841
  <div class="a3rev-ui-slide-result-container">
2842
  <input
2843
  readonly="readonly"
2844
  name="<?php echo $name_attribute; ?>[bottom_left_corner]"
2845
- id="<?php echo $id_attribute; ?>-bottom_left_corner"
2846
  type="text"
2847
  value="<?php echo esc_attr( $bottom_left_corner ); ?>"
2848
  class="a3rev-ui-border_bottom_left_corner a3rev-ui-slider"
@@ -2876,7 +2992,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2876
  <!-- Border Width -->
2877
  <select
2878
  name="<?php echo $name_attribute; ?>[width]"
2879
- id="<?php echo $id_attribute; ?>-width"
2880
  class="a3rev-ui-border_styles-width chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2881
  >
2882
  <?php
@@ -2893,7 +3009,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2893
  <!-- Border Style -->
2894
  <select
2895
  name="<?php echo $name_attribute; ?>[style]"
2896
- id="<?php echo $id_attribute; ?>-style"
2897
  class="a3rev-ui-border_styles-style chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2898
  >
2899
  <?php
@@ -2910,7 +3026,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2910
  <!-- Border Color -->
2911
  <input
2912
  name="<?php echo $name_attribute; ?>[color]"
2913
- id="<?php echo $id_attribute; ?>-color"
2914
  type="text"
2915
  value="<?php echo esc_attr( $color ); ?>"
2916
  class="a3rev-ui-border_styles-color a3rev-color-picker"
@@ -2969,12 +3085,12 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2969
 
2970
  ?><tr valign="top">
2971
  <th scope="row" class="titledesc"><?php echo $tip; ?><?php echo $value['name']; ?></th>
2972
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
2973
  <div class="a3rev-ui-settings-control">
2974
  <!-- Border Corner : Rounded or Square -->
2975
  <input
2976
  name="<?php echo $name_attribute; ?>[corner]"
2977
- id="<?php echo $id_attribute; ?>"
2978
  class="a3rev-ui-border-corner a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
2979
  checked_label="<?php _e( 'Rounded', 'a3-lazy-load' ); ?>"
2980
  unchecked_label="<?php _e( 'Square', 'a3-lazy-load' ); ?>"
@@ -2994,14 +3110,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
2994
  <div class="a3rev-ui-slide-container">
2995
  <div class="a3rev-ui-slide-container-start">
2996
  <div class="a3rev-ui-slide-container-end">
2997
- <div class="a3rev-ui-slide" id="<?php echo $id_attribute; ?>-top_left_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
2998
  </div>
2999
  </div>
3000
  <div class="a3rev-ui-slide-result-container">
3001
  <input
3002
  readonly="readonly"
3003
  name="<?php echo $name_attribute; ?>[top_left_corner]"
3004
- id="<?php echo $id_attribute; ?>-top_left_corner"
3005
  type="text"
3006
  value="<?php echo esc_attr( $top_left_corner ); ?>"
3007
  class="a3rev-ui-border_top_left_corner a3rev-ui-slider"
@@ -3014,14 +3130,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3014
  <div class="a3rev-ui-slide-container">
3015
  <div class="a3rev-ui-slide-container-start">
3016
  <div class="a3rev-ui-slide-container-end">
3017
- <div class="a3rev-ui-slide" id="<?php echo $id_attribute; ?>-top_right_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
3018
  </div>
3019
  </div>
3020
  <div class="a3rev-ui-slide-result-container">
3021
  <input
3022
  readonly="readonly"
3023
  name="<?php echo $name_attribute; ?>[top_right_corner]"
3024
- id="<?php echo $id_attribute; ?>-top_right_corner"
3025
  type="text"
3026
  value="<?php echo esc_attr( $top_right_corner ); ?>"
3027
  class="a3rev-ui-border_top_right_corner a3rev-ui-slider"
@@ -3034,14 +3150,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3034
  <div class="a3rev-ui-slide-container">
3035
  <div class="a3rev-ui-slide-container-start">
3036
  <div class="a3rev-ui-slide-container-end">
3037
- <div class="a3rev-ui-slide" id="<?php echo $id_attribute; ?>-bottom_right_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
3038
  </div>
3039
  </div>
3040
  <div class="a3rev-ui-slide-result-container">
3041
  <input
3042
  readonly="readonly"
3043
  name="<?php echo $name_attribute; ?>[bottom_right_corner]"
3044
- id="<?php echo $id_attribute; ?>-bottom_right_corner"
3045
  type="text"
3046
  value="<?php echo esc_attr( $bottom_right_corner ); ?>"
3047
  class="a3rev-ui-border_bottom_right_corner a3rev-ui-slider"
@@ -3054,14 +3170,14 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3054
  <div class="a3rev-ui-slide-container">
3055
  <div class="a3rev-ui-slide-container-start">
3056
  <div class="a3rev-ui-slide-container-end">
3057
- <div class="a3rev-ui-slide" id="<?php echo $id_attribute; ?>-bottom_left_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
3058
  </div>
3059
  </div>
3060
  <div class="a3rev-ui-slide-result-container">
3061
  <input
3062
  readonly="readonly"
3063
  name="<?php echo $name_attribute; ?>[bottom_left_corner]"
3064
- id="<?php echo $id_attribute; ?>-bottom_left_corner"
3065
  type="text"
3066
  value="<?php echo esc_attr( $bottom_left_corner ); ?>"
3067
  class="a3rev-ui-border_bottom_left_corner a3rev-ui-slider"
@@ -3098,7 +3214,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3098
  <td class="forminp forminp-box_shadow">
3099
  <input
3100
  name="<?php echo $name_attribute; ?>[enable]"
3101
- id="<?php echo $id_attribute; ?>"
3102
  class="a3rev-ui-box_shadow-enable a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
3103
  checked_label="<?php _e( 'ON', 'a3-lazy-load' ); ?>"
3104
  unchecked_label="<?php _e( 'OFF', 'a3-lazy-load' ); ?>"
@@ -3114,7 +3230,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3114
  <!-- Box Horizontal Shadow Size -->
3115
  <select
3116
  name="<?php echo $name_attribute; ?>[h_shadow]"
3117
- id="<?php echo $id_attribute; ?>-h_shadow"
3118
  class="a3rev-ui-box_shadow-h_shadow chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
3119
  data-placeholder="<?php _e( 'Horizontal Shadow', 'a3-lazy-load' ); ?>"
3120
  >
@@ -3132,7 +3248,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3132
  <!-- Box Vertical Shadow Size -->
3133
  <select
3134
  name="<?php echo $name_attribute; ?>[v_shadow]"
3135
- id="<?php echo $id_attribute; ?>-v_shadow"
3136
  class="a3rev-ui-box_shadow-v_shadow chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
3137
  data-placeholder="<?php _e( 'Vertical Shadow', 'a3-lazy-load' ); ?>"
3138
  >
@@ -3150,7 +3266,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3150
  <!-- Box Blur Distance -->
3151
  <select
3152
  name="<?php echo $name_attribute; ?>[blur]"
3153
- id="<?php echo $id_attribute; ?>-blur"
3154
  class="a3rev-ui-box_shadow-blur chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
3155
  data-placeholder="<?php _e( 'Blur Distance', 'a3-lazy-load' ); ?>"
3156
  >
@@ -3168,7 +3284,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3168
  <!-- Box Spread -->
3169
  <select
3170
  name="<?php echo $name_attribute; ?>[spread]"
3171
- id="<?php echo $id_attribute; ?>-spread"
3172
  class="a3rev-ui-box_shadow-spread chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
3173
  data-placeholder="<?php _e( 'Spread Size', 'a3-lazy-load' ); ?>"
3174
  >
@@ -3186,7 +3302,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3186
  <!-- Box Shadow Inset -->
3187
  <input
3188
  name="<?php echo $name_attribute; ?>[inset]"
3189
- id="<?php echo $id_attribute; ?>"
3190
  class="a3rev-ui-box_shadow-inset a3rev-ui-onoff_checkbox"
3191
  checked_label="<?php _e( 'INNER', 'a3-lazy-load' ); ?>"
3192
  unchecked_label="<?php _e( 'OUTER', 'a3-lazy-load' ); ?>"
@@ -3199,7 +3315,7 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3199
  <!-- Box Shadow Color -->
3200
  <input
3201
  name="<?php echo $name_attribute; ?>[color]"
3202
- id="<?php echo $id_attribute; ?>-color"
3203
  type="text"
3204
  value="<?php echo esc_attr( $color ); ?>"
3205
  class="a3rev-ui-box_shadow-color a3rev-color-picker"
@@ -3228,18 +3344,18 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3228
  ?><tr valign="top">
3229
  <th scope="row" class="titledesc">
3230
  <?php echo $tip; ?>
3231
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
3232
  </th>
3233
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
3234
  <div class="a3rev-ui-slide-container">
3235
  <div class="a3rev-ui-slide-container-start"><div class="a3rev-ui-slide-container-end">
3236
- <div class="a3rev-ui-slide" id="<?php echo $id_attribute; ?>_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
3237
  </div></div>
3238
  <div class="a3rev-ui-slide-result-container">
3239
  <input
3240
  readonly="readonly"
3241
  name="<?php echo $name_attribute; ?>"
3242
- id="<?php echo $id_attribute; ?>"
3243
  type="text"
3244
  value="<?php echo esc_attr( $option_value ); ?>"
3245
  class="a3rev-ui-slider"
@@ -3272,9 +3388,9 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3272
  ?><tr valign="top">
3273
  <th scope="row" class="titledesc">
3274
  <?php echo $tip; ?>
3275
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
3276
  </th>
3277
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
3278
  <?php echo $description; ?>
3279
  <?php echo $a3_lazy_load_uploader->upload_input( $name_attribute, $id_attribute, $option_value, $attachment_id, $value['default'], $value['name'], $class, esc_attr( $value['css'] ) , '', $strip_methods );?>
3280
  </td>
@@ -3290,9 +3406,9 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3290
  ?><tr valign="top">
3291
  <th scope="row" class="titledesc">
3292
  <?php echo $tip; ?>
3293
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
3294
  </th>
3295
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
3296
  <?php echo $description; ?>
3297
  <?php remove_all_filters('mce_external_plugins'); ?>
3298
  <?php wp_editor( $option_value,
@@ -3314,9 +3430,9 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3314
  ?><tr valign="top">
3315
  <th scope="row" class="titledesc">
3316
  <?php echo $tip; ?>
3317
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
3318
  </th>
3319
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
3320
  <?php echo $description; ?>
3321
  <div class="a3rev-ui-array_textfields-container">
3322
  <?php
@@ -3375,11 +3491,11 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3375
  ?>
3376
  <label><input
3377
  name="<?php echo $name_attribute; ?>"
3378
- id="<?php echo $id_attribute; ?>"
3379
  type="text"
3380
  style="<?php echo esc_attr( $text_field['css'] ); ?>"
3381
  value="<?php echo esc_attr( $option_value ); ?>"
3382
- class="a3rev-ui-<?php echo sanitize_title( $value['type'] ) ?> <?php echo esc_attr( $text_field['class'] ); ?>"
3383
  /> <span><?php echo $text_field['name']; ?></span></label>
3384
  <?php
3385
  }
@@ -3399,13 +3515,13 @@ class A3_Lazy_Load_Admin_Interface extends A3_Lazy_Load_Admin_UI
3399
  ?><tr valign="top">
3400
  <th scope="row" class="titledesc">
3401
  <?php echo $tip; ?>
3402
- <label for="<?php echo $id_attribute; ?>"><?php echo $value['name']; ?></label>
3403
  </th>
3404
- <td class="forminp forminp-<?php echo sanitize_title( $value['type'] ) ?>">
3405
  <input
3406
  readonly="readonly"
3407
  name="<?php echo $name_attribute; ?>"
3408
- id="<?php echo $id_attribute; ?>"
3409
  type="text"
3410
  value="<?php echo esc_attr( $option_value ); ?>"
3411
  class="<?php echo $class; ?>"
180
  if ( isset( $_REQUEST['type'] ) ) {
181
  switch ( trim( $_REQUEST['type'] ) ) {
182
  case 'open_close_panel_box':
183
+ $form_key = sanitize_key( $_REQUEST['form_key'] );
184
+ $box_id = sanitize_text_field( $_REQUEST['box_id'] );
185
  $is_open = $_REQUEST['is_open'];
186
 
187
  $user_id = get_current_user_id();
198
  break;
199
 
200
  case 'check_new_version':
201
+ $transient_name = sanitize_key( $_REQUEST['transient_name'] );
202
  delete_transient( $transient_name );
203
 
204
  $new_version = '';
674
  if ( trim( $option_name ) == '' || $value['separate_option'] != false ) {
675
  if ( $key != false ) {
676
  if ( isset( $_POST[ $id_attribute ][ $key ] ) ) {
677
+ $option_value = sanitize_text_field( $_POST[ $id_attribute ][ $key ] );
678
  } else {
679
  $option_value = '';
680
  }
681
  } else {
682
  if ( isset( $_POST[ $id_attribute ] ) ) {
683
+ $option_value = sanitize_text_field( $_POST[ $id_attribute ] );
684
  } else {
685
  $option_value = '';
686
  }
689
  } else {
690
  if ( $key != false ) {
691
  if ( isset( $_POST[ $option_name ][ $id_attribute ][ $key ] ) ) {
692
+ $option_value = sanitize_text_field( $_POST[ $option_name ][ $id_attribute ][ $key ] );
693
  } else {
694
  $option_value = '';
695
  }
696
  } else {
697
  if ( isset( $_POST[ $option_name ][ $id_attribute ] ) ) {
698
+ $option_value = sanitize_text_field( $_POST[ $option_name ][ $id_attribute ] );
699
  } else {
700
  $option_value = '';
701
  }
729
  if ( trim( $option_name ) == '' || $value['separate_option'] != false ) {
730
  if ( $key != false ) {
731
  if ( isset( $_POST[ $id_attribute ][ $key ] ) ) {
732
+
733
+ // sanitize content for wp_editor type
734
+ if ( 'wp_editor' === $value['type'] ) {
735
+ $option_value = wp_kses_post_deep( $_POST[ $id_attribute ][ $key ] );
736
+ } elseif ( 'email' === $value['type'] ) {
737
+ if ( is_array( $_POST[ $id_attribute ][ $key ] ) ) {
738
+ $option_value = array_map( 'sanitize_email', $_POST[ $id_attribute ][ $key ] );
739
+ } else {
740
+ $option_value = sanitize_email( $_POST[ $id_attribute ][ $key ] );
741
+ }
742
+ } elseif ( 'color' === $value['type'] ) {
743
+ if ( is_array( $_POST[ $id_attribute ][ $key ] ) ) {
744
+ $option_value = array_map( 'sanitize_hex_color', $_POST[ $id_attribute ][ $key ] );
745
+ } else {
746
+ $option_value = sanitize_hex_color( $_POST[ $id_attribute ][ $key ] );
747
+ }
748
+ } elseif ( 'textarea' === $value['type'] ) {
749
+ if ( is_array( $_POST[ $id_attribute ][ $key ] ) ) {
750
+ $option_value = array_map( 'sanitize_textarea_field', $_POST[ $id_attribute ][ $key ] );
751
+ } else {
752
+ $option_value = sanitize_textarea_field( $_POST[ $id_attribute ][ $key ] );
753
+ }
754
+ } else {
755
+ if ( is_array( $_POST[ $id_attribute ][ $key ] ) ) {
756
+ $option_value = array_map( 'sanitize_text_field', $_POST[ $id_attribute ][ $key ] );
757
+ } else {
758
+ $option_value = sanitize_text_field( $_POST[ $id_attribute ][ $key ] );
759
+ }
760
+ }
761
+
762
  } else {
763
  $option_value = '';
764
  }
765
  } else {
766
  if ( isset( $_POST[ $id_attribute ] ) ) {
767
+
768
+ // sanitize content for wp_editor type
769
+ if ( 'wp_editor' === $value['type'] ) {
770
+ $option_value = wp_kses_post_deep( $_POST[ $id_attribute ] );
771
+ } elseif ( 'email' === $value['type'] ) {
772
+ if ( is_array( $_POST[ $id_attribute ] ) ) {
773
+ $option_value = array_map( 'sanitize_email', $_POST[ $id_attribute ] );
774
+ } else {
775
+ $option_value = sanitize_email( $_POST[ $id_attribute ] );
776
+ }
777
+ } elseif ( 'color' === $value['type'] ) {
778
+ if ( is_array( $_POST[ $id_attribute ] ) ) {
779
+ $option_value = array_map( 'sanitize_hex_color', $_POST[ $id_attribute ] );
780
+ } else {
781
+ $option_value = sanitize_hex_color( $_POST[ $id_attribute ] );
782
+ }
783
+ } elseif ( 'textarea' === $value['type'] ) {
784
+ if ( is_array( $_POST[ $id_attribute ] ) ) {
785
+ $option_value = array_map( 'sanitize_textarea_field', $_POST[ $id_attribute ] );
786
+ } else {
787
+ $option_value = sanitize_textarea_field( $_POST[ $id_attribute ] );
788
+ }
789
+ } else {
790
+ if ( is_array( $_POST[ $id_attribute ] ) ) {
791
+ $option_value = array_map( 'sanitize_text_field', $_POST[ $id_attribute ] );
792
+ } else {
793
+ $option_value = sanitize_text_field( $_POST[ $id_attribute ] );
794
+ }
795
+ }
796
+
797
  } else {
798
  $option_value = '';
799
  }
802
  } else {
803
  if ( $key != false ) {
804
  if ( isset( $_POST[ $option_name ][ $id_attribute ][ $key ] ) ) {
805
+
806
+ // sanitize content for wp_editor type
807
+ if ( 'wp_editor' === $value['type'] ) {
808
+ $option_value = wp_kses_post_deep( $_POST[ $option_name ][ $id_attribute ][ $key ] );
809
+ } elseif ( 'email' === $value['type'] ) {
810
+ if ( is_array( $_POST[ $option_name ][ $id_attribute ][ $key ] ) ) {
811
+ $option_value = array_map( 'sanitize_email', $_POST[ $option_name ][ $id_attribute ][ $key ] );
812
+ } else {
813
+ $option_value = sanitize_email( $_POST[ $option_name ][ $id_attribute ][ $key ] );
814
+ }
815
+ } elseif ( 'color' === $value['type'] ) {
816
+ if ( is_array( $_POST[ $option_name ][ $id_attribute ][ $key ] ) ) {
817
+ $option_value = array_map( 'sanitize_hex_color', $_POST[ $option_name ][ $id_attribute ][ $key ] );
818
+ } else {
819
+ $option_value = sanitize_hex_color( $_POST[ $option_name ][ $id_attribute ][ $key ] );
820
+ }
821
+ } elseif ( 'textarea' === $value['type'] ) {
822
+ if ( is_array( $_POST[ $option_name ][ $id_attribute ][ $key ] ) ) {
823
+ $option_value = array_map( 'sanitize_textarea_field', $_POST[ $option_name ][ $id_attribute ][ $key ] );
824
+ } else {
825
+ $option_value = sanitize_textarea_field( $_POST[ $option_name ][ $id_attribute ][ $key ] );
826
+ }
827
+ } else {
828
+ if ( is_array( $_POST[ $option_name ][ $id_attribute ][ $key ] ) ) {
829
+ $option_value = array_map( 'sanitize_text_field', $_POST[ $option_name ][ $id_attribute ][ $key ] );
830
+ } else {
831
+ $option_value = sanitize_text_field( $_POST[ $option_name ][ $id_attribute ][ $key ] );
832
+ }
833
+ }
834
+
835
  } else {
836
  $option_value = '';
837
  }
838
  } else {
839
  if ( isset( $_POST[ $option_name ][ $id_attribute ] ) ) {
840
+
841
+ // sanitize content for wp_editor type
842
+ if ( 'wp_editor' === $value['type'] ) {
843
+ $option_value = wp_kses_post_deep( $_POST[ $option_name ][ $id_attribute ] );
844
+ } elseif ( 'email' === $value['type'] ) {
845
+ if ( is_array( $_POST[ $option_name ][ $id_attribute ] ) ) {
846
+ $option_value = array_map( 'sanitize_email', $_POST[ $option_name ][ $id_attribute ] );
847
+ } else {
848
+ $option_value = sanitize_email( $_POST[ $option_name ][ $id_attribute ] );
849
+ }
850
+ } elseif ( 'color' === $value['type'] ) {
851
+ if ( is_array( $_POST[ $option_name ][ $id_attribute ] ) ) {
852
+ $option_value = array_map( 'sanitize_hex_color', $_POST[ $option_name ][ $id_attribute ] );
853
+ } else {
854
+ $option_value = sanitize_hex_color( $_POST[ $option_name ][ $id_attribute ] );
855
+ }
856
+ } elseif ( 'textarea' === $value['type'] ) {
857
+ if ( is_array( $_POST[ $option_name ][ $id_attribute ] ) ) {
858
+ $option_value = array_map( 'sanitize_textarea_field', $_POST[ $option_name ][ $id_attribute ] );
859
+ } else {
860
+ $option_value = sanitize_textarea_field( $_POST[ $option_name ][ $id_attribute ] );
861
+ }
862
+ } else {
863
+ if ( is_array( $_POST[ $option_name ][ $id_attribute ] ) ) {
864
+ $option_value = array_map( 'sanitize_text_field', $_POST[ $option_name ][ $id_attribute ] );
865
+ } else {
866
+ $option_value = sanitize_text_field( $_POST[ $option_name ][ $id_attribute ] );
867
+ }
868
+ }
869
+
870
  } else {
871
  $option_value = '';
872
  }
887
 
888
  if ( trim( $option_name ) != '' && $value['separate_option'] != false ) {
889
  if ( isset( $_POST[ $id_attribute ][ $key . '_attachment_id' ] ) ) {
890
+ $attachment_id = intval( $_POST[ $id_attribute ][ $key . '_attachment_id' ] );
891
  } else {
892
  $attachment_id = 0;
893
  }
895
  $update_separate_options[ $id_attribute ][ $key . '_attachment_id' ] = $attachment_id;
896
  } else {
897
  if ( isset( $_POST[ $option_name ][ $id_attribute ][ $key . '_attachment_id' ] ) ) {
898
+ $attachment_id = intval( $_POST[ $option_name ][ $id_attribute ][ $key . '_attachment_id' ] );
899
  } else {
900
  $attachment_id = 0;
901
  }
905
  } else {
906
  if ( trim( $option_name ) != '' && $value['separate_option'] != false ) {
907
  if ( isset( $_POST[ $id_attribute . '_attachment_id' ] ) ) {
908
+ $attachment_id = intval( $_POST[ $id_attribute . '_attachment_id' ] );
909
  } else {
910
  $attachment_id = 0;
911
  }
912
  $update_separate_options[ $id_attribute . '_attachment_id' ] = $attachment_id;
913
  } else {
914
  if ( isset( $_POST[ $option_name ][ $id_attribute . '_attachment_id' ] ) ) {
915
+ $attachment_id = intval( $_POST[ $option_name ][ $id_attribute . '_attachment_id' ] );
916
  } else {
917
  $attachment_id = 0;
918
  }
1804
  $box_handle_class .= 'box_active';
1805
  }
1806
 
1807
+ if ( isset( $_GET['box_open'] ) && sanitize_text_field( $_GET['box_open'] ) == $value['id'] ) {
1808
  $opened_class = 'box_open';
1809
  }
1810
 
1867
  ?><tr valign="top">
1868
  <th scope="row" class="titledesc">
1869
  <?php echo $tip; ?>
1870
+ <label for="<?php echo esc_attr( $this->google_api_key_option ); ?>"><?php echo __( 'Google Fonts API', 'a3-lazy-load' ); ?></label>
1871
  </th>
1872
+ <td class="forminp forminp-onoff_checkbox forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
1873
  <input
1874
+ name="<?php echo esc_attr( $this->google_api_key_option ); ?>_enable"
1875
+ id="<?php echo esc_attr( $this->google_api_key_option ); ?>_enable"
1876
  class="a3rev-ui-onoff_checkbox a3rev-ui-onoff_google_api_key_enable"
1877
  checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
1878
  unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
1894
  ?>
1895
  ">
1896
  <input
1897
+ name="<?php echo esc_attr( $this->google_api_key_option ); ?>"
1898
+ id="<?php echo esc_attr( $this->google_api_key_option ); ?>"
1899
  type="text"
1900
  style="<?php echo esc_attr( $value['css'] ); ?>"
1901
  value="<?php echo esc_attr( $google_api_key ); ?>"
1902
+ class="a3rev-ui-text a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?> <?php echo esc_attr( $value['class'] ); ?>"
1903
  placeholder="<?php echo __( 'Google Fonts API Key', 'a3-lazy-load' ); ?>"
1904
  <?php echo implode( ' ', $custom_attributes ); ?>
1905
  />
1923
  ?><tr valign="top">
1924
  <th scope="row" class="titledesc">
1925
  <?php echo $tip; ?>
1926
+ <label for="<?php echo esc_attr( $this->google_map_api_key_option ); ?>"><?php echo __( 'Google Maps API', 'a3-lazy-load' ); ?></label>
1927
  </th>
1928
+ <td class="forminp forminp-onoff_checkbox forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
1929
  <input
1930
+ name="<?php echo esc_attr( $this->google_map_api_key_option ); ?>_enable"
1931
+ id="<?php echo esc_attr( $this->google_map_api_key_option ); ?>_enable"
1932
  class="a3rev-ui-onoff_checkbox a3rev-ui-onoff_google_api_key_enable"
1933
  checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
1934
  unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
1950
  ?>
1951
  ">
1952
  <input
1953
+ name="<?php echo esc_attr( $this->google_map_api_key_option ); ?>"
1954
+ id="<?php echo esc_attr( $this->google_map_api_key_option ); ?>"
1955
  type="text"
1956
  style="<?php echo esc_attr( $value['css'] ); ?>"
1957
  value="<?php echo esc_attr( $google_map_api_key ); ?>"
1958
+ class="a3rev-ui-text a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?> <?php echo esc_attr( $value['class'] ); ?>"
1959
  placeholder="<?php echo __( 'Google Map API Key', 'a3-lazy-load' ); ?>"
1960
  <?php echo implode( ' ', $custom_attributes ); ?>
1961
  />
1992
 
1993
  ?><tr valign="top">
1994
  <td colspan="2">
1995
+ <p class="a3rev-ui-check-version-message <?php echo esc_attr( $check_version_class ); ?>"><?php echo $version_message; ?></p>
1996
  </td>
1997
  </tr><?php
1998
 
2011
  <th scope="row" class="titledesc"><?php echo $tip; ?><?php echo $value['name']; ?></th>
2012
  <td class="forminp">
2013
 
2014
+ <div class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-control">
2015
 
2016
  <button
2017
  name="<?php echo $name_attribute; ?>"
2018
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2019
  data-submit_data="<?php echo esc_attr( $submit_data ); ?>"
2020
  type="button"
2021
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-button <?php echo esc_attr( $value['class'] ); ?>"
2022
  style="<?php echo esc_attr( $value['css'] ); ?>"
2023
  <?php echo implode( ' ', $custom_attributes ); ?>
2024
  ><?php echo $button_name; ?></button>
2025
+ <span class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-successed"><?php echo $successed_text; ?></span>
2026
+ <span class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-errors"><?php echo $errors_text; ?></span>
2027
 
2028
  <!-- Progress Bar -->
2029
  <div class="a3rev-ui-progress-bar-wrap">
2084
  <th scope="row" class="titledesc"><?php echo $tip; ?><?php echo $value['name']; ?></th>
2085
  <td class="forminp">
2086
 
2087
+ <div class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-control">
2088
  <?php echo $description; ?>
2089
  <button
2090
  data-resubmit="<?php echo $resubmit ? 1 : 0 ; ?>"
2091
  name="<?php echo $name_attribute; ?>"
2092
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2093
  data-multi_ajax="<?php echo esc_attr( $multi_ajax ); ?>"
2094
  type="button"
2095
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-button <?php echo esc_attr( $value['class'] ); ?>"
2096
  style="<?php echo esc_attr( $value['css'] ); ?>"
2097
  <?php echo implode( ' ', $custom_attributes ); ?>
2098
  <?php if ( ! empty( $confirm_message ) ) { ?>
2099
  data-confirm_message="<?php echo esc_attr( $confirm_message ); ?>"
2100
  <?php } ?>
2101
  ><?php echo $button_name; ?></button>
2102
+ <span class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-successed"><?php echo $successed_text; ?></span>
2103
+ <span class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-errors"><?php echo $errors_text; ?></span>
2104
 
2105
  <!-- Progress Bar -->
2106
  <?php if ( ! empty( $notice ) ) { ?>
2107
  <div class="a3rev-ui-progress-notice"><?php echo $notice; ?></div>
2108
  <?php } ?>
2109
  <div class="a3rev-ui-progress-bar-wrap">
2110
+ <div class="a3rev-ui-progress-inner" data-current="<?php echo esc_attr( $multi_current_items ); ?>" data-total="<?php echo $multi_total_items; ?>" ></div>
2111
  <div class="a3rev-ui-progressing-text"><?php echo $progressing_text; ?></div>
2112
  <div class="a3rev-ui-completed-text"><?php echo $completed_text; ?></div>
2113
  </div>
2143
  $current_color = isset( $statistic_customizer['current_color'] ) ? $statistic_customizer['current_color'] : '';
2144
  }
2145
  ?>
2146
+ <div style="<?php echo ( isset( $single_submit['show_statistic'] ) && ! $single_submit['show_statistic'] ) ? 'display:none;' : ''; ?> width: <?php echo esc_attr( $column_width ); ?>%;" class="a3rev-ui-statistic-item a3rev-ui-statistic-<?php echo esc_attr( $single_submit['item_id'] ); ?>">
2147
  <div class="a3rev-ui-pie-wrap">
2148
  <div class="a3rev-ui-pie <?php echo esc_attr( $pie_class); ?>">
2149
+ <div class="a3rev-ui-pie-left-side a3rev-ui-pie-half-circle" style="transform: rotate(<?php echo esc_attr( $left_deg ); ?>deg); <?php echo ( ! empty( $current_color ) ? 'border-color:' . esc_attr( $current_color ) : '' ); ?>"></div>
2150
+ <div class="a3rev-ui-pie-right-side a3rev-ui-pie-half-circle" style="transform: rotate(<?php echo esc_attr( $right_deg ); ?>deg); <?php echo ( ! empty( $current_color ) ? 'border-color:' . esc_attr( $current_color ) : '' ); ?>"></div>
2151
  </div>
2152
  <div class="a3rev-ui-pie-shadow"></div>
2153
  </div>
2154
  <div class="a3rev-ui-statistic-text">
2155
+ <span class="a3rev-ui-statistic-current-item" data-current="<?php echo esc_attr( $current_items ); ?>" ><?php echo $current_items; ?></span>
2156
  <span class="a3rev-ui-statistic-separate">/</span>
2157
  <span class="a3rev-ui-statistic-total-item"><?php echo $total_items; ?></span>
2158
  <br />
2180
  ?><tr valign="top">
2181
  <th scope="row" class="titledesc">
2182
  <?php echo $tip; ?>
2183
+ <label for="<?php echo esc_attr( $this->toggle_box_open_option ); ?>"><?php echo __( 'Open Box Display', 'a3-lazy-load' ); ?></label>
2184
  </th>
2185
+ <td class="forminp forminp-onoff_checkbox forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2186
  <input
2187
+ name="<?php echo esc_attr( $this->toggle_box_open_option ); ?>"
2188
+ id="<?php echo esc_attr( $this->toggle_box_open_option ); ?>"
2189
  class="a3rev-ui-onoff_checkbox a3rev-ui-onoff_toggle_box <?php echo esc_attr( $value['class'] ); ?>"
2190
  checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
2191
  unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
2209
  ?><tr valign="top">
2210
  <th scope="row" class="titledesc">
2211
  <?php echo $tip; ?>
2212
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
2213
  </th>
2214
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2215
  <input
2216
  name="<?php echo $name_attribute; ?>"
2217
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2218
  type="<?php echo esc_attr( $type ); ?>"
2219
  style="<?php echo esc_attr( $value['css'] ); ?>"
2220
  value="<?php echo esc_attr( $option_value ); ?>"
2221
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?> <?php echo esc_attr( $value['class'] ); ?>"
2222
  placeholder="<?php echo esc_attr( $value['placeholder'] ); ?>"
2223
  <?php echo implode( ' ', $custom_attributes ); ?>
2224
  /> <?php echo $description; ?>
2236
  ?><tr valign="top">
2237
  <th scope="row" class="titledesc">
2238
  <?php echo $tip; ?>
2239
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
2240
  </th>
2241
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2242
  <input
2243
  name="<?php echo $name_attribute; ?>"
2244
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2245
  type="text"
2246
  value="<?php echo esc_attr( $option_value ); ?>"
2247
  class="a3rev-color-picker"
2267
  ?><tr valign="top">
2268
  <th scope="row" class="titledesc">
2269
  <?php echo $tip; ?>
2270
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
2271
  </th>
2272
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2273
  <input
2274
  name="<?php echo $name_attribute; ?>[enable]"
2275
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2276
  class="a3rev-ui-bg_color-enable a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
2277
  checked_label="<?php _e( 'ON', 'a3-lazy-load' ); ?>"
2278
  unchecked_label="<?php _e( 'OFF', 'a3-lazy-load' ); ?>"
2285
  <div class="a3rev-ui-bg_color-enable-container">
2286
  <input
2287
  name="<?php echo $name_attribute; ?>[color]"
2288
+ id="<?php echo esc_attr( $id_attribute ); ?>-color"
2289
  type="text"
2290
  value="<?php echo esc_attr( $color ); ?>"
2291
  class="a3rev-color-picker"
2303
  ?><tr valign="top">
2304
  <th scope="row" class="titledesc">
2305
  <?php echo $tip; ?>
2306
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
2307
  </th>
2308
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2309
  <?php echo $description; ?>
2310
 
2311
  <textarea
2312
  name="<?php echo $name_attribute; ?>"
2313
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2314
  style="<?php echo esc_attr( $value['css'] ); ?>"
2315
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?> <?php echo esc_attr( $value['class'] ); ?>"
2316
  placeholder="<?php echo esc_attr( $value['placeholder'] ); ?>"
2317
  <?php echo implode( ' ', $custom_attributes ); ?>
2318
  ><?php echo esc_textarea( $option_value ); ?></textarea>
2339
  ?><tr valign="top">
2340
  <th scope="row" class="titledesc">
2341
  <?php echo $tip; ?>
2342
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
2343
  </th>
2344
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2345
  <select
2346
  name="<?php echo $name_attribute; ?><?php if ( $value['type'] == 'multiselect' ) echo '[]'; ?>"
2347
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2348
  style="<?php echo esc_attr( $value['css'] ); ?>"
2349
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?> <?php echo esc_attr( $value['class'] ); ?>"
2350
  data-placeholder="<?php echo esc_html( $value['placeholder'] ); ?>"
2351
  <?php echo implode( ' ', $custom_attributes ); ?>
2352
  <?php if ( $value['type'] == 'multiselect' ) echo 'multiple="multiple"'; ?>
2406
  ?><tr valign="top">
2407
  <th scope="row" class="titledesc">
2408
  <?php echo $tip; ?>
2409
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
2410
  </th>
2411
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2412
  <fieldset>
2413
  <?php echo $description; ?>
2414
  <ul>
2419
  <li>
2420
  <label><input
2421
  name="<?php echo $name_attribute; ?>"
2422
+ value="<?php echo esc_attr( $val ); ?>"
2423
  type="radio"
2424
  style="<?php echo esc_attr( $value['css'] ); ?>"
2425
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?> <?php echo esc_attr( $value['class'] ); ?>"
2426
  <?php echo implode( ' ', $custom_attributes ); ?>
2427
  <?php checked( $val, $option_value ); ?>
2428
  /> <span class="description" style="margin-left:5px;"><?php echo $text ?></span></label>
2445
  ?><tr valign="top">
2446
  <th scope="row" class="titledesc">
2447
  <?php echo $tip; ?>
2448
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
2449
  </th>
2450
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2451
  <fieldset>
2452
  <?php echo $description; ?>
2453
  <ul>
2497
  if ( $value['show_if_checked'] == 'option' ) echo 'show_options_if_checked';
2498
  ?>">
2499
  <th scope="row" class="titledesc">
2500
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
2501
  </th>
2502
  <td class="forminp forminp-checkbox">
2503
  <fieldset>
2515
  ?>
2516
  <legend class="screen-reader-text"><span><?php echo $value['name']; ?></span></legend>
2517
 
2518
+ <label for="<?php echo esc_attr( $id_attribute ); ?>">
2519
  <input
2520
  name="<?php echo $name_attribute; ?>"
2521
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2522
  type="checkbox"
2523
  value="<?php echo esc_attr( stripslashes( $value['checked_value'] ) ); ?>"
2524
  <?php checked( $option_value, esc_attr( stripslashes( $value['checked_value'] ) ) ); ?>
2550
  ?><tr valign="top">
2551
  <th scope="row" class="titledesc">
2552
  <?php echo $tip; ?>
2553
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
2554
  </th>
2555
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2556
  <input
2557
  name="<?php echo $name_attribute; ?>"
2558
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2559
  class="a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
2560
  checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
2561
  unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
2579
  ?><tr valign="top">
2580
  <th scope="row" class="titledesc">
2581
  <?php echo $tip; ?>
2582
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
2583
  </th>
2584
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2585
  <input
2586
  name="<?php echo $name_attribute; ?>"
2587
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2588
  class="a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
2589
  checked_label="<?php echo esc_html( $value['checked_label'] ); ?>"
2590
  unchecked_label="<?php echo esc_html( $value['unchecked_label'] ); ?>"
2607
 
2608
  ?><tr valign="top">
2609
  <th scope="row" class="titledesc"><?php echo $tip; ?><?php echo $value['name']; ?></th>
2610
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
2611
 
2612
+ <label><?php _e( 'Width', 'a3-lazy-load' ); ?> <input name="<?php echo $name_attribute; ?>[width]" id="<?php echo esc_attr( $id_attribute ); ?>-width" type="text" class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-width" value="<?php echo $width; ?>" /></label>
2613
 
2614
+ <label><?php _e( 'Height', 'a3-lazy-load' ); ?> <input name="<?php echo $name_attribute; ?>[height]" id="<?php echo esc_attr( $id_attribute ); ?>-height" type="text" class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-height" value="<?php echo $height; ?>" /></label>
2615
 
2616
+ <label><?php _e( 'Hard Crop', 'a3-lazy-load' ); ?> <input name="<?php echo $name_attribute; ?>[crop]" id="<?php echo esc_attr( $id_attribute ); ?>-crop" type="checkbox" class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-crop" <?php echo $crop; ?> /></label>
2617
 
2618
  </td>
2619
  </tr><?php
2667
  <th scope="row" class="titledesc"><?php echo $tip; ?><?php echo $value['name']; ?></th>
2668
  <td class="forminp">
2669
  <?php echo $description; ?>
2670
+ <div class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-control">
2671
  <!-- Font Size -->
2672
  <select
2673
  name="<?php echo $name_attribute; ?>[size]"
2674
+ id="<?php echo esc_attr( $id_attribute ); ?>-size"
2675
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-size chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2676
  >
2677
  <?php
2678
  for ( $i = 6; $i <= 70; $i++ ) {
2687
  <!-- Line Height -->
2688
  <select
2689
  name="<?php echo $name_attribute; ?>[line_height]"
2690
+ id="<?php echo esc_attr( $id_attribute ); ?>-line_height"
2691
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-line_height chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2692
  >
2693
  <?php
2694
  for ( $i = 0.6; $i <= 3.1; $i = $i + 0.1 ) {
2703
  <!-- Font Face -->
2704
  <select
2705
  name="<?php echo $name_attribute; ?>[face]"
2706
+ id="<?php echo esc_attr( $id_attribute ); ?>-face"
2707
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-face chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2708
  >
2709
  <optgroup label="<?php _e( '-- Default Fonts --', 'a3-lazy-load' ); ?>">
2710
  <?php
2733
  <!-- Font Weight -->
2734
  <select
2735
  name="<?php echo $name_attribute; ?>[style]"
2736
+ id="<?php echo esc_attr( $id_attribute ); ?>-style"
2737
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-style chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2738
  >
2739
  <?php
2740
  foreach ( $this->get_font_weights() as $val => $text ) {
2750
  <!-- Font Color -->
2751
  <input
2752
  name="<?php echo $name_attribute; ?>[color]"
2753
+ id="<?php echo esc_attr( $id_attribute ); ?>-color"
2754
  type="text"
2755
  value="<?php echo esc_attr( $color ); ?>"
2756
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>-color a3rev-color-picker"
2757
  <?php echo $default_color; ?>
2758
  />
2759
 
2825
  <!-- Border Width -->
2826
  <select
2827
  name="<?php echo $name_attribute; ?>[width]"
2828
+ id="<?php echo esc_attr( $id_attribute ); ?>-width"
2829
  class="a3rev-ui-border_styles-width chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2830
  >
2831
  <?php
2842
  <!-- Border Style -->
2843
  <select
2844
  name="<?php echo $name_attribute; ?>[style]"
2845
+ id="<?php echo esc_attr( $id_attribute ); ?>-style"
2846
  class="a3rev-ui-border_styles-style chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2847
  >
2848
  <?php
2859
  <!-- Border Color -->
2860
  <input
2861
  name="<?php echo $name_attribute; ?>[color]"
2862
+ id="<?php echo esc_attr( $id_attribute ); ?>-color"
2863
  type="text"
2864
  value="<?php echo esc_attr( $color ); ?>"
2865
  class="a3rev-ui-border_styles-color a3rev-color-picker"
2874
  <!-- Border Corner : Rounded or Square -->
2875
  <input
2876
  name="<?php echo $name_attribute; ?>[corner]"
2877
+ id="<?php echo esc_attr( $id_attribute ); ?>"
2878
  class="a3rev-ui-border-corner a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
2879
  checked_label="<?php _e( 'Rounded', 'a3-lazy-load' ); ?>"
2880
  unchecked_label="<?php _e( 'Square', 'a3-lazy-load' ); ?>"
2891
  <div class="a3rev-ui-slide-container">
2892
  <div class="a3rev-ui-slide-container-start">
2893
  <div class="a3rev-ui-slide-container-end">
2894
+ <div class="a3rev-ui-slide" id="<?php echo esc_attr( $id_attribute ); ?>-top_left_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
2895
  </div>
2896
  </div>
2897
  <div class="a3rev-ui-slide-result-container">
2898
  <input
2899
  readonly="readonly"
2900
  name="<?php echo $name_attribute; ?>[top_left_corner]"
2901
+ id="<?php echo esc_attr( $id_attribute ); ?>-top_left_corner"
2902
  type="text"
2903
  value="<?php echo esc_attr( $top_left_corner ); ?>"
2904
  class="a3rev-ui-border_top_left_corner a3rev-ui-slider"
2911
  <div class="a3rev-ui-slide-container">
2912
  <div class="a3rev-ui-slide-container-start">
2913
  <div class="a3rev-ui-slide-container-end">
2914
+ <div class="a3rev-ui-slide" id="<?php echo esc_attr( $id_attribute ); ?>-top_right_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
2915
  </div>
2916
  </div>
2917
  <div class="a3rev-ui-slide-result-container">
2918
  <input
2919
  readonly="readonly"
2920
  name="<?php echo $name_attribute; ?>[top_right_corner]"
2921
+ id="<?php echo esc_attr( $id_attribute ); ?>-top_right_corner"
2922
  type="text"
2923
  value="<?php echo esc_attr( $top_right_corner ); ?>"
2924
  class="a3rev-ui-border_top_right_corner a3rev-ui-slider"
2931
  <div class="a3rev-ui-slide-container">
2932
  <div class="a3rev-ui-slide-container-start">
2933
  <div class="a3rev-ui-slide-container-end">
2934
+ <div class="a3rev-ui-slide" id="<?php echo esc_attr( $id_attribute ); ?>-bottom_right_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
2935
  </div>
2936
  </div>
2937
  <div class="a3rev-ui-slide-result-container">
2938
  <input
2939
  readonly="readonly"
2940
  name="<?php echo $name_attribute; ?>[bottom_right_corner]"
2941
+ id="<?php echo esc_attr( $id_attribute ); ?>-bottom_right_corner"
2942
  type="text"
2943
  value="<?php echo esc_attr( $bottom_right_corner ); ?>"
2944
  class="a3rev-ui-border_bottom_right_corner a3rev-ui-slider"
2951
  <div class="a3rev-ui-slide-container">
2952
  <div class="a3rev-ui-slide-container-start">
2953
  <div class="a3rev-ui-slide-container-end">
2954
+ <div class="a3rev-ui-slide" id="<?php echo esc_attr( $id_attribute ); ?>-bottom_left_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
2955
  </div>
2956
  </div>
2957
  <div class="a3rev-ui-slide-result-container">
2958
  <input
2959
  readonly="readonly"
2960
  name="<?php echo $name_attribute; ?>[bottom_left_corner]"
2961
+ id="<?php echo esc_attr( $id_attribute ); ?>-bottom_left_corner"
2962
  type="text"
2963
  value="<?php echo esc_attr( $bottom_left_corner ); ?>"
2964
  class="a3rev-ui-border_bottom_left_corner a3rev-ui-slider"
2992
  <!-- Border Width -->
2993
  <select
2994
  name="<?php echo $name_attribute; ?>[width]"
2995
+ id="<?php echo esc_attr( $id_attribute ); ?>-width"
2996
  class="a3rev-ui-border_styles-width chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
2997
  >
2998
  <?php
3009
  <!-- Border Style -->
3010
  <select
3011
  name="<?php echo $name_attribute; ?>[style]"
3012
+ id="<?php echo esc_attr( $id_attribute ); ?>-style"
3013
  class="a3rev-ui-border_styles-style chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
3014
  >
3015
  <?php
3026
  <!-- Border Color -->
3027
  <input
3028
  name="<?php echo $name_attribute; ?>[color]"
3029
+ id="<?php echo esc_attr( $id_attribute ); ?>-color"
3030
  type="text"
3031
  value="<?php echo esc_attr( $color ); ?>"
3032
  class="a3rev-ui-border_styles-color a3rev-color-picker"
3085
 
3086
  ?><tr valign="top">
3087
  <th scope="row" class="titledesc"><?php echo $tip; ?><?php echo $value['name']; ?></th>
3088
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
3089
  <div class="a3rev-ui-settings-control">
3090
  <!-- Border Corner : Rounded or Square -->
3091
  <input
3092
  name="<?php echo $name_attribute; ?>[corner]"
3093
+ id="<?php echo esc_attr( $id_attribute ); ?>"
3094
  class="a3rev-ui-border-corner a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
3095
  checked_label="<?php _e( 'Rounded', 'a3-lazy-load' ); ?>"
3096
  unchecked_label="<?php _e( 'Square', 'a3-lazy-load' ); ?>"
3110
  <div class="a3rev-ui-slide-container">
3111
  <div class="a3rev-ui-slide-container-start">
3112
  <div class="a3rev-ui-slide-container-end">
3113
+ <div class="a3rev-ui-slide" id="<?php echo esc_attr( $id_attribute ); ?>-top_left_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
3114
  </div>
3115
  </div>
3116
  <div class="a3rev-ui-slide-result-container">
3117
  <input
3118
  readonly="readonly"
3119
  name="<?php echo $name_attribute; ?>[top_left_corner]"
3120
+ id="<?php echo esc_attr( $id_attribute ); ?>-top_left_corner"
3121
  type="text"
3122
  value="<?php echo esc_attr( $top_left_corner ); ?>"
3123
  class="a3rev-ui-border_top_left_corner a3rev-ui-slider"
3130
  <div class="a3rev-ui-slide-container">
3131
  <div class="a3rev-ui-slide-container-start">
3132
  <div class="a3rev-ui-slide-container-end">
3133
+ <div class="a3rev-ui-slide" id="<?php echo esc_attr( $id_attribute ); ?>-top_right_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
3134
  </div>
3135
  </div>
3136
  <div class="a3rev-ui-slide-result-container">
3137
  <input
3138
  readonly="readonly"
3139
  name="<?php echo $name_attribute; ?>[top_right_corner]"
3140
+ id="<?php echo esc_attr( $id_attribute ); ?>-top_right_corner"
3141
  type="text"
3142
  value="<?php echo esc_attr( $top_right_corner ); ?>"
3143
  class="a3rev-ui-border_top_right_corner a3rev-ui-slider"
3150
  <div class="a3rev-ui-slide-container">
3151
  <div class="a3rev-ui-slide-container-start">
3152
  <div class="a3rev-ui-slide-container-end">
3153
+ <div class="a3rev-ui-slide" id="<?php echo esc_attr( $id_attribute ); ?>-bottom_right_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
3154
  </div>
3155
  </div>
3156
  <div class="a3rev-ui-slide-result-container">
3157
  <input
3158
  readonly="readonly"
3159
  name="<?php echo $name_attribute; ?>[bottom_right_corner]"
3160
+ id="<?php echo esc_attr( $id_attribute ); ?>-bottom_right_corner"
3161
  type="text"
3162
  value="<?php echo esc_attr( $bottom_right_corner ); ?>"
3163
  class="a3rev-ui-border_bottom_right_corner a3rev-ui-slider"
3170
  <div class="a3rev-ui-slide-container">
3171
  <div class="a3rev-ui-slide-container-start">
3172
  <div class="a3rev-ui-slide-container-end">
3173
+ <div class="a3rev-ui-slide" id="<?php echo esc_attr( $id_attribute ); ?>-bottom_left_corner_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
3174
  </div>
3175
  </div>
3176
  <div class="a3rev-ui-slide-result-container">
3177
  <input
3178
  readonly="readonly"
3179
  name="<?php echo $name_attribute; ?>[bottom_left_corner]"
3180
+ id="<?php echo esc_attr( $id_attribute ); ?>-bottom_left_corner"
3181
  type="text"
3182
  value="<?php echo esc_attr( $bottom_left_corner ); ?>"
3183
  class="a3rev-ui-border_bottom_left_corner a3rev-ui-slider"
3214
  <td class="forminp forminp-box_shadow">
3215
  <input
3216
  name="<?php echo $name_attribute; ?>[enable]"
3217
+ id="<?php echo esc_attr( $id_attribute ); ?>"
3218
  class="a3rev-ui-box_shadow-enable a3rev-ui-onoff_checkbox <?php echo esc_attr( $value['class'] ); ?>"
3219
  checked_label="<?php _e( 'ON', 'a3-lazy-load' ); ?>"
3220
  unchecked_label="<?php _e( 'OFF', 'a3-lazy-load' ); ?>"
3230
  <!-- Box Horizontal Shadow Size -->
3231
  <select
3232
  name="<?php echo $name_attribute; ?>[h_shadow]"
3233
+ id="<?php echo esc_attr( $id_attribute ); ?>-h_shadow"
3234
  class="a3rev-ui-box_shadow-h_shadow chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
3235
  data-placeholder="<?php _e( 'Horizontal Shadow', 'a3-lazy-load' ); ?>"
3236
  >
3248
  <!-- Box Vertical Shadow Size -->
3249
  <select
3250
  name="<?php echo $name_attribute; ?>[v_shadow]"
3251
+ id="<?php echo esc_attr( $id_attribute ); ?>-v_shadow"
3252
  class="a3rev-ui-box_shadow-v_shadow chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
3253
  data-placeholder="<?php _e( 'Vertical Shadow', 'a3-lazy-load' ); ?>"
3254
  >
3266
  <!-- Box Blur Distance -->
3267
  <select
3268
  name="<?php echo $name_attribute; ?>[blur]"
3269
+ id="<?php echo esc_attr( $id_attribute ); ?>-blur"
3270
  class="a3rev-ui-box_shadow-blur chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
3271
  data-placeholder="<?php _e( 'Blur Distance', 'a3-lazy-load' ); ?>"
3272
  >
3284
  <!-- Box Spread -->
3285
  <select
3286
  name="<?php echo $name_attribute; ?>[spread]"
3287
+ id="<?php echo esc_attr( $id_attribute ); ?>-spread"
3288
  class="a3rev-ui-box_shadow-spread chzn-select <?php if ( is_rtl() ) { echo 'chzn-rtl'; } ?>"
3289
  data-placeholder="<?php _e( 'Spread Size', 'a3-lazy-load' ); ?>"
3290
  >
3302
  <!-- Box Shadow Inset -->
3303
  <input
3304
  name="<?php echo $name_attribute; ?>[inset]"
3305
+ id="<?php echo esc_attr( $id_attribute ); ?>"
3306
  class="a3rev-ui-box_shadow-inset a3rev-ui-onoff_checkbox"
3307
  checked_label="<?php _e( 'INNER', 'a3-lazy-load' ); ?>"
3308
  unchecked_label="<?php _e( 'OUTER', 'a3-lazy-load' ); ?>"
3315
  <!-- Box Shadow Color -->
3316
  <input
3317
  name="<?php echo $name_attribute; ?>[color]"
3318
+ id="<?php echo esc_attr( $id_attribute ); ?>-color"
3319
  type="text"
3320
  value="<?php echo esc_attr( $color ); ?>"
3321
  class="a3rev-ui-box_shadow-color a3rev-color-picker"
3344
  ?><tr valign="top">
3345
  <th scope="row" class="titledesc">
3346
  <?php echo $tip; ?>
3347
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
3348
  </th>
3349
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
3350
  <div class="a3rev-ui-slide-container">
3351
  <div class="a3rev-ui-slide-container-start"><div class="a3rev-ui-slide-container-end">
3352
+ <div class="a3rev-ui-slide" id="<?php echo esc_attr( $id_attribute ); ?>_div" min="<?php echo esc_attr( $value['min'] ); ?>" max="<?php echo esc_attr( $value['max'] ); ?>" inc="<?php echo esc_attr( $value['increment'] ); ?>"></div>
3353
  </div></div>
3354
  <div class="a3rev-ui-slide-result-container">
3355
  <input
3356
  readonly="readonly"
3357
  name="<?php echo $name_attribute; ?>"
3358
+ id="<?php echo esc_attr( $id_attribute ); ?>"
3359
  type="text"
3360
  value="<?php echo esc_attr( $option_value ); ?>"
3361
  class="a3rev-ui-slider"
3388
  ?><tr valign="top">
3389
  <th scope="row" class="titledesc">
3390
  <?php echo $tip; ?>
3391
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
3392
  </th>
3393
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
3394
  <?php echo $description; ?>
3395
  <?php echo $a3_lazy_load_uploader->upload_input( $name_attribute, $id_attribute, $option_value, $attachment_id, $value['default'], $value['name'], $class, esc_attr( $value['css'] ) , '', $strip_methods );?>
3396
  </td>
3406
  ?><tr valign="top">
3407
  <th scope="row" class="titledesc">
3408
  <?php echo $tip; ?>
3409
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
3410
  </th>
3411
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
3412
  <?php echo $description; ?>
3413
  <?php remove_all_filters('mce_external_plugins'); ?>
3414
  <?php wp_editor( $option_value,
3430
  ?><tr valign="top">
3431
  <th scope="row" class="titledesc">
3432
  <?php echo $tip; ?>
3433
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
3434
  </th>
3435
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
3436
  <?php echo $description; ?>
3437
  <div class="a3rev-ui-array_textfields-container">
3438
  <?php
3491
  ?>
3492
  <label><input
3493
  name="<?php echo $name_attribute; ?>"
3494
+ id="<?php echo esc_attr( $id_attribute ); ?>"
3495
  type="text"
3496
  style="<?php echo esc_attr( $text_field['css'] ); ?>"
3497
  value="<?php echo esc_attr( $option_value ); ?>"
3498
+ class="a3rev-ui-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?> <?php echo esc_attr( $text_field['class'] ); ?>"
3499
  /> <span><?php echo $text_field['name']; ?></span></label>
3500
  <?php
3501
  }
3515
  ?><tr valign="top">
3516
  <th scope="row" class="titledesc">
3517
  <?php echo $tip; ?>
3518
+ <label for="<?php echo esc_attr( $id_attribute ); ?>"><?php echo $value['name']; ?></label>
3519
  </th>
3520
+ <td class="forminp forminp-<?php echo esc_attr( sanitize_title( $value['type'] ) ); ?>">
3521
  <input
3522
  readonly="readonly"
3523
  name="<?php echo $name_attribute; ?>"
3524
+ id="<?php echo esc_attr( $id_attribute ); ?>"
3525
  type="text"
3526
  value="<?php echo esc_attr( $option_value ); ?>"
3527
  class="<?php echo $class; ?>"
admin/admin-ui.php CHANGED
@@ -31,7 +31,7 @@ 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.1.0';
35
  public $plugin_name = A3_LAZY_LOAD_KEY;
36
  public $plugin_path = A3_LAZY_LOAD_NAME;
37
  public $google_api_key_option = '';
@@ -174,7 +174,7 @@ class A3_Lazy_Load_Admin_UI
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
 
@@ -192,7 +192,7 @@ class A3_Lazy_Load_Admin_UI
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 ) {
31
  * You must change to correct plugin name that you are working
32
  */
33
 
34
+ public $framework_version = '2.2.0';
35
  public $plugin_name = A3_LAZY_LOAD_KEY;
36
  public $plugin_path = A3_LAZY_LOAD_NAME;
37
  public $google_api_key_option = '';
174
 
175
  update_option( $this->google_map_api_key_option . '_enable', 1 );
176
 
177
+ $option_value = trim( sanitize_text_field( $_POST[ $this->google_map_api_key_option ] ) );
178
 
179
  $old_google_map_api_key_option = get_option( $this->google_map_api_key_option );
180
 
192
 
193
  update_option( $this->google_map_api_key_option . '_enable', 0 );
194
 
195
+ $option_value = trim( sanitize_text_field( $_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 ) {
admin/includes/fonts_face.php CHANGED
@@ -368,7 +368,7 @@ class A3_Lazy_Load_Fonts_Face extends A3_Lazy_Load_Admin_UI
368
 
369
  update_option( $this->google_api_key_option . '_enable', 1 );
370
 
371
- $option_value = trim( $_POST[ $this->google_api_key_option ] );
372
 
373
  $old_google_api_key_option = get_option( $this->google_api_key_option );
374
 
@@ -386,7 +386,7 @@ class A3_Lazy_Load_Fonts_Face extends A3_Lazy_Load_Admin_UI
386
 
387
  update_option( $this->google_api_key_option . '_enable', 0 );
388
 
389
- $option_value = trim( $_POST[ $this->google_api_key_option ] );
390
  update_option( $this->google_api_key_option, $option_value );
391
 
392
  if ( 0 != $old_google_api_key_enable ) {
@@ -465,8 +465,9 @@ class A3_Lazy_Load_Fonts_Face extends A3_Lazy_Load_Admin_UI
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 );
472
  }
@@ -518,8 +519,9 @@ class A3_Lazy_Load_Fonts_Face extends A3_Lazy_Load_Admin_UI
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 );
525
  }
368
 
369
  update_option( $this->google_api_key_option . '_enable', 1 );
370
 
371
+ $option_value = trim( sanitize_text_field( $_POST[ $this->google_api_key_option ] ) );
372
 
373
  $old_google_api_key_option = get_option( $this->google_api_key_option );
374
 
386
 
387
  update_option( $this->google_api_key_option . '_enable', 0 );
388
 
389
+ $option_value = trim( sanitize_text_field( $_POST[ $this->google_api_key_option ] ) );
390
  update_option( $this->google_api_key_option, $option_value );
391
 
392
  if ( 0 != $old_google_api_key_enable ) {
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
+ $response = wp_remote_get( $this->admin_plugin_url() . '/assets/webfonts/webfonts.json', array( 'timeout' => 120 ) );
469
+ $webfonts = wp_remote_retrieve_body( $response );
470
+ if ( ! empty( $webfonts ) ) {
471
  $json_string = get_magic_quotes_gpc() ? stripslashes( $webfonts ) : $webfonts;
472
  $response_fonts = json_decode( $json_string, true );
473
  }
519
 
520
  // Get font list from default webfonts.json file of plugin
521
  if ( file_exists( $this->admin_plugin_dir() . '/assets/webfonts/webfonts.json' ) ) {
522
+ $response = wp_remote_get( $this->admin_plugin_url() . '/assets/webfonts/webfonts.json', array( 'timeout' => 120 ) );
523
+ $webfonts = wp_remote_retrieve_body( $response );
524
+ if ( ! empty( $webfonts ) ) {
525
  $json_string = get_magic_quotes_gpc() ? stripslashes( $webfonts ) : $webfonts;
526
  $response_fonts = json_decode( $json_string, true );
527
  }
admin/less/sass.php CHANGED
@@ -71,7 +71,6 @@ class A3_Lazy_Load_Less
71
 
72
  global $wp_filesystem;
73
 
74
- @ini_set( 'display_errors', false );
75
  $_upload_dir = wp_upload_dir();
76
  $wp_filesystem->chmod($_upload_dir['basedir'], 0755);
77
  if (! $wp_filesystem->is_dir($_upload_dir['basedir'] . '/sass')) {
71
 
72
  global $wp_filesystem;
73
 
 
74
  $_upload_dir = wp_upload_dir();
75
  $wp_filesystem->chmod($_upload_dir['basedir'], 0755);
76
  if (! $wp_filesystem->is_dir($_upload_dir['basedir'] . '/sass')) {
admin/settings/template-settings/global-settings.php CHANGED
@@ -528,13 +528,32 @@ class A3_Lazy_Load_Global_Settings extends A3_Lazy_Load_Admin_UI
528
  'is_box' => true,
529
  ),
530
  array(
531
- 'name' => __( 'Threshold', 'a3-lazy-load' ),
532
  'id' => 'a3l_edgeY',
533
- 'desc' => 'px ' . __( 'Expands visible page area (viewport) in vertical direction by the amount of pixels set. Elements start to load as soon as the reach the threshold instead of when they reach the actual viewport.', 'a3-lazy-load' ),
534
  'type' => 'text',
535
  'default' => 0,
536
  'css' => 'width: 80px;'
537
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
538
  ) );
539
 
540
  $this->form_fields = apply_filters( $this->option_name . '_settings_fields', $this->form_fields );
528
  'is_box' => true,
529
  ),
530
  array(
531
+ 'name' => __( 'Threshold (px)', 'a3-lazy-load' ),
532
  'id' => 'a3l_edgeY',
533
+ 'desc' => __( 'Expands visible page area (viewport) in vertical direction by the amount of pixels set. Elements start to load as soon as they reach the threshold instead of when they reach the actual viewport.', 'a3-lazy-load' ),
534
  'type' => 'text',
535
  'default' => 0,
536
  'css' => 'width: 80px;'
537
  ),
538
+
539
+ array(
540
+ 'name' => __( 'Jetpack Site Accelerator (Proton) Compatibility', 'a3-lazy-load' ),
541
+ 'class' => 'a3l_apply_to_load_container',
542
+ 'type' => 'heading',
543
+ 'id' => 'a3l_jetpack_compatibility_box',
544
+ 'is_box' => true,
545
+ ),
546
+ array(
547
+ 'name' => __( 'Jetpack Compatibility', 'a3-lazy-load' ),
548
+ 'desc' => __("If using Jetpack Site Accelerator turn this option on so your Jetpack CDN images can be lazy loaded.", 'a3-lazy-load' ),
549
+ 'id' => 'a3l_jetpack_site_accelerator_compatibility',
550
+ 'type' => 'onoff_checkbox',
551
+ 'default' => false,
552
+ 'checked_value' => true,
553
+ 'unchecked_value' => false,
554
+ 'checked_label' => __( 'ON', 'a3-lazy-load' ),
555
+ 'unchecked_label' => __( 'OFF', 'a3-lazy-load' ),
556
+ ),
557
  ) );
558
 
559
  $this->form_fields = apply_filters( $this->option_name . '_settings_fields', $this->form_fields );
classes/addons/class-a3-lazy-load-addons-page.php CHANGED
@@ -1,9 +1,12 @@
1
  <?php
 
 
 
2
  if ( ! defined( 'ABSPATH' ) ) {
3
  exit; // Exit if accessed directly
4
  }
5
 
6
- class A3_Lazy_Load_Addons_Page
7
  {
8
  public function __construct() {
9
 
@@ -221,5 +224,3 @@ class A3_Lazy_Load_Addons_Page
221
  <?php
222
  }
223
  }
224
-
225
- return new A3_Lazy_Load_Addons_Page();
1
  <?php
2
+
3
+ namespace A3Rev\LazyLoad;
4
+
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit; // Exit if accessed directly
7
  }
8
 
9
+ class Addons
10
  {
11
  public function __construct() {
12
 
224
  <?php
225
  }
226
  }
 
 
classes/class-a3-lazy-load-excludes.php CHANGED
@@ -1,5 +1,12 @@
1
  <?php
2
- class A3_Lazy_Load_Excludes
 
 
 
 
 
 
 
3
  {
4
  public function __construct() {
5
 
@@ -156,8 +163,3 @@ class A3_Lazy_Load_Excludes
156
  return false;
157
  }
158
  }
159
-
160
- global $a3_lazy_load_excludes;
161
- $a3_lazy_load_excludes = new A3_Lazy_Load_Excludes();
162
-
163
- ?>
1
  <?php
2
+
3
+ namespace A3Rev\LazyLoad;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit; // Exit if accessed directly
7
+ }
8
+
9
+ class Excludes
10
  {
11
  public function __construct() {
12
 
163
  return false;
164
  }
165
  }
 
 
 
 
 
classes/class-a3-lazy-load-filter.php CHANGED
@@ -1,5 +1,12 @@
1
  <?php
2
- class A3_Lazy_Load_Hook_Filter
 
 
 
 
 
 
 
3
  {
4
  public static function a3_wp_admin() {
5
  wp_enqueue_style( 'a3rev-wp-admin-style', A3_LAZY_LOAD_CSS_URL . '/a3_wp_admin.css' );
@@ -65,4 +72,3 @@ class A3_Lazy_Load_Hook_Filter
65
  }
66
 
67
  }
68
- ?>
1
  <?php
2
+
3
+ namespace A3Rev\LazyLoad;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit; // Exit if accessed directly
7
+ }
8
+
9
+ class Hook_Filter
10
  {
11
  public static function a3_wp_admin() {
12
  wp_enqueue_style( 'a3rev-wp-admin-style', A3_LAZY_LOAD_CSS_URL . '/a3_wp_admin.css' );
72
  }
73
 
74
  }
 
classes/class-a3-lazy-load.php CHANGED
@@ -1,5 +1,12 @@
1
  <?php
2
- class A3_Lazy_Load
 
 
 
 
 
 
 
3
  {
4
  const version = A3_LAZY_VERSION;
5
  protected $iframe_placeholder_url;
@@ -35,11 +42,11 @@ class A3_Lazy_Load
35
  return;
36
  }
37
 
38
- if ( true == $a3_lazy_load_global_settings['a3l_load_disable_on_wptouch'] && A3_Lazy_Load::is_wptouch() ) {
39
  return;
40
  }
41
 
42
- if ( true == $a3_lazy_load_global_settings['a3l_load_disable_on_mobilepress'] && A3_Lazy_Load::is_mobilepress() ) {
43
  return;
44
  }
45
 
@@ -54,8 +61,8 @@ class A3_Lazy_Load
54
 
55
  add_filter( 'a3_lazy_load_html', array( $this, 'filter_html' ), 10, 2 );
56
 
57
- $this->iframe_placeholder_url = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
58
- $this->_placeholder_url = A3_LAZY_LOAD_IMAGES_URL . '/lazy_placeholder.gif';
59
 
60
  // Apply for Images
61
  $skip_images_classes = apply_filters( 'a3_lazy_load_skip_images_classes', $a3_lazy_load_global_settings['a3l_skip_image_with_class'] );
@@ -168,7 +175,12 @@ class A3_Lazy_Load
168
 
169
  wp_enqueue_script( 'jquery-lazyloadxt-extend' );
170
 
171
- $A3_Lazy_Load = A3_Lazy_Load::_instance();
 
 
 
 
 
172
 
173
  $A3_Lazy_Load->localize_printed_scripts();
174
 
@@ -284,7 +296,7 @@ class A3_Lazy_Load
284
 
285
  global $a3_lazy_load_global_settings;
286
 
287
- $A3_Lazy_Load = A3_Lazy_Load::_instance();
288
 
289
  $content = apply_filters( 'a3_lazy_load_html_before', $content );
290
 
@@ -314,7 +326,7 @@ class A3_Lazy_Load
314
 
315
  global $a3_lazy_load_global_settings;
316
 
317
- $A3_Lazy_Load = A3_Lazy_Load::_instance();
318
 
319
  $content = apply_filters( 'a3_lazy_load_images_before', $content );
320
 
@@ -332,7 +344,7 @@ class A3_Lazy_Load
332
  static function sidebar_after_filter_images() {
333
  $content = ob_get_clean();
334
 
335
- $A3_Lazy_Load = A3_Lazy_Load::_instance();
336
 
337
  echo $A3_Lazy_Load->filter_images( $content );
338
 
@@ -340,17 +352,17 @@ class A3_Lazy_Load
340
  }
341
 
342
  static function filter_content_images( $content ) {
343
- $A3_Lazy_Load = A3_Lazy_Load::_instance();
344
 
345
  return $A3_Lazy_Load->filter_images( $content );
346
  }
347
 
348
  static function get_attachment_image_attributes( $attr ) {
349
- $A3_Lazy_Load = A3_Lazy_Load::_instance();
350
 
351
  if ( is_array( $A3_Lazy_Load->_skip_images_classes ) ) {
352
  $skip_images_preg_quoted = array_map( array( $A3_Lazy_Load, 'preg_quote_with_wildcards' ), $A3_Lazy_Load->_skip_images_classes );
353
- $skip_images_regex = sprintf( '/class=".*(%s).*"/s', implode( '|', $skip_images_preg_quoted ) );
354
  }
355
 
356
  if ( ! ( is_array( $A3_Lazy_Load->_skip_images_classes ) && preg_match( $skip_images_regex, 'class="'.$attr['class'].'"' ) ) && ! preg_match( "/src=.*lazy_placeholder.gif['\"]/s", 'src="'.$attr['src'].'"' ) ) {
@@ -385,7 +397,7 @@ class A3_Lazy_Load
385
 
386
  if ( is_array( $this->_skip_images_classes ) ) {
387
  $skip_images_preg_quoted = array_map( array( $this, 'preg_quote_with_wildcards' ), $this->_skip_images_classes );
388
- $skip_images_regex = sprintf( '/class=".*(%s).*"/s', implode( '|', $skip_images_preg_quoted ) );
389
  }
390
 
391
  $i = 0;
@@ -447,7 +459,7 @@ class A3_Lazy_Load
447
 
448
  global $a3_lazy_load_global_settings;
449
 
450
- $A3_Lazy_Load = A3_Lazy_Load::_instance();
451
 
452
  $content = apply_filters( 'a3_lazy_load_videos_before', $content );
453
 
@@ -465,7 +477,7 @@ class A3_Lazy_Load
465
  static function sidebar_after_filter_videos() {
466
  $content = ob_get_clean();
467
 
468
- $A3_Lazy_Load = A3_Lazy_Load::_instance();
469
 
470
  echo $A3_Lazy_Load->filter_videos( $content );
471
 
@@ -489,7 +501,7 @@ class A3_Lazy_Load
489
 
490
  if ( is_array( $this->_skip_videos_classes ) ) {
491
  $skip_images_preg_quoted = array_map( array( $this, 'preg_quote_with_wildcards' ), $this->_skip_videos_classes );
492
- $skip_images_regex = sprintf( '/class=".*(%s).*"/s', implode( '|', $skip_images_preg_quoted ) );
493
  }
494
 
495
  $i = 0;
@@ -535,7 +547,7 @@ class A3_Lazy_Load
535
 
536
  if ( is_array( $this->_skip_videos_classes ) ) {
537
  $skip_images_preg_quoted = array_map( array( $this, 'preg_quote_with_wildcards' ), $this->_skip_videos_classes );
538
- $skip_images_regex = sprintf( '/class=".*(%s).*"/s', implode( '|', $skip_images_preg_quoted ) );
539
  }
540
 
541
  $i = 0;
@@ -583,7 +595,7 @@ class A3_Lazy_Load
583
 
584
  if ( is_array( $this->_skip_videos_classes ) ) {
585
  $skip_images_preg_quoted = array_map( array( $this, 'preg_quote_with_wildcards' ), $this->_skip_videos_classes );
586
- $skip_images_regex = sprintf( '/class=".*(%s).*"/s', implode( '|', $skip_images_preg_quoted ) );
587
  }
588
 
589
  $i = 0;
@@ -621,26 +633,3 @@ class A3_Lazy_Load
621
  return $content;
622
  }
623
  }
624
-
625
- add_action( 'wp', 'a3_lazy_load_instance', 10, 0 );
626
- function a3_lazy_load_instance() {
627
- $allow_instance = true;
628
-
629
- if ( is_feed() ) {
630
- $allow_instance = false;
631
- }
632
-
633
- if ( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) {
634
- $allow_instance = false;
635
- }
636
-
637
- // Compatibility with Better AMP plugin
638
- if ( function_exists( 'is_better_amp' ) && is_better_amp() ) {
639
- $allow_instance = false;
640
- }
641
-
642
- if ( $allow_instance ) {
643
- A3_Lazy_Load::_instance();
644
- }
645
- }
646
- ?>
1
  <?php
2
+
3
+ namespace A3Rev;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit; // Exit if accessed directly
7
+ }
8
+
9
+ class LazyLoad
10
  {
11
  const version = A3_LAZY_VERSION;
12
  protected $iframe_placeholder_url;
42
  return;
43
  }
44
 
45
+ if ( true == $a3_lazy_load_global_settings['a3l_load_disable_on_wptouch'] && self::is_wptouch() ) {
46
  return;
47
  }
48
 
49
+ if ( true == $a3_lazy_load_global_settings['a3l_load_disable_on_mobilepress'] && self::is_mobilepress() ) {
50
  return;
51
  }
52
 
61
 
62
  add_filter( 'a3_lazy_load_html', array( $this, 'filter_html' ), 10, 2 );
63
 
64
+ $this->iframe_placeholder_url = apply_filters('a3_lazy_load_iframe_placeholder_url', 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7');
65
+ $this->_placeholder_url = apply_filters( 'a3_lazy_load_placeholder_url', A3_LAZY_LOAD_IMAGES_URL . '/lazy_placeholder.gif' );
66
 
67
  // Apply for Images
68
  $skip_images_classes = apply_filters( 'a3_lazy_load_skip_images_classes', $a3_lazy_load_global_settings['a3l_skip_image_with_class'] );
175
 
176
  wp_enqueue_script( 'jquery-lazyloadxt-extend' );
177
 
178
+ // Disable Jetpack's devicepx (has a conflict with a3 Lazy Load [retains the placeholder as the higher-dpi image asset via srcset])
179
+ if ( isset( $a3_lazy_load_global_settings['a3l_jetpack_site_accelerator_compatibility'] ) && $a3_lazy_load_global_settings['a3l_jetpack_site_accelerator_compatibility'] ) {
180
+ wp_dequeue_script( 'devicepx' );
181
+ }
182
+
183
+ $A3_Lazy_Load = self::_instance();
184
 
185
  $A3_Lazy_Load->localize_printed_scripts();
186
 
296
 
297
  global $a3_lazy_load_global_settings;
298
 
299
+ $A3_Lazy_Load = self::_instance();
300
 
301
  $content = apply_filters( 'a3_lazy_load_html_before', $content );
302
 
326
 
327
  global $a3_lazy_load_global_settings;
328
 
329
+ $A3_Lazy_Load = self::_instance();
330
 
331
  $content = apply_filters( 'a3_lazy_load_images_before', $content );
332
 
344
  static function sidebar_after_filter_images() {
345
  $content = ob_get_clean();
346
 
347
+ $A3_Lazy_Load = self::_instance();
348
 
349
  echo $A3_Lazy_Load->filter_images( $content );
350
 
352
  }
353
 
354
  static function filter_content_images( $content ) {
355
+ $A3_Lazy_Load = self::_instance();
356
 
357
  return $A3_Lazy_Load->filter_images( $content );
358
  }
359
 
360
  static function get_attachment_image_attributes( $attr ) {
361
+ $A3_Lazy_Load = self::_instance();
362
 
363
  if ( is_array( $A3_Lazy_Load->_skip_images_classes ) ) {
364
  $skip_images_preg_quoted = array_map( array( $A3_Lazy_Load, 'preg_quote_with_wildcards' ), $A3_Lazy_Load->_skip_images_classes );
365
+ $skip_images_regex = sprintf( '/class=["\'].*(%s).*["\']/s', implode( '|', $skip_images_preg_quoted ) );
366
  }
367
 
368
  if ( ! ( is_array( $A3_Lazy_Load->_skip_images_classes ) && preg_match( $skip_images_regex, 'class="'.$attr['class'].'"' ) ) && ! preg_match( "/src=.*lazy_placeholder.gif['\"]/s", 'src="'.$attr['src'].'"' ) ) {
397
 
398
  if ( is_array( $this->_skip_images_classes ) ) {
399
  $skip_images_preg_quoted = array_map( array( $this, 'preg_quote_with_wildcards' ), $this->_skip_images_classes );
400
+ $skip_images_regex = sprintf( '/class=["\'].*(%s).*["\']/s', implode( '|', $skip_images_preg_quoted ) );
401
  }
402
 
403
  $i = 0;
459
 
460
  global $a3_lazy_load_global_settings;
461
 
462
+ $A3_Lazy_Load = self::_instance();
463
 
464
  $content = apply_filters( 'a3_lazy_load_videos_before', $content );
465
 
477
  static function sidebar_after_filter_videos() {
478
  $content = ob_get_clean();
479
 
480
+ $A3_Lazy_Load = self::_instance();
481
 
482
  echo $A3_Lazy_Load->filter_videos( $content );
483
 
501
 
502
  if ( is_array( $this->_skip_videos_classes ) ) {
503
  $skip_images_preg_quoted = array_map( array( $this, 'preg_quote_with_wildcards' ), $this->_skip_videos_classes );
504
+ $skip_images_regex = sprintf( '/class=["\'].*(%s).*["\']/s', implode( '|', $skip_images_preg_quoted ) );
505
  }
506
 
507
  $i = 0;
547
 
548
  if ( is_array( $this->_skip_videos_classes ) ) {
549
  $skip_images_preg_quoted = array_map( array( $this, 'preg_quote_with_wildcards' ), $this->_skip_videos_classes );
550
+ $skip_images_regex = sprintf( '/class=["\'].*(%s).*["\']/s', implode( '|', $skip_images_preg_quoted ) );
551
  }
552
 
553
  $i = 0;
595
 
596
  if ( is_array( $this->_skip_videos_classes ) ) {
597
  $skip_images_preg_quoted = array_map( array( $this, 'preg_quote_with_wildcards' ), $this->_skip_videos_classes );
598
+ $skip_images_regex = sprintf( '/class=["\'].*(%s).*["\']/s', implode( '|', $skip_images_preg_quoted ) );
599
  }
600
 
601
  $i = 0;
633
  return $content;
634
  }
635
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/classes-backwards-compatibility.php ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ use A3Rev\LazyLoad;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit; // Exit if accessed directly
7
+ }
8
+
9
+ class A3_Lazy_Load_Hook_Filter
10
+ {
11
+ public static function a3_wp_admin() {
12
+ LazyLoad\Hook_Filter::a3_wp_admin();
13
+ }
14
+
15
+ public static function admin_sidebar_menu_css() {
16
+ LazyLoad\Hook_Filter::admin_sidebar_menu_css();
17
+ }
18
+
19
+ public static function plugin_extension_box( $boxes = array() ) {
20
+
21
+ return LazyLoad\Hook_Filter::plugin_extension_box( $boxes );
22
+ }
23
+
24
+ public static function plugin_extra_links($links, $plugin_name) {
25
+ return LazyLoad\Hook_Filter::plugin_extra_links( $links, $plugin_name );
26
+ }
27
+
28
+ public static function settings_plugin_links( $actions ) {
29
+ return LazyLoad\Hook_Filter::settings_plugin_links( $actions );
30
+ }
31
+ }
32
+
33
+ class A3_Lazy_Load
34
+ {
35
+ const version = A3_LAZY_VERSION;
36
+ protected $iframe_placeholder_url;
37
+ protected $_placeholder_url;
38
+ protected $_skip_images_classes;
39
+ protected $_skip_videos_classes;
40
+ protected static $_instance;
41
+
42
+ function __construct() {
43
+ LazyLoad::_instance();
44
+ }
45
+
46
+ static function _instance() {
47
+ if ( ! isset( self::$_instance ) ) {
48
+ self::$_instance = new A3_Lazy_Load;
49
+ }
50
+ return self::$_instance;
51
+ }
52
+
53
+ static function enqueue_scripts() {
54
+ LazyLoad::enqueue_scripts();
55
+ }
56
+
57
+ static function localize_printed_scripts() {
58
+ LazyLoad::localize_printed_scripts();
59
+ }
60
+
61
+ static function is_wptouch() {
62
+ return LazyLoad::is_wptouch();
63
+ }
64
+
65
+ static function has_wptouch() {
66
+ return LazyLoad::has_wptouch();
67
+ }
68
+
69
+ static function is_mobilepress() {
70
+ return LazyLoad::is_mobilepress();
71
+ }
72
+
73
+ static function has_mobilepress() {
74
+ return LazyLoad::has_mobilepress();
75
+ }
76
+
77
+ static public function preg_quote_with_wildcards( $what ){
78
+ return LazyLoad::preg_quote_with_wildcards( $what );
79
+ }
80
+
81
+ static function add_lazy_attributes( $allowedposttags, $context ) {
82
+ return LazyLoad::add_lazy_attributes( $allowedposttags, $context );
83
+ }
84
+
85
+ static function filter_html( $content, $include_noscript = null ) {
86
+ return LazyLoad::filter_html( $content, $include_noscript = null );
87
+ }
88
+
89
+ static function filter_images( $content, $include_noscript = null ) {
90
+ return LazyLoad::filter_images( $content, $include_noscript = null );
91
+ }
92
+
93
+ static function sidebar_before_filter_images() {
94
+ LazyLoad::sidebar_before_filter_images();
95
+ }
96
+
97
+ static function sidebar_after_filter_images() {
98
+ LazyLoad::sidebar_after_filter_images();
99
+ }
100
+
101
+ static function filter_content_images( $content ) {
102
+ return LazyLoad::filter_content_images( $content );
103
+ }
104
+
105
+ static function get_attachment_image_attributes( $attr ) {
106
+ return LazyLoad::get_attachment_image_attributes( $attr );
107
+ }
108
+
109
+ protected function _filter_images( $content, $include_noscript = null ) {
110
+ return false;
111
+ }
112
+
113
+ function get_color( $type = 'background' ) {
114
+ return LazyLoad::get_color( $type );
115
+ }
116
+
117
+ static function filter_videos( $content, $include_noscript = null ) {
118
+ return LazyLoad::filter_videos( $content, $include_noscript = null );
119
+ }
120
+
121
+ static function sidebar_before_filter_videos() {
122
+ LazyLoad::sidebar_before_filter_videos();
123
+ }
124
+
125
+ static function sidebar_after_filter_videos() {
126
+ LazyLoad::sidebar_after_filter_videos();
127
+ }
128
+
129
+ protected function _filter_videos( $content, $include_noscript = null ) {
130
+ return false;
131
+ }
132
+ }
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: 5.2.2
6
- Stable tag: 1.9.3
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -194,6 +194,20 @@ Filter tags to add to class name of theme to exclude lazy load on images or vide
194
 
195
  == Changelog ==
196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  = 1.9.3 - 2019/06/29 =
198
  * This is a maintenance upgrade to fix a potentially fatal error conflict with sites running PHP 7.3 plus compatibility with WordPress 5.2.2
199
  * Fix - PHP warning continue targeting switch is equivalent to break for compatibility on PHP 7.3
@@ -422,6 +436,9 @@ Filter tags to add to class name of theme to exclude lazy load on images or vide
422
 
423
  == Upgrade Notice ==
424
 
 
 
 
425
  = 1.9.3 =
426
  * This is a maintenance upgrade to fix a potentially fatal error conflict with sites running PHP 7.3 plus compatibility with WordPress 5.2.2
427
 
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.3.0
6
+ Stable tag: 2.0.0
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
194
 
195
  == Changelog ==
196
 
197
+ = 2.0.0 - 2019/11/19 =
198
+ * This feature release has a lot. PHP is upgraded to Composer PHP Dependency Manager, Compatibility with Jetpack Accelerator, a full security review, and compatibility with with WordPress 5.3.0
199
+ * Feature - Plugin fully refactored to Composer for cleaner and faster PHP code
200
+ * Feature - Add Jetpack Accelerator (Proton CDN images) compatibility. Props [@ KZeni](https://github.com/KZeni)
201
+ * Tweak - Define new option box so that you can turn ON|OFF Jetpack Compatibility
202
+ * Tweak - Remove the hard coded PHP error_reporting display errors false from compile sass to css
203
+ * Tweak - Test for compatibility with WordPress 5.3.0
204
+ * Tweak - Support for backward compatibility for 3rd party plugin use some functions from old class A3_Lazy_Load
205
+ * Tweak - Allow the "skip" class to have single or double quotes. Props [@joneslloyd](https://github.com/joneslloyd)
206
+ * Dev - Support new filter tag 'a3_lazy_load_placeholder_url' for change value of placeholder_url Props [@joneslloyd](https://github.com/joneslloyd)
207
+ * Dev - Support new filter tag 'a3_lazy_load_iframe_placeholder_url' for change value of iframe_placeholder_url
208
+ * Dev - Replace file_get_contents with HTTP API wp_remote_get
209
+ * Dev - Ensure that all inputs are sanitized and all outputs are escaped
210
+
211
  = 1.9.3 - 2019/06/29 =
212
  * This is a maintenance upgrade to fix a potentially fatal error conflict with sites running PHP 7.3 plus compatibility with WordPress 5.2.2
213
  * Fix - PHP warning continue targeting switch is equivalent to break for compatibility on PHP 7.3
436
 
437
  == Upgrade Notice ==
438
 
439
+ = 2.0.0 =
440
+ This feature release has a lot. PHP is upgraded to Composer PHP Dependency Manager, Compatibility with Jetpack Accelerator, a full security review, and compatibility with with WordPress 5.3.0
441
+
442
  = 1.9.3 =
443
  * This is a maintenance upgrade to fix a potentially fatal error conflict with sites running PHP 7.3 plus compatibility with WordPress 5.2.2
444
 
vendor/autoload.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload.php @generated by Composer
4
+
5
+ require_once __DIR__ . '/composer/autoload_real.php';
6
+
7
+ return ComposerAutoloaderInit77a467d5323ba7825007e91ddb8ae762::getLoader();
vendor/composer/ClassLoader.php ADDED
@@ -0,0 +1,445 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of Composer.
5
+ *
6
+ * (c) Nils Adermann <naderman@naderman.de>
7
+ * Jordi Boggiano <j.boggiano@seld.be>
8
+ *
9
+ * For the full copyright and license information, please view the LICENSE
10
+ * file that was distributed with this source code.
11
+ */
12
+
13
+ namespace Composer\Autoload;
14
+
15
+ /**
16
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
17
+ *
18
+ * $loader = new \Composer\Autoload\ClassLoader();
19
+ *
20
+ * // register classes with namespaces
21
+ * $loader->add('Symfony\Component', __DIR__.'/component');
22
+ * $loader->add('Symfony', __DIR__.'/framework');
23
+ *
24
+ * // activate the autoloader
25
+ * $loader->register();
26
+ *
27
+ * // to enable searching the include path (eg. for PEAR packages)
28
+ * $loader->setUseIncludePath(true);
29
+ *
30
+ * In this example, if you try to use a class in the Symfony\Component
31
+ * namespace or one of its children (Symfony\Component\Console for instance),
32
+ * the autoloader will first look for the class under the component/
33
+ * directory, and it will then fallback to the framework/ directory if not
34
+ * found before giving up.
35
+ *
36
+ * This class is loosely based on the Symfony UniversalClassLoader.
37
+ *
38
+ * @author Fabien Potencier <fabien@symfony.com>
39
+ * @author Jordi Boggiano <j.boggiano@seld.be>
40
+ * @see http://www.php-fig.org/psr/psr-0/
41
+ * @see http://www.php-fig.org/psr/psr-4/
42
+ */
43
+ class ClassLoader
44
+ {
45
+ // PSR-4
46
+ private $prefixLengthsPsr4 = array();
47
+ private $prefixDirsPsr4 = array();
48
+ private $fallbackDirsPsr4 = array();
49
+
50
+ // PSR-0
51
+ private $prefixesPsr0 = array();
52
+ private $fallbackDirsPsr0 = array();
53
+
54
+ private $useIncludePath = false;
55
+ private $classMap = array();
56
+ private $classMapAuthoritative = false;
57
+ private $missingClasses = array();
58
+ private $apcuPrefix;
59
+
60
+ public function getPrefixes()
61
+ {
62
+ if (!empty($this->prefixesPsr0)) {
63
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
64
+ }
65
+
66
+ return array();
67
+ }
68
+
69
+ public function getPrefixesPsr4()
70
+ {
71
+ return $this->prefixDirsPsr4;
72
+ }
73
+
74
+ public function getFallbackDirs()
75
+ {
76
+ return $this->fallbackDirsPsr0;
77
+ }
78
+
79
+ public function getFallbackDirsPsr4()
80
+ {
81
+ return $this->fallbackDirsPsr4;
82
+ }
83
+
84
+ public function getClassMap()
85
+ {
86
+ return $this->classMap;
87
+ }
88
+
89
+ /**
90
+ * @param array $classMap Class to filename map
91
+ */
92
+ public function addClassMap(array $classMap)
93
+ {
94
+ if ($this->classMap) {
95
+ $this->classMap = array_merge($this->classMap, $classMap);
96
+ } else {
97
+ $this->classMap = $classMap;
98
+ }
99
+ }
100
+
101
+ /**
102
+ * Registers a set of PSR-0 directories for a given prefix, either
103
+ * appending or prepending to the ones previously set for this prefix.
104
+ *
105
+ * @param string $prefix The prefix
106
+ * @param array|string $paths The PSR-0 root directories
107
+ * @param bool $prepend Whether to prepend the directories
108
+ */
109
+ public function add($prefix, $paths, $prepend = false)
110
+ {
111
+ if (!$prefix) {
112
+ if ($prepend) {
113
+ $this->fallbackDirsPsr0 = array_merge(
114
+ (array) $paths,
115
+ $this->fallbackDirsPsr0
116
+ );
117
+ } else {
118
+ $this->fallbackDirsPsr0 = array_merge(
119
+ $this->fallbackDirsPsr0,
120
+ (array) $paths
121
+ );
122
+ }
123
+
124
+ return;
125
+ }
126
+
127
+ $first = $prefix[0];
128
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
129
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
130
+
131
+ return;
132
+ }
133
+ if ($prepend) {
134
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
135
+ (array) $paths,
136
+ $this->prefixesPsr0[$first][$prefix]
137
+ );
138
+ } else {
139
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
140
+ $this->prefixesPsr0[$first][$prefix],
141
+ (array) $paths
142
+ );
143
+ }
144
+ }
145
+
146
+ /**
147
+ * Registers a set of PSR-4 directories for a given namespace, either
148
+ * appending or prepending to the ones previously set for this namespace.
149
+ *
150
+ * @param string $prefix The prefix/namespace, with trailing '\\'
151
+ * @param array|string $paths The PSR-4 base directories
152
+ * @param bool $prepend Whether to prepend the directories
153
+ *
154
+ * @throws \InvalidArgumentException
155
+ */
156
+ public function addPsr4($prefix, $paths, $prepend = false)
157
+ {
158
+ if (!$prefix) {
159
+ // Register directories for the root namespace.
160
+ if ($prepend) {
161
+ $this->fallbackDirsPsr4 = array_merge(
162
+ (array) $paths,
163
+ $this->fallbackDirsPsr4
164
+ );
165
+ } else {
166
+ $this->fallbackDirsPsr4 = array_merge(
167
+ $this->fallbackDirsPsr4,
168
+ (array) $paths
169
+ );
170
+ }
171
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
172
+ // Register directories for a new namespace.
173
+ $length = strlen($prefix);
174
+ if ('\\' !== $prefix[$length - 1]) {
175
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
176
+ }
177
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
178
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
179
+ } elseif ($prepend) {
180
+ // Prepend directories for an already registered namespace.
181
+ $this->prefixDirsPsr4[$prefix] = array_merge(
182
+ (array) $paths,
183
+ $this->prefixDirsPsr4[$prefix]
184
+ );
185
+ } else {
186
+ // Append directories for an already registered namespace.
187
+ $this->prefixDirsPsr4[$prefix] = array_merge(
188
+ $this->prefixDirsPsr4[$prefix],
189
+ (array) $paths
190
+ );
191
+ }
192
+ }
193
+
194
+ /**
195
+ * Registers a set of PSR-0 directories for a given prefix,
196
+ * replacing any others previously set for this prefix.
197
+ *
198
+ * @param string $prefix The prefix
199
+ * @param array|string $paths The PSR-0 base directories
200
+ */
201
+ public function set($prefix, $paths)
202
+ {
203
+ if (!$prefix) {
204
+ $this->fallbackDirsPsr0 = (array) $paths;
205
+ } else {
206
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
207
+ }
208
+ }
209
+
210
+ /**
211
+ * Registers a set of PSR-4 directories for a given namespace,
212
+ * replacing any others previously set for this namespace.
213
+ *
214
+ * @param string $prefix The prefix/namespace, with trailing '\\'
215
+ * @param array|string $paths The PSR-4 base directories
216
+ *
217
+ * @throws \InvalidArgumentException
218
+ */
219
+ public function setPsr4($prefix, $paths)
220
+ {
221
+ if (!$prefix) {
222
+ $this->fallbackDirsPsr4 = (array) $paths;
223
+ } else {
224
+ $length = strlen($prefix);
225
+ if ('\\' !== $prefix[$length - 1]) {
226
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
227
+ }
228
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
229
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
230
+ }
231
+ }
232
+
233
+ /**
234
+ * Turns on searching the include path for class files.
235
+ *
236
+ * @param bool $useIncludePath
237
+ */
238
+ public function setUseIncludePath($useIncludePath)
239
+ {
240
+ $this->useIncludePath = $useIncludePath;
241
+ }
242
+
243
+ /**
244
+ * Can be used to check if the autoloader uses the include path to check
245
+ * for classes.
246
+ *
247
+ * @return bool
248
+ */
249
+ public function getUseIncludePath()
250
+ {
251
+ return $this->useIncludePath;
252
+ }
253
+
254
+ /**
255
+ * Turns off searching the prefix and fallback directories for classes
256
+ * that have not been registered with the class map.
257
+ *
258
+ * @param bool $classMapAuthoritative
259
+ */
260
+ public function setClassMapAuthoritative($classMapAuthoritative)
261
+ {
262
+ $this->classMapAuthoritative = $classMapAuthoritative;
263
+ }
264
+
265
+ /**
266
+ * Should class lookup fail if not found in the current class map?
267
+ *
268
+ * @return bool
269
+ */
270
+ public function isClassMapAuthoritative()
271
+ {
272
+ return $this->classMapAuthoritative;
273
+ }
274
+
275
+ /**
276
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
277
+ *
278
+ * @param string|null $apcuPrefix
279
+ */
280
+ public function setApcuPrefix($apcuPrefix)
281
+ {
282
+ $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
283
+ }
284
+
285
+ /**
286
+ * The APCu prefix in use, or null if APCu caching is not enabled.
287
+ *
288
+ * @return string|null
289
+ */
290
+ public function getApcuPrefix()
291
+ {
292
+ return $this->apcuPrefix;
293
+ }
294
+
295
+ /**
296
+ * Registers this instance as an autoloader.
297
+ *
298
+ * @param bool $prepend Whether to prepend the autoloader or not
299
+ */
300
+ public function register($prepend = false)
301
+ {
302
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
303
+ }
304
+
305
+ /**
306
+ * Unregisters this instance as an autoloader.
307
+ */
308
+ public function unregister()
309
+ {
310
+ spl_autoload_unregister(array($this, 'loadClass'));
311
+ }
312
+
313
+ /**
314
+ * Loads the given class or interface.
315
+ *
316
+ * @param string $class The name of the class
317
+ * @return bool|null True if loaded, null otherwise
318
+ */
319
+ public function loadClass($class)
320
+ {
321
+ if ($file = $this->findFile($class)) {
322
+ includeFile($file);
323
+
324
+ return true;
325
+ }
326
+ }
327
+
328
+ /**
329
+ * Finds the path to the file where the class is defined.
330
+ *
331
+ * @param string $class The name of the class
332
+ *
333
+ * @return string|false The path if found, false otherwise
334
+ */
335
+ public function findFile($class)
336
+ {
337
+ // class map lookup
338
+ if (isset($this->classMap[$class])) {
339
+ return $this->classMap[$class];
340
+ }
341
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
342
+ return false;
343
+ }
344
+ if (null !== $this->apcuPrefix) {
345
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
346
+ if ($hit) {
347
+ return $file;
348
+ }
349
+ }
350
+
351
+ $file = $this->findFileWithExtension($class, '.php');
352
+
353
+ // Search for Hack files if we are running on HHVM
354
+ if (false === $file && defined('HHVM_VERSION')) {
355
+ $file = $this->findFileWithExtension($class, '.hh');
356
+ }
357
+
358
+ if (null !== $this->apcuPrefix) {
359
+ apcu_add($this->apcuPrefix.$class, $file);
360
+ }
361
+
362
+ if (false === $file) {
363
+ // Remember that this class does not exist.
364
+ $this->missingClasses[$class] = true;
365
+ }
366
+
367
+ return $file;
368
+ }
369
+
370
+ private function findFileWithExtension($class, $ext)
371
+ {
372
+ // PSR-4 lookup
373
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
374
+
375
+ $first = $class[0];
376
+ if (isset($this->prefixLengthsPsr4[$first])) {
377
+ $subPath = $class;
378
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
379
+ $subPath = substr($subPath, 0, $lastPos);
380
+ $search = $subPath . '\\';
381
+ if (isset($this->prefixDirsPsr4[$search])) {
382
+ $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
383
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
384
+ if (file_exists($file = $dir . $pathEnd)) {
385
+ return $file;
386
+ }
387
+ }
388
+ }
389
+ }
390
+ }
391
+
392
+ // PSR-4 fallback dirs
393
+ foreach ($this->fallbackDirsPsr4 as $dir) {
394
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
395
+ return $file;
396
+ }
397
+ }
398
+
399
+ // PSR-0 lookup
400
+ if (false !== $pos = strrpos($class, '\\')) {
401
+ // namespaced class name
402
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
403
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
404
+ } else {
405
+ // PEAR-like class name
406
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
407
+ }
408
+
409
+ if (isset($this->prefixesPsr0[$first])) {
410
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
411
+ if (0 === strpos($class, $prefix)) {
412
+ foreach ($dirs as $dir) {
413
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
414
+ return $file;
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+
421
+ // PSR-0 fallback dirs
422
+ foreach ($this->fallbackDirsPsr0 as $dir) {
423
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
424
+ return $file;
425
+ }
426
+ }
427
+
428
+ // PSR-0 include paths.
429
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
430
+ return $file;
431
+ }
432
+
433
+ return false;
434
+ }
435
+ }
436
+
437
+ /**
438
+ * Scope isolated include.
439
+ *
440
+ * Prevents access to $this/self from included files.
441
+ */
442
+ function includeFile($file)
443
+ {
444
+ include $file;
445
+ }
vendor/composer/LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Copyright (c) Nils Adermann, Jordi Boggiano
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is furnished
9
+ to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all
12
+ copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ THE SOFTWARE.
21
+
vendor/composer/autoload_classmap.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_classmap.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ 'A3Rev\\LazyLoad' => $baseDir . '/classes/class-a3-lazy-load.php',
10
+ 'A3Rev\\LazyLoad\\Addons' => $baseDir . '/classes/addons/class-a3-lazy-load-addons-page.php',
11
+ 'A3Rev\\LazyLoad\\Excludes' => $baseDir . '/classes/class-a3-lazy-load-excludes.php',
12
+ 'A3Rev\\LazyLoad\\Hook_Filter' => $baseDir . '/classes/class-a3-lazy-load-filter.php',
13
+ );
vendor/composer/autoload_namespaces.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_namespaces.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ );
vendor/composer/autoload_psr4.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_psr4.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ 'A3Rev\\' => array($baseDir . '/classes'),
10
+ );
vendor/composer/autoload_real.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_real.php @generated by Composer
4
+
5
+ class ComposerAutoloaderInit77a467d5323ba7825007e91ddb8ae762
6
+ {
7
+ private static $loader;
8
+
9
+ public static function loadClassLoader($class)
10
+ {
11
+ if ('Composer\Autoload\ClassLoader' === $class) {
12
+ require __DIR__ . '/ClassLoader.php';
13
+ }
14
+ }
15
+
16
+ public static function getLoader()
17
+ {
18
+ if (null !== self::$loader) {
19
+ return self::$loader;
20
+ }
21
+
22
+ spl_autoload_register(array('ComposerAutoloaderInit77a467d5323ba7825007e91ddb8ae762', 'loadClassLoader'), true, true);
23
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit77a467d5323ba7825007e91ddb8ae762', 'loadClassLoader'));
25
+
26
+ $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
+ if ($useStaticLoader) {
28
+ require_once __DIR__ . '/autoload_static.php';
29
+
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit77a467d5323ba7825007e91ddb8ae762::getInitializer($loader));
31
+ } else {
32
+ $map = require __DIR__ . '/autoload_namespaces.php';
33
+ foreach ($map as $namespace => $path) {
34
+ $loader->set($namespace, $path);
35
+ }
36
+
37
+ $map = require __DIR__ . '/autoload_psr4.php';
38
+ foreach ($map as $namespace => $path) {
39
+ $loader->setPsr4($namespace, $path);
40
+ }
41
+
42
+ $classMap = require __DIR__ . '/autoload_classmap.php';
43
+ if ($classMap) {
44
+ $loader->addClassMap($classMap);
45
+ }
46
+ }
47
+
48
+ $loader->register(true);
49
+
50
+ return $loader;
51
+ }
52
+ }
vendor/composer/autoload_static.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_static.php @generated by Composer
4
+
5
+ namespace Composer\Autoload;
6
+
7
+ class ComposerStaticInit77a467d5323ba7825007e91ddb8ae762
8
+ {
9
+ public static $prefixLengthsPsr4 = array (
10
+ 'A' =>
11
+ array (
12
+ 'A3Rev\\' => 6,
13
+ ),
14
+ );
15
+
16
+ public static $prefixDirsPsr4 = array (
17
+ 'A3Rev\\' =>
18
+ array (
19
+ 0 => __DIR__ . '/../..' . '/classes',
20
+ ),
21
+ );
22
+
23
+ public static $classMap = array (
24
+ 'A3Rev\\LazyLoad' => __DIR__ . '/../..' . '/classes/class-a3-lazy-load.php',
25
+ 'A3Rev\\LazyLoad\\Addons' => __DIR__ . '/../..' . '/classes/addons/class-a3-lazy-load-addons-page.php',
26
+ 'A3Rev\\LazyLoad\\Excludes' => __DIR__ . '/../..' . '/classes/class-a3-lazy-load-excludes.php',
27
+ 'A3Rev\\LazyLoad\\Hook_Filter' => __DIR__ . '/../..' . '/classes/class-a3-lazy-load-filter.php',
28
+ );
29
+
30
+ public static function getInitializer(ClassLoader $loader)
31
+ {
32
+ return \Closure::bind(function () use ($loader) {
33
+ $loader->prefixLengthsPsr4 = ComposerStaticInit77a467d5323ba7825007e91ddb8ae762::$prefixLengthsPsr4;
34
+ $loader->prefixDirsPsr4 = ComposerStaticInit77a467d5323ba7825007e91ddb8ae762::$prefixDirsPsr4;
35
+ $loader->classMap = ComposerStaticInit77a467d5323ba7825007e91ddb8ae762::$classMap;
36
+
37
+ }, null, ClassLoader::class);
38
+ }
39
+ }