Version Description
- Tweak:
WPML Compatibility
for all widgets. - Tweak: Added
Dynamic Content
support for allURL
fields. - Fixed: Title and description container rendered even title and description are empty.
Download this release
Release Info
Developer | leap13 |
Plugin | Premium Addons for Elementor |
Version | 3.1.9 |
Comparing to | |
See all releases |
Code changes from version 3.1.8 to 3.1.9
- admin/settings/version-control.php +1 -1
- includes/class-addons-integration.php +2 -2
- includes/compatibility/class-premium-addons-wpml.php +566 -0
- includes/compatibility/widgets/fancy-text.php +66 -0
- includes/compatibility/widgets/grid.php +81 -0
- includes/compatibility/widgets/maps.php +89 -0
- includes/compatibility/widgets/pricing-table.php +67 -0
- includes/compatibility/widgets/progress-bar.php +67 -0
- includes/compatibility/widgets/vertical-scroll.php +66 -0
- includes/elementor-helper.php +1 -1
- includes/helper-functions.php +1 -1
- premium-addons-for-elementor.php +11 -6
- readme.txt +7 -1
- widgets/premium-banner.php +2 -0
- widgets/premium-button.php +2 -1
- widgets/premium-counter.php +0 -10
- widgets/premium-dual-header.php +1 -0
- widgets/premium-grid.php +21 -16
- widgets/premium-image-button.php +3 -2
- widgets/premium-image-scroll.php +1 -0
- widgets/premium-image-separator.php +0 -4
- widgets/premium-maps.php +2 -0
- widgets/premium-modalbox.php +2 -2
- widgets/premium-person.php +1 -0
- widgets/premium-pricing-table.php +1 -1
- widgets/premium-progressbar.php +13 -12
- widgets/premium-testimonials.php +1 -0
- widgets/premium-title.php +1 -0
- widgets/premium-videobox.php +1 -0
admin/settings/version-control.php
CHANGED
@@ -79,7 +79,7 @@ class PA_Version_Control {
|
|
79 |
<tr class="pa-roll-row">
|
80 |
<th>Rollback Version</th>
|
81 |
<td>
|
82 |
-
<div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 3.1.
|
83 |
<p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p>
|
84 |
</td>
|
85 |
</tr>
|
79 |
<tr class="pa-roll-row">
|
80 |
<th>Rollback Version</th>
|
81 |
<td>
|
82 |
+
<div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 3.1.8</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div>
|
83 |
<p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p>
|
84 |
</td>
|
85 |
</tr>
|
includes/class-addons-integration.php
CHANGED
@@ -19,7 +19,7 @@ class Premium_Addons_Integration {
|
|
19 |
|
20 |
add_action( 'elementor/widgets/widgets_registered', array( $this, 'premium_widgets_area' ) );
|
21 |
|
22 |
-
add_action('elementor/editor/before_enqueue_scripts', array( $this,'enqueue_editor_scripts') );
|
23 |
|
24 |
add_action( 'elementor/preview/enqueue_styles', array( $this, 'premium_enqueue_preview_styles' ) );
|
25 |
|
@@ -29,7 +29,7 @@ class Premium_Addons_Integration {
|
|
29 |
|
30 |
add_action( 'elementor/frontend/after_register_scripts', array( $this, 'premium_register_frontend_scripts' ) );
|
31 |
|
32 |
-
add_action('wp_enqueue_scripts', array($this, 'premium_maps_required_script'));
|
33 |
}
|
34 |
|
35 |
/**
|
19 |
|
20 |
add_action( 'elementor/widgets/widgets_registered', array( $this, 'premium_widgets_area' ) );
|
21 |
|
22 |
+
add_action( 'elementor/editor/before_enqueue_scripts', array( $this,'enqueue_editor_scripts') );
|
23 |
|
24 |
add_action( 'elementor/preview/enqueue_styles', array( $this, 'premium_enqueue_preview_styles' ) );
|
25 |
|
29 |
|
30 |
add_action( 'elementor/frontend/after_register_scripts', array( $this, 'premium_register_frontend_scripts' ) );
|
31 |
|
32 |
+
add_action( 'wp_enqueue_scripts', array($this, 'premium_maps_required_script'));
|
33 |
}
|
34 |
|
35 |
/**
|
includes/compatibility/class-premium-addons-wpml.php
ADDED
@@ -0,0 +1,566 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace PremiumAddons\Compatibility\WPML;
|
4 |
+
|
5 |
+
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
6 |
+
|
7 |
+
if ( ! class_exists ('Premium_Addons_Wpml') ) {
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Class Premium_Addons_Wpml.
|
11 |
+
*/
|
12 |
+
class Premium_Addons_Wpml {
|
13 |
+
|
14 |
+
/*
|
15 |
+
* Instance of the class
|
16 |
+
* @access private
|
17 |
+
* @since 3.1.9
|
18 |
+
*/
|
19 |
+
private static $instance = null;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Constructor
|
23 |
+
*/
|
24 |
+
public function __construct() {
|
25 |
+
|
26 |
+
// WPML String Translation plugin exist check.
|
27 |
+
if ( is_wpml_string_translation_active() ) {
|
28 |
+
|
29 |
+
$this->includes();
|
30 |
+
|
31 |
+
add_filter( 'wpml_elementor_widgets_to_translate', [ $this, 'translatable_widgets' ] );
|
32 |
+
}
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Integrations class for widgets with complex controls.
|
37 |
+
*
|
38 |
+
* @since 3.1.9
|
39 |
+
*/
|
40 |
+
public function includes() {
|
41 |
+
|
42 |
+
include_once( 'widgets/fancy-text.php' );
|
43 |
+
include_once( 'widgets/grid.php' );
|
44 |
+
include_once( 'widgets/maps.php' );
|
45 |
+
include_once( 'widgets/pricing-table.php' );
|
46 |
+
include_once( 'widgets/progress-bar.php' );
|
47 |
+
include_once( 'widgets/vertical-scroll.php' );
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Widgets to translate.
|
53 |
+
*
|
54 |
+
* @since 3.1.9
|
55 |
+
* @param array $widgets Widget array.
|
56 |
+
* @return array
|
57 |
+
*/
|
58 |
+
function translatable_widgets( $widgets ) {
|
59 |
+
|
60 |
+
$widgets['premium-addon-banner'] = [
|
61 |
+
'conditions' => [ 'widgetType' => 'premium-addon-banner' ],
|
62 |
+
'fields' => [
|
63 |
+
[
|
64 |
+
'field' => 'premium_banner_title',
|
65 |
+
'type' => __( 'Banner : Title', 'premium-addons-for-elementor' ),
|
66 |
+
'editor_type' => 'LINE',
|
67 |
+
],
|
68 |
+
[
|
69 |
+
'field' => 'premium_banner_description',
|
70 |
+
'type' => __( 'Banner : Description', 'premium-addons-for-elementor' ),
|
71 |
+
'editor_type' => 'AREA',
|
72 |
+
],
|
73 |
+
[
|
74 |
+
'field' => 'premium_banner_more_text',
|
75 |
+
'type' => __( 'Banner : Button Text', 'premium-addons-for-elementor' ),
|
76 |
+
'editor_type' => 'LINE',
|
77 |
+
],
|
78 |
+
'premium_banner_image_custom_link' => [
|
79 |
+
'field' => 'url',
|
80 |
+
'type' => __( 'Banner : URL', 'premium-addons-for-elementor' ),
|
81 |
+
'editor_type' => 'LINK',
|
82 |
+
],
|
83 |
+
'premium_banner_link' => [
|
84 |
+
'field' => 'url',
|
85 |
+
'type' => __( 'Banner : Button URL', 'premium-addons-for-elementor' ),
|
86 |
+
'editor_type' => 'LINK',
|
87 |
+
],
|
88 |
+
]
|
89 |
+
];
|
90 |
+
|
91 |
+
$widgets['premium-addon-button'] = [
|
92 |
+
'conditions' => [ 'widgetType' => 'premium-addon-button' ],
|
93 |
+
'fields' => [
|
94 |
+
[
|
95 |
+
'field' => 'premium_button_text',
|
96 |
+
'type' => __( 'Button : Text', 'premium-addons-for-elementor' ),
|
97 |
+
'editor_type' => 'LINE',
|
98 |
+
],
|
99 |
+
'premium_button_link' => [
|
100 |
+
'field' => 'url',
|
101 |
+
'type' => __( 'Button : URL', 'premium-addons-for-elementor' ),
|
102 |
+
'editor_type' => 'LINK',
|
103 |
+
],
|
104 |
+
]
|
105 |
+
];
|
106 |
+
|
107 |
+
$widgets['premium-countdown-timer'] = [
|
108 |
+
'conditions' => [ 'widgetType' => 'premium-countdown-timer' ],
|
109 |
+
'fields' => [
|
110 |
+
[
|
111 |
+
'field' => 'premium_countdown_expiry_text_',
|
112 |
+
'type' => __( 'Countdown : Expiration Message', 'premium-addons-for-elementor' ),
|
113 |
+
'editor_type' => 'AREA',
|
114 |
+
],
|
115 |
+
[
|
116 |
+
'field' => 'premium_countdown_day_singular',
|
117 |
+
'type' => __( 'Countdown : Day Singular', 'premium-addons-for-elementor' ),
|
118 |
+
'editor_type' => 'LINE',
|
119 |
+
],
|
120 |
+
[
|
121 |
+
'field' => 'premium_countdown_day_plural',
|
122 |
+
'type' => __( 'Countdown : Day Plural', 'premium-addons-for-elementor' ),
|
123 |
+
'editor_type' => 'LINE',
|
124 |
+
],
|
125 |
+
[
|
126 |
+
'field' => 'premium_countdown_week_singular',
|
127 |
+
'type' => __( 'Countdown : Week Singular', 'premium-addons-for-elementor' ),
|
128 |
+
'editor_type' => 'LINE',
|
129 |
+
],
|
130 |
+
[
|
131 |
+
'field' => 'premium_countdown_week_plural',
|
132 |
+
'type' => __( 'Countdown : Week Plural', 'premium-addons-for-elementor' ),
|
133 |
+
'editor_type' => 'LINE',
|
134 |
+
],
|
135 |
+
[
|
136 |
+
'field' => 'premium_countdown_month_singular',
|
137 |
+
'type' => __( 'Countdown : Month Singular', 'premium-addons-for-elementor' ),
|
138 |
+
'editor_type' => 'LINE',
|
139 |
+
],
|
140 |
+
[
|
141 |
+
'field' => 'premium_countdown_month_plural',
|
142 |
+
'type' => __( 'Countdown : Month Plural', 'premium-addons-for-elementor' ),
|
143 |
+
'editor_type' => 'LINE',
|
144 |
+
],
|
145 |
+
[
|
146 |
+
'field' => 'premium_countdown_year_singular',
|
147 |
+
'type' => __( 'Countdown : Year Singular', 'premium-addons-for-elementor' ),
|
148 |
+
'editor_type' => 'LINE',
|
149 |
+
],
|
150 |
+
[
|
151 |
+
'field' => 'premium_countdown_year_plural',
|
152 |
+
'type' => __( 'Countdown : Year Plural', 'premium-addons-for-elementor' ),
|
153 |
+
'editor_type' => 'LINE',
|
154 |
+
],
|
155 |
+
[
|
156 |
+
'field' => 'premium_countdown_hour_singular',
|
157 |
+
'type' => __( 'Countdown : Hour Singular', 'premium-addons-for-elementor' ),
|
158 |
+
'editor_type' => 'LINE',
|
159 |
+
],
|
160 |
+
[
|
161 |
+
'field' => 'premium_countdown_hour_plural',
|
162 |
+
'type' => __( 'Countdown : Hour Plural', 'premium-addons-for-elementor' ),
|
163 |
+
'editor_type' => 'LINE',
|
164 |
+
],
|
165 |
+
[
|
166 |
+
'field' => 'premium_countdown_minute_singular',
|
167 |
+
'type' => __( 'Countdown : Minute Singular', 'premium-addons-for-elementor' ),
|
168 |
+
'editor_type' => 'LINE',
|
169 |
+
],
|
170 |
+
[
|
171 |
+
'field' => 'premium_countdown_minute_plural',
|
172 |
+
'type' => __( 'Countdown : Minute Plural', 'premium-addons-for-elementor' ),
|
173 |
+
'editor_type' => 'LINE',
|
174 |
+
],
|
175 |
+
[
|
176 |
+
'field' => 'premium_countdown_second_singular',
|
177 |
+
'type' => __( 'Countdown : Second Singular', 'premium-addons-for-elementor' ),
|
178 |
+
'editor_type' => 'LINE',
|
179 |
+
],
|
180 |
+
[
|
181 |
+
'field' => 'premium_countdown_second_plural',
|
182 |
+
'type' => __( 'Countdown : Second Plural', 'premium-addons-for-elementor' ),
|
183 |
+
'editor_type' => 'LINE',
|
184 |
+
],
|
185 |
+
'premium_countdown_expiry_redirection_' => [
|
186 |
+
'field' => 'url',
|
187 |
+
'type' => __( 'Countdown : Direction URL', 'premium-addons-for-elementor' ),
|
188 |
+
'editor_type' => 'LINK',
|
189 |
+
],
|
190 |
+
]
|
191 |
+
];
|
192 |
+
|
193 |
+
$widgets['premium-counter'] = [
|
194 |
+
'conditions' => [ 'widgetType' => 'premium-counter' ],
|
195 |
+
'fields' => [
|
196 |
+
[
|
197 |
+
'field' => 'premium_counter_title',
|
198 |
+
'type' => __( 'Counter: Title Text', 'premium-addons-for-elementor' ),
|
199 |
+
'editor_type' => 'LINE',
|
200 |
+
],
|
201 |
+
[
|
202 |
+
'field' => 'premium_counter_t_separator',
|
203 |
+
'type' => __( 'Counter: Thousands Separator', 'premium-addons-for-elementor' ),
|
204 |
+
'editor_type' => 'LINE',
|
205 |
+
],
|
206 |
+
[
|
207 |
+
'field' => 'premium_counter_preffix',
|
208 |
+
'type' => __( 'Counter: Prefix', 'premium-addons-for-elementor' ),
|
209 |
+
'editor_type' => 'LINE',
|
210 |
+
],
|
211 |
+
[
|
212 |
+
'field' => 'premium_counter_suffix',
|
213 |
+
'type' => __( 'Counter: Suffix', 'premium-addons-for-elementor' ),
|
214 |
+
'editor_type' => 'LINE',
|
215 |
+
],
|
216 |
+
|
217 |
+
'premium_dual_heading_link' => [
|
218 |
+
'field' => 'url',
|
219 |
+
'type' => __( 'Advanced Heading : Heading URL', 'premium-addons-for-elementor' ),
|
220 |
+
'editor_type' => 'LINK',
|
221 |
+
]
|
222 |
+
]
|
223 |
+
];
|
224 |
+
|
225 |
+
$widgets['premium-addon-dual-header'] = [
|
226 |
+
'conditions' => [ 'widgetType' => 'premium-addon-dual-header' ],
|
227 |
+
'fields' => [
|
228 |
+
[
|
229 |
+
'field' => 'premium_dual_header_first_header_text',
|
230 |
+
'type' => __( 'Dual Heading : First Heading', 'premium-addons-for-elementor' ),
|
231 |
+
'editor_type' => 'LINE',
|
232 |
+
],
|
233 |
+
[
|
234 |
+
'field' => 'premium_dual_header_second_header_text',
|
235 |
+
'type' => __( 'Dual Heading : Second Heading', 'premium-addons-for-elementor' ),
|
236 |
+
'editor_type' => 'LINE',
|
237 |
+
],
|
238 |
+
'premium_dual_heading_link' => [
|
239 |
+
'field' => 'url',
|
240 |
+
'type' => __( 'Advanced Heading : Heading URL', 'premium-addons-for-elementor' ),
|
241 |
+
'editor_type' => 'LINK',
|
242 |
+
]
|
243 |
+
]
|
244 |
+
];
|
245 |
+
|
246 |
+
$widgets['premium-addon-fancy-text'] = [
|
247 |
+
'conditions' => [ 'widgetType' => 'premium-addon-fancy-text' ],
|
248 |
+
'fields' => [
|
249 |
+
[
|
250 |
+
'field' => 'premium_fancy_prefix_text',
|
251 |
+
'type' => __( 'Fancy Text : Prefix', 'premium-addons-for-elementor' ),
|
252 |
+
'editor_type' => 'LINE',
|
253 |
+
],
|
254 |
+
[
|
255 |
+
'field' => 'premium_fancy_suffix_text',
|
256 |
+
'type' => __( 'Fancy Text : Suffix', 'premium-addons-for-elementor' ),
|
257 |
+
'editor_type' => 'LINE',
|
258 |
+
],
|
259 |
+
[
|
260 |
+
'field' => 'premium_fancy_text_cursor_text',
|
261 |
+
'type' => __( 'Fancy Text : Cursor Text', 'premium-addons-for-elementor' ),
|
262 |
+
'editor_type' => 'LINE',
|
263 |
+
],
|
264 |
+
],
|
265 |
+
'integration-class' => 'PremiumAddons\Compatibility\WPML\Widgets\FancyText',
|
266 |
+
];
|
267 |
+
|
268 |
+
$widgets['premium-img-gallery'] = [
|
269 |
+
'conditions' => [ 'widgetType' => 'premium-img-gallery' ],
|
270 |
+
'fields' => [
|
271 |
+
[
|
272 |
+
'field' => 'premium_gallery_load_more_text',
|
273 |
+
'type' => __( 'Grid : Load More Button', 'premium-addons-for-elementor' ),
|
274 |
+
'editor_type' => 'LINE',
|
275 |
+
]
|
276 |
+
],
|
277 |
+
'integration-class' => 'PremiumAddons\Compatibility\WPML\Widgets\Grid',
|
278 |
+
];
|
279 |
+
|
280 |
+
$widgets['premium-addon-image-button'] = [
|
281 |
+
'conditions' => [ 'widgetType' => 'premium-addon-image-button' ],
|
282 |
+
'fields' => [
|
283 |
+
[
|
284 |
+
'field' => 'premium_image_button_text',
|
285 |
+
'type' => __( 'Button : Text', 'premium-addons-for-elementor' ),
|
286 |
+
'editor_type' => 'LINE',
|
287 |
+
],
|
288 |
+
'premium_image_button_link' => [
|
289 |
+
'field' => 'url',
|
290 |
+
'type' => __( 'Button : URL', 'premium-addons-for-elementor' ),
|
291 |
+
'editor_type' => 'LINK',
|
292 |
+
],
|
293 |
+
]
|
294 |
+
];
|
295 |
+
|
296 |
+
$widgets['premium-image-scroll'] = [
|
297 |
+
'conditions' => [ 'widgetType' => 'premium-image-scroll' ],
|
298 |
+
'fields' => [
|
299 |
+
[
|
300 |
+
'field' => 'link_text',
|
301 |
+
'type' => __( 'Image Scroll : Link Title', 'premium-addons-for-elementor' ),
|
302 |
+
'editor_type' => 'LINE',
|
303 |
+
],
|
304 |
+
'link' => [
|
305 |
+
'field' => 'url',
|
306 |
+
'type' => __( 'Image Scroll : URL', 'premium-addons-for-elementor' ),
|
307 |
+
'editor_type' => 'LINK',
|
308 |
+
]
|
309 |
+
]
|
310 |
+
];
|
311 |
+
|
312 |
+
$widgets['premium-addon-image-separator'] = [
|
313 |
+
'conditions' => [ 'widgetType' => 'premium-addon-image-separator' ],
|
314 |
+
'fields' => [
|
315 |
+
[
|
316 |
+
'field' => 'premium_image_separator_image_link_text',
|
317 |
+
'type' => __( 'Image Separator : Link Title', 'premium-addons-for-elementor' ),
|
318 |
+
'editor_type' => 'LINE',
|
319 |
+
],
|
320 |
+
'link' => [
|
321 |
+
'field' => 'premium_image_separator_image_link',
|
322 |
+
'type' => __( 'Image Separator : URL', 'premium-addons-for-elementor' ),
|
323 |
+
'editor_type' => 'LINK',
|
324 |
+
]
|
325 |
+
]
|
326 |
+
];
|
327 |
+
|
328 |
+
$widgets['premium-addon-maps'] = [
|
329 |
+
'conditions' => [ 'widgetType' => 'premium-addon-maps' ],
|
330 |
+
'fields' => [
|
331 |
+
[
|
332 |
+
'field' => 'premium_maps_center_lat',
|
333 |
+
'type' => __( 'Maps : Center Latitude', 'premium-addons-for-elementor' ),
|
334 |
+
'editor_type' => 'LINE',
|
335 |
+
],
|
336 |
+
[
|
337 |
+
'field' => 'premium_maps_center_long',
|
338 |
+
'type' => __( 'Maps : Center Longitude', 'premium-addons-for-elementor' ),
|
339 |
+
'editor_type' => 'LINE',
|
340 |
+
]
|
341 |
+
],
|
342 |
+
'integration-class' => 'PremiumAddons\Compatibility\WPML\Widgets\Maps',
|
343 |
+
];
|
344 |
+
|
345 |
+
$widgets['premium-addon-modal-box'] = [
|
346 |
+
'conditions' => [ 'widgetType' => 'premium-addon-modal-box' ],
|
347 |
+
'fields' => [
|
348 |
+
[
|
349 |
+
'field' => 'premium_modal_box_title',
|
350 |
+
'type' => __( 'Modal Box: Header Title', 'premium-addons-for-elementor' ),
|
351 |
+
'editor_type' => 'LINE',
|
352 |
+
],
|
353 |
+
[
|
354 |
+
'field' => 'premium_modal_box_content',
|
355 |
+
'type' => __( 'Modal Box: Content Text', 'premium-addons-for-elementor' ),
|
356 |
+
'editor_type' => 'VISUAL',
|
357 |
+
],
|
358 |
+
[
|
359 |
+
'field' => 'premium_modal_close_text',
|
360 |
+
'type' => __( 'Modal Box: Close Button', 'premium-addons-for-elementor' ),
|
361 |
+
'editor_type' => 'LINE',
|
362 |
+
],
|
363 |
+
[
|
364 |
+
'field' => 'premium_modal_box_button_text',
|
365 |
+
'type' => __( 'Modal Box: Trigger Button', 'premium-addons-for-elementor' ),
|
366 |
+
'editor_type' => 'LINE',
|
367 |
+
],
|
368 |
+
[
|
369 |
+
'field' => 'premium_modal_box_selector_text',
|
370 |
+
'type' => __( 'Modal Box: Trigger Text', 'premium-addons-for-elementor' ),
|
371 |
+
'editor_type' => 'LINE',
|
372 |
+
],
|
373 |
+
],
|
374 |
+
];
|
375 |
+
|
376 |
+
$widgets['premium-addon-person'] = [
|
377 |
+
'conditions' => [ 'widgetType' => 'premium-addon-person' ],
|
378 |
+
'fields' => [
|
379 |
+
[
|
380 |
+
'field' => 'premium_person_name',
|
381 |
+
'type' => __( 'Person : Name', 'premium-addons-for-elementor' ),
|
382 |
+
'editor_type' => 'LINE',
|
383 |
+
],
|
384 |
+
[
|
385 |
+
'field' => 'premium_person_title',
|
386 |
+
'type' => __( 'Person : Title', 'premium-addons-for-elementor' ),
|
387 |
+
'editor_type' => 'LINE',
|
388 |
+
],
|
389 |
+
[
|
390 |
+
'field' => 'premium_person_content',
|
391 |
+
'type' => __( 'Person : Description', 'premium-addons-for-elementor' ),
|
392 |
+
'editor_type' => 'AREA',
|
393 |
+
],
|
394 |
+
],
|
395 |
+
];
|
396 |
+
|
397 |
+
$widgets['premium-addon-pricing-table'] = [
|
398 |
+
'conditions' => [ 'widgetType' => 'premium-addon-pricing-table' ],
|
399 |
+
'fields' => [
|
400 |
+
[
|
401 |
+
'field' => 'premium_pricing_table_title_text',
|
402 |
+
'type' => __( 'Pricing Table : Title', 'premium-addons-for-elementor' ),
|
403 |
+
'editor_type' => 'LINE',
|
404 |
+
],
|
405 |
+
[
|
406 |
+
'field' => 'premium_pricing_table_slashed_price_value',
|
407 |
+
'type' => __( 'Pricing Table : Slashed Price', 'premium-addons-for-elementor' ),
|
408 |
+
'editor_type' => 'LINE',
|
409 |
+
],
|
410 |
+
[
|
411 |
+
'field' => 'premium_pricing_table_price_currency',
|
412 |
+
'type' => __( 'Pricing Table : Currency', 'premium-addons-for-elementor' ),
|
413 |
+
'editor_type' => 'LINE',
|
414 |
+
],
|
415 |
+
[
|
416 |
+
'field' => 'premium_pricing_table_price_value',
|
417 |
+
'type' => __( 'Pricing Table : Price Value', 'premium-addons-for-elementor' ),
|
418 |
+
'editor_type' => 'LINE',
|
419 |
+
],
|
420 |
+
[
|
421 |
+
'field' => 'premium_pricing_table_price_separator',
|
422 |
+
'type' => __( 'Pricing Table : Separator', 'premium-addons-for-elementor' ),
|
423 |
+
'editor_type' => 'LINE',
|
424 |
+
],
|
425 |
+
[
|
426 |
+
'field' => 'premium_pricing_table_price_duration',
|
427 |
+
'type' => __( 'Pricing Table : Duration', 'premium-addons-for-elementor' ),
|
428 |
+
'editor_type' => 'LINE',
|
429 |
+
],
|
430 |
+
[
|
431 |
+
'field' => 'premium_pricing_table_description_text',
|
432 |
+
'type' => __( 'Pricing Table : Description', 'premium-addons-for-elementor' ),
|
433 |
+
'editor_type' => 'AREA',
|
434 |
+
],
|
435 |
+
[
|
436 |
+
'field' => 'premium_pricing_table_button_text',
|
437 |
+
'type' => __( 'Pricing Table : Button Text', 'premium-addons-for-elementor' ),
|
438 |
+
'editor_type' => 'LINE',
|
439 |
+
],
|
440 |
+
[
|
441 |
+
'field' => 'premium_pricing_table_button_link',
|
442 |
+
'type' => __( 'Pricing Table : Button URL', 'premium-addons-for-elementor' ),
|
443 |
+
'editor_type' => 'LINK',
|
444 |
+
],
|
445 |
+
[
|
446 |
+
'field' => 'premium_pricing_table_badge_text',
|
447 |
+
'type' => __( 'Pricing Table : Badge', 'premium-addons-for-elementor' ),
|
448 |
+
'editor_type' => 'LINE',
|
449 |
+
],
|
450 |
+
],
|
451 |
+
'integration-class' => 'PremiumAddons\Compatibility\WPML\Widgets\Pricing_Table',
|
452 |
+
];
|
453 |
+
|
454 |
+
$widgets['premium-addon-progressbar'] = [
|
455 |
+
'conditions' => [ 'widgetType' => 'premium-addon-progressbar' ],
|
456 |
+
'fields' => [
|
457 |
+
[
|
458 |
+
'field' => 'premium_progressbar_left_label',
|
459 |
+
'type' => __( 'Progess Bar : Left Label', 'premium-addons-for-elementor' ),
|
460 |
+
'editor_type' => 'LINE',
|
461 |
+
],
|
462 |
+
],
|
463 |
+
'integration-class' => 'PremiumAddons\Compatibility\WPML\Widgets\Progress_Bar',
|
464 |
+
];
|
465 |
+
|
466 |
+
$widgets['premium-addon-testimonials'] = [
|
467 |
+
'conditions' => [ 'widgetType' => 'premium-addon-testimonials' ],
|
468 |
+
'fields' => [
|
469 |
+
[
|
470 |
+
'field' => 'premium_testimonial_person_name',
|
471 |
+
'type' => __( 'Testimonial : Name', 'premium-addons-for-elementor' ),
|
472 |
+
'editor_type' => 'LINE',
|
473 |
+
],
|
474 |
+
[
|
475 |
+
'field' => 'premium_testimonial_company_name',
|
476 |
+
'type' => __( 'Testimonial : Company', 'premium-addons-for-elementor' ),
|
477 |
+
'editor_type' => 'LINE',
|
478 |
+
],
|
479 |
+
[
|
480 |
+
'field' => 'premium_testimonial_company_link',
|
481 |
+
'type' => __( 'Testimonial : Company Link', 'premium-addons-for-elementor' ),
|
482 |
+
'editor_type' => 'LINK',
|
483 |
+
],
|
484 |
+
[
|
485 |
+
'field' => 'premium_testimonial_content',
|
486 |
+
'type' => __( 'Testimonial : Content', 'premium-addons-for-elementor' ),
|
487 |
+
'editor_type' => 'AREA',
|
488 |
+
],
|
489 |
+
],
|
490 |
+
];
|
491 |
+
|
492 |
+
$widgets['premium-addon-title'] = [
|
493 |
+
'conditions' => [ 'widgetType' => 'premium-addon-title' ],
|
494 |
+
'fields' => [
|
495 |
+
[
|
496 |
+
'field' => 'premium_title_text',
|
497 |
+
'type' => __( 'Title : Text', 'premium-addons-for-elementor' ),
|
498 |
+
'editor_type' => 'LINE',
|
499 |
+
],
|
500 |
+
],
|
501 |
+
];
|
502 |
+
|
503 |
+
$widgets['premium-addon-video-box'] = [
|
504 |
+
'conditions' => [ 'widgetType' => 'premium-addon-video-box' ],
|
505 |
+
'fields' => [
|
506 |
+
[
|
507 |
+
'field' => 'premium_video_box_link',
|
508 |
+
'type' => __( 'Video Box : Link', 'premium-addons-for-elementor' ),
|
509 |
+
'editor_type' => 'LINK',
|
510 |
+
],
|
511 |
+
[
|
512 |
+
'field' => 'premium_video_box_description_text',
|
513 |
+
'type' => __( 'Video Box : Description', 'premium-addons-for-elementor' ),
|
514 |
+
'editor_type' => 'AREA',
|
515 |
+
]
|
516 |
+
]
|
517 |
+
];
|
518 |
+
|
519 |
+
$widgets['premium-vscroll'] = [
|
520 |
+
'conditions' => [ 'widgetType' => 'premium-vscroll' ],
|
521 |
+
'fields' => [
|
522 |
+
[
|
523 |
+
'field' => 'dots_tooltips',
|
524 |
+
'type' => __( 'Vertical Scroll : Tooltips', 'premium-addons-for-elementor' ),
|
525 |
+
'editor_type' => 'LINE',
|
526 |
+
]
|
527 |
+
],
|
528 |
+
'integration-class' => 'PremiumAddons\Compatibility\WPML\Widgets\Vertical_Scroll',
|
529 |
+
];
|
530 |
+
|
531 |
+
return $widgets;
|
532 |
+
}
|
533 |
+
|
534 |
+
/**
|
535 |
+
* Creates and returns an instance of the class
|
536 |
+
* @since 0.0.1
|
537 |
+
* @access public
|
538 |
+
* return object
|
539 |
+
*/
|
540 |
+
public static function get_instance() {
|
541 |
+
if( self::$instance == null ) {
|
542 |
+
self::$instance = new self;
|
543 |
+
}
|
544 |
+
return self::$instance;
|
545 |
+
}
|
546 |
+
|
547 |
+
}
|
548 |
+
|
549 |
+
}
|
550 |
+
|
551 |
+
if( ! function_exists('premium_addons_wpml') ) {
|
552 |
+
|
553 |
+
/**
|
554 |
+
* Triggers `get_instance` method
|
555 |
+
* @since 0.0.1
|
556 |
+
* @access public
|
557 |
+
* return object
|
558 |
+
*/
|
559 |
+
function premium_addons_wpml() {
|
560 |
+
|
561 |
+
Premium_Addons_Wpml::get_instance();
|
562 |
+
|
563 |
+
}
|
564 |
+
|
565 |
+
}
|
566 |
+
premium_addons_wpml();
|
includes/compatibility/widgets/fancy-text.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace PremiumAddons\Compatibility\WPML\Widgets;
|
4 |
+
|
5 |
+
use WPML_Elementor_Module_With_Items;
|
6 |
+
|
7 |
+
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Fancy Text
|
11 |
+
*
|
12 |
+
* Registers translatable widget with items.
|
13 |
+
*
|
14 |
+
* @since 3.1.9
|
15 |
+
*/
|
16 |
+
class FancyText extends WPML_Elementor_Module_With_Items {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Retrieve the field name.
|
20 |
+
*
|
21 |
+
* @since 3.1.9
|
22 |
+
* @return string
|
23 |
+
*/
|
24 |
+
public function get_items_field() {
|
25 |
+
return 'premium_fancy_text_strings';
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Retrieve the fields inside the repeater.
|
30 |
+
*
|
31 |
+
* @since 3.1.9
|
32 |
+
*
|
33 |
+
* @return array
|
34 |
+
*/
|
35 |
+
public function get_fields() {
|
36 |
+
return array(
|
37 |
+
'premium_text_strings_text_field',
|
38 |
+
);
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Get the title for each repeater string
|
43 |
+
*
|
44 |
+
* @since 3.1.9
|
45 |
+
*
|
46 |
+
* @return string
|
47 |
+
*/
|
48 |
+
protected function get_title( $field ) {
|
49 |
+
|
50 |
+
return __( 'Fancy Text : String', 'premium-addons-for-elementor' );
|
51 |
+
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Get `editor_type` for each repeater string
|
56 |
+
*
|
57 |
+
* @since 3.1.9
|
58 |
+
*
|
59 |
+
* @return string
|
60 |
+
*/
|
61 |
+
protected function get_editor_type( $field ) {
|
62 |
+
|
63 |
+
return 'LINE';
|
64 |
+
}
|
65 |
+
|
66 |
+
}
|
includes/compatibility/widgets/grid.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace PremiumAddons\Compatibility\WPML\Widgets;
|
4 |
+
|
5 |
+
use WPML_Elementor_Module_With_Items;
|
6 |
+
|
7 |
+
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Fancy Text
|
11 |
+
*
|
12 |
+
* Registers translatable widget with items.
|
13 |
+
*
|
14 |
+
* @since 3.1.9
|
15 |
+
*/
|
16 |
+
class Grid extends WPML_Elementor_Module_With_Items {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Retrieve the field name.
|
20 |
+
*
|
21 |
+
* @since 3.1.9
|
22 |
+
* @return string
|
23 |
+
*/
|
24 |
+
public function get_items_field() {
|
25 |
+
return 'premium_gallery_img_content';
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Retrieve the fields inside the repeater.
|
30 |
+
*
|
31 |
+
* @since 3.1.9
|
32 |
+
*
|
33 |
+
* @return array
|
34 |
+
*/
|
35 |
+
public function get_fields() {
|
36 |
+
return array(
|
37 |
+
'premium_gallery_img_name',
|
38 |
+
'premium_gallery_img_desc'
|
39 |
+
);
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Get the title for each repeater string
|
44 |
+
*
|
45 |
+
* @since 3.1.9
|
46 |
+
*
|
47 |
+
* @return string
|
48 |
+
*/
|
49 |
+
protected function get_title( $field ) {
|
50 |
+
|
51 |
+
if ( 'premium_gallery_img_name' === $field ) {
|
52 |
+
return __( 'Grid: Image Name', 'premium-addons-for-elementor' );
|
53 |
+
}
|
54 |
+
if ( 'premium_gallery_img_desc' === $field ) {
|
55 |
+
return __( 'Grid: Image Description', 'premium-addons-for-elementor' );
|
56 |
+
}
|
57 |
+
|
58 |
+
return '';
|
59 |
+
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Get `editor_type` for each repeater string
|
64 |
+
*
|
65 |
+
* @since 3.1.9
|
66 |
+
*
|
67 |
+
* @return string
|
68 |
+
*/
|
69 |
+
protected function get_editor_type( $field ) {
|
70 |
+
|
71 |
+
if ( 'premium_gallery_img_name' === $field ) {
|
72 |
+
return 'LINE';
|
73 |
+
}
|
74 |
+
if ( 'premium_gallery_img_desc' === $field ) {
|
75 |
+
return 'AREA';
|
76 |
+
}
|
77 |
+
|
78 |
+
return '';
|
79 |
+
}
|
80 |
+
|
81 |
+
}
|
includes/compatibility/widgets/maps.php
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace PremiumAddons\Compatibility\WPML\Widgets;
|
4 |
+
|
5 |
+
use WPML_Elementor_Module_With_Items;
|
6 |
+
|
7 |
+
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Fancy Text
|
11 |
+
*
|
12 |
+
* Registers translatable widget with items.
|
13 |
+
*
|
14 |
+
* @since 3.1.9
|
15 |
+
*/
|
16 |
+
class Maps extends WPML_Elementor_Module_With_Items {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Retrieve the field name.
|
20 |
+
*
|
21 |
+
* @since 3.1.9
|
22 |
+
* @return string
|
23 |
+
*/
|
24 |
+
public function get_items_field() {
|
25 |
+
return 'premium_maps_map_pins';
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Retrieve the fields inside the repeater.
|
30 |
+
*
|
31 |
+
* @since 3.1.9
|
32 |
+
*
|
33 |
+
* @return array
|
34 |
+
*/
|
35 |
+
public function get_fields() {
|
36 |
+
return array(
|
37 |
+
'map_latitude',
|
38 |
+
'map_longitude',
|
39 |
+
'pin_title',
|
40 |
+
'pin_desc'
|
41 |
+
);
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Get the title for each repeater string
|
46 |
+
*
|
47 |
+
* @since 3.1.9
|
48 |
+
*
|
49 |
+
* @return string
|
50 |
+
*/
|
51 |
+
protected function get_title( $field ) {
|
52 |
+
|
53 |
+
if ( 'map_latitude' === $field ) {
|
54 |
+
return __( 'Maps : Marker Latitude', 'premium-addons-for-elementor' );
|
55 |
+
}
|
56 |
+
if ( 'map_longitude' === $field ) {
|
57 |
+
return __( 'Maps : Marker Longitude', 'premium-addons-for-elementor' );
|
58 |
+
}
|
59 |
+
if ( 'pin_title' === $field ) {
|
60 |
+
return __( 'Maps : Marker Title', 'premium-addons-for-elementor' );
|
61 |
+
}
|
62 |
+
if ( 'pin_desc' === $field ) {
|
63 |
+
return __( 'Maps : Marker Description', 'premium-addons-for-elementor' );
|
64 |
+
}
|
65 |
+
|
66 |
+
return '';
|
67 |
+
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Get `editor_type` for each repeater string
|
72 |
+
*
|
73 |
+
* @since 3.1.9
|
74 |
+
*
|
75 |
+
* @return string
|
76 |
+
*/
|
77 |
+
protected function get_editor_type( $field ) {
|
78 |
+
|
79 |
+
if ( 'map_latitude' === $field || 'map_longitude' === $field || 'pin_title' === $field ) {
|
80 |
+
return 'LINE';
|
81 |
+
}
|
82 |
+
if ( 'pin_desc' === $field ) {
|
83 |
+
return 'AREA';
|
84 |
+
}
|
85 |
+
|
86 |
+
return '';
|
87 |
+
}
|
88 |
+
|
89 |
+
}
|
includes/compatibility/widgets/pricing-table.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace PremiumAddons\Compatibility\WPML\Widgets;
|
4 |
+
|
5 |
+
use WPML_Elementor_Module_With_Items;
|
6 |
+
|
7 |
+
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Fancy Text
|
11 |
+
*
|
12 |
+
* Registers translatable widget with items.
|
13 |
+
*
|
14 |
+
* @since 3.1.9
|
15 |
+
*/
|
16 |
+
class Pricing_Table extends WPML_Elementor_Module_With_Items {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Retrieve the field name.
|
20 |
+
*
|
21 |
+
* @since 3.1.9
|
22 |
+
* @return string
|
23 |
+
*/
|
24 |
+
public function get_items_field() {
|
25 |
+
return 'premium_fancy_text_list_items';
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Retrieve the fields inside the repeater.
|
30 |
+
*
|
31 |
+
* @since 3.1.9
|
32 |
+
*
|
33 |
+
* @return array
|
34 |
+
*/
|
35 |
+
public function get_fields() {
|
36 |
+
return array(
|
37 |
+
'premium_pricing_list_item_text'
|
38 |
+
);
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Get the title for each repeater string
|
43 |
+
*
|
44 |
+
* @since 3.1.9
|
45 |
+
*
|
46 |
+
* @return string
|
47 |
+
*/
|
48 |
+
protected function get_title( $field ) {
|
49 |
+
|
50 |
+
return __( 'Pricing Table: Item Text', 'premium-addons-for-elementor' );
|
51 |
+
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Get `editor_type` for each repeater string
|
56 |
+
*
|
57 |
+
* @since 3.1.9
|
58 |
+
*
|
59 |
+
* @return string
|
60 |
+
*/
|
61 |
+
protected function get_editor_type( $field ) {
|
62 |
+
|
63 |
+
return 'LINE';
|
64 |
+
|
65 |
+
}
|
66 |
+
|
67 |
+
}
|
includes/compatibility/widgets/progress-bar.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace PremiumAddons\Compatibility\WPML\Widgets;
|
4 |
+
|
5 |
+
use WPML_Elementor_Module_With_Items;
|
6 |
+
|
7 |
+
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Fancy Text
|
11 |
+
*
|
12 |
+
* Registers translatable widget with items.
|
13 |
+
*
|
14 |
+
* @since 3.1.9
|
15 |
+
*/
|
16 |
+
class Progress_Bar extends WPML_Elementor_Module_With_Items {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Retrieve the field name.
|
20 |
+
*
|
21 |
+
* @since 3.1.9
|
22 |
+
* @return string
|
23 |
+
*/
|
24 |
+
public function get_items_field() {
|
25 |
+
return 'premium_progressbar_multiple_label';
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Retrieve the fields inside the repeater.
|
30 |
+
*
|
31 |
+
* @since 3.1.9
|
32 |
+
*
|
33 |
+
* @return array
|
34 |
+
*/
|
35 |
+
public function get_fields() {
|
36 |
+
return array(
|
37 |
+
'text',
|
38 |
+
);
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Get the title for each repeater string
|
43 |
+
*
|
44 |
+
* @since 3.1.9
|
45 |
+
*
|
46 |
+
* @return string
|
47 |
+
*/
|
48 |
+
protected function get_title( $field ) {
|
49 |
+
|
50 |
+
return __( 'Progress Bar: Label Text', 'premium-addons-for-elementor' );
|
51 |
+
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Get `editor_type` for each repeater string
|
56 |
+
*
|
57 |
+
* @since 3.1.9
|
58 |
+
*
|
59 |
+
* @return string
|
60 |
+
*/
|
61 |
+
protected function get_editor_type( $field ) {
|
62 |
+
|
63 |
+
return 'LINE';
|
64 |
+
|
65 |
+
}
|
66 |
+
|
67 |
+
}
|
includes/compatibility/widgets/vertical-scroll.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace PremiumAddons\Compatibility\WPML\Widgets;
|
4 |
+
|
5 |
+
use WPML_Elementor_Module_With_Items;
|
6 |
+
|
7 |
+
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Fancy Text
|
11 |
+
*
|
12 |
+
* Registers translatable widget with items.
|
13 |
+
*
|
14 |
+
* @since 3.1.9
|
15 |
+
*/
|
16 |
+
class Vertical_Scroll extends WPML_Elementor_Module_With_Items {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Retrieve the field name.
|
20 |
+
*
|
21 |
+
* @since 3.1.9
|
22 |
+
* @return string
|
23 |
+
*/
|
24 |
+
public function get_items_field() {
|
25 |
+
return 'id_repeater';
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Retrieve the fields inside the repeater.
|
30 |
+
*
|
31 |
+
* @since 3.1.9
|
32 |
+
*
|
33 |
+
* @return array
|
34 |
+
*/
|
35 |
+
public function get_fields() {
|
36 |
+
return array(
|
37 |
+
'id_repeater' => 'section_id'
|
38 |
+
);
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Get the title for each repeater string
|
43 |
+
*
|
44 |
+
* @since 3.1.9
|
45 |
+
*
|
46 |
+
* @return string
|
47 |
+
*/
|
48 |
+
protected function get_title( $field ) {
|
49 |
+
|
50 |
+
return __( 'Vertical Scroll: Section ID', 'premium-addons-for-elementor' );
|
51 |
+
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Get `editor_type` for each repeater string
|
56 |
+
*
|
57 |
+
* @since 3.1.9
|
58 |
+
*
|
59 |
+
* @return string
|
60 |
+
*/
|
61 |
+
protected function get_editor_type( $field ) {
|
62 |
+
|
63 |
+
return 'LINE';
|
64 |
+
}
|
65 |
+
|
66 |
+
}
|
includes/elementor-helper.php
CHANGED
@@ -68,7 +68,7 @@ class premium_Template_Tags {
|
|
68 |
return $this->options;
|
69 |
}
|
70 |
|
71 |
-
public function get_elementor_page_list(){
|
72 |
$pagelist = get_posts(array(
|
73 |
'post_type' => 'elementor_library',
|
74 |
'showposts' => 999,
|
68 |
return $this->options;
|
69 |
}
|
70 |
|
71 |
+
public function get_elementor_page_list() {
|
72 |
$pagelist = get_posts(array(
|
73 |
'post_type' => 'elementor_library',
|
74 |
'showposts' => 999,
|
includes/helper-functions.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
namespace PremiumAddons;
|
4 |
|
5 |
-
if(!defined('ABSPATH')) exit;
|
6 |
|
7 |
class Helper_Functions {
|
8 |
|
2 |
|
3 |
namespace PremiumAddons;
|
4 |
|
5 |
+
if( ! defined('ABSPATH') ) exit;
|
6 |
|
7 |
class Helper_Functions {
|
8 |
|
premium-addons-for-elementor.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 22+ premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
-
Version: 3.1.
|
7 |
Author: Leap13
|
8 |
Author URI: http://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
@@ -14,12 +14,12 @@ License: GNU General Public License v3.0
|
|
14 |
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
15 |
|
16 |
// Define Constants
|
17 |
-
define('PREMIUM_ADDONS_VERSION', '3.1.
|
18 |
define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
|
19 |
define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
|
20 |
define('PREMIUM_ADDONS_FILE', __FILE__);
|
21 |
define('PREMIUM_ADDONS_BASENAME', plugin_basename(PREMIUM_ADDONS_FILE));
|
22 |
-
define('PREMIUM_ADDONS_STABLE_VERSION', '3.1.
|
23 |
|
24 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
25 |
/*
|
@@ -39,7 +39,7 @@ if( ! class_exists('Premium_Addons_Elementor') ) {
|
|
39 |
|
40 |
add_action('plugins_loaded', array( $this, 'premium_addons_elementor_setup') );
|
41 |
|
42 |
-
add_action('elementor/init', array( $this, '
|
43 |
|
44 |
add_action( 'init', array( $this, 'init_addons' ), -999 );
|
45 |
|
@@ -115,13 +115,18 @@ if( ! class_exists('Premium_Addons_Elementor') ) {
|
|
115 |
}
|
116 |
|
117 |
/**
|
118 |
-
*
|
119 |
* @since 2.6.8
|
120 |
* @access public
|
121 |
* @return void
|
122 |
*/
|
123 |
-
public function
|
|
|
|
|
|
|
124 |
require_once ( PREMIUM_ADDONS_PATH . 'includes/class-addons-category.php' );
|
|
|
|
|
125 |
}
|
126 |
|
127 |
/**
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 22+ premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
+
Version: 3.1.9
|
7 |
Author: Leap13
|
8 |
Author URI: http://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
14 |
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
15 |
|
16 |
// Define Constants
|
17 |
+
define('PREMIUM_ADDONS_VERSION', '3.1.9');
|
18 |
define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
|
19 |
define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
|
20 |
define('PREMIUM_ADDONS_FILE', __FILE__);
|
21 |
define('PREMIUM_ADDONS_BASENAME', plugin_basename(PREMIUM_ADDONS_FILE));
|
22 |
+
define('PREMIUM_ADDONS_STABLE_VERSION', '3.1.8');
|
23 |
|
24 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
25 |
/*
|
39 |
|
40 |
add_action('plugins_loaded', array( $this, 'premium_addons_elementor_setup') );
|
41 |
|
42 |
+
add_action('elementor/init', array( $this, 'elementor_init') );
|
43 |
|
44 |
add_action( 'init', array( $this, 'init_addons' ), -999 );
|
45 |
|
115 |
}
|
116 |
|
117 |
/**
|
118 |
+
* Elementor Init
|
119 |
* @since 2.6.8
|
120 |
* @access public
|
121 |
* @return void
|
122 |
*/
|
123 |
+
public function elementor_init() {
|
124 |
+
|
125 |
+
require_once ( PREMIUM_ADDONS_PATH . 'includes/compatibility/class-premium-addons-wpml.php' );
|
126 |
+
|
127 |
require_once ( PREMIUM_ADDONS_PATH . 'includes/class-addons-category.php' );
|
128 |
+
|
129 |
+
|
130 |
}
|
131 |
|
132 |
/**
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Donate link: http://premiumaddons.com
|
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.1.1
|
7 |
Requires PHP: 5.4
|
8 |
-
Stable tag: 3.1.
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
@@ -139,6 +139,12 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
|
|
139 |
|
140 |
== Changelog ==
|
141 |
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
= 3.1.8 =
|
143 |
|
144 |
- Tweak: Added `Tablet/Mobile Breakpoint` options in Carousel widget.
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.1.1
|
7 |
Requires PHP: 5.4
|
8 |
+
Stable tag: 3.1.9
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
139 |
|
140 |
== Changelog ==
|
141 |
|
142 |
+
= 3.1.9 =
|
143 |
+
|
144 |
+
- Tweak: `WPML Compatibility` for all widgets.
|
145 |
+
- Tweak: Added `Dynamic Content` support for all `URL` fields.
|
146 |
+
- Fixed: Title and description container rendered even title and description are empty.
|
147 |
+
|
148 |
= 3.1.8 =
|
149 |
|
150 |
- Tweak: Added `Tablet/Mobile Breakpoint` options in Carousel widget.
|
widgets/premium-banner.php
CHANGED
@@ -78,6 +78,7 @@ class Premium_Banner extends Widget_Base {
|
|
78 |
[
|
79 |
'label' => __( 'Set custom Link', 'premium-addons-for-elementor' ),
|
80 |
'type' => Controls_Manager::URL,
|
|
|
81 |
'description' => __( 'What custom link you want to set to banner?', 'premium-addons-for-elementor' ),
|
82 |
'condition' => [
|
83 |
'premium_banner_image_link_switcher' => 'yes',
|
@@ -324,6 +325,7 @@ class Premium_Banner extends Widget_Base {
|
|
324 |
[
|
325 |
'label' => __('Link', 'premium-addons-for-elementor'),
|
326 |
'type' => Controls_Manager::URL,
|
|
|
327 |
'default' => [
|
328 |
'url' => '#',
|
329 |
],
|
78 |
[
|
79 |
'label' => __( 'Set custom Link', 'premium-addons-for-elementor' ),
|
80 |
'type' => Controls_Manager::URL,
|
81 |
+
'dynamic' => [ 'active' => true ],
|
82 |
'description' => __( 'What custom link you want to set to banner?', 'premium-addons-for-elementor' ),
|
83 |
'condition' => [
|
84 |
'premium_banner_image_link_switcher' => 'yes',
|
325 |
[
|
326 |
'label' => __('Link', 'premium-addons-for-elementor'),
|
327 |
'type' => Controls_Manager::URL,
|
328 |
+
'dynamic' => [ 'active' => true ],
|
329 |
'default' => [
|
330 |
'url' => '#',
|
331 |
],
|
widgets/premium-button.php
CHANGED
@@ -67,9 +67,10 @@ class Premium_Button extends Widget_Base {
|
|
67 |
[
|
68 |
'label' => __('Link', 'premium-addons-for-elementor'),
|
69 |
'type' => Controls_Manager::URL,
|
|
|
70 |
'default' => [
|
71 |
'url' => '#',
|
72 |
-
|
73 |
'placeholder' => 'https://premiumaddons.com/',
|
74 |
'label_block' => true,
|
75 |
'separator' => 'after',
|
67 |
[
|
68 |
'label' => __('Link', 'premium-addons-for-elementor'),
|
69 |
'type' => Controls_Manager::URL,
|
70 |
+
'dynamic' => [ 'active' => true ],
|
71 |
'default' => [
|
72 |
'url' => '#',
|
73 |
+
],
|
74 |
'placeholder' => 'https://premiumaddons.com/',
|
75 |
'label_block' => true,
|
76 |
'separator' => 'after',
|
widgets/premium-counter.php
CHANGED
@@ -73,16 +73,6 @@ class Premium_Counter extends Widget_Base {
|
|
73 |
]
|
74 |
);
|
75 |
|
76 |
-
// $this->add_control('premium_counter_d_separator',
|
77 |
-
// [
|
78 |
-
// 'label' => __( 'Decimal Point', 'premium-addons-for-elementor' ),
|
79 |
-
// 'type' => Controls_Manager::TEXT,
|
80 |
-
// 'dynamic' => [ 'active' => true ],
|
81 |
-
// 'description' => __( 'Set a decimal number (Eg - 12.76). The decimal point '.' will be replaced with the value that you will enter above', 'premium-addons-for-elementor' ),
|
82 |
-
// 'default' => '.'
|
83 |
-
// ]
|
84 |
-
// );
|
85 |
-
//
|
86 |
$this->add_control('premium_counter_d_after',
|
87 |
[
|
88 |
'label' => __( 'Digits After Decimal Point', 'premium-addons-for-elementor' ),
|
73 |
]
|
74 |
);
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
$this->add_control('premium_counter_d_after',
|
77 |
[
|
78 |
'label' => __( 'Digits After Decimal Point', 'premium-addons-for-elementor' ),
|
widgets/premium-dual-header.php
CHANGED
@@ -126,6 +126,7 @@ class Premium_Dual_Header extends Widget_Base {
|
|
126 |
[
|
127 |
'label' => __('Link', 'premium-addons-for-elementor'),
|
128 |
'type' => Controls_Manager::URL,
|
|
|
129 |
'default' => [
|
130 |
'url' => '#',
|
131 |
],
|
126 |
[
|
127 |
'label' => __('Link', 'premium-addons-for-elementor'),
|
128 |
'type' => Controls_Manager::URL,
|
129 |
+
'dynamic' => [ 'active' => true ],
|
130 |
'default' => [
|
131 |
'url' => '#',
|
132 |
],
|
widgets/premium-grid.php
CHANGED
@@ -293,7 +293,7 @@ class Premium_Grid extends Widget_Base {
|
|
293 |
|
294 |
$img_repeater->add_control('premium_gallery_img_name',
|
295 |
[
|
296 |
-
'label' => __( '
|
297 |
'type' => Controls_Manager::TEXT,
|
298 |
'dynamic' => [ 'active' => true ],
|
299 |
'label_block' => true,
|
@@ -330,6 +330,7 @@ class Premium_Grid extends Widget_Base {
|
|
330 |
[
|
331 |
'label' => __('Link', 'premium-addons-for-elementor'),
|
332 |
'type' => Controls_Manager::URL,
|
|
|
333 |
'placeholder' => 'https://premiumaddons.com/',
|
334 |
'label_block' => true,
|
335 |
'condition' => [
|
@@ -1567,14 +1568,16 @@ class Premium_Grid extends Widget_Base {
|
|
1567 |
<?php endif; ?>
|
1568 |
</div>
|
1569 |
</div>
|
1570 |
-
|
1571 |
-
|
1572 |
-
|
1573 |
-
|
1574 |
-
|
1575 |
-
|
1576 |
-
|
1577 |
-
|
|
|
|
|
1578 |
<?php else: ?>
|
1579 |
<div class="pa-gallery-icons-caption-container">
|
1580 |
<div class="pa-gallery-icons-caption-cell">
|
@@ -1590,15 +1593,17 @@ class Premium_Grid extends Widget_Base {
|
|
1590 |
$icon_link = get_permalink($image['premium_gallery_img_existing']);
|
1591 |
?>
|
1592 |
<a href="<?php echo esc_attr( $icon_link ); ?>" class="pa-gallery-img-link"><span><i class="fa fa-link"></i></span></a>
|
1593 |
-
<?php endif; ?>
|
1594 |
-
<div class="premium-gallery-caption">
|
1595 |
-
<?php if(!empty($image['premium_gallery_img_name'])):?>
|
1596 |
-
<span class="premium-gallery-img-name"><?php echo $image['premium_gallery_img_name']; ?></span>
|
1597 |
-
<?php endif; ?>
|
1598 |
-
<?php if(!empty($image['premium_gallery_img_desc'])):?>
|
1599 |
-
<p class="premium-gallery-img-desc"><?php echo $image['premium_gallery_img_desc']; ?></p>
|
1600 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1601 |
</div>
|
|
|
1602 |
</div>
|
1603 |
</div>
|
1604 |
<?php endif; ?>
|
293 |
|
294 |
$img_repeater->add_control('premium_gallery_img_name',
|
295 |
[
|
296 |
+
'label' => __( 'Title', 'premium-addons-for-elementor' ),
|
297 |
'type' => Controls_Manager::TEXT,
|
298 |
'dynamic' => [ 'active' => true ],
|
299 |
'label_block' => true,
|
330 |
[
|
331 |
'label' => __('Link', 'premium-addons-for-elementor'),
|
332 |
'type' => Controls_Manager::URL,
|
333 |
+
'dynamic' => [ 'active' => true ],
|
334 |
'placeholder' => 'https://premiumaddons.com/',
|
335 |
'label_block' => true,
|
336 |
'condition' => [
|
1568 |
<?php endif; ?>
|
1569 |
</div>
|
1570 |
</div>
|
1571 |
+
<?php if( ! empty( $image['premium_gallery_img_name'] ) || ! empty( $image['premium_gallery_img_desc'] ) ) : ?>
|
1572 |
+
<div class="premium-gallery-caption">
|
1573 |
+
<?php if( ! empty( $image['premium_gallery_img_name'] ) ) : ?>
|
1574 |
+
<span class="premium-gallery-img-name"><?php echo $image['premium_gallery_img_name']; ?></span>
|
1575 |
+
<?php endif; ?>
|
1576 |
+
<?php if( ! empty( $image['premium_gallery_img_desc'] ) ) : ?>
|
1577 |
+
<p class="premium-gallery-img-desc"><?php echo $image['premium_gallery_img_desc']; ?></p>
|
1578 |
+
<?php endif; ?>
|
1579 |
+
</div>
|
1580 |
+
<?php endif; ?>
|
1581 |
<?php else: ?>
|
1582 |
<div class="pa-gallery-icons-caption-container">
|
1583 |
<div class="pa-gallery-icons-caption-cell">
|
1593 |
$icon_link = get_permalink($image['premium_gallery_img_existing']);
|
1594 |
?>
|
1595 |
<a href="<?php echo esc_attr( $icon_link ); ?>" class="pa-gallery-img-link"><span><i class="fa fa-link"></i></span></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1596 |
<?php endif; ?>
|
1597 |
+
<?php if( ! empty( $image['premium_gallery_img_name'] ) || ! empty( $image['premium_gallery_img_desc'] ) ) : ?>
|
1598 |
+
<div class="premium-gallery-caption">
|
1599 |
+
<?php if( ! empty( $image['premium_gallery_img_name'] ) ) : ?>
|
1600 |
+
<span class="premium-gallery-img-name"><?php echo $image['premium_gallery_img_name']; ?></span>
|
1601 |
+
<?php endif; ?>
|
1602 |
+
<?php if( ! empty( $image['premium_gallery_img_desc'] ) ) : ?>
|
1603 |
+
<p class="premium-gallery-img-desc"><?php echo $image['premium_gallery_img_desc']; ?></p>
|
1604 |
+
<?php endif; ?>
|
1605 |
</div>
|
1606 |
+
<?php endif; ?>
|
1607 |
</div>
|
1608 |
</div>
|
1609 |
<?php endif; ?>
|
widgets/premium-image-button.php
CHANGED
@@ -63,9 +63,10 @@ class Premium_Image_Button extends Widget_Base {
|
|
63 |
[
|
64 |
'label' => __('Link', 'premium-addons-for-elementor'),
|
65 |
'type' => Controls_Manager::URL,
|
|
|
66 |
'default' => [
|
67 |
-
|
68 |
-
|
69 |
'placeholder' => 'https://premiumaddons.com/',
|
70 |
'label_block' => true,
|
71 |
'separator' => 'after',
|
63 |
[
|
64 |
'label' => __('Link', 'premium-addons-for-elementor'),
|
65 |
'type' => Controls_Manager::URL,
|
66 |
+
'dynamic' => [ 'active' => true ],
|
67 |
'default' => [
|
68 |
+
'url' => '#',
|
69 |
+
],
|
70 |
'placeholder' => 'https://premiumaddons.com/',
|
71 |
'label_block' => true,
|
72 |
'separator' => 'after',
|
widgets/premium-image-scroll.php
CHANGED
@@ -117,6 +117,7 @@ class Premium_Image_Scroll extends Widget_Base {
|
|
117 |
[
|
118 |
'label' => __('URL', 'premium-addons-for-elementor'),
|
119 |
'type' => Controls_Manager::URL,
|
|
|
120 |
'placeholder' => 'https://premiumaddons.com/',
|
121 |
'label_block' => true,
|
122 |
'condition' => [
|
117 |
[
|
118 |
'label' => __('URL', 'premium-addons-for-elementor'),
|
119 |
'type' => Controls_Manager::URL,
|
120 |
+
'dynamic' => [ 'active' => true ],
|
121 |
'placeholder' => 'https://premiumaddons.com/',
|
122 |
'label_block' => true,
|
123 |
'condition' => [
|
widgets/premium-image-separator.php
CHANGED
@@ -80,7 +80,6 @@ class Premium_Image_Separator extends Widget_Base {
|
|
80 |
'type' => Controls_Manager::NUMBER,
|
81 |
'default' => -50,
|
82 |
'description' => __('-50% is default. Increase to push the image outside or decrease to pull the image inside.','premium-addons-for-elementor'),
|
83 |
-
'label_block' => true,
|
84 |
'selectors' => [
|
85 |
'{{WRAPPER}} .premium-image-separator-container' => 'transform: translateY( {{VALUE}}% );'
|
86 |
|
@@ -153,7 +152,6 @@ class Premium_Image_Separator extends Widget_Base {
|
|
153 |
]
|
154 |
);
|
155 |
|
156 |
-
/*Link Below Image*/
|
157 |
$this->add_control('premium_image_separator_image_link',
|
158 |
[
|
159 |
'label' => __('URL', 'premium-addons-for-elementor'),
|
@@ -166,8 +164,6 @@ class Premium_Image_Separator extends Widget_Base {
|
|
166 |
]
|
167 |
);
|
168 |
|
169 |
-
|
170 |
-
/*Link Below Image*/
|
171 |
$this->add_control('premium_image_separator_image_link_text',
|
172 |
[
|
173 |
'label' => __('Image Hovering Title', 'premium-addons-for-elementor'),
|
80 |
'type' => Controls_Manager::NUMBER,
|
81 |
'default' => -50,
|
82 |
'description' => __('-50% is default. Increase to push the image outside or decrease to pull the image inside.','premium-addons-for-elementor'),
|
|
|
83 |
'selectors' => [
|
84 |
'{{WRAPPER}} .premium-image-separator-container' => 'transform: translateY( {{VALUE}}% );'
|
85 |
|
152 |
]
|
153 |
);
|
154 |
|
|
|
155 |
$this->add_control('premium_image_separator_image_link',
|
156 |
[
|
157 |
'label' => __('URL', 'premium-addons-for-elementor'),
|
164 |
]
|
165 |
);
|
166 |
|
|
|
|
|
167 |
$this->add_control('premium_image_separator_image_link_text',
|
168 |
[
|
169 |
'label' => __('Image Hovering Title', 'premium-addons-for-elementor'),
|
widgets/premium-maps.php
CHANGED
@@ -1,9 +1,11 @@
|
|
1 |
<?php
|
|
|
2 |
namespace Elementor;
|
3 |
|
4 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
5 |
|
6 |
class Premium_Maps extends Widget_Base {
|
|
|
7 |
public function get_name() {
|
8 |
return 'premium-addon-maps';
|
9 |
}
|
1 |
<?php
|
2 |
+
|
3 |
namespace Elementor;
|
4 |
|
5 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
6 |
|
7 |
class Premium_Maps extends Widget_Base {
|
8 |
+
|
9 |
public function get_name() {
|
10 |
return 'premium-addon-maps';
|
11 |
}
|
widgets/premium-modalbox.php
CHANGED
@@ -314,7 +314,7 @@ class Premium_Modalbox extends Widget_Base {
|
|
314 |
]
|
315 |
);
|
316 |
|
317 |
-
if( ! $this->check_rtl() ){
|
318 |
$this->add_control('premium_modal_box_icon_before_spacing',
|
319 |
[
|
320 |
'label' => __('Icon Spacing', 'premium-addons-for-elementor'),
|
@@ -335,7 +335,7 @@ class Premium_Modalbox extends Widget_Base {
|
|
335 |
);
|
336 |
}
|
337 |
|
338 |
-
if( ! $this->check_rtl() ){
|
339 |
$this->add_control('premium_modal_box_icon_after_spacing',
|
340 |
[
|
341 |
'label' => __('Icon Spacing', 'premium-addons-for-elementor'),
|
314 |
]
|
315 |
);
|
316 |
|
317 |
+
if( ! $this->check_rtl() ) {
|
318 |
$this->add_control('premium_modal_box_icon_before_spacing',
|
319 |
[
|
320 |
'label' => __('Icon Spacing', 'premium-addons-for-elementor'),
|
335 |
);
|
336 |
}
|
337 |
|
338 |
+
if( ! $this->check_rtl() ) {
|
339 |
$this->add_control('premium_modal_box_icon_after_spacing',
|
340 |
[
|
341 |
'label' => __('Icon Spacing', 'premium-addons-for-elementor'),
|
widgets/premium-person.php
CHANGED
@@ -4,6 +4,7 @@ namespace Elementor;
|
|
4 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
5 |
|
6 |
class Premium_Person extends Widget_Base {
|
|
|
7 |
public function get_name() {
|
8 |
return 'premium-addon-person';
|
9 |
}
|
4 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
5 |
|
6 |
class Premium_Person extends Widget_Base {
|
7 |
+
|
8 |
public function get_name() {
|
9 |
return 'premium-addon-person';
|
10 |
}
|
widgets/premium-pricing-table.php
CHANGED
@@ -64,7 +64,7 @@ class Premium_Pricing_Table extends Widget_Base {
|
|
64 |
$this->add_control('premium_pricing_table_title_text',
|
65 |
[
|
66 |
'label' => __('Text', 'premium-addons-for-elementor'),
|
67 |
-
'default' => 'Pricing Table',
|
68 |
'type' => Controls_Manager::TEXT,
|
69 |
'dynamic' => [ 'active' => true ],
|
70 |
'label_block' => true,
|
64 |
$this->add_control('premium_pricing_table_title_text',
|
65 |
[
|
66 |
'label' => __('Text', 'premium-addons-for-elementor'),
|
67 |
+
'default' => __('Pricing Table', 'premium-addons-for-elementor'),
|
68 |
'type' => Controls_Manager::TEXT,
|
69 |
'dynamic' => [ 'active' => true ],
|
70 |
'label_block' => true,
|
widgets/premium-progressbar.php
CHANGED
@@ -1,9 +1,11 @@
|
|
1 |
<?php
|
|
|
2 |
namespace Elementor;
|
3 |
|
4 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
5 |
|
6 |
class Premium_Progressbar extends Widget_Base {
|
|
|
7 |
public function get_name() {
|
8 |
return 'premium-addon-progressbar';
|
9 |
}
|
@@ -95,23 +97,22 @@ class Premium_Progressbar extends Widget_Base {
|
|
95 |
[
|
96 |
'label' => __( 'Percentage', 'premium-addons-for-elementor' ),
|
97 |
'type' => Controls_Manager::NUMBER,
|
98 |
-
'label_block' => true,
|
99 |
'default' => 50,
|
100 |
]
|
101 |
);
|
102 |
|
103 |
$this->add_control('premium_progressbar_multiple_label',
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
'premium_progressbar_select_label' =>'more_labels'
|
116 |
]
|
117 |
]
|
1 |
<?php
|
2 |
+
|
3 |
namespace Elementor;
|
4 |
|
5 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
6 |
|
7 |
class Premium_Progressbar extends Widget_Base {
|
8 |
+
|
9 |
public function get_name() {
|
10 |
return 'premium-addon-progressbar';
|
11 |
}
|
97 |
[
|
98 |
'label' => __( 'Percentage', 'premium-addons-for-elementor' ),
|
99 |
'type' => Controls_Manager::NUMBER,
|
|
|
100 |
'default' => 50,
|
101 |
]
|
102 |
);
|
103 |
|
104 |
$this->add_control('premium_progressbar_multiple_label',
|
105 |
+
[
|
106 |
+
'label' => __('Label','premium-addons-for-elementor'),
|
107 |
+
'type' => Controls_Manager::REPEATER,
|
108 |
+
'default' => [
|
109 |
+
[
|
110 |
+
'text' => __( 'Label','premium-addons-for-elementor' ),
|
111 |
+
'number' => 50
|
112 |
+
]
|
113 |
+
],
|
114 |
+
'fields' => array_values( $repeater->get_controls() ),
|
115 |
+
'condition' => [
|
116 |
'premium_progressbar_select_label' =>'more_labels'
|
117 |
]
|
118 |
]
|
widgets/premium-testimonials.php
CHANGED
@@ -4,6 +4,7 @@ namespace Elementor;
|
|
4 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
5 |
|
6 |
class Premium_Testimonials extends Widget_Base {
|
|
|
7 |
public function get_name() {
|
8 |
return 'premium-addon-testimonials';
|
9 |
}
|
4 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
5 |
|
6 |
class Premium_Testimonials extends Widget_Base {
|
7 |
+
|
8 |
public function get_name() {
|
9 |
return 'premium-addon-testimonials';
|
10 |
}
|
widgets/premium-title.php
CHANGED
@@ -5,6 +5,7 @@ namespace Elementor;
|
|
5 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
6 |
|
7 |
class Premium_Title extends Widget_Base {
|
|
|
8 |
public function get_name() {
|
9 |
return 'premium-addon-title';
|
10 |
}
|
5 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
6 |
|
7 |
class Premium_Title extends Widget_Base {
|
8 |
+
|
9 |
public function get_name() {
|
10 |
return 'premium-addon-title';
|
11 |
}
|
widgets/premium-videobox.php
CHANGED
@@ -6,6 +6,7 @@ use Elementor\Modules\DynamicTags\Module as TagsModule;
|
|
6 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
7 |
|
8 |
class Premium_Videobox extends Widget_Base {
|
|
|
9 |
public function get_name() {
|
10 |
return 'premium-addon-video-box';
|
11 |
}
|
6 |
if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
7 |
|
8 |
class Premium_Videobox extends Widget_Base {
|
9 |
+
|
10 |
public function get_name() {
|
11 |
return 'premium-addon-video-box';
|
12 |
}
|