Happy Addons for Elementor (Mega Menu, Post Grid, Woocommerce Product Grid, Table, Event Calendar, Slider Elementor Widget) - Version 3.5.0

Version Description

  • 24 March 2022

  • Tweak: Removed _register_controls deprecated method.

  • Tweak: Replace register_controls with register.

  • Tweak: Change default url for PDF Viewer.

  • Fix: Miscellaneous deprecations.

  • Fix: Setup Wizard redirection issue.

  • Improve: Elementor 3.6.1 compatibility.

Download this release

Release Info

Developer thehappymonster
Plugin Icon 128x128 Happy Addons for Elementor (Mega Menu, Post Grid, Woocommerce Product Grid, Table, Event Calendar, Slider Elementor Widget)
Version 3.5.0
Comparing to
See all releases

Code changes from version 3.4.4 to 3.5.0

base.php CHANGED
@@ -144,10 +144,12 @@ class Base {
144
  $controls_Manager->add_group_control( $Foreground::get_type(), new $Foreground() );
145
 
146
  $Select2 = __NAMESPACE__ . '\Controls\Select2';
147
- ha_elementor()->controls_manager->register_control( $Select2::TYPE, new $Select2() );
 
148
 
149
  $Widget_List = __NAMESPACE__ . '\Controls\Widget_List';
150
- ha_elementor()->controls_manager->register_control( $Widget_List::TYPE, new $Widget_List() );
 
151
 
152
  $Text_Stroke = __NAMESPACE__ . '\Controls\Group_Control_Text_Stroke';
153
  $controls_Manager->add_group_control( $Text_Stroke::get_type(), new $Text_Stroke() );
144
  $controls_Manager->add_group_control( $Foreground::get_type(), new $Foreground() );
145
 
146
  $Select2 = __NAMESPACE__ . '\Controls\Select2';
147
+ // ha_elementor()->controls_manager->register_control( $Select2::TYPE, new $Select2() );
148
+ ha_elementor()->controls_manager->register( new $Select2() );
149
 
150
  $Widget_List = __NAMESPACE__ . '\Controls\Widget_List';
151
+ // ha_elementor()->controls_manager->register_control( $Widget_List::TYPE, new $Widget_List() );
152
+ ha_elementor()->controls_manager->register( new $Widget_List() );
153
 
154
  $Text_Stroke = __NAMESPACE__ . '\Controls\Group_Control_Text_Stroke';
155
  $controls_Manager->add_group_control( $Text_Stroke::get_type(), new $Text_Stroke() );
base/widget-base.php CHANGED
@@ -70,7 +70,7 @@ abstract class Base extends Widget_Base {
70
  /**
71
  * Register widget controls
72
  */
73
- protected function _register_controls() {
74
  do_action( 'happyaddons_start_register_controls', $this );
75
 
76
  $this->register_content_controls();
70
  /**
71
  * Register widget controls
72
  */
73
+ protected function register_controls() {
74
  do_action( 'happyaddons_start_register_controls', $this );
75
 
76
  $this->register_content_controls();
changelog.txt CHANGED
@@ -1,3 +1,12 @@
 
 
 
 
 
 
 
 
 
1
  = 3.4.4 - 1 March 2022 =
2
 
3
  - New: Double Opt In support for mailchimp widget.
1
+ = 3.5.0 - 24 March 2022
2
+
3
+ - Tweak: Removed `_register_controls` deprecated method.
4
+ - Tweak: Replace `register_controls` with `register`.
5
+ - Tweak: Change default url for PDF Viewer.
6
+ - Fix: Miscellaneous deprecations.
7
+ - Fix: Setup Wizard redirection issue.
8
+ - Improve: Elementor 3.6.1 compatibility.
9
+
10
  = 3.4.4 - 1 March 2022 =
11
 
12
  - New: Double Opt In support for mailchimp widget.
classes/dashboard.php CHANGED
@@ -61,14 +61,15 @@ class Dashboard {
61
  }
62
 
63
  public static function activation_redirect() {
64
- if ( get_option( HAPPY_ADDONS_REDIRECTION_FLAG, false ) && ! isset( $_GET['activate-multi'] ) ) {
65
- delete_option( HAPPY_ADDONS_REDIRECTION_FLAG );
66
- if(!get_option( HAPPY_ADDONS_WIZARD_REDIRECTION_FLAG, false ) || !ha_has_pro()){
67
- die( wp_redirect( ha_get_setup_wizard_link() ) );
68
- }else{
69
- die( wp_redirect( ha_get_dashboard_link() ) );
70
- }
71
- }
 
72
  }
73
 
74
  public static function add_action_links( $links ) {
61
  }
62
 
63
  public static function activation_redirect() {
64
+ if ( get_option( HAPPY_ADDONS_REDIRECTION_FLAG, false ) ) {
65
+ delete_option( HAPPY_ADDONS_REDIRECTION_FLAG );
66
+ exit( esc_url( wp_safe_redirect( ha_get_dashboard_link() ) ) );
67
+ }
68
+
69
+ if ( get_option( HAPPY_ADDONS_WIZARD_REDIRECTION_FLAG, false ) == 'initiate' ) {
70
+ update_option( HAPPY_ADDONS_WIZARD_REDIRECTION_FLAG, 'running' );
71
+ exit( esc_url( wp_safe_redirect( ha_get_setup_wizard_link() ) ) );
72
+ }
73
  }
74
 
75
  public static function add_action_links( $links ) {
classes/widgets-manager.php CHANGED
@@ -102,13 +102,13 @@ class Widgets_Manager
102
  'is_pro' => true,
103
  ],
104
  'team-carousel' => [
105
- 'cat' => 'slider-and-carousel',
106
  'title' => __('Team Carousel', 'happy-elementor-addons'),
107
  'icon' => 'hm hm-team-carousel',
108
  'is_pro' => true,
109
  ],
110
  'logo-carousel' => [
111
- 'cat' => 'slider-and-carousel',
112
  'title' => __('Logo Carousel', 'happy-elementor-addons'),
113
  'icon' => 'hm hm-logo-carousel',
114
  'is_pro' => true,
@@ -126,7 +126,7 @@ class Widgets_Manager
126
  'is_pro' => true,
127
  ],
128
  'testimonial-carousel' => [
129
- 'cat' => 'slider-and-carousel',
130
  'title' => __('Testimonial Carousel', 'happy-elementor-addons'),
131
  'icon' => 'hm hm-testimonial-carousel',
132
  'is_pro' => true,
@@ -336,7 +336,7 @@ class Widgets_Manager
336
  'is_pro' => true,
337
  ],
338
  'advanced-slider' => [
339
- 'cat' => 'slider-and-carousel',
340
  'title' => __('Advanced Slider', 'happy-elementor-addons'),
341
  'icon' => 'hm hm-slider',
342
  'is_pro' => true,
@@ -508,7 +508,7 @@ class Widgets_Manager
508
  ],
509
  ],
510
  'slider' => [
511
- 'cat' => 'slider-and-carousel',
512
  'is_active' => true,
513
  'demo' => 'https://happyaddons.com/go/demo-slider',
514
  'title' => __('Slider', 'happy-elementor-addons'),
@@ -521,10 +521,10 @@ class Widgets_Manager
521
  ],
522
  ],
523
  'carousel' => [
524
- 'cat' => 'slider-and-carousel',
525
  'is_active' => true,
526
  'demo' => 'https://happyaddons.com/go/demo-image-carousel',
527
- 'title' => __('Carousel', 'happy-elementor-addons'),
528
  'icon' => 'hm hm-carousal',
529
  'css' => ['slider-carousel'],
530
  'js' => [],
102
  'is_pro' => true,
103
  ],
104
  'team-carousel' => [
105
+ 'cat' => 'slider-&-carousel',
106
  'title' => __('Team Carousel', 'happy-elementor-addons'),
107
  'icon' => 'hm hm-team-carousel',
108
  'is_pro' => true,
109
  ],
110
  'logo-carousel' => [
111
+ 'cat' => 'slider-&-carousel',
112
  'title' => __('Logo Carousel', 'happy-elementor-addons'),
113
  'icon' => 'hm hm-logo-carousel',
114
  'is_pro' => true,
126
  'is_pro' => true,
127
  ],
128
  'testimonial-carousel' => [
129
+ 'cat' => 'slider-&-carousel',
130
  'title' => __('Testimonial Carousel', 'happy-elementor-addons'),
131
  'icon' => 'hm hm-testimonial-carousel',
132
  'is_pro' => true,
336
  'is_pro' => true,
337
  ],
338
  'advanced-slider' => [
339
+ 'cat' => 'slider-&-carousel',
340
  'title' => __('Advanced Slider', 'happy-elementor-addons'),
341
  'icon' => 'hm hm-slider',
342
  'is_pro' => true,
508
  ],
509
  ],
510
  'slider' => [
511
+ 'cat' => 'slider-&-carousel',
512
  'is_active' => true,
513
  'demo' => 'https://happyaddons.com/go/demo-slider',
514
  'title' => __('Slider', 'happy-elementor-addons'),
521
  ],
522
  ],
523
  'carousel' => [
524
+ 'cat' => 'slider-&-carousel',
525
  'is_active' => true,
526
  'demo' => 'https://happyaddons.com/go/demo-image-carousel',
527
+ 'title' => __('Image Carousel', 'happy-elementor-addons'),
528
  'icon' => 'hm hm-carousal',
529
  'css' => ['slider-carousel'],
530
  'js' => [],
plugin.php CHANGED
@@ -4,11 +4,11 @@
4
  * Plugin Name: Happy Elementor Addons
5
  * Plugin URI: https://happyaddons.com/
6
  * Description: <a href="https://happyaddons.com/">Happy Addons for Elementor</a> Is the Best Elementor Addons Comes With 44+ Free Elementor Widgets Including Table Builder, Testimonial, Event Calendar,Slider,News Ticker, Image Grid, etc & Features Like Elementor Equal Height, Text Stroke, Shape Dividers, Floating Effect, Grid Layout, 500+ Elementor Icons, 450+ Template Packs & More.
7
- * Version: 3.4.4
8
  * Author: weDevs
9
  * Author URI: https://happyaddons.com/
10
- * Elementor tested up to: 3.5.6
11
- * Elementor Pro tested up to: 3.6.3
12
  * License: GPLv2
13
  * License URI: https://www.gnu.org/licenses/gpl-2.0.html
14
  * Text Domain: happy-elementor-addons
@@ -37,7 +37,7 @@ Copyright 2019 HappyMonster <http://happymonster.me>
37
 
38
  defined('ABSPATH') || die();
39
 
40
- define('HAPPY_ADDONS_VERSION', '3.4.4');
41
  define('HAPPY_ADDONS__FILE__', __FILE__);
42
  define('HAPPY_ADDONS_DIR_PATH', plugin_dir_path(HAPPY_ADDONS__FILE__));
43
  define('HAPPY_ADDONS_DIR_URL', plugin_dir_url(HAPPY_ADDONS__FILE__));
@@ -53,8 +53,7 @@ define('HAPPY_ADDONS_MINIMUM_PHP_VERSION', '5.4');
53
  *
54
  * @return void Some voids are not really void, you have to explore to figure out why not!
55
  */
56
- function ha_let_the_journey_begin()
57
- {
58
  require(HAPPY_ADDONS_DIR_PATH . 'inc/functions.php');
59
 
60
  // Check for required PHP version
@@ -86,8 +85,7 @@ add_action('plugins_loaded', 'ha_let_the_journey_begin');
86
  *
87
  * @return void
88
  */
89
- function ha_required_php_version_missing_notice()
90
- {
91
  $notice = sprintf(
92
  /* translators: 1: Plugin name 2: PHP 3: Required PHP version */
93
  esc_html__('"%1$s" requires "%2$s" version %3$s or greater.', 'happy-elementor-addons'),
@@ -104,8 +102,7 @@ function ha_required_php_version_missing_notice()
104
  *
105
  * @return void
106
  */
107
- function ha_elementor_missing_notice()
108
- {
109
 
110
  if (file_exists(WP_PLUGIN_DIR . '/elementor/elementor.php')) {
111
  $notice_title = __('Activate Elementor', 'happy-elementor-addons');
@@ -131,8 +128,7 @@ function ha_elementor_missing_notice()
131
  *
132
  * @return void
133
  */
134
- function ha_required_elementor_version_missing_notice()
135
- {
136
  $notice = sprintf(
137
  /* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */
138
  esc_html__('"%1$s" requires "%2$s" version %3$s or greater.', 'happy-elementor-addons'),
@@ -149,13 +145,16 @@ function ha_required_elementor_version_missing_notice()
149
  *
150
  * @return void
151
  */
152
- function ha_register_activation_hook()
153
- {
154
  add_option(HAPPY_ADDONS_REDIRECTION_FLAG, true);
155
 
156
  // add plugin activation time
157
  $get_activation_time = strtotime("now");
158
  add_option('happy_addons_activation_time', $get_activation_time);
 
 
 
 
159
  }
160
 
161
  register_activation_hook(HAPPY_ADDONS__FILE__, 'ha_register_activation_hook');
4
  * Plugin Name: Happy Elementor Addons
5
  * Plugin URI: https://happyaddons.com/
6
  * Description: <a href="https://happyaddons.com/">Happy Addons for Elementor</a> Is the Best Elementor Addons Comes With 44+ Free Elementor Widgets Including Table Builder, Testimonial, Event Calendar,Slider,News Ticker, Image Grid, etc & Features Like Elementor Equal Height, Text Stroke, Shape Dividers, Floating Effect, Grid Layout, 500+ Elementor Icons, 450+ Template Packs & More.
7
+ * Version: 3.5.0
8
  * Author: weDevs
9
  * Author URI: https://happyaddons.com/
10
+ * Elementor tested up to: 3.6.1
11
+ * Elementor Pro tested up to: 3.6.4
12
  * License: GPLv2
13
  * License URI: https://www.gnu.org/licenses/gpl-2.0.html
14
  * Text Domain: happy-elementor-addons
37
 
38
  defined('ABSPATH') || die();
39
 
40
+ define('HAPPY_ADDONS_VERSION', '3.5.0');
41
  define('HAPPY_ADDONS__FILE__', __FILE__);
42
  define('HAPPY_ADDONS_DIR_PATH', plugin_dir_path(HAPPY_ADDONS__FILE__));
43
  define('HAPPY_ADDONS_DIR_URL', plugin_dir_url(HAPPY_ADDONS__FILE__));
53
  *
54
  * @return void Some voids are not really void, you have to explore to figure out why not!
55
  */
56
+ function ha_let_the_journey_begin() {
 
57
  require(HAPPY_ADDONS_DIR_PATH . 'inc/functions.php');
58
 
59
  // Check for required PHP version
85
  *
86
  * @return void
87
  */
88
+ function ha_required_php_version_missing_notice() {
 
89
  $notice = sprintf(
90
  /* translators: 1: Plugin name 2: PHP 3: Required PHP version */
91
  esc_html__('"%1$s" requires "%2$s" version %3$s or greater.', 'happy-elementor-addons'),
102
  *
103
  * @return void
104
  */
105
+ function ha_elementor_missing_notice() {
 
106
 
107
  if (file_exists(WP_PLUGIN_DIR . '/elementor/elementor.php')) {
108
  $notice_title = __('Activate Elementor', 'happy-elementor-addons');
128
  *
129
  * @return void
130
  */
131
+ function ha_required_elementor_version_missing_notice() {
 
132
  $notice = sprintf(
133
  /* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */
134
  esc_html__('"%1$s" requires "%2$s" version %3$s or greater.', 'happy-elementor-addons'),
145
  *
146
  * @return void
147
  */
148
+ function ha_register_activation_hook() {
 
149
  add_option(HAPPY_ADDONS_REDIRECTION_FLAG, true);
150
 
151
  // add plugin activation time
152
  $get_activation_time = strtotime("now");
153
  add_option('happy_addons_activation_time', $get_activation_time);
154
+
155
+ if (!get_option(HAPPY_ADDONS_WIZARD_REDIRECTION_FLAG, false)) {
156
+ add_option(HAPPY_ADDONS_WIZARD_REDIRECTION_FLAG, 'initiate');
157
+ }
158
  }
159
 
160
  register_activation_hook(HAPPY_ADDONS__FILE__, 'ha_register_activation_hook');
readme.txt CHANGED
@@ -438,6 +438,15 @@ For a more detailed explanation check out the following documentation
438
 
439
  == Changelog ==
440
 
 
 
 
 
 
 
 
 
 
441
  = 3.4.4 - 1 March 2022 =
442
 
443
  - New: Double Opt In support for mailchimp widget.
438
 
439
  == Changelog ==
440
 
441
+ = 3.5.0 - 24 March 2022
442
+
443
+ - Tweak: Removed `_register_controls` deprecated method.
444
+ - Tweak: Replace `register_controls` with `register`.
445
+ - Tweak: Change default url for PDF Viewer.
446
+ - Fix: Miscellaneous deprecations.
447
+ - Fix: Setup Wizard redirection issue.
448
+ - Improve: Elementor 3.6.1 compatibility.
449
+
450
  = 3.4.4 - 1 March 2022 =
451
 
452
  - New: Double Opt In support for mailchimp widget.
templates/admin/dashboard-home.php CHANGED
@@ -92,7 +92,7 @@ defined( 'ABSPATH' ) || die();
92
  <h3 class="ha-feature-title"><?php esc_html_e('Call for Contributors', 'happy-elementor-addons'); ?></h3>
93
  <p class="f16"><?php esc_html_e('Are you interested to contribute to making this plugin more awesome?', 'happy-elementor-addons'); ?></p>
94
  <a class="link btn-how-to-contribute" href="#"><?php esc_html_e('How am I going to contribute?', 'happy-elementor-addons'); ?></a>
95
- <p class="ha-mb-0" style="display: none;"><?php esc_html_e('By allow Happy Elementor Addons to collect non-sensitive diagnostic data and usage information so that we can make sure optimum compatibility.
96
  Happy Elementor Addons collect - Server environment details (php, mysql, server, WordPress versions), Number of users in your site, Site language, Number of active and inactive plugins, Site name and url, Your name and email address. We are using Appsero to collect your data. ', 'happy-elementor-addons'); ?><a href="https://appsero.com/privacy-policy/" target="_blank" style="color:#fff"><?php esc_html_e('Learn more', 'happy-elementor-addons'); ?></a><?php esc_html_e(' about how Appsero collects and handle your data.', 'happy-elementor-addons'); ?></p>
97
  </div>
98
  <div class="ha-cta-action ha-col-4 ha-align-right">
92
  <h3 class="ha-feature-title"><?php esc_html_e('Call for Contributors', 'happy-elementor-addons'); ?></h3>
93
  <p class="f16"><?php esc_html_e('Are you interested to contribute to making this plugin more awesome?', 'happy-elementor-addons'); ?></p>
94
  <a class="link btn-how-to-contribute" href="#"><?php esc_html_e('How am I going to contribute?', 'happy-elementor-addons'); ?></a>
95
+ <p class="ha-mb-0" style="display: none;"><?php esc_html_e('By allowing Happy Elementor Addons to collect non-sensitive diagnostic data and usage information so that we can make sure optimum compatibility.
96
  Happy Elementor Addons collect - Server environment details (php, mysql, server, WordPress versions), Number of users in your site, Site language, Number of active and inactive plugins, Site name and url, Your name and email address. We are using Appsero to collect your data. ', 'happy-elementor-addons'); ?><a href="https://appsero.com/privacy-policy/" target="_blank" style="color:#fff"><?php esc_html_e('Learn more', 'happy-elementor-addons'); ?></a><?php esc_html_e(' about how Appsero collects and handle your data.', 'happy-elementor-addons'); ?></p>
97
  </div>
98
  <div class="ha-cta-action ha-col-4 ha-align-right">
widgets/carousel/widget.php CHANGED
@@ -29,7 +29,7 @@ class Carousel extends Base {
29
  * @return string Widget title.
30
  */
31
  public function get_title() {
32
- return __( 'Carousel', 'happy-elementor-addons' );
33
  }
34
 
35
  public function get_custom_help_url() {
29
  * @return string Widget title.
30
  */
31
  public function get_title() {
32
+ return __( 'Image Carousel', 'happy-elementor-addons' );
33
  }
34
 
35
  public function get_custom_help_url() {
widgets/pdf-view/widget.php CHANGED
@@ -87,7 +87,7 @@ class PDF_View extends Base {
87
  'type' => Controls_Manager::URL,
88
  'placeholder' => __( 'http://www.example.com/sample.pdf', 'happy-elementor-addons'),
89
  'default' => [
90
- 'url' => 'https://file-examples-com.github.io/uploads/2017/10/file-sample_150kB.pdf'
91
  ],
92
  'show_external' => false,
93
  'dynamic' => [
87
  'type' => Controls_Manager::URL,
88
  'placeholder' => __( 'http://www.example.com/sample.pdf', 'happy-elementor-addons'),
89
  'default' => [
90
+ 'url' => 'https://demo.happyaddons.com/wp-content/uploads/2022/03/file-sample.pdf'
91
  ],
92
  'show_external' => false,
93
  'dynamic' => [
widgets/taxonomy-list/widget.php CHANGED
@@ -631,6 +631,7 @@ class Taxonomy_List extends Base {
631
  'default' => '',
632
  'selectors' => [
633
  '{{WRAPPER}} span.ha-taxonomy-list-icon' => 'color: {{VALUE}};',
 
634
  ],
635
  ]
636
  );
631
  'default' => '',
632
  'selectors' => [
633
  '{{WRAPPER}} span.ha-taxonomy-list-icon' => 'color: {{VALUE}};',
634
+ '{{WRAPPER}} span.ha-taxonomy-list-icon svg' => 'fill: {{VALUE}};',
635
  ],
636
  ]
637
  );