Premium Addons for Elementor - Version 3.6.2

Version Description

  • Fixed: Filter Tabs option doesn't work after v3.5.7 in Blog widget.
Download this release

Release Info

Developer leap13
Plugin Icon 128x128 Premium Addons for Elementor
Version 3.6.2
Comparing to
See all releases

Code changes from version 3.6.1 to 3.6.2

admin/includes/version-control.php CHANGED
@@ -91,7 +91,7 @@ class Version_Control {
91
<tr class="pa-roll-row">
92
<th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
93
<td>
94
- <div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Reinstall Version 3.6.0', 'premium-addons-for-elementor') ); ?></div>
95
<p class="pa-roll-desc">
96
<span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
97
</p>
91
<tr class="pa-roll-row">
92
<th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
93
<td>
94
+ <div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Reinstall Version 3.6.1', 'premium-addons-for-elementor') ); ?></div>
95
<p class="pa-roll-desc">
96
<span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
97
</p>
admin/settings/modules-setting.php CHANGED
@@ -692,6 +692,8 @@ class Modules_Settings {
692
public static function check_premium_templates() {
693
694
$premium_templates = self::get_enabled_keys()['premium-templates'];
695
696
return $premium_templates;
697
}
692
public static function check_premium_templates() {
693
694
$premium_templates = self::get_enabled_keys()['premium-templates'];
695
+
696
+ $is_enabled = isset( $premium_templates ) ? $premium_templates : 1;
697
698
return $premium_templates;
699
}
assets/editor/templates/css/editor.css CHANGED
@@ -146,7 +146,7 @@
146
display: inline-block;
147
color: #fff;
148
background-image: none;
149
- background: #fcb92c;
150
font-size: 13px;
151
font-weight: 400;
152
font-style: normal;
146
display: inline-block;
147
color: #fff;
148
background-image: none;
149
+ background: #f47216;
150
font-size: 13px;
151
font-weight: 400;
152
font-style: normal;
assets/editor/templates/js/editor.js CHANGED
@@ -247,7 +247,8 @@
247
}
248
}
249
250
- if ("valid" === PremiumTempsData.license.status || !isPro) {
251
elementor.templates.requestTemplateContent(
252
templateModel.get('source'),
253
templateModel.get('template_id'),
@@ -257,22 +258,28 @@
257
page_settings: false
258
},
259
success: function (data) {
260
- console.log("%c Inner Templates Inserted Successfully!!", "color: #7a7a7a; background-color: #eee;");
261
-
262
- PremiumEditor.closeModal();
263
264
- elementor.channels.data.trigger('template:before:insert', templateModel);
265
266
- if (null !== PremiumEditor.atIndex) {
267
- options.at = PremiumEditor.atIndex;
268
- }
269
270
- elementor.sections.currentView.addChildModel(data.content, options);
271
272
- elementor.channels.data.trigger('template:after:insert', templateModel);
273
274
- PremiumEditor.atIndex = null;
275
276
},
277
error: function (err) {
278
console.log(err);
247
}
248
}
249
250
+ if ("valid" === PremiumTempsData.license.status || ! isPro ) {
251
+
252
elementor.templates.requestTemplateContent(
253
templateModel.get('source'),
254
templateModel.get('template_id'),
258
page_settings: false
259
},
260
success: function (data) {
261
+
262
+ if ( ! data.license ) {
263
+ PremiumEditor.layout.showLicenseError();
264
+ return;
265
+ }
266
+
267
+ console.log("%c Template Inserted Successfully!!", "color: #7a7a7a; background-color: #eee;");
268
269
+ PremiumEditor.closeModal();
270
271
+ elementor.channels.data.trigger('template:before:insert', templateModel);
272
273
+ if (null !== PremiumEditor.atIndex) {
274
+ options.at = PremiumEditor.atIndex;
275
+ }
276
277
+ elementor.sections.currentView.addChildModel(data.content, options);
278
279
+ elementor.channels.data.trigger('template:after:insert', templateModel);
280
281
+ PremiumEditor.atIndex = null;
282
+
283
},
284
error: function (err) {
285
console.log(err);
includes/templates/scripts/template-modal-error.php CHANGED
@@ -1,10 +1,11 @@
1
<?php
2
3
- use PremiumAddons\Includes\Templates;
4
-
5
/**
6
* Templates Loader Error
7
*/
8
?>
9
<div class="elementor-library-error">
10
<div class="elementor-library-error-message"><?php
1
<?php
2
3
/**
4
* Templates Loader Error
5
*/
6
+
7
+ use PremiumAddons\Includes\Templates;
8
+
9
?>
10
<div class="elementor-library-error">
11
<div class="elementor-library-error-message"><?php
includes/templates/sources/premium-api.php CHANGED
@@ -388,14 +388,9 @@ class Premium_Templates_Source_Api extends Premium_Templates_Source_Base {
388
) );
389
}
390
391
- // if ( false === $body['license'] ) {
392
- // wp_send_json_success( array(
393
- // 'licenseError' => true,
394
- // ) );
395
- // }
396
-
397
$content = isset( $body['content'] ) ? $body['content'] : '';
398
$type = isset( $body['type'] ) ? $body['type'] : '';
399
400
if ( ! empty( $content ) ) {
401
$content = $this->replace_elements_ids( $content );
@@ -405,6 +400,7 @@ class Premium_Templates_Source_Api extends Premium_Templates_Source_Base {
405
return array(
406
'page_settings' => array(),
407
'type' => $type,
408
'content' => $content
409
);
410
388
) );
389
}
390
391
$content = isset( $body['content'] ) ? $body['content'] : '';
392
$type = isset( $body['type'] ) ? $body['type'] : '';
393
+ $license = isset( $body['license'] ) ? $body['license'] : '';
394
395
if ( ! empty( $content ) ) {
396
$content = $this->replace_elements_ids( $content );
400
return array(
401
'page_settings' => array(),
402
'type' => $type,
403
+ 'license' => $license,
404
'content' => $content
405
);
406
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.6.1
7
Author: Leap13
8
Author URI: https://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.6.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.6.0');
23
24
if( ! class_exists('Premium_Addons_Elementor') ) {
25
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.6.2
7
Author: Leap13
8
Author URI: https://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.6.2');
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.6.1');
23
24
if( ! class_exists('Premium_Addons_Elementor') ) {
25
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: http://premiumaddons.com
5
Requires at least: 4.5
6
Tested up to: 5.2.2
7
Requires PHP: 5.4
8
- Stable tag: 3.6.1
9
License: GPL v3.0
10
License URI: https://opensource.org/licenses/GPL-3.0
11
@@ -142,6 +142,10 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
142
143
== Changelog ==
144
145
= 3.6.1 =
146
147
- Fixed: Carousel Widget doesn't work after v3.6.0.
5
Requires at least: 4.5
6
Tested up to: 5.2.2
7
Requires PHP: 5.4
8
+ Stable tag: 3.6.2
9
License: GPL v3.0
10
License URI: https://opensource.org/licenses/GPL-3.0
11
142
143
== Changelog ==
144
145
+ = 3.6.2 =
146
+
147
+ - Fixed: `Filter Tabs` option doesn't work after v3.5.7 in Blog widget.
148
+
149
= 3.6.1 =
150
151
- Fixed: Carousel Widget doesn't work after v3.6.0.
widgets/premium-blog.php CHANGED
@@ -45,6 +45,10 @@ class Premium_Blog extends Widget_Base {
45
public function get_icon() {
46
return 'pa-blog';
47
}
48
49
public function get_categories() {
50
return [ 'premium-elements' ];
@@ -444,6 +448,35 @@ class Premium_Blog extends Widget_Base {
444
]
445
);
446
447
$this->add_control('premium_blog_tags',
448
[
449
'label' => __( 'Filter By Tag', 'premium-addons-for-elementor' ),
@@ -1580,7 +1613,13 @@ class Premium_Blog extends Widget_Base {
1580
1581
$key = 'post_' . $post_id;
1582
1583
- $wrap_key = sprintf('%s_wrap', $key);
1584
1585
$this->add_render_attribute( $wrap_key, 'class', [
1586
'premium-blog-post-container',
@@ -1596,20 +1635,19 @@ class Premium_Blog extends Widget_Base {
1596
foreach( $categories as $index => $category ) {
1597
1598
$category = str_replace( ' ', '-', $category->cat_name );
1599
- $this->add_render_attribute( $key, 'class', strtolower( $category ) );
1600
}
1601
1602
}
1603
1604
- $content_key = sprintf( '%s_content', $key );
1605
-
1606
$this->add_render_attribute( $content_key, 'class', [
1607
'premium-blog-content-wrapper',
1608
$thumb,
1609
] );
1610
1611
?>
1612
- <div class="premium-blog-post-outer-container">
1613
<div <?php echo $this->get_render_attribute_string( $wrap_key ); ?>>
1614
<div class="premium-blog-thumb-effect-wrapper">
1615
<div class="premium-blog-thumbnail-container <?php echo 'premium-blog-' . $image_effect . '-effect';?>">
45
public function get_icon() {
46
return 'pa-blog';
47
}
48
+
49
+ public function get_keywords() {
50
+ return [ 'posts', 'grid', 'item', 'loop', 'query', 'portfolio' ];
51
+ }
52
53
public function get_categories() {
54
return [ 'premium-elements' ];
448
]
449
);
450
451
+ $this->add_responsive_control('premium_blog_filter_align',
452
+ [
453
+ 'label' => __( 'Alignment', 'premium-addons-for-elementor' ),
454
+ 'type' => Controls_Manager::CHOOSE,
455
+ 'options' => [
456
+ 'flex-start' => [
457
+ 'title' => __( 'Left', 'premium-addons-for-elementor' ),
458
+ 'icon' => 'fa fa-align-left',
459
+ ],
460
+ 'center' => [
461
+ 'title' => __( 'Center', 'premium-addons-for-elementor' ),
462
+ 'icon' => 'fa fa-align-center',
463
+ ],
464
+ 'flex-end' => [
465
+ 'title' => __( 'Right', 'premium-addons-for-elementor' ),
466
+ 'icon' => 'fa fa-align-right',
467
+ ],
468
+ ],
469
+ 'default' => 'center',
470
+ 'condition' => [
471
+ 'premium_blog_cat_tabs' => 'yes',
472
+ 'premium_blog_carousel!' => 'yes'
473
+ ],
474
+ 'selectors' => [
475
+ '{{WRAPPER}} .premium-blog-filter' => 'justify-content: {{VALUE}};',
476
+ ],
477
+ ]
478
+ );
479
+
480
$this->add_control('premium_blog_tags',
481
[
482
'label' => __( 'Filter By Tag', 'premium-addons-for-elementor' ),
1613
1614
$key = 'post_' . $post_id;
1615
1616
+ $tax_key = sprintf( '%s_tax', $key );
1617
+
1618
+ $wrap_key = sprintf( '%s_wrap', $key );
1619
+
1620
+ $content_key = sprintf( '%s_content', $key );
1621
+
1622
+ $this->add_render_attribute( $tax_key, 'class', 'premium-blog-post-outer-container' );
1623
1624
$this->add_render_attribute( $wrap_key, 'class', [
1625
'premium-blog-post-container',
1635
foreach( $categories as $index => $category ) {
1636
1637
$category = str_replace( ' ', '-', $category->cat_name );
1638
+
1639
+ $this->add_render_attribute( $tax_key, 'class', strtolower( $category ) );
1640
}
1641
1642
}
1643
1644
$this->add_render_attribute( $content_key, 'class', [
1645
'premium-blog-content-wrapper',
1646
$thumb,
1647
] );
1648
1649
?>
1650
+ <div <?php echo $this->get_render_attribute_string( $tax_key ); ?>>
1651
<div <?php echo $this->get_render_attribute_string( $wrap_key ); ?>>
1652
<div class="premium-blog-thumb-effect-wrapper">
1653
<div class="premium-blog-thumbnail-container <?php echo 'premium-blog-' . $image_effect . '-effect';?>">