Elementor Essential Addons - Version 2.2.4

Version Description

  • Ninja Form selector improved
  • Info box revamped. Now have more control.
  • Few minor improvements
Download this release

Release Info

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

Code changes from version 2.2.3 to 2.2.4

admin/assets/css/admin.css CHANGED
@@ -331,4 +331,24 @@ textarea.eael-form-control {
331
  .eael-save-btn-wrap .eael-btn.save-now:hover,
332
  .eael-header-bar .eael-btn.save-now:hover {
333
  background: #ff5544;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334
  }
331
  .eael-save-btn-wrap .eael-btn.save-now:hover,
332
  .eael-header-bar .eael-btn.save-now:hover {
333
  background: #ff5544;
334
+ }
335
+
336
+ .updated.notice.notice-success.is-dismissible.eael-update-notice {
337
+ padding-top: 5px;
338
+ padding-bottom: 15px;
339
+ }
340
+
341
+ .eael-update-notice a {
342
+ background-color: #0dc9c3;
343
+ color: #fff;
344
+ padding: 10px 20px;
345
+ text-decoration: none;
346
+ text-transform: uppercase;
347
+ letter-spacing: 1px;
348
+ font-size: 13px;
349
+ margin-top: 15px;
350
+ display: block;
351
+ width: 140px;
352
+ text-align: center;
353
+ border-radius: 3px;
354
  }
admin/lib/dismiss-notice.js ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($) {
2
+ //shorthand for ready event.
3
+ $(function () {
4
+ $('div[data-dismissible] button.notice-dismiss').click(function (event) {
5
+ event.preventDefault();
6
+ var $this = $(this);
7
+
8
+ var attr_value, option_name, dismissible_length, data;
9
+
10
+ attr_value = $this.parent().attr('data-dismissible').split('-');
11
+
12
+ // remove the dismissible length from the attribute value and rejoin the array.
13
+ dismissible_length = attr_value.pop();
14
+
15
+ option_name = attr_value.join('-');
16
+
17
+ data = {
18
+ 'action': 'dismiss_admin_notice',
19
+ 'option_name': option_name,
20
+ 'dismissible_length': dismissible_length,
21
+ 'nonce': dismissible_notice.nonce
22
+ };
23
+
24
+ // We can also pass the url value separately from ajaxurl for front end AJAX implementations
25
+ $.post(ajaxurl, data);
26
+ });
27
+ })
28
+
29
+ }(jQuery));
admin/lib/persist-admin-notices-dismissal.php ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Persist Admin notices Dismissal
5
+ *
6
+ * Copyright (C) 2016 Agbonghama Collins <http://w3guy.com>
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ * @package Persist Admin notices Dismissal
22
+ * @author Agbonghama Collins
23
+ * @author Andy Fragen
24
+ * @license http://www.gnu.org/licenses GNU General Public License
25
+ * @version 1.3
26
+ */
27
+
28
+ /**
29
+ * Exit if called directly.
30
+ */
31
+ if ( ! defined( 'WPINC' ) ) {
32
+ die;
33
+ }
34
+
35
+ if ( ! class_exists( 'PAnD' ) ) {
36
+
37
+ /**
38
+ * Class PAnD
39
+ */
40
+ class PAnD {
41
+
42
+ /**
43
+ * Init hooks.
44
+ */
45
+ public static function init() {
46
+ add_action( 'admin_enqueue_scripts', array( __CLASS__, 'load_script' ) );
47
+ add_action( 'wp_ajax_dismiss_admin_notice', array( __CLASS__, 'dismiss_admin_notice' ) );
48
+ }
49
+
50
+ /**
51
+ * Enqueue javascript and variables.
52
+ */
53
+ public static function load_script() {
54
+
55
+ if(is_customize_preview()) return;
56
+
57
+ wp_enqueue_script(
58
+ 'dismissible-notices',
59
+ plugins_url( 'dismiss-notice.js', __FILE__ ),
60
+ array( 'jquery', 'common' ),
61
+ false,
62
+ true
63
+ );
64
+
65
+ wp_localize_script(
66
+ 'dismissible-notices',
67
+ 'dismissible_notice',
68
+ array(
69
+ 'nonce' => wp_create_nonce( 'dismissible-notice' ),
70
+ )
71
+ );
72
+ }
73
+
74
+ /**
75
+ * Handles Ajax request to persist notices dismissal.
76
+ * Uses check_ajax_referer to verify nonce.
77
+ */
78
+ public static function dismiss_admin_notice() {
79
+ $option_name = sanitize_text_field( $_POST['option_name'] );
80
+ $dismissible_length = sanitize_text_field( $_POST['dismissible_length'] );
81
+ $transient = 0;
82
+
83
+ if ( 'forever' != $dismissible_length ) {
84
+ // If $dismissible_length is not an integer default to 1
85
+ $dismissible_length = ( 0 == absint( $dismissible_length ) ) ? 1 : $dismissible_length;
86
+ $transient = absint( $dismissible_length ) * DAY_IN_SECONDS;
87
+ $dismissible_length = strtotime( absint( $dismissible_length ) . ' days' );
88
+ }
89
+
90
+ check_ajax_referer( 'dismissible-notice', 'nonce' );
91
+ set_site_transient( $option_name, $dismissible_length, $transient );
92
+ wp_die();
93
+ }
94
+
95
+ /**
96
+ * Is admin notice active?
97
+ *
98
+ * @param string $arg data-dismissible content of notice.
99
+ *
100
+ * @return bool
101
+ */
102
+ public static function is_admin_notice_active( $arg ) {
103
+ $array = explode( '-', $arg );
104
+ $length = array_pop( $array );
105
+ $option_name = implode( '-', $array );
106
+ $db_record = get_site_transient( $option_name );
107
+
108
+ if ( 'forever' == $db_record ) {
109
+ return false;
110
+ } elseif ( absint( $db_record ) >= time() ) {
111
+ return false;
112
+ } else {
113
+ return true;
114
+ }
115
+ }
116
+
117
+ }
118
+
119
+ }
admin/settings.php CHANGED
@@ -46,11 +46,20 @@ class Eael_Admin_Settings {
46
  public function __construct() {
47
 
48
  add_action( 'admin_menu', array( $this, 'create_eael_admin_menu' ) );
 
49
  add_action( 'init', array( $this, 'enqueue_eael_admin_scripts' ) );
50
  add_action( 'wp_ajax_save_settings_with_ajax', array( $this, 'eael_save_settings_with_ajax' ) );
51
 
52
  }
53
 
 
 
 
 
 
 
 
 
54
  /**
55
  * Loading all essential scripts
56
  * @param
@@ -60,7 +69,6 @@ class Eael_Admin_Settings {
60
  public function enqueue_eael_admin_scripts() {
61
 
62
  if( isset( $_GET['page'] ) && $_GET['page'] == 'eael-settings' ) {
63
- wp_enqueue_style( 'essential_addons_elementor-admin-css', plugins_url( '/', __FILE__ ).'assets/css/admin.css' );
64
  wp_enqueue_style( 'font-awesome-css', plugins_url( '/', __FILE__ ).'assets/vendor/font-awesome/css/font-awesome.min.css' );
65
  wp_enqueue_style( 'essential_addons_elementor-sweetalert2-css', plugins_url( '/', __FILE__ ).'assets/vendor/sweetalert2/css/sweetalert2.min.css' );
66
 
@@ -72,6 +80,7 @@ class Eael_Admin_Settings {
72
 
73
  }
74
 
 
75
  /**
76
  * Create an admin menu.
77
  * @param
46
  public function __construct() {
47
 
48
  add_action( 'admin_menu', array( $this, 'create_eael_admin_menu' ) );
49
+ add_action( 'init', array( $this, 'enqueue_eael_admin_style' ) );
50
  add_action( 'init', array( $this, 'enqueue_eael_admin_scripts' ) );
51
  add_action( 'wp_ajax_save_settings_with_ajax', array( $this, 'eael_save_settings_with_ajax' ) );
52
 
53
  }
54
 
55
+ /**
56
+ * Register and enqueue a custom stylesheet in the WordPress admin.
57
+ */
58
+ function enqueue_eael_admin_style() {
59
+ wp_enqueue_style( 'essential_addons_elementor-admin-css', plugins_url( '/', __FILE__ ).'assets/css/admin.css' );
60
+ wp_enqueue_script( 'essential_addons_dismiss-js', plugins_url( '/', __FILE__ ).'lib/dismiss-notice.js', array( '', 'essential_addons_dismisscore-js' ), '', true );
61
+ }
62
+
63
  /**
64
  * Loading all essential scripts
65
  * @param
69
  public function enqueue_eael_admin_scripts() {
70
 
71
  if( isset( $_GET['page'] ) && $_GET['page'] == 'eael-settings' ) {
 
72
  wp_enqueue_style( 'font-awesome-css', plugins_url( '/', __FILE__ ).'assets/vendor/font-awesome/css/font-awesome.min.css' );
73
  wp_enqueue_style( 'essential_addons_elementor-sweetalert2-css', plugins_url( '/', __FILE__ ).'assets/vendor/sweetalert2/css/sweetalert2.min.css' );
74
 
80
 
81
  }
82
 
83
+
84
  /**
85
  * Create an admin menu.
86
  * @param
assets/css/essential-addons-editor.css CHANGED
@@ -24,4 +24,24 @@
24
  .elementor-control-eael_fancy_text_style_pro_alert .elementor-control-title,
25
  .elementor-control-eael_team_members_preset_pro_alert .elementor-control-title {
26
  color: #f54;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  }
24
  .elementor-control-eael_fancy_text_style_pro_alert .elementor-control-title,
25
  .elementor-control-eael_team_members_preset_pro_alert .elementor-control-title {
26
  color: #f54;
27
+ }
28
+
29
+ .updated.notice.notice-success.is-dismissible.eael-update-notice {
30
+ padding-top: 5px;
31
+ padding-bottom: 15px;
32
+ }
33
+
34
+ .eael-update-notice a {
35
+ background-color: #0dc9c3;
36
+ color: #fff;
37
+ padding: 10px 20px;
38
+ text-decoration: none;
39
+ text-transform: uppercase;
40
+ letter-spacing: 1px;
41
+ font-size: 13px;
42
+ margin-top: 15px;
43
+ display: block;
44
+ width: 140px;
45
+ text-align: center;
46
+ border-radius: 3px;
47
  }
assets/css/essential-addons-elementor.css CHANGED
@@ -1701,144 +1701,154 @@ body:not(.x-ethos):not(.x-integrity):not(.x-renew):not(.x-icon) .eael-product-ca
1701
  transform: rotate(360deg);
1702
  }
1703
  }
1704
- /* Info-box Style */
1705
 
1706
- .eael-infobox {} .eael-infobox .infobox-icon {} .eael-infobox .infobox-icon img {
1707
- max-width: 100%;
1708
- height: auto;
1709
- -webkit-transform: scale(.9);
1710
- transform: scale(.9);
1711
- -webkit-transition: .5s;
1712
- transition: .5s;
1713
- }
1714
- .eael-infobox .infobox-icon i {
1715
- font-size: 40px;
1716
- text-align: center;
1717
- }
1718
- .eael-infobox:hover .infobox-icon img {
1719
- -webkit-transform: scale(1.0);
1720
- transform: scale(1.0);
1721
  }
1722
- .eael-infobox .infobox-content {} .eael-infobox .infobox-content .title {
1723
- margin-bottom: 10px;
 
 
 
1724
  }
1725
- .eael-infobox .infobox-content p {
1726
- margin-top: 0px;
1727
- line-height: 28px;
1728
  }
1729
- .eael-infobox-content-align-left .eael-infobox {
1730
- text-align: left;
1731
  }
1732
- .eael-infobox-content-align-right .eael-infobox {
1733
- text-align: right;
 
 
 
 
 
1734
  }
1735
- .eael-infobox-content-align-center .eael-infobox {
1736
- text-align: center;
 
1737
  }
1738
- .eael-infobox-shape-circle .eael-infobox .infobox-icon img {
1739
- -webkit-border-radius: 50%;
1740
- -ms-border-radius: 50%;
1741
- border-radius: 50%;
1742
  }
1743
- .eael-infobox-shape-radius .eael-infobox .infobox-icon img {
1744
- -webkit-border-radius: 15px;
1745
- -ms-border-radius: 15px;
1746
- border-radius: 15px;
 
 
 
 
 
 
1747
  }
1748
- .eael-infobox-icon-bg-shape-circle .eael-infobox .infobox-icon i {
1749
- background: #f4f4f4;
1750
- width: 90px;
1751
- height: 90px;
1752
- line-height: 90px;
1753
- border-radius: 50%;
1754
- border: 2px solid #ededed;
1755
- -webkit-transition: .5s;
1756
- transition: .5s;
1757
  }
1758
- .eael-infobox-icon-bg-shape-radius .eael-infobox .infobox-icon i {
1759
- background: #f4f4f4;
1760
- width: 90px;
1761
- height: 90px;
1762
- line-height: 90px;
1763
- border-radius: 15px;
1764
- border: 2px solid #ededed;
1765
- -webkit-transition: .5s;
1766
- transition: .5s;
1767
  }
1768
- .eael-infobox-icon-bg-shape-square .eael-infobox .infobox-icon i {
1769
- background: #f4f4f4;
1770
- width: 90px;
1771
- height: 90px;
1772
- line-height: 90px;
1773
- border-radius: 0px;
1774
- border: 2px solid #ededed;
1775
- -webkit-transition: .5s;
1776
- transition: .5s;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1777
  }
1778
- .eael-infobox-icon-bg-shape-circle:hover .eael-infobox .infobox-icon i,
1779
- .eael-infobox-icon-bg-shape-radius:hover .eael-infobox .infobox-icon i,
1780
- .eael-infobox-icon-bg-shape-square:hover .eael-infobox .infobox-icon i {
1781
- -webkit-transform: scale(1.2);
1782
- transform: scale(1.2);
 
 
 
 
 
 
 
 
 
 
1783
  }
1784
- /* Infobox Style (Icon On Left) */
1785
-
1786
- .eael-infobox.icon-on-left {} .eael-infobox.icon-on-left .infobox-icon {
1787
- position: absolute;
1788
- width: 55px;
1789
- height: 55px;
1790
- top: 0px;
1791
- left: 0px;
1792
- z-index: 1;
1793
  }
1794
  .eael-infobox.icon-on-left .infobox-content {
1795
- padding-left: 65px;
1796
  }
1797
- .eael-infobox.icon-on-left .infobox-icon.eael-icon-only {
1798
- position: absolute;
1799
- width: 45px;
1800
- height: 45px;
1801
- top: 7px;
1802
- left: 0px;
1803
- z-index: 1;
1804
  }
1805
- .eael-infobox.icon-on-left .infobox-content.eael-icon-only {
1806
- padding-left: 45px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1807
  }
1808
- /* Infobox Style (Icon Beside Title) */
1809
- .eael-infobox.icon-beside-title figure {
1810
- position: absolute;
1811
- display: block;
1812
- width: 55px;
1813
- height: 55px;
1814
- top: 0px;
1815
- left: 0px;
1816
- z-index: 1;
1817
- font-size: 45px;
1818
  }
1819
- .eael-infobox.icon-beside-title figure img {
1820
- -webkit-transition: .4s;
1821
- transition: .4s;
1822
  }
1823
- .eael-infobox-shape-circle .eael-infobox.icon-beside-title figure img {
1824
- -webkit-border-radius: 50%;
 
1825
  border-radius: 50%;
1826
  }
1827
- .eael-infobox-shape-radius .eael-infobox.icon-beside-title figure img {
1828
- -webkit-border-radius: 15px;
1829
  border-radius: 15px;
1830
  }
1831
- .eael-infobox.icon-beside-title .infobox-content .title {
1832
- position: relative;
1833
- display: block;
1834
- min-height: 55px;
1835
- padding-left: 65px;
1836
- line-height: 27px;
1837
- margin-bottom: 20px;
1838
- }
1839
- .eael-infobox.icon-beside-title .infobox-content .title.eael-icon-only {
1840
- padding-left: 50px;
1841
- }
1842
  /**
1843
  * Flipbox Style
1844
  */
1701
  transform: rotate(360deg);
1702
  }
1703
  }
 
1704
 
1705
+ /**
1706
+ * Infobox Style
1707
+ */
1708
+ /* Image/Icon On Top */
1709
+ .eael-infobox {}
1710
+ .eael-infobox .infobox-icon {
1711
+ width: 100%;
1712
+ height: auto;
1713
+ margin-bottom: 30px;
 
 
 
 
 
 
1714
  }
1715
+ .eael-infobox .infobox-icon .infobox-icon-wrap {
1716
+ display: block;
1717
+ width: 100%;
1718
+ height: auto;
1719
+ transition: .3s;
1720
  }
1721
+ .eael-infobox .infobox-icon .infobox-icon-wrap i {
1722
+ transition: .3s;
 
1723
  }
1724
+ .eael-infobox:hover .infobox-icon .infobox-icon-wrap {
1725
+ transform: scale(1.1);
1726
  }
1727
+ .eael-infobox .infobox-content {}
1728
+ .eael-infobox .infobox-content .title {}
1729
+
1730
+ /* For Content Alignment */
1731
+ .eael-infobox-content-align-left .eael-infobox .infobox-icon,
1732
+ .eael-infobox-content-align-left .eael-infobox .infobox-content {
1733
+ text-align: left;
1734
  }
1735
+ .eael-infobox-content-align-right .eael-infobox .infobox-icon,
1736
+ .eael-infobox-content-align-right .eael-infobox .infobox-content {
1737
+ text-align: right;
1738
  }
1739
+ .eael-infobox-content-align-center .eael-infobox .infobox-icon,
1740
+ .eael-infobox-content-align-center .eael-infobox .infobox-content {
1741
+ text-align: center;
 
1742
  }
1743
+ /* For icon background shape */
1744
+ .eael-infobox-icon-bg-shape-none {}
1745
+ .eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap,
1746
+ .eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,
1747
+ .eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap {
1748
+ background: #f2f2f2;
1749
+ width: 90px;
1750
+ height: 90px;
1751
+ border: 2px solid #ededed;
1752
+ text-align: center;
1753
  }
1754
+ .eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap {
1755
+ border-radius: 15px;
 
 
 
 
 
 
 
1756
  }
1757
+ .eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap {
1758
+ border-radius: 50%;
 
 
 
 
 
 
 
1759
  }
1760
+ .eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap i,
1761
+ .eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap i,
1762
+ .eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap i {
1763
+ margin-top: 50%;
1764
+ transform: translateY(-50%);
1765
+ }
1766
+ /* For icon bg shape alignment */
1767
+ .eael-infobox-content-align-left.eael-infobox-icon-bg-shape-square .infobox-icon,
1768
+ .eael-infobox-content-align-left.eael-infobox-icon-bg-shape-radius .infobox-icon,
1769
+ .eael-infobox-content-align-left.eael-infobox-icon-bg-shape-circle .infobox-icon {
1770
+ display: flex;
1771
+ justify-content: flex-start;
1772
+ }
1773
+ .eael-infobox-content-align-center.eael-infobox-icon-bg-shape-square .infobox-icon,
1774
+ .eael-infobox-content-align-center.eael-infobox-icon-bg-shape-radius .infobox-icon,
1775
+ .eael-infobox-content-align-center.eael-infobox-icon-bg-shape-circle .infobox-icon {
1776
+ display: flex;
1777
+ justify-content: center;
1778
+ }
1779
+ .eael-infobox-content-align-right.eael-infobox-icon-bg-shape-square .infobox-icon,
1780
+ .eael-infobox-content-align-right.eael-infobox-icon-bg-shape-radius .infobox-icon,
1781
+ .eael-infobox-content-align-right.eael-infobox-icon-bg-shape-circle .infobox-icon {
1782
+ display: flex;
1783
+ justify-content: flex-end;
1784
+ }
1785
+ /* Image/Icon On Left */
1786
+ .eael-infobox.icon-on-left {
1787
+ position: relative;
1788
+ z-index: 0
1789
  }
1790
+ .eael-infobox.icon-on-left .infobox-icon {
1791
+ position: absolute;
1792
+ width: 35px;
1793
+ height: 100px;
1794
+ top: 0px;
1795
+ left: 0px;
1796
+ z-index: 0;
1797
+ }
1798
+ .eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap {
1799
+ background: none;
1800
+ border: 0px;
1801
+ text-align: left;
1802
+ width: auto;
1803
+ height: auto;
1804
+ display: block;
1805
  }
1806
+ .eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap i {
1807
+ margin-top: 0px;
1808
+ transform: translateY(0%);
 
 
 
 
 
 
1809
  }
1810
  .eael-infobox.icon-on-left .infobox-content {
1811
+ padding-left: 50px;
1812
  }
1813
+ .eael-infobox.icon-on-left .infobox-content .title {}
1814
+ /* Image/Icon On Right */
1815
+ .eael-infobox.icon-on-right {
1816
+ position: relative;
1817
+ z-index: 0
 
 
1818
  }
1819
+ .eael-infobox.icon-on-right .infobox-icon {
1820
+ position: absolute;
1821
+ width: 35px;
1822
+ height: 100px;
1823
+ top: 0px;
1824
+ right: 0px;
1825
+ z-index: 0;
1826
+ text-align: right;
1827
+ }
1828
+ .eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap {
1829
+ background: none;
1830
+ border: 0px;
1831
+ text-align: right;
1832
+ width: auto;
1833
+ height: auto;
1834
+ display: block;
1835
  }
1836
+ .eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap i {
1837
+ margin-top: 0px;
1838
+ transform: translateY(0%);
 
 
 
 
 
 
 
1839
  }
1840
+ .eael-infobox.icon-on-right .infobox-content {
1841
+ padding-right: 50px;
1842
+ text-align: right;
1843
  }
1844
+ .eael-infobox.icon-on-right .infobox-content .title {}
1845
+ /* Imgae Circle On Top */
1846
+ .eael-infobox-shape-circle .eael-infobox .infobox-icon img {
1847
  border-radius: 50%;
1848
  }
1849
+ .eael-infobox-shape-radius .eael-infobox .infobox-icon img {
 
1850
  border-radius: 15px;
1851
  }
 
 
 
 
 
 
 
 
 
 
 
1852
  /**
1853
  * Flipbox Style
1854
  */
elements/infobox/infobox.php CHANGED
@@ -20,7 +20,7 @@ class Widget_Eael_Info_Box extends Widget_Base {
20
  public function get_categories() {
21
  return [ 'essential-addons-elementor' ];
22
  }
23
-
24
  protected function _register_controls() {
25
 
26
  /**
@@ -41,9 +41,9 @@ class Widget_Eael_Info_Box extends Widget_Base {
41
  'default' => 'img-on-top',
42
  'label_block' => false,
43
  'options' => [
44
- 'img-on-top' => esc_html__( 'Image On Top', 'essential-addons-elementor' ),
45
- 'img-on-left' => esc_html__( 'Image On Left', 'essential-addons-elementor' ),
46
- 'img-beside-title' => esc_html__( 'Image Beside Title', 'essential-addons-elementor' ),
47
  ],
48
  ]
49
  );
@@ -84,7 +84,7 @@ class Widget_Eael_Info_Box extends Widget_Base {
84
  ]
85
  );
86
 
87
-
88
  /**
89
  * Condition: 'eael_infobox_img_or_icon' => 'icon'
90
  */
@@ -100,18 +100,47 @@ class Widget_Eael_Info_Box extends Widget_Base {
100
  ]
101
  );
102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  $this->end_controls_section();
104
 
105
  /**
106
  * Infobox Content
107
  */
108
- $this->start_controls_section(
109
  'eael_infobox_content',
110
  [
111
  'label' => esc_html__( 'Infobox Content', 'essential-addons-elementor' ),
112
  ]
113
  );
114
- $this->add_control(
115
  'eael_infobox_title',
116
  [
117
  'label' => esc_html__( 'Infobox Title', 'essential-addons-elementor' ),
@@ -120,7 +149,7 @@ class Widget_Eael_Info_Box extends Widget_Base {
120
  'default' => esc_html__( 'This is an icon box', 'essential-addons-elementor' )
121
  ]
122
  );
123
- $this->add_control(
124
  'eael_infobox_text',
125
  [
126
  'label' => esc_html__( 'Infobox Text', 'essential-addons-elementor' ),
@@ -388,6 +417,104 @@ class Widget_Eael_Info_Box extends Widget_Base {
388
  ]
389
  );
390
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
391
  $this->add_control(
392
  'eael_infobox_icon_color',
393
  [
@@ -409,14 +536,14 @@ class Widget_Eael_Info_Box extends Widget_Base {
409
  'default' => 'none',
410
  'label_block' => false,
411
  'options' => [
412
- 'none' => esc_html__( 'None', 'essential-addons-elementor' ),
413
  'circle' => esc_html__( 'Circle', 'essential-addons-elementor' ),
414
  'radius' => esc_html__( 'Radius', 'essential-addons-elementor' ),
415
  'square' => esc_html__( 'Square', 'essential-addons-elementor' ),
416
  ],
417
  'prefix_class' => 'eael-infobox-icon-bg-shape-',
418
  'condition' => [
419
- 'eael_infobox_img_type!' => 'img-on-left'
420
  ]
421
  ]
422
  );
@@ -428,15 +555,39 @@ class Widget_Eael_Info_Box extends Widget_Base {
428
  'type' => Controls_Manager::COLOR,
429
  'default' => '#f4f4f4',
430
  'selectors' => [
431
- '{{WRAPPER}} .eael-infobox .infobox-icon i' => 'background: {{VALUE}};',
432
  ],
433
  'condition' => [
434
- 'eael_infobox_img_type!' => 'img-on-left',
435
  'eael_infobox_icon_bg_shape!' => 'none',
436
  ]
437
  ]
438
  );
439
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  $this->end_controls_section();
441
 
442
  /**
@@ -508,30 +659,34 @@ class Widget_Eael_Info_Box extends Widget_Base {
508
  'selector' => '{{WRAPPER}} .eael-infobox .infobox-content p',
509
  ]
510
  );
511
-
512
  $this->end_controls_section();
513
 
514
  }
515
 
516
 
517
  protected function render( ) {
518
-
519
  $settings = $this->get_settings();
520
  $infobox_image = $this->get_settings( 'eael_infobox_image' );
521
  $infobox_image_url = Group_Control_Image_Size::get_attachment_image_src( $infobox_image['id'], 'thumbnail', $settings );
522
- if( empty( $infobox_image_url ) ) : $infobox_image_url = $infobox_image['url']; else: $infobox_image_url = $infobox_image_url; endif;
523
-
 
 
 
524
  ?>
525
  <?php if( 'img-on-top' == $settings['eael_infobox_img_type'] ) : ?>
526
  <div class="eael-infobox">
 
527
  <div class="infobox-icon">
528
  <?php if( 'img' == $settings['eael_infobox_img_or_icon'] ) : ?>
529
- <figure>
530
  <img src="<?php echo esc_url( $infobox_image_url ); ?>" alt="Icon Image">
531
- </figure>
532
  <?php endif; ?>
533
  <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : ?>
534
- <i class="<?php echo esc_attr( $settings['eael_infobox_icon'] ); ?>"></i>
 
 
535
  <?php endif; ?>
536
  </div>
537
  <div class="infobox-content">
@@ -540,9 +695,11 @@ class Widget_Eael_Info_Box extends Widget_Base {
540
  <p><?php echo $settings['eael_infobox_text']; ?></p>
541
  <?php endif; ?>
542
  </div>
 
543
  </div>
544
  <?php endif; ?>
545
  <?php if( 'img-on-left' == $settings['eael_infobox_img_type'] ) : ?>
 
546
  <div class="eael-infobox icon-on-left">
547
  <div class="infobox-icon <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
548
  <?php if( 'img' == $settings['eael_infobox_img_or_icon'] ) : ?>
@@ -551,7 +708,9 @@ class Widget_Eael_Info_Box extends Widget_Base {
551
  </figure>
552
  <?php endif; ?>
553
  <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : ?>
554
- <i class="<?php echo esc_attr( $settings['eael_infobox_icon'] ); ?>"></i>
 
 
555
  <?php endif; ?>
556
  </div>
557
  <div class="infobox-content <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
@@ -561,37 +720,40 @@ class Widget_Eael_Info_Box extends Widget_Base {
561
  <?php endif; ?>
562
  </div>
563
  </div>
 
564
  <?php endif; ?>
565
- <?php if( 'img-beside-title' == $settings['eael_infobox_img_type'] ) : ?>
566
- <div class="eael-infobox icon-beside-title">
567
- <div class="infobox-content">
568
- <h4 class="title <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
569
- <?php if( 'img' == $settings['eael_infobox_img_or_icon'] ) : ?>
570
- <figure>
571
- <img src="<?php echo esc_url( $infobox_image_url ); ?>" alt="Icon Image">
572
- </figure>
573
- <?php endif; ?>
574
- <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : ?>
575
- <figure>
576
  <i class="<?php echo esc_attr( $settings['eael_infobox_icon'] ); ?>"></i>
577
- </figure>
578
- <?php endif; ?>
579
- <?php echo $settings['eael_infobox_title']; ?>
580
- </h4>
 
581
  <?php if( 'yes' == $settings['eael_show_infobox_content'] ) : ?>
582
  <p><?php echo $settings['eael_infobox_text']; ?></p>
583
  <?php endif; ?>
584
  </div>
585
  </div>
 
586
  <?php endif; ?>
587
  <?php
588
  }
589
 
590
  protected function content_template() {
591
-
592
  ?>
593
-
594
-
595
  <?php
596
  }
597
  }
20
  public function get_categories() {
21
  return [ 'essential-addons-elementor' ];
22
  }
23
+
24
  protected function _register_controls() {
25
 
26
  /**
41
  'default' => 'img-on-top',
42
  'label_block' => false,
43
  'options' => [
44
+ 'img-on-top' => esc_html__( 'Image/Icon On Top', 'essential-addons-elementor' ),
45
+ 'img-on-left' => esc_html__( 'Image/Icon On Left', 'essential-addons-elementor' ),
46
+ 'img-on-right' => esc_html__( 'Image/Icon On Right', 'essential-addons-elementor' ),
47
  ],
48
  ]
49
  );
84
  ]
85
  );
86
 
87
+
88
  /**
89
  * Condition: 'eael_infobox_img_or_icon' => 'icon'
90
  */
100
  ]
101
  );
102
 
103
+ $this->add_control(
104
+ 'eael_show_infobox_clickable',
105
+ [
106
+ 'label' => __( 'Infobox Clickable', 'essential-addons-elementor' ),
107
+ 'type' => Controls_Manager::SWITCHER,
108
+ 'default' => 'yes',
109
+ 'label_on' => __( 'Yes', 'essential-addons-elementor' ),
110
+ 'label_off' => __( 'No', 'essential-addons-elementor' ),
111
+ 'return_value' => 'yes',
112
+ ]
113
+ );
114
+
115
+ $this->add_control(
116
+ 'eael_show_infobox_clickable_link',
117
+ [
118
+ 'label' => esc_html__( 'Infobox Link', 'essential-addons-elementor' ),
119
+ 'type' => Controls_Manager::URL,
120
+ 'label_block' => true,
121
+ 'default' => [
122
+ 'url' => 'http://',
123
+ 'is_external' => '',
124
+ ],
125
+ 'show_external' => true,
126
+ 'condition' => [
127
+ 'eael_show_infobox_clickable' => 'yes'
128
+ ]
129
+ ]
130
+ );
131
+
132
  $this->end_controls_section();
133
 
134
  /**
135
  * Infobox Content
136
  */
137
+ $this->start_controls_section(
138
  'eael_infobox_content',
139
  [
140
  'label' => esc_html__( 'Infobox Content', 'essential-addons-elementor' ),
141
  ]
142
  );
143
+ $this->add_control(
144
  'eael_infobox_title',
145
  [
146
  'label' => esc_html__( 'Infobox Title', 'essential-addons-elementor' ),
149
  'default' => esc_html__( 'This is an icon box', 'essential-addons-elementor' )
150
  ]
151
  );
152
+ $this->add_control(
153
  'eael_infobox_text',
154
  [
155
  'label' => esc_html__( 'Infobox Text', 'essential-addons-elementor' ),
417
  ]
418
  );
419
 
420
+ $this->add_control(
421
+ 'eael_infobox_icon_bg_size',
422
+ [
423
+ 'label' => __( 'Icon Background Size', 'essential-addons-elementor' ),
424
+ 'type' => Controls_Manager::SLIDER,
425
+ 'default' => [
426
+ 'size' => 90,
427
+ ],
428
+ 'range' => [
429
+ 'px' => [
430
+ 'min' => 0,
431
+ 'max' => 300,
432
+ 'step' => 1,
433
+ ]
434
+ ],
435
+ 'selectors' => [
436
+ '{{WRAPPER}} .eael-infobox .infobox-icon .infobox-icon-wrap' => 'width: {{SIZE}}px; height: {{SIZE}}px;',
437
+ ],
438
+ 'condition' => [
439
+ 'eael_infobox_icon_bg_shape!' => 'none',
440
+ 'eael_infobox_img_type!' => ['img-on-left', 'img-on-right'],
441
+ ]
442
+ ]
443
+ );
444
+
445
+ $this->add_control(
446
+ 'eael_infobox_icon_margin_bottom',
447
+ [
448
+ 'label' => __( 'Icon Margin Bottom', 'essential-addons-elementor' ),
449
+ 'type' => Controls_Manager::SLIDER,
450
+ 'default' => [
451
+ 'size' => 30,
452
+ ],
453
+ 'range' => [
454
+ 'px' => [
455
+ 'min' => 0,
456
+ 'max' => 200,
457
+ 'step' => 1,
458
+ ]
459
+ ],
460
+ 'selectors' => [
461
+ '{{WRAPPER}} .eael-infobox .infobox-icon' => 'margin-bottom: {{SIZE}}px;',
462
+ ],
463
+ 'condition' => [
464
+ 'eael_infobox_img_type' => 'img-on-top',
465
+ ]
466
+ ]
467
+ );
468
+
469
+ $this->add_control(
470
+ 'eael_infobox_icon_margin_right',
471
+ [
472
+ 'label' => __( 'Icon Margin Right', 'essential-addons-elementor' ),
473
+ 'type' => Controls_Manager::SLIDER,
474
+ 'default' => [
475
+ 'size' => 50,
476
+ ],
477
+ 'range' => [
478
+ 'px' => [
479
+ 'min' => 0,
480
+ 'max' => 200,
481
+ 'step' => 1,
482
+ ]
483
+ ],
484
+ 'selectors' => [
485
+ '{{WRAPPER}} .eael-infobox.icon-on-left .infobox-content' => 'padding-left: {{SIZE}}px;',
486
+ ],
487
+ 'condition' => [
488
+ 'eael_infobox_img_type' => 'img-on-left',
489
+ ]
490
+ ]
491
+ );
492
+
493
+ $this->add_control(
494
+ 'eael_infobox_icon_margin_left',
495
+ [
496
+ 'label' => __( 'Icon Margin Left', 'essential-addons-elementor' ),
497
+ 'type' => Controls_Manager::SLIDER,
498
+ 'default' => [
499
+ 'size' => 50,
500
+ ],
501
+ 'range' => [
502
+ 'px' => [
503
+ 'min' => 0,
504
+ 'max' => 200,
505
+ 'step' => 1,
506
+ ]
507
+ ],
508
+ 'selectors' => [
509
+ '{{WRAPPER}} .eael-infobox.icon-on-right .infobox-content' => 'padding-right: {{SIZE}}px;',
510
+ '{{WRAPPER}} .eael-infobox.icon-on-right .infobox-icon' => 'width: {{SIZE}}px;',
511
+ ],
512
+ 'condition' => [
513
+ 'eael_infobox_img_type' => 'img-on-right',
514
+ ]
515
+ ]
516
+ );
517
+
518
  $this->add_control(
519
  'eael_infobox_icon_color',
520
  [
536
  'default' => 'none',
537
  'label_block' => false,
538
  'options' => [
539
+ 'none' => esc_html__( 'None', 'essential-addons-elementor' ),
540
  'circle' => esc_html__( 'Circle', 'essential-addons-elementor' ),
541
  'radius' => esc_html__( 'Radius', 'essential-addons-elementor' ),
542
  'square' => esc_html__( 'Square', 'essential-addons-elementor' ),
543
  ],
544
  'prefix_class' => 'eael-infobox-icon-bg-shape-',
545
  'condition' => [
546
+ 'eael_infobox_img_type!' => ['img-on-left', 'img-on-right'],
547
  ]
548
  ]
549
  );
555
  'type' => Controls_Manager::COLOR,
556
  'default' => '#f4f4f4',
557
  'selectors' => [
558
+ '{{WRAPPER}} .eael-infobox .infobox-icon .infobox-icon-wrap' => 'background: {{VALUE}};',
559
  ],
560
  'condition' => [
561
+ 'eael_infobox_img_type!' => ['img-on-left', 'img-on-right'],
562
  'eael_infobox_icon_bg_shape!' => 'none',
563
  ]
564
  ]
565
  );
566
 
567
+ $this->add_control(
568
+ 'eael_infobox_icon_margin_bottom_size',
569
+ [
570
+ 'label' => __( 'Icon Margin Bottom', 'essential-addons-elementor' ),
571
+ 'type' => Controls_Manager::SLIDER,
572
+ 'default' => [
573
+ 'size' => 0,
574
+ ],
575
+ 'range' => [
576
+ 'px' => [
577
+ 'min' => 0,
578
+ 'max' => 300,
579
+ 'step' => 1,
580
+ ]
581
+ ],
582
+ 'selectors' => [
583
+ '{{WRAPPER}} .eael-infobox .infobox-icon .infobox-icon-wrap' => 'margin-bottom: {{SIZE}}px;',
584
+ ],
585
+ 'condition' => [
586
+ 'eael_infobox_icon_bg_shape' => 'none',
587
+ ]
588
+ ]
589
+ );
590
+
591
  $this->end_controls_section();
592
 
593
  /**
659
  'selector' => '{{WRAPPER}} .eael-infobox .infobox-content p',
660
  ]
661
  );
662
+
663
  $this->end_controls_section();
664
 
665
  }
666
 
667
 
668
  protected function render( ) {
669
+
670
  $settings = $this->get_settings();
671
  $infobox_image = $this->get_settings( 'eael_infobox_image' );
672
  $infobox_image_url = Group_Control_Image_Size::get_attachment_image_src( $infobox_image['id'], 'thumbnail', $settings );
673
+ if( empty( $infobox_image_url ) ) : $infobox_image_url = $infobox_image['url']; else: $infobox_image_url = $infobox_image_url; endif;
674
+
675
+ $target = $settings['eael_show_infobox_clickable_link']['is_external'] ? 'target="_blank"' : '';
676
+ $nofollow = $settings['eael_show_infobox_clickable_link']['nofollow'] ? 'rel="nofollow"' : '';
677
+
678
  ?>
679
  <?php if( 'img-on-top' == $settings['eael_infobox_img_type'] ) : ?>
680
  <div class="eael-infobox">
681
+ <?php if( 'yes' == $settings['eael_show_infobox_clickable'] ) : ?><a href="<?php echo esc_url( $settings['eael_show_infobox_clickable_link']['url'] ) ?>" <?php echo $target; ?> <?php echo $nofollow; ?>> <?php endif;?>
682
  <div class="infobox-icon">
683
  <?php if( 'img' == $settings['eael_infobox_img_or_icon'] ) : ?>
 
684
  <img src="<?php echo esc_url( $infobox_image_url ); ?>" alt="Icon Image">
 
685
  <?php endif; ?>
686
  <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : ?>
687
+ <div class="infobox-icon-wrap">
688
+ <i class="<?php echo esc_attr( $settings['eael_infobox_icon'] ); ?>"></i>
689
+ </div>
690
  <?php endif; ?>
691
  </div>
692
  <div class="infobox-content">
695
  <p><?php echo $settings['eael_infobox_text']; ?></p>
696
  <?php endif; ?>
697
  </div>
698
+ <?php if( 'yes' == $settings['eael_show_infobox_clickable'] ) : ?></a><?php endif; ?>
699
  </div>
700
  <?php endif; ?>
701
  <?php if( 'img-on-left' == $settings['eael_infobox_img_type'] ) : ?>
702
+ <?php if( 'yes' == $settings['eael_show_infobox_clickable'] ) : ?><a href="<?php echo esc_url( $settings['eael_show_infobox_clickable_link']['url'] ) ?>" <?php echo $target; ?> <?php echo $nofollow; ?>> <?php endif;?>
703
  <div class="eael-infobox icon-on-left">
704
  <div class="infobox-icon <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
705
  <?php if( 'img' == $settings['eael_infobox_img_or_icon'] ) : ?>
708
  </figure>
709
  <?php endif; ?>
710
  <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : ?>
711
+ <div class="infobox-icon-wrap">
712
+ <i class="<?php echo esc_attr( $settings['eael_infobox_icon'] ); ?>"></i>
713
+ </div>
714
  <?php endif; ?>
715
  </div>
716
  <div class="infobox-content <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
720
  <?php endif; ?>
721
  </div>
722
  </div>
723
+ <?php if( 'yes' == $settings['eael_show_infobox_clickable'] ) : ?></a><?php endif; ?>
724
  <?php endif; ?>
725
+ <?php if( 'img-on-right' == $settings['eael_infobox_img_type'] ) : ?>
726
+ <?php if( 'yes' == $settings['eael_show_infobox_clickable'] ) : ?><a href="<?php echo esc_url( $settings['eael_show_infobox_clickable_link']['url'] ) ?>" <?php echo $target; ?> <?php echo $nofollow; ?>> <?php endif;?>
727
+ <div class="eael-infobox icon-on-right">
728
+ <div class="infobox-icon <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
729
+ <?php if( 'img' == $settings['eael_infobox_img_or_icon'] ) : ?>
730
+ <figure>
731
+ <img src="<?php echo esc_url( $infobox_image_url ); ?>" alt="Icon Image">
732
+ </figure>
733
+ <?php endif; ?>
734
+ <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : ?>
735
+ <div class="infobox-icon-wrap">
736
  <i class="<?php echo esc_attr( $settings['eael_infobox_icon'] ); ?>"></i>
737
+ </div>
738
+ <?php endif; ?>
739
+ </div>
740
+ <div class="infobox-content <?php if( 'icon' == $settings['eael_infobox_img_or_icon'] ) : echo esc_attr( 'eael-icon-only', 'essential-addons-elementor' ); endif; ?>">
741
+ <h4 class="title"><?php echo $settings['eael_infobox_title']; ?></h4>
742
  <?php if( 'yes' == $settings['eael_show_infobox_content'] ) : ?>
743
  <p><?php echo $settings['eael_infobox_text']; ?></p>
744
  <?php endif; ?>
745
  </div>
746
  </div>
747
+ <?php if( 'yes' == $settings['eael_show_infobox_clickable'] ) : ?></a><?php endif; ?>
748
  <?php endif; ?>
749
  <?php
750
  }
751
 
752
  protected function content_template() {
753
+
754
  ?>
755
+
756
+
757
  <?php
758
  }
759
  }
elements/ninja-form/ninja-form.php CHANGED
@@ -31,15 +31,13 @@ class Widget_Eael_NinjaForm extends Widget_Base {
31
  ]
32
  );
33
 
34
-
35
-
36
  $this->add_control(
37
- 'eael_ninja_form_shortcode',
38
  [
39
- 'label' => esc_html__( 'Ninja Form Shortcode', 'essential-addons-elementor' ),
40
- 'type' => Controls_Manager::TEXTAREA,
41
  'label_block' => true,
42
- 'description' => esc_html__( 'Please save and refresh the page after selecting the form', 'essential-addons-elementor' ),
 
43
  ]
44
  );
45
 
@@ -696,9 +694,9 @@ class Widget_Eael_NinjaForm extends Widget_Base {
696
  ?>
697
 
698
 
699
- <?php if ( ! empty( $settings['eael_ninja_form_shortcode'] ) ) : ?>
700
  <div class="eael-ninja-container">
701
- <?php echo do_shortcode( $settings['eael_ninja_form_shortcode'] ); ?>
702
  </div>
703
  <?php endif; ?>
704
 
31
  ]
32
  );
33
 
 
 
34
  $this->add_control(
35
+ 'eael_ninja_form',
36
  [
37
+ 'label' => esc_html__( 'Select ninja form', 'essential-addons-elementor' ),
 
38
  'label_block' => true,
39
+ 'type' => Controls_Manager::SELECT,
40
+ 'options' => eael_select_ninja_form(),
41
  ]
42
  );
43
 
694
  ?>
695
 
696
 
697
+ <?php if ( ! empty( $settings['eael_ninja_form'] ) ) : ?>
698
  <div class="eael-ninja-container">
699
+ <?php echo do_shortcode( '[ninja_form id="'.$settings['eael_ninja_form'].'"]' ); ?>
700
  </div>
701
  <?php endif; ?>
702
 
essential_adons_elementor.php CHANGED
@@ -4,7 +4,7 @@
4
  * Description: The ultimate elements library for Elementor page builder plugin for WordPress.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: Codetic
7
- * Version: 2.2.3
8
  * Author URI: http://www.codetic.net
9
  *
10
  * Text Domain: essential-addons-elementor
@@ -151,3 +151,27 @@ function eael_redirect() {
151
  }
152
  }
153
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  * Description: The ultimate elements library for Elementor page builder plugin for WordPress.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: Codetic
7
+ * Version: 2.2.4
8
  * Author URI: http://www.codetic.net
9
  *
10
  * Text Domain: essential-addons-elementor
151
  }
152
  }
153
  }
154
+
155
+ // admin notice
156
+
157
+ require __DIR__ . '/admin/lib/persist-admin-notices-dismissal.php';
158
+ add_action( 'admin_init', array( 'PAnD', 'init' ) );
159
+
160
+ function eael_update_notice() {
161
+ if ( ! PAnD::is_admin_notice_active( 'disable-done-notice-forever' ) ) {
162
+ return;
163
+ }
164
+
165
+ ?>
166
+ <div class="updated notice notice-success is-dismissible eael-update-notice">
167
+ <h2><?php _e( 'Essential Addons for Elementor Giveaway! Only $14.98 for First 25 Orders!', 'essential-addons-elementor' ); ?></h2>
168
+ <p><?php _e( 'We are running a whopping 40% discount on our all packages. First come, first served! This is our biggest discount, and we are not sure if we will ever do it again! Hurry Up!', 'essential-addons-elementor' ); ?></p>
169
+ <a href="https://wpdeveloper.net/in/CM40EAF"><?php _e( 'Get the Offer', 'essential-addons-elementor' ); ?></a>
170
+ </div>
171
+ <?php
172
+ }
173
+ add_action( 'admin_init', array( 'PAnD', 'init' ) );
174
+ add_action( 'admin_notices', 'eael_update_notice' );
175
+
176
+
177
+
includes/queries.php CHANGED
@@ -279,3 +279,17 @@ function eael_select_weform() {
279
  }
280
 
281
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
279
  }
280
 
281
  }
282
+
283
+ /**
284
+ * Get Ninja Form List
285
+ * @return array
286
+ */
287
+ function eael_select_ninja_form() {
288
+ global $wpdb;
289
+ $eael_nf_table_name = $wpdb->prefix.'nf3_forms';
290
+ $forms = $wpdb->get_results( "SELECT id, title FROM $eael_nf_table_name" );
291
+ foreach( $forms as $form ) {
292
+ $options[$form->id] = $form->title;
293
+ }
294
+ return $options;
295
+ }
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: Codetic, re_enter_rupok, Asif2BD, robicse11128
3
  Tags: elementor, elements, addons, elementor addon, elementor widget, page builder, builder, visual editor, wordpress page builder
4
  Requires at least: 4.0
5
  Tested up to: 4.9
6
- Stable tag: 2.2.3
7
  License: GPLv3
8
  License URI: https://opensource.org/licenses/GPL-3.0
9
 
@@ -95,6 +95,13 @@ Your existing elements/content will work with premium version. So you won't lose
95
 
96
  == Changelog ==
97
 
 
 
 
 
 
 
 
98
  = 2.2.3 =
99
 
100
  - Gravity Forms element added
3
  Tags: elementor, elements, addons, elementor addon, elementor widget, page builder, builder, visual editor, wordpress page builder
4
  Requires at least: 4.0
5
  Tested up to: 4.9
6
+ Stable tag: 2.2.4
7
  License: GPLv3
8
  License URI: https://opensource.org/licenses/GPL-3.0
9
 
95
 
96
  == Changelog ==
97
 
98
+ = 2.2.4 =
99
+
100
+ - Ninja Form selector improved
101
+ - Info box revamped. Now have more control.
102
+ - Few minor improvements
103
+
104
+
105
  = 2.2.3 =
106
 
107
  - Gravity Forms element added