Version Description
- Tweak: Added Icon option for Premium Modal Box widgets button.
- Tweak: Added include template content option for Premium Modal Box widget.
- Tweak: Enhanced Javascript loading and performance.
- Fix: Premium Fancy Text Add item with Slide up effect bug on Firefox.
- Fix: Premium Button RTL bug.
Download this release
Release Info
Developer | leap13 |
Plugin | Premium Addons for Elementor |
Version | 2.1.5 |
Comparing to | |
See all releases |
Code changes from version 2.1.5-beta1 to 2.1.5
- admin/settings-page.php +1 -1
- includes/beta-testers.php +1 -0
- premium-addons-for-elementor.php +3 -3
- queries.php +1 -0
- readme.txt +4 -2
- widgets/premium-button.php +55 -5
- widgets/premium-maps.php +9 -10
- widgets/premium-modalbox.php +230 -4
admin/settings-page.php
CHANGED
@@ -356,7 +356,7 @@ class PA_admin_settings {
|
|
356 |
|
357 |
<tr class="pa-roll-row">
|
358 |
<th>Rollback Version</th>
|
359 |
-
<td><div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 2.1.
|
360 |
</tr>
|
361 |
<tr>
|
362 |
<th><h4 class="pa-beta-test">Become a Beta Tester</h4><span class="pa-beta-test-span">Turn-on Beta Tester, to get notified when a new beta version of Premium Addons for Elementor. The Beta version will not install automatically. You always have the option to ignore it.</span></th>
|
356 |
|
357 |
<tr class="pa-roll-row">
|
358 |
<th>Rollback Version</th>
|
359 |
+
<td><div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 2.1.4</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div><p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p></td>
|
360 |
</tr>
|
361 |
<tr>
|
362 |
<th><h4 class="pa-beta-test">Become a Beta Tester</h4><span class="pa-beta-test-span">Turn-on Beta Tester, to get notified when a new beta version of Premium Addons for Elementor. The Beta version will not install automatically. You always have the option to ignore it.</span></th>
|
includes/beta-testers.php
CHANGED
@@ -41,6 +41,7 @@ class PA_Beta_Testers {
|
|
41 |
$response->new_version = $beta_version;
|
42 |
$response->url = 'https://premiumaddons.com/';
|
43 |
$response->package = sprintf( 'https://downloads.wordpress.org/plugin/premium-addons-for-elementor.%s.zip', $beta_version );
|
|
|
44 |
$transient->response[ PREMIUM_ADDONS_BASENAME ] = $response;
|
45 |
}
|
46 |
|
41 |
$response->new_version = $beta_version;
|
42 |
$response->url = 'https://premiumaddons.com/';
|
43 |
$response->package = sprintf( 'https://downloads.wordpress.org/plugin/premium-addons-for-elementor.%s.zip', $beta_version );
|
44 |
+
echo $response->package;
|
45 |
$transient->response[ PREMIUM_ADDONS_BASENAME ] = $response;
|
46 |
}
|
47 |
|
premium-addons-for-elementor.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 20 premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
-
Version: 2.1.5
|
7 |
Author: Leap13
|
8 |
Author URI: http://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
@@ -22,12 +22,12 @@ if( !function_exists('add_action') ) {
|
|
22 |
|
23 |
if( !defined( 'ABSPATH' ) ) exit; // No access of directly access
|
24 |
|
25 |
-
define( 'PREMIUM_ADDONS_VERSION', '2.1.5
|
26 |
define( 'PREMIUM_ADDONS_URL', plugins_url('/', __FILE__ ) );
|
27 |
define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
|
28 |
define( 'PREMIUM_ADDONS_FILE', __FILE__ );
|
29 |
define( 'PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
|
30 |
-
define( 'PREMIUM_ADDONS_STABLE_VERSION', '2.1.
|
31 |
|
32 |
|
33 |
/**
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 20 premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
+
Version: 2.1.5
|
7 |
Author: Leap13
|
8 |
Author URI: http://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
22 |
|
23 |
if( !defined( 'ABSPATH' ) ) exit; // No access of directly access
|
24 |
|
25 |
+
define( 'PREMIUM_ADDONS_VERSION', '2.1.5' );
|
26 |
define( 'PREMIUM_ADDONS_URL', plugins_url('/', __FILE__ ) );
|
27 |
define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
|
28 |
define( 'PREMIUM_ADDONS_FILE', __FILE__ );
|
29 |
define( 'PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
|
30 |
+
define( 'PREMIUM_ADDONS_STABLE_VERSION', '2.1.4');
|
31 |
|
32 |
|
33 |
/**
|
queries.php
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
<?php
|
2 |
|
|
|
3 |
|
4 |
function premium_blog_get_post_data($args, $paged, $new_offset){
|
5 |
$defaults = array(
|
1 |
<?php
|
2 |
|
3 |
+
if (!defined('ABSPATH')) exit;
|
4 |
|
5 |
function premium_blog_get_post_data($args, $paged, $new_offset){
|
6 |
$defaults = array(
|
readme.txt
CHANGED
@@ -5,8 +5,7 @@ Donate link: http://premiumaddons.com
|
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9.4
|
7 |
Requires PHP: 5.4
|
8 |
-
Stable tag: 2.1.
|
9 |
-
Beta tag: 2.1.5-beta1
|
10 |
License: GPL v3.0
|
11 |
License URI: https://opensource.org/licenses/GPL-3.0
|
12 |
|
@@ -102,8 +101,11 @@ Premium Addons for Elementor is light weight and we also gave you the control to
|
|
102 |
|
103 |
= 2.1.5 =
|
104 |
|
|
|
|
|
105 |
- Tweak: Enhanced Javascript loading and performance.
|
106 |
- Fix: Premium Fancy Text Add item with Slide up effect bug on Firefox.
|
|
|
107 |
|
108 |
= 2.1.4 =
|
109 |
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 4.9.4
|
7 |
Requires PHP: 5.4
|
8 |
+
Stable tag: 2.1.5
|
|
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
101 |
|
102 |
= 2.1.5 =
|
103 |
|
104 |
+
- Tweak: Added Icon option for Premium Modal Box widget’s button.
|
105 |
+
- Tweak: Added include template content option for Premium Modal Box widget.
|
106 |
- Tweak: Enhanced Javascript loading and performance.
|
107 |
- Fix: Premium Fancy Text Add item with Slide up effect bug on Firefox.
|
108 |
+
- Fix: Premium Button RTL bug.
|
109 |
|
110 |
= 2.1.4 =
|
111 |
|
widgets/premium-button.php
CHANGED
@@ -9,6 +9,10 @@ class Premium_Button_Widget extends Widget_Base
|
|
9 |
return 'premium-addon-button';
|
10 |
}
|
11 |
|
|
|
|
|
|
|
|
|
12 |
public function getTemplateInstance() {
|
13 |
return $this->templateInstance = premium_Template_Tags::getInstance();
|
14 |
}
|
@@ -229,8 +233,8 @@ class Premium_Button_Widget extends Widget_Base
|
|
229 |
'type' => Controls_Manager::SELECT,
|
230 |
'default' => 'before',
|
231 |
'options' => [
|
232 |
-
'before' => esc_html__('Before'),
|
233 |
-
'after' => esc_html__('After'),
|
234 |
],
|
235 |
'condition' => [
|
236 |
'premium_button_icon_switcher' => 'yes',
|
@@ -267,7 +271,8 @@ class Premium_Button_Widget extends Widget_Base
|
|
267 |
]
|
268 |
);
|
269 |
|
270 |
-
|
|
|
271 |
[
|
272 |
'label' => esc_html__('Icon Spacing', 'premium-addons-for-elementor'),
|
273 |
'type' => Controls_Manager::SLIDER,
|
@@ -284,8 +289,10 @@ class Premium_Button_Widget extends Widget_Base
|
|
284 |
],
|
285 |
'separator' => 'after',
|
286 |
]
|
287 |
-
|
|
|
288 |
|
|
|
289 |
$this->add_control('premium_button_icon_after_spacing',
|
290 |
[
|
291 |
'label' => esc_html__('Icon Spacing', 'premium-addons-for-elementor'),
|
@@ -303,7 +310,50 @@ class Premium_Button_Widget extends Widget_Base
|
|
303 |
],
|
304 |
'separator' => 'after',
|
305 |
]
|
306 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
|
308 |
$this->add_control('premium_button_icon_style3_before_transition',
|
309 |
[
|
9 |
return 'premium-addon-button';
|
10 |
}
|
11 |
|
12 |
+
public function check_rtl(){
|
13 |
+
return is_rtl();
|
14 |
+
}
|
15 |
+
|
16 |
public function getTemplateInstance() {
|
17 |
return $this->templateInstance = premium_Template_Tags::getInstance();
|
18 |
}
|
233 |
'type' => Controls_Manager::SELECT,
|
234 |
'default' => 'before',
|
235 |
'options' => [
|
236 |
+
'before' => esc_html__('Before', 'premium-addons-for-elementor'),
|
237 |
+
'after' => esc_html__('After', 'premium-addons-for-elementor'),
|
238 |
],
|
239 |
'condition' => [
|
240 |
'premium_button_icon_switcher' => 'yes',
|
271 |
]
|
272 |
);
|
273 |
|
274 |
+
if(!$this->check_rtl()){
|
275 |
+
$this->add_control('premium_button_icon_before_spacing',
|
276 |
[
|
277 |
'label' => esc_html__('Icon Spacing', 'premium-addons-for-elementor'),
|
278 |
'type' => Controls_Manager::SLIDER,
|
289 |
],
|
290 |
'separator' => 'after',
|
291 |
]
|
292 |
+
);
|
293 |
+
}
|
294 |
|
295 |
+
if(!$this->check_rtl()){
|
296 |
$this->add_control('premium_button_icon_after_spacing',
|
297 |
[
|
298 |
'label' => esc_html__('Icon Spacing', 'premium-addons-for-elementor'),
|
310 |
],
|
311 |
'separator' => 'after',
|
312 |
]
|
313 |
+
);
|
314 |
+
}
|
315 |
+
|
316 |
+
if($this->check_rtl()){
|
317 |
+
$this->add_control('premium_button_icon_rtl_before_spacing',
|
318 |
+
[
|
319 |
+
'label' => esc_html__('Icon Spacing', 'premium-addons-for-elementor'),
|
320 |
+
'type' => Controls_Manager::SLIDER,
|
321 |
+
'condition' => [
|
322 |
+
'premium_button_icon_switcher' => 'yes',
|
323 |
+
'premium_button_icon_position' => 'before',
|
324 |
+
'premium_button_hover_effect!' => ['style3', 'style4']
|
325 |
+
],
|
326 |
+
'default' => [
|
327 |
+
'size' => 15
|
328 |
+
],
|
329 |
+
'selectors' => [
|
330 |
+
'{{WRAPPER}} .premium-button-text-icon-wrapper i' => 'margin-left: {{SIZE}}px',
|
331 |
+
],
|
332 |
+
'separator' => 'after',
|
333 |
+
]
|
334 |
+
);
|
335 |
+
}
|
336 |
+
|
337 |
+
if($this->check_rtl()){
|
338 |
+
$this->add_control('premium_button_icon_rtl_after_spacing',
|
339 |
+
[
|
340 |
+
'label' => esc_html__('Icon Spacing', 'premium-addons-for-elementor'),
|
341 |
+
'type' => Controls_Manager::SLIDER,
|
342 |
+
'condition' => [
|
343 |
+
'premium_button_icon_switcher' => 'yes',
|
344 |
+
'premium_button_icon_position' => 'after',
|
345 |
+
'premium_button_hover_effect!' => ['style3', 'style4']
|
346 |
+
],
|
347 |
+
'default' => [
|
348 |
+
'size' => 15
|
349 |
+
],
|
350 |
+
'selectors' => [
|
351 |
+
'{{WRAPPER}} .premium-button-text-icon-wrapper i' => 'margin-right: {{SIZE}}px',
|
352 |
+
],
|
353 |
+
'separator' => 'after',
|
354 |
+
]
|
355 |
+
);
|
356 |
+
}
|
357 |
|
358 |
$this->add_control('premium_button_icon_style3_before_transition',
|
359 |
[
|
widgets/premium-maps.php
CHANGED
@@ -40,13 +40,17 @@ class Premium_Maps_Widget extends Widget_Base
|
|
40 |
'label' => esc_html__('Center Location', 'premium-addons-for-elementor'),
|
41 |
]
|
42 |
);
|
43 |
-
|
44 |
-
$
|
45 |
-
|
|
|
|
|
46 |
'label' => '<span style="line-height: 1.4em;">Premium Maps requires an API key. Get your API key from <a target="_blank" href="https://developers.google.com/maps/documentation/javascript/get-api-key">here</a> and add it to Premium Addons admin page. Go to Dashboard -> Premium Addons for Elementor -> Google Maps API</span>',
|
47 |
'type' => Controls_Manager::RAW_HTML,
|
48 |
-
|
49 |
-
|
|
|
|
|
50 |
|
51 |
$this->add_control('premium_maps_center_lat',
|
52 |
[
|
@@ -595,12 +599,7 @@ class Premium_Maps_Widget extends Widget_Base
|
|
595 |
} ?>
|
596 |
|
597 |
</div>
|
598 |
-
<script>
|
599 |
-
|
600 |
-
</script>
|
601 |
|
602 |
-
|
603 |
-
|
604 |
<?php
|
605 |
}
|
606 |
}
|
40 |
'label' => esc_html__('Center Location', 'premium-addons-for-elementor'),
|
41 |
]
|
42 |
);
|
43 |
+
|
44 |
+
$map_api = get_option( 'pa_save_settings' )['premium-map-api'];
|
45 |
+
if(!isset($map_api) || empty($map_api)){
|
46 |
+
$this->add_control('premium_maps_api_url',
|
47 |
+
[
|
48 |
'label' => '<span style="line-height: 1.4em;">Premium Maps requires an API key. Get your API key from <a target="_blank" href="https://developers.google.com/maps/documentation/javascript/get-api-key">here</a> and add it to Premium Addons admin page. Go to Dashboard -> Premium Addons for Elementor -> Google Maps API</span>',
|
49 |
'type' => Controls_Manager::RAW_HTML,
|
50 |
+
]
|
51 |
+
);
|
52 |
+
}
|
53 |
+
|
54 |
|
55 |
$this->add_control('premium_maps_center_lat',
|
56 |
[
|
599 |
} ?>
|
600 |
|
601 |
</div>
|
|
|
|
|
|
|
602 |
|
|
|
|
|
603 |
<?php
|
604 |
}
|
605 |
}
|
widgets/premium-modalbox.php
CHANGED
@@ -5,9 +5,17 @@ if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
|
|
5 |
|
6 |
class Premium_Modal_Box_Widget extends Widget_Base
|
7 |
{
|
|
|
|
|
|
|
|
|
8 |
public function get_name() {
|
9 |
return 'premium-addon-modal-box';
|
10 |
}
|
|
|
|
|
|
|
|
|
11 |
|
12 |
public function get_title() {
|
13 |
return esc_html__('Premium Modal Box', 'premium-addons-for-elementor');
|
@@ -30,7 +38,6 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
30 |
// Adding the controls fields for the premium modal box
|
31 |
// This will controls the animation, colors and background, dimensions etc
|
32 |
protected function _register_controls() {
|
33 |
-
|
34 |
/* Start Box Content Section */
|
35 |
|
36 |
$this->start_controls_section('premium_modal_box_selector_content_section',
|
@@ -39,6 +46,17 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
39 |
]
|
40 |
);
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
/*Icon To Display*/
|
43 |
$this->add_control('premium_modal_box_icon_selection',
|
44 |
[
|
@@ -51,6 +69,9 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
51 |
'image' => esc_html('Custom Image'),
|
52 |
],
|
53 |
'default' => 'noicon',
|
|
|
|
|
|
|
54 |
'label_block' => true
|
55 |
]
|
56 |
);
|
@@ -62,6 +83,7 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
62 |
'type' => Controls_Manager::ICON,
|
63 |
'condition' => [
|
64 |
'premium_modal_box_icon_selection' => 'fonticon',
|
|
|
65 |
],
|
66 |
'label_block' => true,
|
67 |
]
|
@@ -77,6 +99,7 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
77 |
],
|
78 |
'condition' => [
|
79 |
'premium_modal_box_icon_selection' => 'image',
|
|
|
80 |
],
|
81 |
'label_block' => true,
|
82 |
]
|
@@ -89,6 +112,9 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
89 |
'type' => Controls_Manager::TEXT,
|
90 |
'description' => esc_html__('Provide the modal box with a title', 'premium-addons-for-elementor'),
|
91 |
'default' => 'Modal Box Title',
|
|
|
|
|
|
|
92 |
'label_block' => true,
|
93 |
]
|
94 |
);
|
@@ -101,12 +127,42 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
101 |
]
|
102 |
);
|
103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
/*Modal Box Content*/
|
105 |
$this->add_control('premium_modal_box_content',
|
106 |
[
|
107 |
'type' => Controls_Manager::WYSIWYG,
|
108 |
'default' => 'Modal Box Content',
|
109 |
'selector' => '{{WRAPPER}} .premium-modal-box-modal-body',
|
|
|
|
|
|
|
110 |
'show_label' => false,
|
111 |
]
|
112 |
);
|
@@ -117,6 +173,9 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
117 |
'label' => esc_html__('Upper Close Button', 'premium-addons-for-elementor'),
|
118 |
'type' => Controls_Manager::SWITCHER,
|
119 |
'default' => 'yes',
|
|
|
|
|
|
|
120 |
]
|
121 |
);
|
122 |
|
@@ -167,6 +226,145 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
167 |
]
|
168 |
);
|
169 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
/*Button Size*/
|
171 |
$this->add_control('premium_modal_box_button_size',
|
172 |
[
|
@@ -289,6 +487,23 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
289 |
]
|
290 |
]
|
291 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
|
293 |
/*Selector Text Typography*/
|
294 |
$this->add_group_control(
|
@@ -489,6 +704,9 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
489 |
[
|
490 |
'label' => esc_html__('Heading', 'premium-addons-for-elementor'),
|
491 |
'tab' => Controls_Manager::TAB_STYLE,
|
|
|
|
|
|
|
492 |
]
|
493 |
);
|
494 |
|
@@ -536,6 +754,7 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
536 |
'tab' => Controls_Manager::TAB_STYLE,
|
537 |
'condition' => [
|
538 |
'premium_modal_box_upper_close' => 'yes',
|
|
|
539 |
]
|
540 |
]
|
541 |
);
|
@@ -962,7 +1181,12 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
962 |
$settings = $this->get_settings();
|
963 |
$this->add_inline_editing_attributes('premium_modal_box_selector_text');
|
964 |
|
965 |
-
$
|
|
|
|
|
|
|
|
|
|
|
966 |
'trigger' => $settings['premium_modal_box_display_on'],
|
967 |
'delay' => $settings['premium_modal_box_popup_delay'],
|
968 |
];
|
@@ -978,7 +1202,7 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
978 |
if( $settings['premium_modal_box_button_size'] === 'sm' ) : echo "btn-sm";
|
979 |
elseif( $settings['premium_modal_box_button_size'] === 'md' ) : echo "btn-md";
|
980 |
elseif( $settings['premium_modal_box_button_size'] === 'lg' ) : echo "btn-lg";
|
981 |
-
elseif( $settings['premium_modal_box_button_size'] === 'block' ) : echo "btn-block"; endif; ?>" data-toggle="premium-modal" data-target="#premium-modal-<?php echo esc_attr( $this->get_id() ); ?>"><?php echo $settings['premium_modal_box_button_text']; ?></button>
|
982 |
<?php elseif ( $settings['premium_modal_box_display_on'] === 'image' ) : ?>
|
983 |
<img class="premium-modal-box-img-selector" data-toggle="premium-modal" data-target="#premium-modal-<?php echo esc_attr( $this->get_id() ); ?>" src="<?php echo $settings['premium_modal_box_image_src']['url'];?>">
|
984 |
<?php elseif($settings['premium_modal_box_display_on'] === 'text') : ?>
|
@@ -994,6 +1218,7 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
994 |
|
995 |
<!-- Modal content-->
|
996 |
<div class="modal-content premium-modal-box-modal-content">
|
|
|
997 |
<div class="modal-header premium-modal-box-modal-header">
|
998 |
<?php if ( $settings['premium_modal_box_upper_close'] === 'yes' ) : ?>
|
999 |
<div class="premium-modal-box-close-button-container">
|
@@ -1007,8 +1232,9 @@ class Premium_Modal_Box_Widget extends Widget_Base
|
|
1007 |
<img src="<?php echo $settings['premium_modal_box_image_icon']['url'];?>">
|
1008 |
<?php endif; ?><?php echo $settings['premium_modal_box_title'];?></h3>
|
1009 |
</div>
|
|
|
1010 |
<div class="modal-body premium-modal-box-modal-body">
|
1011 |
-
<?php echo $settings['premium_modal_box_content']
|
1012 |
</div>
|
1013 |
<?php if ( $settings['premium_modal_box_lower_close'] === 'yes' ) : ?>
|
1014 |
<div class="modal-footer premium-modal-box-modal-footer">
|
5 |
|
6 |
class Premium_Modal_Box_Widget extends Widget_Base
|
7 |
{
|
8 |
+
public function getTemplateInstance(){
|
9 |
+
return $this->templateInstance = premium_Template_Tags::getInstance();
|
10 |
+
}
|
11 |
+
|
12 |
public function get_name() {
|
13 |
return 'premium-addon-modal-box';
|
14 |
}
|
15 |
+
|
16 |
+
public function check_rtl(){
|
17 |
+
return is_rtl();
|
18 |
+
}
|
19 |
|
20 |
public function get_title() {
|
21 |
return esc_html__('Premium Modal Box', 'premium-addons-for-elementor');
|
38 |
// Adding the controls fields for the premium modal box
|
39 |
// This will controls the animation, colors and background, dimensions etc
|
40 |
protected function _register_controls() {
|
|
|
41 |
/* Start Box Content Section */
|
42 |
|
43 |
$this->start_controls_section('premium_modal_box_selector_content_section',
|
46 |
]
|
47 |
);
|
48 |
|
49 |
+
$this->add_control('premium_modal_box_header_switcher',
|
50 |
+
[
|
51 |
+
'label' => esc_html__('Header', 'premium-addons-for-elementor'),
|
52 |
+
'type' => Controls_Manager::SWITCHER,
|
53 |
+
'label_on' => 'show',
|
54 |
+
'label_off' => 'hide',
|
55 |
+
'default' => 'yes',
|
56 |
+
'description' => esc_html__('Enable or disable modal header','premium-addons-for-elementor'),
|
57 |
+
]
|
58 |
+
);
|
59 |
+
|
60 |
/*Icon To Display*/
|
61 |
$this->add_control('premium_modal_box_icon_selection',
|
62 |
[
|
69 |
'image' => esc_html('Custom Image'),
|
70 |
],
|
71 |
'default' => 'noicon',
|
72 |
+
'condition' => [
|
73 |
+
'premium_modal_box_header_switcher' => 'yes'
|
74 |
+
],
|
75 |
'label_block' => true
|
76 |
]
|
77 |
);
|
83 |
'type' => Controls_Manager::ICON,
|
84 |
'condition' => [
|
85 |
'premium_modal_box_icon_selection' => 'fonticon',
|
86 |
+
'premium_modal_box_header_switcher' => 'yes'
|
87 |
],
|
88 |
'label_block' => true,
|
89 |
]
|
99 |
],
|
100 |
'condition' => [
|
101 |
'premium_modal_box_icon_selection' => 'image',
|
102 |
+
'premium_modal_box_header_switcher' => 'yes'
|
103 |
],
|
104 |
'label_block' => true,
|
105 |
]
|
112 |
'type' => Controls_Manager::TEXT,
|
113 |
'description' => esc_html__('Provide the modal box with a title', 'premium-addons-for-elementor'),
|
114 |
'default' => 'Modal Box Title',
|
115 |
+
'condition' => [
|
116 |
+
'premium_modal_box_header_switcher' => 'yes'
|
117 |
+
],
|
118 |
'label_block' => true,
|
119 |
]
|
120 |
);
|
127 |
]
|
128 |
);
|
129 |
|
130 |
+
/*Modal Box Content Type*/
|
131 |
+
$this->add_control('premium_modal_box_content_type',
|
132 |
+
[
|
133 |
+
'label' => esc_html__('Content to Show', 'premium-addons-for-elementor'),
|
134 |
+
'type' => Controls_Manager::SELECT,
|
135 |
+
'options' => [
|
136 |
+
'editor' => esc_html('Text Editor', 'premium-addons-for-elementor'),
|
137 |
+
'template' => esc_html('Elementor Template', 'premium-addons-for-elementor'),
|
138 |
+
],
|
139 |
+
'default' => 'editor',
|
140 |
+
'label_block' => true
|
141 |
+
]
|
142 |
+
);
|
143 |
+
|
144 |
+
/*Modal Box Elementor Template*/
|
145 |
+
$this->add_control('premium_modal_box_content_temp',
|
146 |
+
[
|
147 |
+
'label' => esc_html__( 'Content', 'premium-addons-for-elementor' ),
|
148 |
+
'description' => esc_html__( 'Modal content is a template which you can choose from Elementor library. Each template will be a slider content', 'premium-addons-for-elementor' ),
|
149 |
+
'type' => Controls_Manager::SELECT2,
|
150 |
+
'options' => $this->getTemplateInstance()->get_elementor_page_list(),
|
151 |
+
'condition' => [
|
152 |
+
'premium_modal_box_content_type' => 'template',
|
153 |
+
],
|
154 |
+
]
|
155 |
+
);
|
156 |
+
|
157 |
/*Modal Box Content*/
|
158 |
$this->add_control('premium_modal_box_content',
|
159 |
[
|
160 |
'type' => Controls_Manager::WYSIWYG,
|
161 |
'default' => 'Modal Box Content',
|
162 |
'selector' => '{{WRAPPER}} .premium-modal-box-modal-body',
|
163 |
+
'condition' => [
|
164 |
+
'premium_modal_box_content_type' => 'editor',
|
165 |
+
],
|
166 |
'show_label' => false,
|
167 |
]
|
168 |
);
|
173 |
'label' => esc_html__('Upper Close Button', 'premium-addons-for-elementor'),
|
174 |
'type' => Controls_Manager::SWITCHER,
|
175 |
'default' => 'yes',
|
176 |
+
'condition' => [
|
177 |
+
'premium_modal_box_header_switcher' => 'yes'
|
178 |
+
]
|
179 |
]
|
180 |
);
|
181 |
|
226 |
]
|
227 |
);
|
228 |
|
229 |
+
$this->add_control('premium_modal_box_icon_switcher',
|
230 |
+
[
|
231 |
+
'label' => esc_html__('Icon', 'premium-addons-for-elementor'),
|
232 |
+
'type' => Controls_Manager::SWITCHER,
|
233 |
+
'condition' => [
|
234 |
+
'premium_modal_box_display_on' => 'button'
|
235 |
+
],
|
236 |
+
'description' => esc_html__('Enable or disable button icon','premium-addons-for-elementor'),
|
237 |
+
]
|
238 |
+
);
|
239 |
+
|
240 |
+
$this->add_control('premium_modal_box_button_icon_selection',
|
241 |
+
[
|
242 |
+
'label' => esc_html__('Icon', 'premium-addons-for-elementor'),
|
243 |
+
'type' => Controls_Manager::ICON,
|
244 |
+
'default' => 'fa fa-bars',
|
245 |
+
'condition' => [
|
246 |
+
'premium_modal_box_display_on' => 'button',
|
247 |
+
'premium_modal_box_icon_switcher' => 'yes'
|
248 |
+
],
|
249 |
+
'label_block' => true,
|
250 |
+
]
|
251 |
+
);
|
252 |
+
|
253 |
+
$this->add_control('premium_modal_box_icon_position',
|
254 |
+
[
|
255 |
+
'label' => esc_html__('Icon Position', 'premium-addons-for-elementor'),
|
256 |
+
'type' => Controls_Manager::SELECT,
|
257 |
+
'default' => 'before',
|
258 |
+
'options' => [
|
259 |
+
'before' => esc_html__('Before'),
|
260 |
+
'after' => esc_html__('After'),
|
261 |
+
],
|
262 |
+
'condition' => [
|
263 |
+
'premium_modal_box_display_on' => 'button',
|
264 |
+
'premium_modal_box_icon_switcher' => 'yes'
|
265 |
+
],
|
266 |
+
'label_block' => true,
|
267 |
+
]
|
268 |
+
);
|
269 |
+
|
270 |
+
$this->add_control('premium_modal_box_icon_before_size',
|
271 |
+
[
|
272 |
+
'label' => esc_html__('Icon Size', 'premium-addons-for-elementor'),
|
273 |
+
'type' => Controls_Manager::SLIDER,
|
274 |
+
'condition' => [
|
275 |
+
'premium_modal_box_display_on' => 'button',
|
276 |
+
'premium_modal_box_icon_switcher' => 'yes'
|
277 |
+
],
|
278 |
+
'selectors' => [
|
279 |
+
'{{WRAPPER}} .premium-modal-box-button-selector i '=> 'font-size: {{SIZE}}px',
|
280 |
+
]
|
281 |
+
]
|
282 |
+
);
|
283 |
+
|
284 |
+
if(!$this->check_rtl()){
|
285 |
+
$this->add_control('premium_modal_box_icon_before_spacing',
|
286 |
+
[
|
287 |
+
'label' => esc_html__('Icon Spacing', 'premium-addons-for-elementor'),
|
288 |
+
'type' => Controls_Manager::SLIDER,
|
289 |
+
'condition' => [
|
290 |
+
'premium_modal_box_display_on' => 'button',
|
291 |
+
'premium_modal_box_icon_switcher' => 'yes',
|
292 |
+
'premium_modal_box_icon_position' => 'before'
|
293 |
+
],
|
294 |
+
'default' => [
|
295 |
+
'size' => 15
|
296 |
+
],
|
297 |
+
'selectors' => [
|
298 |
+
'{{WRAPPER}} .premium-modal-box-button-selector i' => 'margin-right: {{SIZE}}px',
|
299 |
+
],
|
300 |
+
'separator' => 'after',
|
301 |
+
]
|
302 |
+
);
|
303 |
+
}
|
304 |
+
|
305 |
+
if(!$this->check_rtl()){
|
306 |
+
$this->add_control('premium_modal_box_icon_after_spacing',
|
307 |
+
[
|
308 |
+
'label' => esc_html__('Icon Spacing', 'premium-addons-for-elementor'),
|
309 |
+
'type' => Controls_Manager::SLIDER,
|
310 |
+
'condition' => [
|
311 |
+
'premium_modal_box_display_on' => 'button',
|
312 |
+
'premium_modal_box_icon_switcher' => 'yes',
|
313 |
+
'premium_modal_box_icon_position' => 'after'
|
314 |
+
],
|
315 |
+
'default' => [
|
316 |
+
'size' => 15
|
317 |
+
],
|
318 |
+
'selectors' => [
|
319 |
+
'{{WRAPPER}} .premium-modal-box-button-selector i' => 'margin-left: {{SIZE}}px',
|
320 |
+
],
|
321 |
+
'separator' => 'after',
|
322 |
+
]
|
323 |
+
);
|
324 |
+
}
|
325 |
+
|
326 |
+
if($this->check_rtl()){
|
327 |
+
$this->add_control('premium_modal_box_icon_rtl_before_spacing',
|
328 |
+
[
|
329 |
+
'label' => esc_html__('Icon Spacing', 'premium-addons-for-elementor'),
|
330 |
+
'type' => Controls_Manager::SLIDER,
|
331 |
+
'condition' => [
|
332 |
+
'premium_modal_box_display_on' => 'button',
|
333 |
+
'premium_modal_box_icon_switcher' => 'yes',
|
334 |
+
'premium_modal_box_icon_position' => 'before'
|
335 |
+
],
|
336 |
+
'default' => [
|
337 |
+
'size' => 15
|
338 |
+
],
|
339 |
+
'selectors' => [
|
340 |
+
'{{WRAPPER}} .premium-modal-box-button-selector i' => 'margin-left: {{SIZE}}px',
|
341 |
+
],
|
342 |
+
'separator' => 'after',
|
343 |
+
]
|
344 |
+
);
|
345 |
+
}
|
346 |
+
|
347 |
+
if($this->check_rtl()){
|
348 |
+
$this->add_control('premium_modal_box_icon_rtl_after_spacing',
|
349 |
+
[
|
350 |
+
'label' => esc_html__('Icon Spacing', 'premium-addons-for-elementor'),
|
351 |
+
'type' => Controls_Manager::SLIDER,
|
352 |
+
'condition' => [
|
353 |
+
'premium_modal_box_display_on' => 'button',
|
354 |
+
'premium_modal_box_icon_switcher' => 'yes',
|
355 |
+
'premium_modal_box_icon_position' => 'after'
|
356 |
+
],
|
357 |
+
'default' => [
|
358 |
+
'size' => 15
|
359 |
+
],
|
360 |
+
'selectors' => [
|
361 |
+
'{{WRAPPER}} .premium-modal-box-button-selector i' => 'margin-right: {{SIZE}}px',
|
362 |
+
],
|
363 |
+
'separator' => 'after',
|
364 |
+
]
|
365 |
+
);
|
366 |
+
}
|
367 |
+
|
368 |
/*Button Size*/
|
369 |
$this->add_control('premium_modal_box_button_size',
|
370 |
[
|
487 |
]
|
488 |
]
|
489 |
);
|
490 |
+
|
491 |
+
$this->add_control('premium_modal_box_button_icon_color',
|
492 |
+
[
|
493 |
+
'label' => esc_html__('Icon Color', 'premium-addons-for-elementor'),
|
494 |
+
'type' => Controls_Manager::COLOR,
|
495 |
+
'scheme' => [
|
496 |
+
'type' => Scheme_Color::get_type(),
|
497 |
+
'value' => Scheme_Color::COLOR_2,
|
498 |
+
],
|
499 |
+
'selectors' => [
|
500 |
+
'{{WRAPPER}} .premium-modal-box-button-selector i' => 'color:{{VALUE}};',
|
501 |
+
],
|
502 |
+
'condition' => [
|
503 |
+
'premium_modal_box_display_on' => ['button'],
|
504 |
+
]
|
505 |
+
]
|
506 |
+
);
|
507 |
|
508 |
/*Selector Text Typography*/
|
509 |
$this->add_group_control(
|
704 |
[
|
705 |
'label' => esc_html__('Heading', 'premium-addons-for-elementor'),
|
706 |
'tab' => Controls_Manager::TAB_STYLE,
|
707 |
+
'condition' => [
|
708 |
+
'premium_modal_box_header_switcher' => 'yes'
|
709 |
+
],
|
710 |
]
|
711 |
);
|
712 |
|
754 |
'tab' => Controls_Manager::TAB_STYLE,
|
755 |
'condition' => [
|
756 |
'premium_modal_box_upper_close' => 'yes',
|
757 |
+
'premium_modal_box_header_switcher' => 'yes'
|
758 |
]
|
759 |
]
|
760 |
);
|
1181 |
$settings = $this->get_settings();
|
1182 |
$this->add_inline_editing_attributes('premium_modal_box_selector_text');
|
1183 |
|
1184 |
+
$button_icon = $settings['premium_modal_box_button_icon_selection'];
|
1185 |
+
|
1186 |
+
|
1187 |
+
$elementor_post_id = $settings['premium_modal_box_content_temp'];
|
1188 |
+
$premium_elements_frontend = new Frontend;
|
1189 |
+
$modal_settings = [
|
1190 |
'trigger' => $settings['premium_modal_box_display_on'],
|
1191 |
'delay' => $settings['premium_modal_box_popup_delay'],
|
1192 |
];
|
1202 |
if( $settings['premium_modal_box_button_size'] === 'sm' ) : echo "btn-sm";
|
1203 |
elseif( $settings['premium_modal_box_button_size'] === 'md' ) : echo "btn-md";
|
1204 |
elseif( $settings['premium_modal_box_button_size'] === 'lg' ) : echo "btn-lg";
|
1205 |
+
elseif( $settings['premium_modal_box_button_size'] === 'block' ) : echo "btn-block"; endif; ?>" data-toggle="premium-modal" data-target="#premium-modal-<?php echo esc_attr( $this->get_id() ); ?>"><?php if($settings['premium_modal_box_icon_switcher'] && $settings['premium_modal_box_icon_position'] == 'before' && !empty($settings['premium_modal_box_button_icon_selection'])) : ?><i class="fa <?php echo esc_attr($button_icon); ?>"></i><?php endif; ?><span><?php echo $settings['premium_modal_box_button_text']; ?></span><?php if($settings['premium_modal_box_icon_switcher'] && $settings['premium_modal_box_icon_position'] == 'after' &&!empty($settings['premium_modal_box_button_icon_selection'])) : ?><i class="fa <?php echo esc_attr($button_icon); ?>"></i><?php endif; ?></button>
|
1206 |
<?php elseif ( $settings['premium_modal_box_display_on'] === 'image' ) : ?>
|
1207 |
<img class="premium-modal-box-img-selector" data-toggle="premium-modal" data-target="#premium-modal-<?php echo esc_attr( $this->get_id() ); ?>" src="<?php echo $settings['premium_modal_box_image_src']['url'];?>">
|
1208 |
<?php elseif($settings['premium_modal_box_display_on'] === 'text') : ?>
|
1218 |
|
1219 |
<!-- Modal content-->
|
1220 |
<div class="modal-content premium-modal-box-modal-content">
|
1221 |
+
<?php if($settings['premium_modal_box_header_switcher'] == 'yes'): ?>
|
1222 |
<div class="modal-header premium-modal-box-modal-header">
|
1223 |
<?php if ( $settings['premium_modal_box_upper_close'] === 'yes' ) : ?>
|
1224 |
<div class="premium-modal-box-close-button-container">
|
1232 |
<img src="<?php echo $settings['premium_modal_box_image_icon']['url'];?>">
|
1233 |
<?php endif; ?><?php echo $settings['premium_modal_box_title'];?></h3>
|
1234 |
</div>
|
1235 |
+
<?php endif; ?>
|
1236 |
<div class="modal-body premium-modal-box-modal-body">
|
1237 |
+
<?php if($settings['premium_modal_box_content_type'] == 'editor') : echo $settings['premium_modal_box_content']; else: echo $premium_elements_frontend->get_builder_content($elementor_post_id, true); endif; ?>
|
1238 |
</div>
|
1239 |
<?php if ( $settings['premium_modal_box_lower_close'] === 'yes' ) : ?>
|
1240 |
<div class="modal-footer premium-modal-box-modal-footer">
|