Elementor Essential Addons - Version 4.5.4

Version Description

  • 22/03/2021 =

  • Added: Compatibility with Elementor latest versions

  • Fixed: Sanitized options in the Elementor HTML Tags

  • Few minor bug fix and improvements

Download this release

Release Info

Developer re_enter_rupok
Plugin Icon 128x128 Elementor Essential Addons
Version 4.5.4
Comparing to
See all releases

Code changes from version 4.5.3 to 4.5.4

essential_adons_elementor.php CHANGED
@@ -4,14 +4,14 @@
4
  * Description: The Essential plugin you install after Elementor! Packed with 40+ stunning free elements including Advanced Data Table, Event Calendar, Filterable Gallery, WooCommerce, and many more.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
- * Version: 4.5.3
8
  * Author URI: https://wpdeveloper.net/
9
  * Text Domain: essential-addons-for-elementor-lite
10
  * Domain Path: /languages
11
  *
12
- * WC tested up to: 5.0.0
13
- * Elementor tested up to: 3.1.1
14
- * Elementor Pro tested up to: 3.1.1
15
  */
16
 
17
  if (!defined('ABSPATH')) {
@@ -27,7 +27,7 @@ define('EAEL_PLUGIN_FILE', __FILE__);
27
  define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
28
  define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
29
  define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
30
- define('EAEL_PLUGIN_VERSION', '4.5.3');
31
  define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
32
  define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
33
  /**
4
  * Description: The Essential plugin you install after Elementor! Packed with 40+ stunning free elements including Advanced Data Table, Event Calendar, Filterable Gallery, WooCommerce, and many more.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
+ * Version: 4.5.4
8
  * Author URI: https://wpdeveloper.net/
9
  * Text Domain: essential-addons-for-elementor-lite
10
  * Domain Path: /languages
11
  *
12
+ * WC tested up to: 5.1.0
13
+ * Elementor tested up to: 3.1.4
14
+ * Elementor Pro tested up to: 3.2.1
15
  */
16
 
17
  if (!defined('ABSPATH')) {
27
  define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
28
  define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
29
  define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
30
+ define('EAEL_PLUGIN_VERSION', '4.5.4');
31
  define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
32
  define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
33
  /**
includes/Elements/Adv_Accordion.php CHANGED
@@ -14,6 +14,7 @@ use \Elementor\Group_Control_Box_Shadow;
14
  use \Elementor\Group_Control_Typography;
15
  use Elementor\Repeater;
16
  use \Elementor\Plugin;
 
17
  use \Elementor\Widget_Base;
18
 
19
  use \Essential_Addons_Elementor\Classes\Helper;
@@ -1097,7 +1098,7 @@ class Adv_Accordion extends Widget_Base
1097
  }
1098
  // tab title
1099
  if ($settings['eael_adv_accordion_toggle_icon_postion'] === '') {
1100
- echo '<' . $settings['eael_adv_accordion_title_tag'] . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . $settings['eael_adv_accordion_title_tag'] . '>';
1101
  }
1102
  // tab icon
1103
  if ($tab['eael_adv_accordion_tab_icon_show'] === 'yes') {
@@ -1113,7 +1114,7 @@ class Adv_Accordion extends Widget_Base
1113
  }
1114
  // tab title
1115
  if ($settings['eael_adv_accordion_toggle_icon_postion'] === 'right' || $settings['eael_adv_accordion_toggle_icon_postion'] === null) {
1116
- echo '<' . $settings['eael_adv_accordion_title_tag'] . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . $settings['eael_adv_accordion_title_tag'] . '>';
1117
  }
1118
  // toggle icon
1119
  if ($settings['eael_adv_accordion_icon_show'] === 'yes' && $settings['eael_adv_accordion_toggle_icon_postion'] === 'right') {
14
  use \Elementor\Group_Control_Typography;
15
  use Elementor\Repeater;
16
  use \Elementor\Plugin;
17
+ use \Elementor\Utils;
18
  use \Elementor\Widget_Base;
19
 
20
  use \Essential_Addons_Elementor\Classes\Helper;
1098
  }
1099
  // tab title
1100
  if ($settings['eael_adv_accordion_toggle_icon_postion'] === '') {
1101
+ echo '<' . Utils::validate_html_tag($settings['eael_adv_accordion_title_tag']) . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . Utils::validate_html_tag($settings['eael_adv_accordion_title_tag']) . '>';
1102
  }
1103
  // tab icon
1104
  if ($tab['eael_adv_accordion_tab_icon_show'] === 'yes') {
1114
  }
1115
  // tab title
1116
  if ($settings['eael_adv_accordion_toggle_icon_postion'] === 'right' || $settings['eael_adv_accordion_toggle_icon_postion'] === null) {
1117
+ echo '<' . Utils::validate_html_tag($settings['eael_adv_accordion_title_tag']) . ' class="eael-accordion-tab-title">' . $tab['eael_adv_accordion_tab_title'] . '</' . Utils::validate_html_tag($settings['eael_adv_accordion_title_tag']) . '>';
1118
  }
1119
  // toggle icon
1120
  if ($settings['eael_adv_accordion_icon_show'] === 'yes' && $settings['eael_adv_accordion_toggle_icon_postion'] === 'right') {
includes/Elements/Betterdocs_Category_Box.php CHANGED
@@ -16,6 +16,7 @@ use \Elementor\Group_Control_Background;
16
  use \Elementor\Scheme_Typography;
17
  use \Elementor\Widget_Base;
18
 
 
19
  use \Essential_Addons_Elementor\Classes\Controls;
20
  use \Essential_Addons_Elementor\Classes\Helper;
21
 
@@ -1059,7 +1060,6 @@ class Betterdocs_Category_Box extends Widget_Base {
1059
  if (!defined('BETTERDOCS_URL')) return;
1060
  $settings = $this->get_settings_for_display();
1061
 
1062
-
1063
  $this->add_render_attribute(
1064
  'bd_category_box_wrapper',
1065
  [
16
  use \Elementor\Scheme_Typography;
17
  use \Elementor\Widget_Base;
18
 
19
+
20
  use \Essential_Addons_Elementor\Classes\Controls;
21
  use \Essential_Addons_Elementor\Classes\Helper;
22
 
1060
  if (!defined('BETTERDOCS_URL')) return;
1061
  $settings = $this->get_settings_for_display();
1062
 
 
1063
  $this->add_render_attribute(
1064
  'bd_category_box_wrapper',
1065
  [
includes/Elements/Cta_Box.php CHANGED
@@ -1094,7 +1094,7 @@ class Cta_Box extends Widget_Base
1094
  if(!empty($sub_title)){
1095
  $headingMarkup .='<h4 class="sub-title">'.$sub_title.'</h4>';
1096
  }
1097
- $headingMarkup .='<'.$settings['title_tag'].' class="title">'.$settings['eael_cta_title'].'</'.$settings['title_tag'].'>';
1098
 
1099
  // content markup
1100
  $contentMarkup = '';
1094
  if(!empty($sub_title)){
1095
  $headingMarkup .='<h4 class="sub-title">'.$sub_title.'</h4>';
1096
  }
1097
+ $headingMarkup .='<'.Utils::validate_html_tag($settings['title_tag']).' class="title">'.$settings['eael_cta_title'].'</'.Utils::validate_html_tag($settings['title_tag']).'>';
1098
 
1099
  // content markup
1100
  $contentMarkup = '';
includes/Elements/Dual_Color_Header.php CHANGED
@@ -13,6 +13,7 @@ use \Elementor\Group_Control_Border;
13
  use \Elementor\Group_Control_Box_Shadow;
14
  use \Elementor\Group_Control_Typography;
15
  use \Elementor\Widget_Base;
 
16
 
17
  class Dual_Color_Header extends Widget_Base
18
  {
@@ -848,8 +849,8 @@ class Dual_Color_Header extends Widget_Base
848
  <?php if ('dch-default' == $settings['eael_dch_type']) : ?>
849
  <div class="eael-dual-header">
850
  <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
851
- <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e
852
- ($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
853
  <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
854
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
855
  <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
@@ -880,7 +881,7 @@ class Dual_Color_Header extends Widget_Base
880
  <?php } ?>
881
  <?php endif; ?>
882
  <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
883
- <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
884
  <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
885
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
886
  </div>
@@ -901,7 +902,7 @@ class Dual_Color_Header extends Widget_Base
901
  <?php endif; ?>
902
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
903
  <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
904
- <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
905
  <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
906
  </div>
907
  <?php endif; ?>
@@ -910,7 +911,7 @@ class Dual_Color_Header extends Widget_Base
910
  <div class="eael-dual-header">
911
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
912
  <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
913
- <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
914
  <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
915
  <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
916
  <?php if ($icon_is_new || $icon_migrated) { ?>
@@ -928,4 +929,4 @@ class Dual_Color_Header extends Widget_Base
928
 
929
  <?php
930
  }
931
- }
13
  use \Elementor\Group_Control_Box_Shadow;
14
  use \Elementor\Group_Control_Typography;
15
  use \Elementor\Widget_Base;
16
+ use \Elementor\Utils;
17
 
18
  class Dual_Color_Header extends Widget_Base
19
  {
849
  <?php if ('dch-default' == $settings['eael_dch_type']) : ?>
850
  <div class="eael-dual-header">
851
  <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
852
+ <<?php echo Utils::validate_html_tag($settings['title_tag']); ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e
853
+ ($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo Utils::validate_html_tag($settings['title_tag']); ?>>
854
  <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
855
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
856
  <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
881
  <?php } ?>
882
  <?php endif; ?>
883
  <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
884
+ <<?php echo Utils::validate_html_tag($settings['title_tag']); ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo Utils::validate_html_tag($settings['title_tag']); ?>>
885
  <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
886
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
887
  </div>
902
  <?php endif; ?>
903
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
904
  <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
905
+ <<?php echo Utils::validate_html_tag($settings['title_tag']); ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo Utils::validate_html_tag($settings['title_tag']); ?>>
906
  <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
907
  </div>
908
  <?php endif; ?>
911
  <div class="eael-dual-header">
912
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
913
  <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
914
+ <<?php echo Utils::validate_html_tag($settings['title_tag']); ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo Utils::validate_html_tag($settings['title_tag']); ?>>
915
  <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
916
  <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
917
  <?php if ($icon_is_new || $icon_migrated) { ?>
929
 
930
  <?php
931
  }
932
+ }
includes/Elements/Feature_List.php CHANGED
@@ -898,7 +898,7 @@ class Feature_List extends Widget_Base {
898
  $icon_bg = ( ( $item['eael_feature_list_icon_is_individual_style'] == 'on' ) ? ' style="background-color:' . esc_attr( $item['eael_feature_list_icon_individual_bg_color'] ) . '"' : '' );
899
  $icon_box_bg = ( ( $item['eael_feature_list_icon_is_individual_style'] == 'on' ) ? ' style="background-color:' . esc_attr( $item['eael_feature_list_icon_individual_box_bg_color'] ) . '"' : '' );
900
 
901
- $feat_title_tag = $settings['eael_feature_list_title_size'];
902
 
903
  if ( $item['eael_feature_list_link']['url'] ) {
904
  $this->add_render_attribute( 'eael_feature_list_title_anchor' . $i, 'href', esc_url( $item['eael_feature_list_link']['url'] ) );
898
  $icon_bg = ( ( $item['eael_feature_list_icon_is_individual_style'] == 'on' ) ? ' style="background-color:' . esc_attr( $item['eael_feature_list_icon_individual_bg_color'] ) . '"' : '' );
899
  $icon_box_bg = ( ( $item['eael_feature_list_icon_is_individual_style'] == 'on' ) ? ' style="background-color:' . esc_attr( $item['eael_feature_list_icon_individual_box_bg_color'] ) . '"' : '' );
900
 
901
+ $feat_title_tag = Utils::validate_html_tag($settings['eael_feature_list_title_size']);
902
 
903
  if ( $item['eael_feature_list_link']['url'] ) {
904
  $this->add_render_attribute( 'eael_feature_list_title_anchor' . $i, 'href', esc_url( $item['eael_feature_list_link']['url'] ) );
includes/Elements/Filterable_Gallery.php CHANGED
@@ -15,6 +15,7 @@ use \Elementor\Scheme_Typography;
15
  use \Elementor\Widget_Base;
16
  use \Elementor\Repeater;
17
  use \Elementor\Group_Control_Background;
 
18
 
19
  class Filterable_Gallery extends Widget_Base
20
  {
@@ -3053,7 +3054,7 @@ class Filterable_Gallery extends Widget_Base
3053
  $html .= '<div class="fg-item-category"><span>' . $item['category'] . '</span></div>';
3054
  }
3055
 
3056
- $html .= '<' . $settings['title_tag'] . ' class="fg-item-title">' . $item['title'] . '</' . $settings['title_tag'] . '>';
3057
  $html .= '<div class="fg-item-content">' . wpautop($item['content']) . '</div>';
3058
  $html .= '</div>';
3059
 
@@ -3160,7 +3161,7 @@ class Filterable_Gallery extends Widget_Base
3160
  $html .= '<div class="gallery-item-caption-over">';
3161
  if (isset($item['title']) && !empty($item['title']) || isset($item['content']) && !empty($item['content'])) {
3162
  if (!empty($item['title'])) {
3163
- $html .= '<' . $settings['title_tag'] . ' class="fg-item-title">' . $item['title'] . '</' . $settings['title_tag'] . '>';
3164
  }
3165
 
3166
  if (!empty($item['content'])) {
15
  use \Elementor\Widget_Base;
16
  use \Elementor\Repeater;
17
  use \Elementor\Group_Control_Background;
18
+ use \Elementor\Utils;
19
 
20
  class Filterable_Gallery extends Widget_Base
21
  {
3054
  $html .= '<div class="fg-item-category"><span>' . $item['category'] . '</span></div>';
3055
  }
3056
 
3057
+ $html .= '<' . Utils::validate_html_tag($settings['title_tag']) . ' class="fg-item-title">' . $item['title'] . '</' . Utils::validate_html_tag($settings['title_tag']) . '>';
3058
  $html .= '<div class="fg-item-content">' . wpautop($item['content']) . '</div>';
3059
  $html .= '</div>';
3060
 
3161
  $html .= '<div class="gallery-item-caption-over">';
3162
  if (isset($item['title']) && !empty($item['title']) || isset($item['content']) && !empty($item['content'])) {
3163
  if (!empty($item['title'])) {
3164
+ $html .= '<' . Utils::validate_html_tag($settings['title_tag']) . ' class="fg-item-title">' . $item['title'] . '</' . Utils::validate_html_tag($settings['title_tag']) . '>';
3165
  }
3166
 
3167
  if (!empty($item['content'])) {
includes/Elements/Flip_Box.php CHANGED
@@ -1450,7 +1450,7 @@ class Flip_Box extends Widget_Base
1450
  (empty($flipbox_image_url)) ? $flipbox_image_url = $flipbox_image['url'] : $flipbox_image_url = $flipbox_image_url;
1451
 
1452
  $flipbox_if_html_tag = 'div';
1453
- $flipbox_if_html_title_tag = $settings['eael_flipbox_back_title_tag'];
1454
  $this->add_render_attribute('flipbox-container', 'class', 'eael-elements-flip-box-flip-card');
1455
  $this->add_render_attribute('flipbox-title-container', 'class', 'eael-elements-flip-box-heading');
1456
 
@@ -1570,7 +1570,7 @@ class Flip_Box extends Widget_Base
1570
  <img class="eael-flipbox-image-as-icon" src="<?php echo esc_url($flipbox_image_url); ?>" alt="<?php echo esc_attr(get_post_meta($flipbox_image['id'], '_wp_attachment_image_alt', true)); ?>">
1571
  <?php endif; ?>
1572
  </div>
1573
- <<?php echo $settings['eael_flipbox_front_title_tag']; ?> class="eael-elements-flip-box-heading"><?php echo esc_html__($settings['eael_flipbox_front_title'], 'essential-addons-for-elementor-lite'); ?></<?php echo $settings['eael_flipbox_front_title_tag']; ?>>
1574
  <div class="eael-elements-flip-box-content">
1575
  <p><?php echo __($settings['eael_flipbox_front_text'], 'essential-addons-for-elementor-lite'); ?></p>
1576
  </div>
1450
  (empty($flipbox_image_url)) ? $flipbox_image_url = $flipbox_image['url'] : $flipbox_image_url = $flipbox_image_url;
1451
 
1452
  $flipbox_if_html_tag = 'div';
1453
+ $flipbox_if_html_title_tag = Utils::validate_html_tag($settings['eael_flipbox_back_title_tag']);
1454
  $this->add_render_attribute('flipbox-container', 'class', 'eael-elements-flip-box-flip-card');
1455
  $this->add_render_attribute('flipbox-title-container', 'class', 'eael-elements-flip-box-heading');
1456
 
1570
  <img class="eael-flipbox-image-as-icon" src="<?php echo esc_url($flipbox_image_url); ?>" alt="<?php echo esc_attr(get_post_meta($flipbox_image['id'], '_wp_attachment_image_alt', true)); ?>">
1571
  <?php endif; ?>
1572
  </div>
1573
+ <<?php echo Utils::validate_html_tag($settings['eael_flipbox_front_title_tag']); ?> class="eael-elements-flip-box-heading"><?php echo esc_html__($settings['eael_flipbox_front_title'], 'essential-addons-for-elementor-lite'); ?></<?php echo Utils::validate_html_tag($settings['eael_flipbox_front_title_tag']); ?>>
1574
  <div class="eael-elements-flip-box-content">
1575
  <p><?php echo __($settings['eael_flipbox_front_text'], 'essential-addons-for-elementor-lite'); ?></p>
1576
  </div>
includes/Elements/Image_Accordion.php CHANGED
@@ -604,7 +604,7 @@ class Image_Accordion extends Widget_Base {
604
  <div class="overlay">
605
  <div class="overlay-inner">
606
  <div class="overlay-inner <?php echo( $active === 'yes' ? ' overlay-inner-show' : '' ); ?>">
607
- <?php printf( '<%1$s>%2$s</%1$s>', $settings[ 'title_tag' ], $img_accordion[ 'eael_accordion_tittle' ] ); ?>
608
  <p><?php echo sprintf( "%s", $this->parse_text_editor( $img_accordion[ 'eael_accordion_content' ] ) ); ?></p>
609
  </div>
610
  </div>
604
  <div class="overlay">
605
  <div class="overlay-inner">
606
  <div class="overlay-inner <?php echo( $active === 'yes' ? ' overlay-inner-show' : '' ); ?>">
607
+ <?php printf( '<%1$s>%2$s</%1$s>', Utils::validate_html_tag($settings[ 'title_tag' ]), $img_accordion[ 'eael_accordion_tittle' ] ); ?>
608
  <p><?php echo sprintf( "%s", $this->parse_text_editor( $img_accordion[ 'eael_accordion_content' ] ) ); ?></p>
609
  </div>
610
  </div>
includes/Elements/Info_Box.php CHANGED
@@ -1633,7 +1633,7 @@ echo ob_get_clean();
1633
  ob_start();
1634
  ?>
1635
  <div <?php echo $this->get_render_attribute_string('infobox_content'); ?>>
1636
- <<?php echo $settings['eael_infobox_title_tag']; ?> class="title"><?php echo $settings['eael_infobox_title']; ?></<?php echo $settings['eael_infobox_title_tag']; ?>>
1637
  <?php if ('yes' == $settings['eael_show_infobox_content']): ?>
1638
  <?php if ('content' === $settings['eael_infobox_text_type']): ?>
1639
  <?php if (!empty($settings['eael_infobox_text'])): ?>
1633
  ob_start();
1634
  ?>
1635
  <div <?php echo $this->get_render_attribute_string('infobox_content'); ?>>
1636
+ <<?php echo Utils::validate_html_tag($settings['eael_infobox_title_tag']); ?> class="title"><?php echo $settings['eael_infobox_title']; ?></<?php echo Utils::validate_html_tag($settings['eael_infobox_title_tag']); ?>>
1637
  <?php if ('yes' == $settings['eael_show_infobox_content']): ?>
1638
  <?php if ('content' === $settings['eael_infobox_text_type']): ?>
1639
  <?php if (!empty($settings['eael_infobox_text'])): ?>
includes/Elements/Progress_Bar.php CHANGED
@@ -12,6 +12,7 @@ use \Elementor\Group_Control_Box_Shadow;
12
  use \Elementor\Group_Control_Typography;
13
  use \Elementor\Scheme_Typography;
14
  use \Elementor\Widget_Base;
 
15
 
16
  class Progress_Bar extends Widget_Base
17
  {
@@ -789,7 +790,7 @@ class Progress_Bar extends Widget_Base
789
  ]);
790
 
791
  echo '<div class="eael-progressbar-line-container ' . $settings['progress_bar_line_alignment'] . '">
792
- ' . ($settings['progress_bar_title'] ? sprintf('<%1$s class="%2$s">', $settings['progress_bar_title_html_tag'], 'eael-progressbar-title') . $settings['progress_bar_title'] . sprintf('</%1$s>', $settings['progress_bar_title_html_tag']) : '') . '
793
 
794
  <div ' . $this->get_render_attribute_string('eael-progressbar-line') . '>
795
  ' . ($settings['progress_bar_show_count'] === 'yes' ? '<span class="eael-progressbar-count-wrap"><span class="eael-progressbar-count">0</span><span class="postfix">' . __('%', 'essential-addons-for-elementor-lite') . '</span></span>' : '') . '
@@ -822,7 +823,7 @@ class Progress_Bar extends Widget_Base
822
  </div>
823
  <div class="eael-progressbar-circle-inner"></div>
824
  <div class="eael-progressbar-circle-inner-content">
825
- ' . ($settings['progress_bar_title'] ? sprintf('<%1$s class="%2$s">', $settings['progress_bar_title_html_tag'], 'eael-progressbar-title') . $settings['progress_bar_title'] . sprintf('</%1$s>', $settings['progress_bar_title_html_tag']) : '') . '
826
  ' . ($settings['progress_bar_show_count'] === 'yes' ? '<span class="eael-progressbar-count-wrap"><span class="eael-progressbar-count">0</span><span class="postfix">' . __('%', 'essential-addons-for-elementor-lite') . '</span></span>' : '') . '
827
  </div>
828
  </div>
@@ -868,7 +869,7 @@ class Progress_Bar extends Widget_Base
868
  <div class="eael-progressbar-circle-inner"></div>
869
  </div>
870
  <div class="eael-progressbar-circle-inner-content">
871
- ' . ($settings['progress_bar_title'] ? sprintf('<%1$s class="%2$s">', $settings['progress_bar_title_html_tag'], 'eael-progressbar-title') . $settings['progress_bar_title'] . sprintf('</%1$s>', $settings['progress_bar_title_html_tag']) : '') . '
872
  ' . ($settings['progress_bar_show_count'] === 'yes' ? '<span class="eael-progressbar-count-wrap"><span class="eael-progressbar-count">0</span><span class="postfix">' . __('%', 'essential-addons-for-elementor-lite') . '</span></span>' : '') . '
873
  </div>
874
  </div>
12
  use \Elementor\Group_Control_Typography;
13
  use \Elementor\Scheme_Typography;
14
  use \Elementor\Widget_Base;
15
+ use \Elementor\Utils;
16
 
17
  class Progress_Bar extends Widget_Base
18
  {
790
  ]);
791
 
792
  echo '<div class="eael-progressbar-line-container ' . $settings['progress_bar_line_alignment'] . '">
793
+ ' . ($settings['progress_bar_title'] ? sprintf('<%1$s class="%2$s">', Utils::validate_html_tag($settings['progress_bar_title_html_tag']), 'eael-progressbar-title') . $settings['progress_bar_title'] . sprintf('</%1$s>', Utils::validate_html_tag($settings['progress_bar_title_html_tag'])) : '') . '
794
 
795
  <div ' . $this->get_render_attribute_string('eael-progressbar-line') . '>
796
  ' . ($settings['progress_bar_show_count'] === 'yes' ? '<span class="eael-progressbar-count-wrap"><span class="eael-progressbar-count">0</span><span class="postfix">' . __('%', 'essential-addons-for-elementor-lite') . '</span></span>' : '') . '
823
  </div>
824
  <div class="eael-progressbar-circle-inner"></div>
825
  <div class="eael-progressbar-circle-inner-content">
826
+ ' . ($settings['progress_bar_title'] ? sprintf('<%1$s class="%2$s">', Utils::validate_html_tag($settings['progress_bar_title_html_tag']), 'eael-progressbar-title') . $settings['progress_bar_title'] . sprintf('</%1$s>', Utils::validate_html_tag($settings['progress_bar_title_html_tag'])) : '') . '
827
  ' . ($settings['progress_bar_show_count'] === 'yes' ? '<span class="eael-progressbar-count-wrap"><span class="eael-progressbar-count">0</span><span class="postfix">' . __('%', 'essential-addons-for-elementor-lite') . '</span></span>' : '') . '
828
  </div>
829
  </div>
869
  <div class="eael-progressbar-circle-inner"></div>
870
  </div>
871
  <div class="eael-progressbar-circle-inner-content">
872
+ ' . ($settings['progress_bar_title'] ? sprintf('<%1$s class="%2$s">', Utils::validate_html_tag($settings['progress_bar_title_html_tag']), 'eael-progressbar-title') . $settings['progress_bar_title'] . sprintf('</%1$s>', Utils::validate_html_tag($settings['progress_bar_title_html_tag'])) : '') . '
873
  ' . ($settings['progress_bar_show_count'] === 'yes' ? '<span class="eael-progressbar-count-wrap"><span class="eael-progressbar-count">0</span><span class="postfix">' . __('%', 'essential-addons-for-elementor-lite') . '</span></span>' : '') . '
874
  </div>
875
  </div>
includes/Elements/Tooltip.php CHANGED
@@ -698,7 +698,7 @@ class Tooltip extends Widget_Base {
698
  ?>
699
  <div class="eael-tooltip">
700
  <?php if( $settings['eael_tooltip_type'] === 'text' ) : ?>
701
- <<?php echo esc_attr( $settings['eael_tooltip_content_tag'] ); ?> class="eael-tooltip-content"><?php if( $settings['eael_tooltip_enable_link'] === 'yes' ) : ?><a href="<?php echo esc_url( $settings['eael_tooltip_link']['url'] ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?> ><?php endif; ?><?php echo wp_kses_post($settings['eael_tooltip_content']); ?><?php if( $settings['eael_tooltip_enable_link'] === 'yes' ) : ?></a><?php endif; ?></<?php echo esc_attr( $settings['eael_tooltip_content_tag'] ); ?>>
702
  <span class="eael-tooltip-text eael-tooltip-<?php echo esc_attr( $settings['eael_tooltip_hover_dir'] ) ?>"><?php echo __( $settings['eael_tooltip_hover_content'] ); ?></span>
703
  <?php elseif( $settings['eael_tooltip_type'] === 'icon' ) : ?>
704
  <span class="eael-tooltip-content"><?php if( $settings['eael_tooltip_enable_link'] === 'yes' ) : ?><a href="<?php echo esc_url( $settings['eael_tooltip_link']['url'] ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?> ><?php endif; ?>
698
  ?>
699
  <div class="eael-tooltip">
700
  <?php if( $settings['eael_tooltip_type'] === 'text' ) : ?>
701
+ <<?php echo esc_attr( Utils::validate_html_tag($settings['eael_tooltip_content_tag']) ); ?> class="eael-tooltip-content"><?php if( $settings['eael_tooltip_enable_link'] === 'yes' ) : ?><a href="<?php echo esc_url( $settings['eael_tooltip_link']['url'] ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?> ><?php endif; ?><?php echo wp_kses_post($settings['eael_tooltip_content']); ?><?php if( $settings['eael_tooltip_enable_link'] === 'yes' ) : ?></a><?php endif; ?></<?php echo esc_attr( Utils::validate_html_tag($settings['eael_tooltip_content_tag']) ); ?>>
702
  <span class="eael-tooltip-text eael-tooltip-<?php echo esc_attr( $settings['eael_tooltip_hover_dir'] ) ?>"><?php echo __( $settings['eael_tooltip_hover_content'] ); ?></span>
703
  <?php elseif( $settings['eael_tooltip_type'] === 'icon' ) : ?>
704
  <span class="eael-tooltip-content"><?php if( $settings['eael_tooltip_enable_link'] === 'yes' ) : ?><a href="<?php echo esc_url( $settings['eael_tooltip_link']['url'] ); ?>" <?php echo $target; ?> <?php echo $nofollow; ?> ><?php endif; ?>
includes/Template/Betterdocs-Category-Box/Layout_2.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  use \Essential_Addons_Elementor\Classes\Helper;
4
-
5
  /**
6
  * Template Name: Layout 2
7
  *
@@ -33,7 +33,7 @@ if ($settings['show_icon']) {
33
  }
34
 
35
  if ($settings['show_title']) {
36
- echo '<' . $settings['title_tag'] . ' class="eael-bd-cb-cat-title__layout-2"><span>' . $term->name . '</span></' . $settings['title_tag'] . '>';
37
  }
38
 
39
  if ($settings['show_count']) {
1
  <?php
2
 
3
  use \Essential_Addons_Elementor\Classes\Helper;
4
+ use \Elementor\Utils;
5
  /**
6
  * Template Name: Layout 2
7
  *
33
  }
34
 
35
  if ($settings['show_title']) {
36
+ echo '<' . Utils::validate_html_tag($settings['title_tag']) . ' class="eael-bd-cb-cat-title__layout-2"><span>' . $term->name . '</span></' . Utils::validate_html_tag($settings['title_tag']) . '>';
37
  }
38
 
39
  if ($settings['show_count']) {
includes/Template/Betterdocs-Category-Box/Layout_Default.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  use \Essential_Addons_Elementor\Classes\Helper;
4
-
5
  /**
6
  * Template Name: Default
7
  *
@@ -33,7 +33,7 @@ echo '<a href="' . $button_link . '" class="eael-better-docs-category-box-post">
33
  }
34
 
35
  if ($settings['show_title']) {
36
- echo '<' . $settings['title_tag'] . ' class="eael-bd-cb-cat-title">' . $term->name . '</' . $settings['title_tag'] . '>';
37
  }
38
 
39
  if ($settings['show_count']) {
1
  <?php
2
 
3
  use \Essential_Addons_Elementor\Classes\Helper;
4
+ use \Elementor\Utils;
5
  /**
6
  * Template Name: Default
7
  *
33
  }
34
 
35
  if ($settings['show_title']) {
36
+ echo '<' . Utils::validate_html_tag($settings['title_tag'] ). ' class="eael-bd-cb-cat-title">' . $term->name . '</' . Utils::validate_html_tag($settings['title_tag']) . '>';
37
  }
38
 
39
  if ($settings['show_count']) {
includes/Template/Betterdocs-Category-Grid/Layout_2.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  use \Essential_Addons_Elementor\Classes\Helper;
4
-
5
  /**
6
  * Template Name: Layout 2
7
  *
@@ -16,7 +16,7 @@ echo '<article class="eael-better-docs-category-grid-post layout-2" data-id="' .
16
  echo '<div class="eael-docs-item-count" data-content="' . Helper::get_doc_post_count($term->count, $term->term_id) . '"></div>';
17
  }
18
  if ($settings['show_title']) {
19
- echo '<' . $settings['title_tag'] . ' class="eael-docs-cat-title">' . $term->name . '</' . $settings['title_tag'] . '>';
20
  }
21
  echo '</div>';
22
  }
1
  <?php
2
 
3
  use \Essential_Addons_Elementor\Classes\Helper;
4
+ use \Elementor\Utils;
5
  /**
6
  * Template Name: Layout 2
7
  *
16
  echo '<div class="eael-docs-item-count" data-content="' . Helper::get_doc_post_count($term->count, $term->term_id) . '"></div>';
17
  }
18
  if ($settings['show_title']) {
19
+ echo '<' . Utils::validate_html_tag($settings['title_tag']) . ' class="eael-docs-cat-title">' . $term->name . '</' . Utils::validate_html_tag($settings['title_tag']) . '>';
20
  }
21
  echo '</div>';
22
  }
includes/Template/Betterdocs-Category-Grid/Layout_Default.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  use \Essential_Addons_Elementor\Classes\Helper;
4
-
5
  /**
6
  * Template Name: Default
7
  *
@@ -24,7 +24,7 @@ echo '<article class="eael-better-docs-category-grid-post" data-id="' . get_the_
24
  echo '<div class="eael-docs-cat-icon">' . $cat_icon . '</div>';
25
  }
26
  if ($settings['show_title']) {
27
- echo '<' . $settings['title_tag'] . ' class="eael-docs-cat-title">' . $term->name . '</' . $settings['title_tag'] . '>';
28
  }
29
  if ($settings['show_count']) {
30
  echo '<div class="eael-docs-item-count">' . Helper::get_doc_post_count($term->count, $term->term_id) . '</div>';
1
  <?php
2
 
3
  use \Essential_Addons_Elementor\Classes\Helper;
4
+ use \Elementor\Utils;
5
  /**
6
  * Template Name: Default
7
  *
24
  echo '<div class="eael-docs-cat-icon">' . $cat_icon . '</div>';
25
  }
26
  if ($settings['show_title']) {
27
+ echo '<' . Utils::validate_html_tag($settings['title_tag']) . ' class="eael-docs-cat-title">' . $term->name . '</' . Utils::validate_html_tag($settings['title_tag']) . '>';
28
  }
29
  if ($settings['show_count']) {
30
  echo '<div class="eael-docs-item-count">' . Helper::get_doc_post_count($term->count, $term->term_id) . '</div>';
includes/Template/Post-Grid/default.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  use \Essential_Addons_Elementor\Classes\Helper;
4
-
5
  /**
6
  * Template Name: Default
7
  */
@@ -10,7 +10,7 @@ if (!defined('ABSPATH')) {
10
  exit;
11
  } // Exit if accessed directly
12
 
13
- $title_tag = isset($settings['title_tag']) ? $settings['title_tag'] : 'h2';
14
 
15
  if ($settings['eael_post_grid_preset_style'] === 'two') {
16
  echo '<article class="eael-grid-post eael-post-grid-column" data-id="' . get_the_ID() . '">
1
  <?php
2
 
3
  use \Essential_Addons_Elementor\Classes\Helper;
4
+ use \Elementor\Utils;
5
  /**
6
  * Template Name: Default
7
  */
10
  exit;
11
  } // Exit if accessed directly
12
 
13
+ $title_tag = isset($settings['title_tag']) ? Utils::validate_html_tag($settings['title_tag']) : 'h2';
14
 
15
  if ($settings['eael_post_grid_preset_style'] === 'two') {
16
  echo '<article class="eael-grid-post eael-post-grid-column" data-id="' . get_the_ID() . '">
includes/Traits/Woo_Product_Comparable.php CHANGED
@@ -9,6 +9,7 @@ use Elementor\Group_Control_Box_Shadow;
9
  use Elementor\Group_Control_Typography;
10
  use Elementor\Icons_Manager;
11
  use Elementor\Repeater;
 
12
  use WC_Product;
13
 
14
  if ( ! defined( 'ABSPATH' ) ) {
@@ -1741,7 +1742,7 @@ trait Woo_Product_Comparable {
1741
  extract( $options );
1742
  $not_found_text = isset( $ds['no_products_found_text'] ) ? $ds['no_products_found_text'] : '';
1743
  $title = isset( $ds['table_title'] ) ? $ds['table_title'] : '';
1744
- $title_tag = isset( $ds['table_title_tag'] ) ? $ds['table_title_tag'] : 'h1';
1745
  $ribbon = isset( $ds['ribbon'] ) ? $ds['ribbon'] : '';
1746
  $repeat_price = isset( $ds['repeat_price'] ) ? $ds['repeat_price'] : '';
1747
  $repeat_add_to_cart = isset( $ds['repeat_add_to_cart'] ) ? $ds['repeat_add_to_cart'] : '';
9
  use Elementor\Group_Control_Typography;
10
  use Elementor\Icons_Manager;
11
  use Elementor\Repeater;
12
+ use Elementor\Utils;
13
  use WC_Product;
14
 
15
  if ( ! defined( 'ABSPATH' ) ) {
1742
  extract( $options );
1743
  $not_found_text = isset( $ds['no_products_found_text'] ) ? $ds['no_products_found_text'] : '';
1744
  $title = isset( $ds['table_title'] ) ? $ds['table_title'] : '';
1745
+ $title_tag = isset( $ds['table_title_tag'] ) ? Utils::validate_html_tag($ds['table_title_tag']) : 'h1';
1746
  $ribbon = isset( $ds['ribbon'] ) ? $ds['ribbon'] : '';
1747
  $repeat_price = isset( $ds['repeat_price'] ) ? $ds['repeat_price'] : '';
1748
  $repeat_add_to_cart = isset( $ds['repeat_add_to_cart'] ) ? $ds['repeat_add_to_cart'] : '';
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: elementor, elements, addons, elementor addon, elementor widget, elementor
4
  Requires at least: 5.0
5
  Tested up to: 5.7
6
  Requires PHP: 5.6
7
- Stable tag: 4.5.3
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
@@ -227,6 +227,12 @@ Your existing elements/content will work with premium version. So you won't lose
227
 
228
  == Changelog ==
229
 
 
 
 
 
 
 
230
  = 4.5.3 - 10/03/2021 =
231
 
232
  - Fixed: EA Typeform | Redirect Issue while connecting your account
4
  Requires at least: 5.0
5
  Tested up to: 5.7
6
  Requires PHP: 5.6
7
+ Stable tag: 4.5.4
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
227
 
228
  == Changelog ==
229
 
230
+ = 4.5.4 - 22/03/2021 =
231
+
232
+ - Added: Compatibility with Elementor latest versions
233
+ - Fixed: Sanitized options in the Elementor HTML Tags
234
+ - Few minor bug fix and improvements
235
+
236
  = 4.5.3 - 10/03/2021 =
237
 
238
  - Fixed: EA Typeform | Redirect Issue while connecting your account