Version Description
- Tweak: Added
Loop
andMute
options for Vimeo type videos in Premium Video Box widget. - Fixed: Vimeo videos error message in Premium Video Box widget.
Download this release
Release Info
Developer | leap13 |
Plugin | Premium Addons for Elementor |
Version | 2.9.4 |
Comparing to | |
See all releases |
Code changes from version 2.9.3 to 2.9.4
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 2.9.
|
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 2.9.3</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>
|
assets/css/premium-addons.css
CHANGED
@@ -1237,7 +1237,7 @@ button.premium-modal-box-modal-close {
|
|
1237 |
}
|
1238 |
/* prevent Scroll on body */
|
1239 |
.premium-modal-open {
|
1240 |
-
overflow: hidden
|
1241 |
/* height: 100vh;*/
|
1242 |
}
|
1243 |
@media (min-width:768px) {
|
1237 |
}
|
1238 |
/* prevent Scroll on body */
|
1239 |
.premium-modal-open {
|
1240 |
+
/* overflow: hidden;*/
|
1241 |
/* height: 100vh;*/
|
1242 |
}
|
1243 |
@media (min-width:768px) {
|
elementor-helper.php → includes/elementor-helper.php
RENAMED
@@ -1,85 +1,85 @@
|
|
1 |
-
<?php
|
2 |
-
namespace Elementor;
|
3 |
-
|
4 |
-
|
5 |
-
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
6 |
-
|
7 |
-
|
8 |
-
/**
|
9 |
-
* premium_Templat_Tags class defines all the query of options of select box
|
10 |
-
*
|
11 |
-
* Setting up the helper assets of the premium widgets
|
12 |
-
*
|
13 |
-
* @since 1.0
|
14 |
-
*/
|
15 |
-
|
16 |
-
class premium_Template_Tags {
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Instance of this class
|
20 |
-
* @since 1.0
|
21 |
-
*/
|
22 |
-
|
23 |
-
protected static $instance;
|
24 |
-
|
25 |
-
|
26 |
-
/**
|
27 |
-
* $options is option field of select
|
28 |
-
*
|
29 |
-
* @access protected
|
30 |
-
*
|
31 |
-
* @since 1.0
|
32 |
-
*/
|
33 |
-
protected $options;
|
34 |
-
|
35 |
-
/**
|
36 |
-
* set instance of this class
|
37 |
-
*/
|
38 |
-
|
39 |
-
public static function getInstance() {
|
40 |
-
if( !static::$instance ) {
|
41 |
-
static::$instance = new self;
|
42 |
-
}
|
43 |
-
return static::$instance;
|
44 |
-
}
|
45 |
-
|
46 |
-
|
47 |
-
public function get_all_post() {
|
48 |
-
|
49 |
-
$post_types = get_post_types();
|
50 |
-
$post_type_not__in = array('attachment', 'revision', 'nav_menu_item', 'custom_css', 'customize_changeset', 'elementor_library', 'post');
|
51 |
-
|
52 |
-
foreach ( $post_type_not__in as $post_type_not ) {
|
53 |
-
unset( $post_types[$post_type_not] );
|
54 |
-
}
|
55 |
-
$post_type = array_values( $post_types );
|
56 |
-
|
57 |
-
|
58 |
-
$all_posts = get_posts( array(
|
59 |
-
'posts_per_page' => -1,
|
60 |
-
'post_type' => 'page',
|
61 |
-
)
|
62 |
-
);
|
63 |
-
if( !empty( $all_posts ) && !is_wp_error( $all_posts ) ) {
|
64 |
-
foreach ( $all_posts as $post ) {
|
65 |
-
$this->options[ $post->ID ] = strlen( $post->post_title ) > 20 ? substr( $post->post_title, 0, 20 ).'...' : $post->post_title;
|
66 |
-
}
|
67 |
-
}
|
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,
|
75 |
-
));
|
76 |
-
|
77 |
-
if ( ! empty( $pagelist ) && ! is_wp_error( $pagelist ) ){
|
78 |
-
foreach ( $pagelist as $post ) {
|
79 |
-
$options[ $post->ID ] = __( $post->post_title, 'premium-addons-for-elementor' );
|
80 |
-
}
|
81 |
-
update_option( 'temp_count', $options );
|
82 |
-
return $options;
|
83 |
-
}
|
84 |
-
}
|
85 |
-
}
|
1 |
+
<?php
|
2 |
+
namespace Elementor;
|
3 |
+
|
4 |
+
|
5 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
6 |
+
|
7 |
+
|
8 |
+
/**
|
9 |
+
* premium_Templat_Tags class defines all the query of options of select box
|
10 |
+
*
|
11 |
+
* Setting up the helper assets of the premium widgets
|
12 |
+
*
|
13 |
+
* @since 1.0
|
14 |
+
*/
|
15 |
+
|
16 |
+
class premium_Template_Tags {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Instance of this class
|
20 |
+
* @since 1.0
|
21 |
+
*/
|
22 |
+
|
23 |
+
protected static $instance;
|
24 |
+
|
25 |
+
|
26 |
+
/**
|
27 |
+
* $options is option field of select
|
28 |
+
*
|
29 |
+
* @access protected
|
30 |
+
*
|
31 |
+
* @since 1.0
|
32 |
+
*/
|
33 |
+
protected $options;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* set instance of this class
|
37 |
+
*/
|
38 |
+
|
39 |
+
public static function getInstance() {
|
40 |
+
if( !static::$instance ) {
|
41 |
+
static::$instance = new self;
|
42 |
+
}
|
43 |
+
return static::$instance;
|
44 |
+
}
|
45 |
+
|
46 |
+
|
47 |
+
public function get_all_post() {
|
48 |
+
|
49 |
+
$post_types = get_post_types();
|
50 |
+
$post_type_not__in = array('attachment', 'revision', 'nav_menu_item', 'custom_css', 'customize_changeset', 'elementor_library', 'post');
|
51 |
+
|
52 |
+
foreach ( $post_type_not__in as $post_type_not ) {
|
53 |
+
unset( $post_types[$post_type_not] );
|
54 |
+
}
|
55 |
+
$post_type = array_values( $post_types );
|
56 |
+
|
57 |
+
|
58 |
+
$all_posts = get_posts( array(
|
59 |
+
'posts_per_page' => -1,
|
60 |
+
'post_type' => 'page',
|
61 |
+
)
|
62 |
+
);
|
63 |
+
if( !empty( $all_posts ) && !is_wp_error( $all_posts ) ) {
|
64 |
+
foreach ( $all_posts as $post ) {
|
65 |
+
$this->options[ $post->ID ] = strlen( $post->post_title ) > 20 ? substr( $post->post_title, 0, 20 ).'...' : $post->post_title;
|
66 |
+
}
|
67 |
+
}
|
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,
|
75 |
+
));
|
76 |
+
|
77 |
+
if ( ! empty( $pagelist ) && ! is_wp_error( $pagelist ) ){
|
78 |
+
foreach ( $pagelist as $post ) {
|
79 |
+
$options[ $post->ID ] = __( $post->post_title, 'premium-addons-for-elementor' );
|
80 |
+
}
|
81 |
+
update_option( 'temp_count', $options );
|
82 |
+
return $options;
|
83 |
+
}
|
84 |
+
}
|
85 |
+
}
|
premium-addons-for-elementor.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 21+ premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
-
Version: 2.9.
|
7 |
Author: Leap13
|
8 |
Author URI: http://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
@@ -21,13 +21,13 @@ if (! function_exists('add_action')) {
|
|
21 |
|
22 |
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
23 |
|
24 |
-
|
25 |
-
define('PREMIUM_ADDONS_VERSION', '2.9.
|
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.9.
|
31 |
|
32 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
33 |
/*
|
@@ -115,10 +115,9 @@ if( ! class_exists('Premium_Addons_Elementor') ) {
|
|
115 |
}
|
116 |
|
117 |
require_once (PREMIUM_ADDONS_PATH . 'includes/helper-functions.php');
|
|
|
118 |
require_once (PREMIUM_ADDONS_PATH . 'admin/settings/gomaps.php');
|
119 |
require_once (PREMIUM_ADDONS_PATH . 'admin/settings/elements.php');
|
120 |
-
require_once (PREMIUM_ADDONS_PATH . 'elementor-helper.php');
|
121 |
-
|
122 |
}
|
123 |
|
124 |
/**
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 21+ premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
+
Version: 2.9.4
|
7 |
Author: Leap13
|
8 |
Author URI: http://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
21 |
|
22 |
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
23 |
|
24 |
+
// Define Constants
|
25 |
+
define('PREMIUM_ADDONS_VERSION', '2.9.4');
|
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.9.3');
|
31 |
|
32 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
33 |
/*
|
115 |
}
|
116 |
|
117 |
require_once (PREMIUM_ADDONS_PATH . 'includes/helper-functions.php');
|
118 |
+
require_once (PREMIUM_ADDONS_PATH . 'includes/elementor-helper.php');
|
119 |
require_once (PREMIUM_ADDONS_PATH . 'admin/settings/gomaps.php');
|
120 |
require_once (PREMIUM_ADDONS_PATH . 'admin/settings/elements.php');
|
|
|
|
|
121 |
}
|
122 |
|
123 |
/**
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Donate link: http://premiumaddons.com
|
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.0.2
|
7 |
Requires PHP: 5.4
|
8 |
-
Stable tag: 2.9.
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
@@ -137,6 +137,11 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
|
|
137 |
|
138 |
== Changelog ==
|
139 |
|
|
|
|
|
|
|
|
|
|
|
140 |
= 2.9.3 =
|
141 |
|
142 |
- Tweak: Unnecessary `esc_html()` function removed.
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.0.2
|
7 |
Requires PHP: 5.4
|
8 |
+
Stable tag: 2.9.4
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
137 |
|
138 |
== Changelog ==
|
139 |
|
140 |
+
= 2.9.4 =
|
141 |
+
|
142 |
+
- Tweak: Added `Loop` and `Mute` options for Vimeo type videos in Premium Video Box widget.
|
143 |
+
- Fixed: Vimeo videos error message in Premium Video Box widget.
|
144 |
+
|
145 |
= 2.9.3 =
|
146 |
|
147 |
- Tweak: Unnecessary `esc_html()` function removed.
|
widgets/premium-videobox.php
CHANGED
@@ -144,10 +144,7 @@ class Premium_Videobox extends Widget_Base {
|
|
144 |
[
|
145 |
'label' => esc_html__('Mute', 'premium-addons-for-elementor'),
|
146 |
'type' => Controls_Manager::SWITCHER,
|
147 |
-
'description' => esc_html__('This will play the video muted')
|
148 |
-
'condition' => [
|
149 |
-
'premium_video_box_video_type!' => 'vimeo',
|
150 |
-
]
|
151 |
]
|
152 |
);
|
153 |
|
@@ -156,9 +153,6 @@ class Premium_Videobox extends Widget_Base {
|
|
156 |
[
|
157 |
'label' => esc_html__('Loop', 'premium-addons-for-elementor'),
|
158 |
'type' => Controls_Manager::SWITCHER,
|
159 |
-
'condition' => [
|
160 |
-
'premium_video_box_video_type!' => 'vimeo',
|
161 |
-
]
|
162 |
]
|
163 |
);
|
164 |
|
@@ -582,7 +576,7 @@ class Premium_Videobox extends Widget_Base {
|
|
582 |
|
583 |
$options = '?rel=';
|
584 |
$options .= 'yes' == $related ? '1' : '0';
|
585 |
-
$options .= '&mute=';
|
586 |
$options .= 'yes' == $mute ? '1' : '0';
|
587 |
$options .= '&loop=';
|
588 |
$options .= 'yes' == $loop ? '1' : '0';
|
@@ -600,7 +594,6 @@ class Premium_Videobox extends Widget_Base {
|
|
600 |
$video_params .= 'loop ';
|
601 |
}
|
602 |
|
603 |
-
|
604 |
?>
|
605 |
|
606 |
<div class="premium-video-box-container" id="premium-video-box-container-<?php echo esc_attr( $this->get_id() ); ?>" data-type='<?php echo $video_type; ?>'>
|
@@ -615,10 +608,10 @@ class Premium_Videobox extends Widget_Base {
|
|
615 |
<?php endif; ?>
|
616 |
<?php } elseif ( $video_type === 'vimeo'){ ?>
|
617 |
<?php if ( $video_url_type === 'id' && !empty( $video_id ) ) : ?>
|
618 |
-
<iframe src="https://player.vimeo.com/video/<?php echo $video_id; ?>" frameborder="0"
|
619 |
</iframe>
|
620 |
<?php elseif ( $video_url_type === 'embed' && !empty( $video_embed ) ) : ?>
|
621 |
-
<iframe src="<?php echo $video_embed;
|
622 |
</iframe>
|
623 |
<?php endif; ?>
|
624 |
<?php } elseif ( $video_type === 'self'){ ?>
|
144 |
[
|
145 |
'label' => esc_html__('Mute', 'premium-addons-for-elementor'),
|
146 |
'type' => Controls_Manager::SWITCHER,
|
147 |
+
'description' => esc_html__('This will play the video muted')
|
|
|
|
|
|
|
148 |
]
|
149 |
);
|
150 |
|
153 |
[
|
154 |
'label' => esc_html__('Loop', 'premium-addons-for-elementor'),
|
155 |
'type' => Controls_Manager::SWITCHER,
|
|
|
|
|
|
|
156 |
]
|
157 |
);
|
158 |
|
576 |
|
577 |
$options = '?rel=';
|
578 |
$options .= 'yes' == $related ? '1' : '0';
|
579 |
+
$options .= 'youtube' == $video_type ? '&mute=' : '&muted=';
|
580 |
$options .= 'yes' == $mute ? '1' : '0';
|
581 |
$options .= '&loop=';
|
582 |
$options .= 'yes' == $loop ? '1' : '0';
|
594 |
$video_params .= 'loop ';
|
595 |
}
|
596 |
|
|
|
597 |
?>
|
598 |
|
599 |
<div class="premium-video-box-container" id="premium-video-box-container-<?php echo esc_attr( $this->get_id() ); ?>" data-type='<?php echo $video_type; ?>'>
|
608 |
<?php endif; ?>
|
609 |
<?php } elseif ( $video_type === 'vimeo'){ ?>
|
610 |
<?php if ( $video_url_type === 'id' && !empty( $video_id ) ) : ?>
|
611 |
+
<iframe src="https://player.vimeo.com/video/<?php echo $video_id . $options; ?>" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="">
|
612 |
</iframe>
|
613 |
<?php elseif ( $video_url_type === 'embed' && !empty( $video_embed ) ) : ?>
|
614 |
+
<iframe src="<?php echo $video_embed . $options; ?>" frameborder="0" top="0" webkitallowfullscreen mozallowfullscreen allowfullscreen>
|
615 |
</iframe>
|
616 |
<?php endif; ?>
|
617 |
<?php } elseif ( $video_type === 'self'){ ?>
|