Version Description
- Fixed: `Notice: Undefined variable: col_number in /premium-blog.php on line 1752'
- Fixed: Fatal error when WPML Multilingual inactive and WPML Strings Translation active.
- Fixed: Margin Top/Bottom issue with multiple Carousel widgets on the same page.
Download this release
Release Info
Developer | leap13 |
Plugin | Premium Addons for Elementor |
Version | 3.6.6 |
Comparing to | |
See all releases |
Code changes from version 3.6.5 to 3.6.6
- admin/includes/version-control.php +1 -1
- assets/frontend/js/premium-addons.js +185 -216
- assets/frontend/js/premium-vscroll.js +41 -126
- includes/compatibility/class-premium-addons-wpml.php +7 -3
- premium-addons-for-elementor.php +3 -3
- readme.txt +7 -1
- widgets/premium-blog.php +3 -0
- widgets/premium-grid.php +3 -4
- widgets/premium-person.php +1 -1
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.
|
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.5', '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>
|
assets/frontend/js/premium-addons.js
CHANGED
@@ -380,246 +380,215 @@
|
|
380 |
|
381 |
/****** Premium Carousel Handler ******/
|
382 |
var PremiumCarouselHandler = function ($scope, $) {
|
383 |
-
|
|
|
|
|
|
|
384 |
|
385 |
-
|
386 |
-
.find(".premium-carousel-wrapper")
|
387 |
-
.each(function () {
|
388 |
-
var $carouselElement = $(this);
|
389 |
-
var carouselSettings = $(this).data("settings");
|
390 |
|
391 |
-
|
392 |
-
|
393 |
|
394 |
-
|
|
|
|
|
395 |
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
|
404 |
-
|
405 |
-
|
406 |
-
}
|
407 |
|
408 |
-
|
409 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410 |
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
var templateID = $(slide).data("template");
|
416 |
-
|
417 |
-
if (undefined !== templateID) {
|
418 |
-
$.ajax({
|
419 |
-
type: "GET",
|
420 |
-
url: PremiumProSettings.ajaxurl,
|
421 |
-
dataType: "html",
|
422 |
-
data: {
|
423 |
-
action:
|
424 |
-
"get_elementor_template_content",
|
425 |
-
templateID: templateID
|
426 |
-
}
|
427 |
-
}).success(function (response) {
|
428 |
-
var data = JSON.parse(response).data;
|
429 |
-
|
430 |
-
if (undefined !== data.template_content) {
|
431 |
-
$(slide).html(data.template_content);
|
432 |
-
|
433 |
-
$carouselElement
|
434 |
-
.find(".premium-carousel-inner")
|
435 |
-
.slick("refresh");
|
436 |
-
}
|
437 |
-
});
|
438 |
}
|
439 |
});
|
|
|
|
|
440 |
|
441 |
-
|
442 |
-
}
|
443 |
|
444 |
-
|
445 |
-
|
446 |
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
$this = $(this);
|
451 |
-
$this.addClass($this.data("animation"));
|
452 |
-
});
|
453 |
-
|
454 |
-
$(".slick-track").addClass("translate");
|
455 |
});
|
456 |
|
457 |
-
$(
|
458 |
-
|
459 |
-
.slick({
|
460 |
-
vertical: carouselSettings["vertical"],
|
461 |
-
slidesToScroll: carouselSettings["slidesToScroll"],
|
462 |
-
slidesToShow: carouselSettings["slidesToShow"],
|
463 |
-
responsive: [
|
464 |
-
{
|
465 |
-
breakpoint: carouselSettings["tabletBreak"],
|
466 |
-
settings: {
|
467 |
-
slidesToShow: carouselSettings["slidesTab"],
|
468 |
-
slidesToScroll:
|
469 |
-
carouselSettings["slidesTab"]
|
470 |
-
}
|
471 |
-
},
|
472 |
-
{
|
473 |
-
breakpoint: carouselSettings["mobileBreak"],
|
474 |
-
settings: {
|
475 |
-
slidesToShow: carouselSettings["slidesMob"],
|
476 |
-
slidesToScroll:
|
477 |
-
carouselSettings["slidesMob"]
|
478 |
-
}
|
479 |
-
}
|
480 |
-
],
|
481 |
-
fade: carouselSettings["fade"],
|
482 |
-
infinite: carouselSettings["infinite"],
|
483 |
-
speed: carouselSettings["speed"],
|
484 |
-
autoplay: carouselSettings["autoplay"],
|
485 |
-
autoplaySpeed: carouselSettings["autoplaySpeed"],
|
486 |
-
draggable: carouselSettings["draggable"],
|
487 |
-
touchMove: carouselSettings["touchMove"],
|
488 |
-
rtl: carouselSettings["rtl"],
|
489 |
-
useTransform: true,
|
490 |
-
adaptiveHeight: carouselSettings["adaptiveHeight"],
|
491 |
-
pauseOnHover: carouselSettings["pauseOnHover"],
|
492 |
-
centerMode: carouselSettings["centerMode"],
|
493 |
-
centerPadding: carouselSettings["centerPadding"],
|
494 |
-
arrows: carouselSettings["arrows"],
|
495 |
-
nextArrow: carouselSettings["nextArrow"],
|
496 |
-
prevArrow: carouselSettings["prevArrow"],
|
497 |
-
dots: carouselSettings["dots"],
|
498 |
-
customPaging: function (slider, i) {
|
499 |
-
return (
|
500 |
-
'<i class="' +
|
501 |
-
carouselSettings["customPaging"] +
|
502 |
-
'"></i>'
|
503 |
-
);
|
504 |
-
}
|
505 |
-
});
|
506 |
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
slideToAnimate = currentSlide + slidesToShow - 1;
|
518 |
-
if (slidesScrolled == 1) {
|
519 |
-
if (centerMode == true) {
|
520 |
-
animate = slideToAnimate - 2;
|
521 |
-
$inViewPort = $(this).find(
|
522 |
-
"[data-slick-index='" + animate + "']"
|
523 |
-
);
|
524 |
-
//$inViewPort.addClass($inViewPort.data("animation"));
|
525 |
-
} else {
|
526 |
-
$inViewPort = $(this).find(
|
527 |
-
"[data-slick-index='" + slideToAnimate + "']"
|
528 |
-
);
|
529 |
-
if ("null" != carouselSettings["animation"]) {
|
530 |
-
$inViewPort
|
531 |
-
.find(
|
532 |
-
"p, h1, h2, h3, h4, h5, h6, span, a, img, i, button"
|
533 |
-
)
|
534 |
-
.addClass(carouselSettings["animation"])
|
535 |
-
.removeClass(
|
536 |
-
"premium-carousel-content-hidden"
|
537 |
-
);
|
538 |
-
}
|
539 |
}
|
540 |
-
}
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
$inViewPort = $(this).find(
|
547 |
-
"[data-slick-index='" + i + "']"
|
548 |
-
);
|
549 |
-
if ("null" != carouselSettings["animation"]) {
|
550 |
-
$inViewPort
|
551 |
-
.find(
|
552 |
-
"p, h1, h2, h3, h4, h5, h6, span, a, img, i, button"
|
553 |
-
)
|
554 |
-
.addClass(carouselSettings["animation"])
|
555 |
-
.removeClass(
|
556 |
-
"premium-carousel-content-hidden"
|
557 |
-
);
|
558 |
-
}
|
559 |
}
|
560 |
}
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
570 |
);
|
571 |
-
if ("null" != carouselSettings["animation"]) {
|
572 |
-
$inViewPort
|
573 |
-
.siblings()
|
574 |
-
.find(
|
575 |
-
"p, h1, h2, h3, h4, h5, h6, span, a, img, i, button"
|
576 |
-
)
|
577 |
-
.removeClass(carouselSettings["animation"])
|
578 |
-
.addClass("premium-carousel-content-hidden");
|
579 |
-
}
|
580 |
-
});
|
581 |
-
if (carouselSettings["vertical"]) {
|
582 |
-
var maxHeight = -1;
|
583 |
-
$(".slick-slide").each(function () {
|
584 |
-
if ($(this).height() > maxHeight) {
|
585 |
-
maxHeight = $(this).height();
|
586 |
-
}
|
587 |
-
});
|
588 |
-
$(".slick-slide").each(function () {
|
589 |
-
if ($(this).height() < maxHeight) {
|
590 |
-
$(this).css(
|
591 |
-
"margin",
|
592 |
-
Math.ceil((maxHeight - $(this).height()) / 2) +
|
593 |
-
"px 0"
|
594 |
-
);
|
595 |
-
}
|
596 |
-
});
|
597 |
}
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
616 |
}
|
617 |
}
|
618 |
-
}
|
619 |
-
marginFix.setWidth();
|
620 |
-
marginFix.element = $("a.carousel-arrow");
|
621 |
-
marginFix.setWidth("horizontal");
|
622 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
623 |
};
|
624 |
|
625 |
/****** Premium Banner Handler ******/
|
380 |
|
381 |
/****** Premium Carousel Handler ******/
|
382 |
var PremiumCarouselHandler = function ($scope, $) {
|
383 |
+
|
384 |
+
var carouselElement = $scope.find(".premium-carousel-wrapper"),
|
385 |
+
carouselSettings = $( carouselElement ).data("settings"),
|
386 |
+
isEdit = elementorFrontend.isEditMode();
|
387 |
|
388 |
+
function slideToShow( slick ) {
|
|
|
|
|
|
|
|
|
389 |
|
390 |
+
var slidesToShow = slick.options.slidesToShow,
|
391 |
+
windowWidth = $( window ).width();
|
392 |
|
393 |
+
if ( windowWidth > carouselSettings["tabletBreak"] ) {
|
394 |
+
slidesToShow = carouselSettings["slidesDesk"];
|
395 |
+
}
|
396 |
|
397 |
+
if ( windowWidth <= carouselSettings["tabletBreak"] ) {
|
398 |
+
slidesToShow = carouselSettings["slidesTab"];
|
399 |
+
}
|
400 |
|
401 |
+
if ( windowWidth <= carouselSettings["mobileBreak"] ) {
|
402 |
+
slidesToShow = carouselSettings["slidesMob"];
|
403 |
+
}
|
404 |
|
405 |
+
return slidesToShow;
|
406 |
+
}
|
|
|
407 |
|
408 |
+
if ( isEdit ) {
|
409 |
+
carouselElement.find(".item-wrapper").each(function ( index, slide ) {
|
410 |
+
|
411 |
+
var templateID = $(slide).data("template");
|
412 |
+
|
413 |
+
if (undefined !== templateID) {
|
414 |
+
$.ajax({
|
415 |
+
type: "GET",
|
416 |
+
url: PremiumProSettings.ajaxurl,
|
417 |
+
dataType: "html",
|
418 |
+
data: {
|
419 |
+
action:
|
420 |
+
"get_elementor_template_content",
|
421 |
+
templateID: templateID
|
422 |
+
}
|
423 |
+
}).success(function (response) {
|
424 |
+
var data = JSON.parse(response).data;
|
425 |
|
426 |
+
if (undefined !== data.template_content) {
|
427 |
+
$(slide).html(data.template_content);
|
428 |
+
|
429 |
+
carouselElement.find(".premium-carousel-inner").slick("refresh");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
430 |
}
|
431 |
});
|
432 |
+
}
|
433 |
+
});
|
434 |
|
435 |
+
}
|
|
|
436 |
|
437 |
+
carouselElement.on("init", function (event) {
|
438 |
+
event.preventDefault();
|
439 |
|
440 |
+
$(this).find("item-wrapper.slick-active").each(function () {
|
441 |
+
var $this = $( this );
|
442 |
+
$this.addClass($this.data("animation"));
|
|
|
|
|
|
|
|
|
|
|
443 |
});
|
444 |
|
445 |
+
$(".slick-track").addClass("translate");
|
446 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
447 |
|
448 |
+
carouselElement.find(".premium-carousel-inner").slick({
|
449 |
+
vertical: carouselSettings["vertical"],
|
450 |
+
slidesToScroll: carouselSettings["slidesToScroll"],
|
451 |
+
slidesToShow: carouselSettings["slidesToShow"],
|
452 |
+
responsive: [
|
453 |
+
{
|
454 |
+
breakpoint: carouselSettings["tabletBreak"],
|
455 |
+
settings: {
|
456 |
+
slidesToShow: carouselSettings["slidesTab"],
|
457 |
+
slidesToScroll: carouselSettings["slidesTab"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
458 |
}
|
459 |
+
},
|
460 |
+
{
|
461 |
+
breakpoint: carouselSettings["mobileBreak"],
|
462 |
+
settings: {
|
463 |
+
slidesToShow: carouselSettings["slidesMob"],
|
464 |
+
slidesToScroll: carouselSettings["slidesMob"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
465 |
}
|
466 |
}
|
467 |
+
],
|
468 |
+
useTransform: true,
|
469 |
+
fade: carouselSettings["fade"],
|
470 |
+
infinite: carouselSettings["infinite"],
|
471 |
+
speed: carouselSettings["speed"],
|
472 |
+
autoplay: carouselSettings["autoplay"],
|
473 |
+
autoplaySpeed: carouselSettings["autoplaySpeed"],
|
474 |
+
draggable: carouselSettings["draggable"],
|
475 |
+
touchMove: carouselSettings["touchMove"],
|
476 |
+
rtl: carouselSettings["rtl"],
|
477 |
+
adaptiveHeight: carouselSettings["adaptiveHeight"],
|
478 |
+
pauseOnHover: carouselSettings["pauseOnHover"],
|
479 |
+
centerMode: carouselSettings["centerMode"],
|
480 |
+
centerPadding: carouselSettings["centerPadding"],
|
481 |
+
arrows: carouselSettings["arrows"],
|
482 |
+
nextArrow: carouselSettings["nextArrow"],
|
483 |
+
prevArrow: carouselSettings["prevArrow"],
|
484 |
+
dots: carouselSettings["dots"],
|
485 |
+
customPaging: function ( slider, i ) {
|
486 |
+
return (
|
487 |
+
'<i class="' +
|
488 |
+
carouselSettings["customPaging"] +
|
489 |
+
'"></i>'
|
490 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
491 |
}
|
492 |
+
});
|
493 |
+
|
494 |
+
carouselElement.on("afterChange", function ( event, slick, currentSlide ) {
|
495 |
+
|
496 |
+
var slidesScrolled = slick.options.slidesToScroll,
|
497 |
+
slidesToShow = slideToShow( slick ),
|
498 |
+
centerMode = slick.options.centerMode,
|
499 |
+
slideToAnimate = currentSlide + slidesToShow - 1;
|
500 |
+
|
501 |
+
if (slidesScrolled === 1) {
|
502 |
+
if ( ! centerMode === true ) {
|
503 |
+
var $inViewPort = $(this).find( "[data-slick-index='" + slideToAnimate + "']" );
|
504 |
+
|
505 |
+
if ( "null" != carouselSettings["animation"] ) {
|
506 |
+
$inViewPort.find( "p, h1, h2, h3, h4, h5, h6, span, a, img, i, button").addClass(carouselSettings["animation"]).removeClass("premium-carousel-content-hidden");
|
507 |
+
}
|
508 |
+
}
|
509 |
+
} else {
|
510 |
+
for (
|
511 |
+
var i = slidesScrolled + currentSlide;
|
512 |
+
i >= 0;
|
513 |
+
i--
|
514 |
+
) {
|
515 |
+
$inViewPort = $(this).find(
|
516 |
+
"[data-slick-index='" + i + "']"
|
517 |
+
);
|
518 |
+
if ( "null" != carouselSettings["animation"] ) {
|
519 |
+
$inViewPort
|
520 |
+
.find(
|
521 |
+
"p, h1, h2, h3, h4, h5, h6, span, a, img, i, button"
|
522 |
+
)
|
523 |
+
.addClass(carouselSettings["animation"])
|
524 |
+
.removeClass(
|
525 |
+
"premium-carousel-content-hidden"
|
526 |
+
);
|
527 |
}
|
528 |
}
|
529 |
+
}
|
|
|
|
|
|
|
530 |
});
|
531 |
+
|
532 |
+
carouselElement.on("beforeChange", function ( event, slick, currentSlide ) {
|
533 |
+
var $inViewPort = $(this).find( "[data-slick-index='" + currentSlide + "']" );
|
534 |
+
|
535 |
+
if ("null" != carouselSettings["animation"]) {
|
536 |
+
$inViewPort
|
537 |
+
.siblings()
|
538 |
+
.find(
|
539 |
+
"p, h1, h2, h3, h4, h5, h6, span, a, img, i, button"
|
540 |
+
)
|
541 |
+
.removeClass(carouselSettings["animation"])
|
542 |
+
.addClass("premium-carousel-content-hidden");
|
543 |
+
}
|
544 |
+
});
|
545 |
+
|
546 |
+
if ( carouselSettings["vertical"] ) {
|
547 |
+
|
548 |
+
var maxHeight = -1;
|
549 |
+
|
550 |
+
carouselElement.find(".slick-slide").each(function () {
|
551 |
+
|
552 |
+
if ( $( this ).height() > maxHeight ) {
|
553 |
+
|
554 |
+
maxHeight = $( this ).height();
|
555 |
+
|
556 |
+
}
|
557 |
+
});
|
558 |
+
|
559 |
+
carouselElement.find(".slick-slide").each(function () {
|
560 |
+
if ( $( this ).height() < maxHeight ) {
|
561 |
+
$(this).css( "margin", Math.ceil(( maxHeight - $( this ).height() ) / 2 ) + "px 0" );
|
562 |
+
}
|
563 |
+
});
|
564 |
+
}
|
565 |
+
|
566 |
+
var marginFix = {
|
567 |
+
element: $( "a.ver-carousel-arrow" ),
|
568 |
+
getWidth: function () {
|
569 |
+
var width = this.element.outerWidth();
|
570 |
+
|
571 |
+
return width / 2;
|
572 |
+
},
|
573 |
+
setWidth: function ( type ) {
|
574 |
+
|
575 |
+
type = type || "vertical";
|
576 |
+
|
577 |
+
if ( type == "vertical" ) {
|
578 |
+
|
579 |
+
this.element.css( "margin-left", "-" + this.getWidth() + "px" );
|
580 |
+
|
581 |
+
} else {
|
582 |
+
|
583 |
+
this.element.css( "margin-top", "-" + this.getWidth() + "px" );
|
584 |
+
|
585 |
+
}
|
586 |
+
}
|
587 |
+
};
|
588 |
+
|
589 |
+
marginFix.setWidth();
|
590 |
+
marginFix.element = $( "a.carousel-arrow" );
|
591 |
+
marginFix.setWidth( "horizontal" );
|
592 |
};
|
593 |
|
594 |
/****** Premium Banner Handler ******/
|
assets/frontend/js/premium-vscroll.js
CHANGED
@@ -1,5 +1,3 @@
|
|
1 |
-
// Works on mobile but needs enhancements
|
2 |
-
|
3 |
(function($) {
|
4 |
/****** Premium Vertical Scroll Handler ******/
|
5 |
var PremiumVerticalScrollHandler = function( $scope, $ ) {
|
@@ -7,8 +5,6 @@
|
|
7 |
instance = null,
|
8 |
vScrollSettings = vScrollElem.data("settings");
|
9 |
|
10 |
-
// var touch = vScrollSettings.touch;
|
11 |
-
|
12 |
instance = new premiumVerticalScroll(vScrollElem, vScrollSettings);
|
13 |
instance.init();
|
14 |
|
@@ -286,24 +282,6 @@
|
|
286 |
|
287 |
$( ".premium-vscroll-tooltip" ).hide();
|
288 |
|
289 |
-
// if ( dotIndex === $itemsList.length - 1 && ! $vTarget ) {
|
290 |
-
//
|
291 |
-
// $( ".premium-vscroll-dots, .premium-vscroll-nav-menu" ).addClass( "premium-vscroll-dots-hide" );
|
292 |
-
//
|
293 |
-
// } else if ( dotIndex === 0 && ! $vTarget ) {
|
294 |
-
//
|
295 |
-
// if ( $instance.offset().top - $( document ).scrollTop() > 200 ) {
|
296 |
-
//
|
297 |
-
// $( ".premium-vscroll-dots, .premium-vscroll-nav-menu" ).addClass( "premium-vscroll-dots-hide" );
|
298 |
-
//
|
299 |
-
// }
|
300 |
-
//
|
301 |
-
// } else {
|
302 |
-
//
|
303 |
-
// $( ".premium-vscroll-dots, .premium-vscroll-nav-menu" ).removeClass( "premium-vscroll-dots-hide" );
|
304 |
-
//
|
305 |
-
// }
|
306 |
-
|
307 |
if ( beforeCheck() ) {
|
308 |
|
309 |
sectionId = self.getFirstSection( sections );
|
@@ -325,127 +303,64 @@
|
|
325 |
direction = 'up';
|
326 |
|
327 |
}
|
328 |
-
|
329 |
-
// if ( Math.abs( touchStartY - touchEndY ) > ( window.innerHeight / 100 * 100 ) ) {
|
330 |
-
|
331 |
-
// if ( sectionId && sections.hasOwnProperty( sectionId ) ) {
|
332 |
-
//
|
333 |
-
// prevSectionId = self.checkPrevSection( sections, sectionId );
|
334 |
-
// nextSectionId = self.checkNextSection( sections, sectionId );
|
335 |
-
//
|
336 |
-
// if ( "up" === direction ) {
|
337 |
-
//
|
338 |
-
// if ( ! nextSectionId && sections[ sectionId ].offset < windowScrollTop ) {
|
339 |
-
// newSectionId = sectionId;
|
340 |
-
// } else {
|
341 |
-
// newSectionId = prevSectionId;
|
342 |
-
// }
|
343 |
-
// }
|
344 |
-
//
|
345 |
-
// if ( "down" === direction ) {
|
346 |
-
//
|
347 |
-
// if ( ! prevSectionId && sections[ sectionId ].offset > windowScrollTop + 5 ) {
|
348 |
-
// newSectionId = sectionId;
|
349 |
-
// } else {
|
350 |
-
// newSectionId = nextSectionId;
|
351 |
-
// }
|
352 |
-
// }
|
353 |
-
//
|
354 |
-
// if ( newSectionId ) {
|
355 |
-
//
|
356 |
-
// inScope = true;
|
357 |
-
//
|
358 |
-
// $( ".premium-vscroll-dots, .premium-vscroll-nav-menu" ).removeClass( "premium-vscroll-dots-hide" );
|
359 |
-
//
|
360 |
-
// self.scrolling( newSectionId );
|
361 |
-
//
|
362 |
-
// } else {
|
363 |
-
// inScope = false;
|
364 |
-
//
|
365 |
-
// var $lastselector = checkTemps ? $instance : $( "#" + sectionId );
|
366 |
-
//
|
367 |
-
// if ( "down" === direction ) {
|
368 |
-
//
|
369 |
-
// if ( $lastselector.offset().top + $lastselector.innerHeight() - $( document ).scrollTop() > 600 ) {
|
370 |
-
//
|
371 |
-
// $( ".premium-vscroll-dots, .premium-vscroll-nav-menu" ).addClass( "premium-vscroll-dots-hide" );
|
372 |
-
//
|
373 |
-
// }
|
374 |
-
//
|
375 |
-
// } else if ( "up" === direction ) {
|
376 |
-
//
|
377 |
-
// if ( $lastselector.offset().top - $( document ).scrollTop() > 200 ) {
|
378 |
-
//
|
379 |
-
// $(".premium-vscroll-dots, .premium-vscroll-nav-menu").addClass( "premium-vscroll-dots-hide" );
|
380 |
-
//
|
381 |
-
// }
|
382 |
-
//
|
383 |
-
// }
|
384 |
-
// }
|
385 |
-
//
|
386 |
-
// }
|
387 |
-
|
388 |
-
// } else {
|
389 |
|
390 |
-
|
391 |
-
|
392 |
-
prevSectionId = self.checkPrevSection( sections, sectionId );
|
393 |
-
nextSectionId = self.checkNextSection( sections, sectionId );
|
394 |
-
|
395 |
-
if ( "up" === direction ) {
|
396 |
|
397 |
-
|
398 |
-
|
399 |
-
} else {
|
400 |
-
newSectionId = prevSectionId;
|
401 |
-
}
|
402 |
-
}
|
403 |
|
404 |
-
|
405 |
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
sectionChanged = 1;
|
411 |
-
}
|
412 |
}
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
self.scrolling( newSectionId );
|
421 |
-
|
422 |
} else {
|
423 |
-
|
424 |
-
|
425 |
-
|
|
|
|
|
|
|
426 |
|
427 |
-
|
428 |
|
429 |
-
|
430 |
|
431 |
-
|
432 |
|
433 |
-
|
|
|
434 |
|
435 |
-
|
436 |
|
437 |
-
|
438 |
|
439 |
-
|
440 |
|
441 |
-
|
442 |
|
443 |
-
|
444 |
-
}
|
445 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
446 |
}
|
447 |
-
|
448 |
-
|
449 |
|
450 |
};
|
451 |
|
|
|
|
|
1 |
(function($) {
|
2 |
/****** Premium Vertical Scroll Handler ******/
|
3 |
var PremiumVerticalScrollHandler = function( $scope, $ ) {
|
5 |
instance = null,
|
6 |
vScrollSettings = vScrollElem.data("settings");
|
7 |
|
|
|
|
|
8 |
instance = new premiumVerticalScroll(vScrollElem, vScrollSettings);
|
9 |
instance.init();
|
10 |
|
282 |
|
283 |
$( ".premium-vscroll-tooltip" ).hide();
|
284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
if ( beforeCheck() ) {
|
286 |
|
287 |
sectionId = self.getFirstSection( sections );
|
303 |
direction = 'up';
|
304 |
|
305 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
306 |
|
307 |
+
if ( sectionId && sections.hasOwnProperty( sectionId ) ) {
|
|
|
|
|
|
|
|
|
|
|
308 |
|
309 |
+
prevSectionId = self.checkPrevSection( sections, sectionId );
|
310 |
+
nextSectionId = self.checkNextSection( sections, sectionId );
|
|
|
|
|
|
|
|
|
311 |
|
312 |
+
if ( "up" === direction ) {
|
313 |
|
314 |
+
if ( ! nextSectionId && sections[ sectionId ].offset < windowScrollTop ) {
|
315 |
+
newSectionId = sectionId;
|
316 |
+
} else {
|
317 |
+
newSectionId = prevSectionId;
|
|
|
|
|
318 |
}
|
319 |
+
}
|
320 |
+
|
321 |
+
if ( "down" === direction ) {
|
322 |
+
|
323 |
+
if ( ! prevSectionId && sections[ sectionId ].offset > windowScrollTop + 5 || ! self.atBottom( sectionId ) ) {
|
324 |
+
newSectionId = sectionId;
|
|
|
|
|
|
|
325 |
} else {
|
326 |
+
newSectionId = nextSectionId;
|
327 |
+
sectionChanged = 1;
|
328 |
+
}
|
329 |
+
}
|
330 |
+
|
331 |
+
if ( newSectionId ) {
|
332 |
|
333 |
+
inScope = true;
|
334 |
|
335 |
+
$( ".premium-vscroll-dots, .premium-vscroll-nav-menu" ).removeClass( "premium-vscroll-dots-hide" );
|
336 |
|
337 |
+
self.scrolling( newSectionId );
|
338 |
|
339 |
+
} else {
|
340 |
+
inScope = false;
|
341 |
|
342 |
+
var $lastselector = checkTemps ? $instance : $( "#" + sectionId );
|
343 |
|
344 |
+
if ( "down" === direction ) {
|
345 |
|
346 |
+
if ( $lastselector.offset().top + $lastselector.innerHeight() - $( document ).scrollTop() > 600 ) {
|
347 |
|
348 |
+
$( ".premium-vscroll-dots, .premium-vscroll-nav-menu" ).addClass( "premium-vscroll-dots-hide" );
|
349 |
|
350 |
+
}
|
|
|
351 |
|
352 |
+
} else if ( "up" === direction ) {
|
353 |
+
|
354 |
+
if ( $lastselector.offset().top - $( document ).scrollTop() > 200 ) {
|
355 |
+
|
356 |
+
$(".premium-vscroll-dots, .premium-vscroll-nav-menu").addClass( "premium-vscroll-dots-hide" );
|
357 |
+
|
358 |
+
}
|
359 |
+
|
360 |
+
}
|
361 |
}
|
362 |
+
|
363 |
+
}
|
364 |
|
365 |
};
|
366 |
|
includes/compatibility/class-premium-addons-wpml.php
CHANGED
@@ -38,7 +38,7 @@ if ( ! class_exists ('Premium_Addons_Wpml') ) {
|
|
38 |
/*
|
39 |
* Is WPML Active
|
40 |
*
|
41 |
-
* Check if WPML String Translation active
|
42 |
*
|
43 |
* @since 3.1.9
|
44 |
* @access private
|
@@ -48,8 +48,12 @@ if ( ! class_exists ('Premium_Addons_Wpml') ) {
|
|
48 |
public static function is_wpml_active() {
|
49 |
|
50 |
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
|
|
53 |
|
54 |
}
|
55 |
|
38 |
/*
|
39 |
* Is WPML Active
|
40 |
*
|
41 |
+
* Check if WPML Multilingual CMS and WPML String Translation active
|
42 |
*
|
43 |
* @since 3.1.9
|
44 |
* @access private
|
48 |
public static function is_wpml_active() {
|
49 |
|
50 |
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
51 |
+
|
52 |
+
$wpml_active = is_plugin_active( 'sitepress-multilingual-cms/sitepress.php' );
|
53 |
+
|
54 |
+
$string_translation_active = is_plugin_active( 'wpml-string-translation/plugin.php' );
|
55 |
+
|
56 |
+
return $wpml_active && $string_translation_active;
|
57 |
|
58 |
}
|
59 |
|
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.
|
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.
|
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.
|
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.6
|
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.6');
|
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.5');
|
23 |
|
24 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
25 |
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Donate Link: https://premiumaddons.com/?utm_source=wp-repo&utm_medium=link&utm_c
|
|
5 |
Requires at Least: 4.5
|
6 |
Tested Up To: 5.2.2
|
7 |
Requires PHP: 5.4
|
8 |
-
Stable Tag: 3.6.
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
@@ -174,6 +174,12 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
|
|
174 |
|
175 |
== Changelog ==
|
176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
= 3.6.5 =
|
178 |
|
179 |
- Tweak: Added `Autoplay` option for self hosted videos in Video Box widget.
|
5 |
Requires at Least: 4.5
|
6 |
Tested Up To: 5.2.2
|
7 |
Requires PHP: 5.4
|
8 |
+
Stable Tag: 3.6.6
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
174 |
|
175 |
== Changelog ==
|
176 |
|
177 |
+
= 3.6.6 =
|
178 |
+
|
179 |
+
- Fixed: `Notice: Undefined variable: col_number in /premium-blog.php on line 1752'
|
180 |
+
- Fixed: Fatal error when WPML Multilingual inactive and WPML Strings Translation active.
|
181 |
+
- Fixed: Margin Top/Bottom issue with multiple Carousel widgets on the same page.
|
182 |
+
|
183 |
= 3.6.5 =
|
184 |
|
185 |
- Tweak: Added `Autoplay` option for self hosted videos in Video Box widget.
|
widgets/premium-blog.php
CHANGED
@@ -1728,6 +1728,9 @@ class Premium_Blog extends Widget_Base {
|
|
1728 |
$posts = premium_blog_get_post_data( $post_args, $paged , $new_offset );
|
1729 |
|
1730 |
switch( $settings['premium_blog_columns_number'] ) {
|
|
|
|
|
|
|
1731 |
case '50%' :
|
1732 |
$col_number = 'col-2';
|
1733 |
break;
|
1728 |
$posts = premium_blog_get_post_data( $post_args, $paged , $new_offset );
|
1729 |
|
1730 |
switch( $settings['premium_blog_columns_number'] ) {
|
1731 |
+
case '100%' :
|
1732 |
+
$col_number = 'col-1';
|
1733 |
+
break;
|
1734 |
case '50%' :
|
1735 |
$col_number = 'col-2';
|
1736 |
break;
|
widgets/premium-grid.php
CHANGED
@@ -88,11 +88,10 @@ class Premium_Grid extends Widget_Base {
|
|
88 |
);
|
89 |
|
90 |
$this->add_responsive_control('pemium_gallery_even_img_height',
|
91 |
-
[
|
92 |
-
|
93 |
'label_block' => true,
|
94 |
'size_units' => ['px', 'em', 'vh'],
|
95 |
-
'description' => __('You may need to click `Apply` button after settings this option', 'premium-addons-for-elementor'),
|
96 |
'type' => Controls_Manager::SLIDER,
|
97 |
'range' => [
|
98 |
'px' => [
|
@@ -109,7 +108,7 @@ class Premium_Grid extends Widget_Base {
|
|
109 |
'premium_gallery_img_size_select' => 'fitRows'
|
110 |
],
|
111 |
'selectors' => [
|
112 |
-
'{{WRAPPER}} .premium-gallery-item .pa-gallery-image' => '
|
113 |
]
|
114 |
]
|
115 |
);
|
88 |
);
|
89 |
|
90 |
$this->add_responsive_control('pemium_gallery_even_img_height',
|
91 |
+
[
|
92 |
+
'label' => __( 'Minimum Height', 'premium-addons-for-elementor' ),
|
93 |
'label_block' => true,
|
94 |
'size_units' => ['px', 'em', 'vh'],
|
|
|
95 |
'type' => Controls_Manager::SLIDER,
|
96 |
'range' => [
|
97 |
'px' => [
|
108 |
'premium_gallery_img_size_select' => 'fitRows'
|
109 |
],
|
110 |
'selectors' => [
|
111 |
+
'{{WRAPPER}} .premium-gallery-item .pa-gallery-image' => 'min-height: {{SIZE}}{{UNIT}}'
|
112 |
]
|
113 |
]
|
114 |
);
|
widgets/premium-person.php
CHANGED
@@ -666,7 +666,7 @@ class Premium_Person extends Widget_Base {
|
|
666 |
|
667 |
<div {{{ view.getRenderAttributeString('container') }}} >
|
668 |
<div class="premium-person-image-container">
|
669 |
-
<img src="{{ settings.premium_person_image.url}}" alt="{{ settings.premium_person_name }}">
|
670 |
</div>
|
671 |
<div class="premium-person-info">
|
672 |
<div class="premium-person-info-container">
|
666 |
|
667 |
<div {{{ view.getRenderAttributeString('container') }}} >
|
668 |
<div class="premium-person-image-container">
|
669 |
+
<img src="{{ settings.premium_person_image.url }}" alt="{{ settings.premium_person_name }}">
|
670 |
</div>
|
671 |
<div class="premium-person-info">
|
672 |
<div class="premium-person-info-container">
|