Version Description
(Feb 26, 2021) = * [Feature] Added the option to scroll to the top of any element or body in button widget. * [Bug-Fix] In some cases the background color of the checked radio button in the contact form widget was not working properly. This is fixed. * [Bug-Fix] In some cases the contact form custom template settings were not working properly. This is fixed. * [Bug-Fix] In some cases the default titles of the countdown were not shown in the countdown timer widget. This is fixed.
Download this release
Release Info
Developer | pagelayer |
Plugin | Page Builder: PageLayer – Drag and Drop website builder |
Version | 1.4.7 |
Comparing to | |
See all releases |
Code changes from version 1.4.6 to 1.4.7
- css/combined.css +4 -0
- css/pagelayer-editor.css +2 -0
- css/pagelayer-frontend.css +5 -1
- init.php +1 -1
- js/combined.js +77 -40
- js/pagelayer-editor.js +9 -3
- js/pagelayer-frontend.js +77 -40
- js/widgets.js +17 -4
- languages/en.json +5 -0
- main/ajax.php +5 -0
- main/shortcodes.php +53 -2
- main/template.php +4 -2
- pagelayer.php +1 -1
- readme.txt +7 -1
css/combined.css
CHANGED
@@ -3379,6 +3379,10 @@ box-shadow:0 0 5px 0px gray inset;
|
|
3379 |
padding: 0 !important;
|
3380 |
}
|
3381 |
|
|
|
|
|
|
|
|
|
3382 |
.pagelayer-contact-holder input[type='radio']:hover {
|
3383 |
box-shadow:0 0 5px 0px orange inset;
|
3384 |
}
|
3379 |
padding: 0 !important;
|
3380 |
}
|
3381 |
|
3382 |
+
.pagelayer-contact-holder input[type="radio"]:checked:before {
|
3383 |
+
background: #333333;
|
3384 |
+
}
|
3385 |
+
|
3386 |
.pagelayer-contact-holder input[type='radio']:hover {
|
3387 |
box-shadow:0 0 5px 0px orange inset;
|
3388 |
}
|
css/pagelayer-editor.css
CHANGED
@@ -1856,6 +1856,8 @@ box-sizing: border-box;
|
|
1856 |
line-height: 24px;
|
1857 |
border-radius: 4px;
|
1858 |
cursor: pointer;
|
|
|
|
|
1859 |
}
|
1860 |
|
1861 |
.pagelayer-dark .pagelayer-elp-typo-sele{
|
1856 |
line-height: 24px;
|
1857 |
border-radius: 4px;
|
1858 |
cursor: pointer;
|
1859 |
+
overflow: hidden;
|
1860 |
+
white-space: nowrap;
|
1861 |
}
|
1862 |
|
1863 |
.pagelayer-dark .pagelayer-elp-typo-sele{
|
css/pagelayer-frontend.css
CHANGED
@@ -3379,6 +3379,10 @@ box-shadow:0 0 5px 0px gray inset;
|
|
3379 |
padding: 0 !important;
|
3380 |
}
|
3381 |
|
|
|
|
|
|
|
|
|
3382 |
.pagelayer-contact-holder input[type='radio']:hover {
|
3383 |
box-shadow:0 0 5px 0px orange inset;
|
3384 |
}
|
@@ -4955,4 +4959,4 @@ width:100%;
|
|
4955 |
|
4956 |
/********************/
|
4957 |
/*** Freemium End ***/
|
4958 |
-
/********************/
|
3379 |
padding: 0 !important;
|
3380 |
}
|
3381 |
|
3382 |
+
.pagelayer-contact-holder input[type="radio"]:checked:before {
|
3383 |
+
background: #333333;
|
3384 |
+
}
|
3385 |
+
|
3386 |
.pagelayer-contact-holder input[type='radio']:hover {
|
3387 |
box-shadow:0 0 5px 0px orange inset;
|
3388 |
}
|
4959 |
|
4960 |
/********************/
|
4961 |
/*** Freemium End ***/
|
4962 |
+
/********************/
|
init.php
CHANGED
@@ -5,7 +5,7 @@ if (!defined('ABSPATH')) exit;
|
|
5 |
|
6 |
define('PAGELAYER_BASE', plugin_basename(PAGELAYER_FILE));
|
7 |
define('PAGELAYER_PRO_BASE', 'pagelayer-pro/pagelayer-pro.php');
|
8 |
-
define('PAGELAYER_VERSION', '1.4.
|
9 |
define('PAGELAYER_DIR', dirname(PAGELAYER_FILE));
|
10 |
define('PAGELAYER_SLUG', 'pagelayer');
|
11 |
define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
|
5 |
|
6 |
define('PAGELAYER_BASE', plugin_basename(PAGELAYER_FILE));
|
7 |
define('PAGELAYER_PRO_BASE', 'pagelayer-pro/pagelayer-pro.php');
|
8 |
+
define('PAGELAYER_VERSION', '1.4.7');
|
9 |
define('PAGELAYER_DIR', dirname(PAGELAYER_FILE));
|
10 |
define('PAGELAYER_SLUG', 'pagelayer');
|
11 |
define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
|
js/combined.js
CHANGED
@@ -86,11 +86,17 @@ jQuery(document).ready(function(){
|
|
86 |
pagelayer_mega_menu_position(jQuery(this));
|
87 |
});
|
88 |
|
89 |
-
jQuery('.pagelayer-
|
|
|
|
|
|
|
|
|
90 |
pagelayer_pl_row_slider(jQuery(this));
|
91 |
});
|
92 |
|
93 |
-
|
|
|
|
|
94 |
|
95 |
// We need to call the is visible thing to show the widgets loading effect
|
96 |
if(jQuery('.pagelayer-counter-content,.pagelayer-progress-container').length > 0){
|
@@ -589,49 +595,47 @@ function pagelayer_pl_image(jEle){
|
|
589 |
});
|
590 |
}
|
591 |
|
592 |
-
function pagelayer_stars(){
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
var count = jEle.attr('pagelayer-stars-count');
|
600 |
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
});
|
635 |
}
|
636 |
|
637 |
// Grid Gallery pagination Off On function
|
@@ -863,6 +867,39 @@ function pagelayer_recaptcha_loader(jEle, loadScript){
|
|
863 |
|
864 |
}
|
865 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
866 |
////////////
|
867 |
// Freemium
|
868 |
////////////
|
86 |
pagelayer_mega_menu_position(jQuery(this));
|
87 |
});
|
88 |
|
89 |
+
jQuery('.pagelayer-scroll-to-element').each(function () {
|
90 |
+
pagelayer_button_element_scroll(jQuery(this));
|
91 |
+
});
|
92 |
+
|
93 |
+
jQuery('.pagelayer-bgimg-slider').each(function () {
|
94 |
pagelayer_pl_row_slider(jQuery(this));
|
95 |
});
|
96 |
|
97 |
+
jQuery('.pagelayer-stars-container').each(function(){
|
98 |
+
pagelayer_stars(jQuery(this));
|
99 |
+
});
|
100 |
|
101 |
// We need to call the is visible thing to show the widgets loading effect
|
102 |
if(jQuery('.pagelayer-counter-content,.pagelayer-progress-container').length > 0){
|
595 |
});
|
596 |
}
|
597 |
|
598 |
+
function pagelayer_stars(jEle){
|
599 |
+
|
600 |
+
var setup = jEle.attr('pagelayer-setup');
|
601 |
+
if(setup && setup.length > 0){
|
602 |
+
return true;
|
603 |
+
}
|
604 |
+
var count = jEle.attr('pagelayer-stars-count');
|
|
|
605 |
|
606 |
+
if (isNaN(count)) {
|
607 |
+
count = '0';
|
608 |
+
}
|
609 |
|
610 |
+
i = 0;
|
611 |
+
var stars = "";
|
612 |
+
while(i < count){
|
613 |
+
stars +='<div class="pagelayer-stars-icon pagelayer-stars-empty"><i class="fas fa-star" aria-hidden="true"></i></div>';
|
614 |
+
i++;
|
615 |
+
}
|
616 |
|
617 |
+
jEle.empty();
|
618 |
+
jEle.append(stars);
|
619 |
+
var starsval = jEle.attr('pagelayer-stars-value');
|
620 |
|
621 |
+
if (isNaN(starsval)) {
|
622 |
+
starsval = count;
|
623 |
+
}
|
624 |
|
625 |
+
starsval = starsval.split('.');
|
626 |
+
var fullstars = starsval[0];
|
627 |
+
var value = starsval[1];
|
628 |
+
var halfstar = parseInt(fullstars) + 1;
|
629 |
+
var emptystars = parseInt(fullstars) + 2;
|
630 |
+
jEle.children('.pagelayer-stars-icon').attr("class","pagelayer-stars-icon");
|
631 |
+
jEle.children('.pagelayer-stars-icon:nth-child(-n+'+ fullstars +')').addClass('pagelayer-stars-full');
|
632 |
+
if(value != undefined){
|
633 |
+
jEle.children('.pagelayer-stars-icon:nth-child('+ halfstar +')').addClass('pagelayer-stars-'+value);
|
634 |
+
}else{
|
635 |
+
jEle.children('.pagelayer-stars-icon:nth-child('+ halfstar +')').addClass('pagelayer-stars-empty');
|
636 |
+
}
|
637 |
+
jEle.children('.pagelayer-stars-icon:nth-child(n+'+ emptystars +')').addClass('pagelayer-stars-empty');
|
638 |
+
jEle.attr('pagelayer-setup', 1);
|
|
|
639 |
}
|
640 |
|
641 |
// Grid Gallery pagination Off On function
|
867 |
|
868 |
}
|
869 |
|
870 |
+
// Scroll to element button effect
|
871 |
+
function pagelayer_button_element_scroll(jEle) {
|
872 |
+
|
873 |
+
var speed = parseInt(jEle.attr('pagelayer_scrollto_speed') * 1000);
|
874 |
+
var idspacing = 0;
|
875 |
+
var scrollId = jEle.attr('pagelayer_scrollto_id');
|
876 |
+
|
877 |
+
if(jEle.attr('pagelayer_scrollto_type') == 'toid'){
|
878 |
+
|
879 |
+
var scrolltoEle = jQuery('#' + scrollId);
|
880 |
+
|
881 |
+
if(pagelayer_empty(scrollId) || scrolltoEle.length < 1){
|
882 |
+
return;
|
883 |
+
}
|
884 |
+
|
885 |
+
var idpos = parseInt(scrolltoEle.offset().top);
|
886 |
+
var spacing = parseInt(jEle.attr('pagelayer_scrollto_id_viewport'));
|
887 |
+
|
888 |
+
if (isNaN(spacing)) {
|
889 |
+
spacing = 0;
|
890 |
+
}
|
891 |
+
|
892 |
+
idspacing = idpos + spacing;
|
893 |
+
|
894 |
+
}
|
895 |
+
|
896 |
+
jEle.on('click', function (e) {
|
897 |
+
e.preventDefault();
|
898 |
+
jQuery('html, body').animate({ scrollTop: idspacing }, speed);
|
899 |
+
});
|
900 |
+
|
901 |
+
}
|
902 |
+
|
903 |
////////////
|
904 |
// Freemium
|
905 |
////////////
|
js/pagelayer-editor.js
CHANGED
@@ -2802,9 +2802,15 @@ function pagelayer_set_atts(jEle, atts, val){
|
|
2802 |
// Record History
|
2803 |
if(pagelayer.history_action){
|
2804 |
var old_val = pagelayer_get_att(jEle, x) || '';
|
|
|
|
|
|
|
|
|
|
|
|
|
2805 |
pagelayer_history_action_push({
|
2806 |
'title' : all_props['name'],
|
2807 |
-
'subTitle' :
|
2808 |
'action' : 'Edited',
|
2809 |
'attrType' : 'a_attr',
|
2810 |
'pl_id' : pagelayer_id(jEle),
|
@@ -5616,8 +5622,8 @@ function pagelayer_show_msg(msg, time){
|
|
5616 |
// Pagelayer confirmation box
|
5617 |
function pagelayer_confirmation_box(message, yesCallback, noCallback, yesText, noText) {
|
5618 |
|
5619 |
-
yesText = yesText || 'Yes';
|
5620 |
-
noText = noText || 'No';
|
5621 |
|
5622 |
var dialog = jQuery('<div class="pagelayer-confirm-box-holder">'+
|
5623 |
'<div class="pagelayer-confirm-box" style="border-radius:5px">'+
|
2802 |
// Record History
|
2803 |
if(pagelayer.history_action){
|
2804 |
var old_val = pagelayer_get_att(jEle, x) || '';
|
2805 |
+
var label = x;
|
2806 |
+
|
2807 |
+
if(x in _props && 'label' in _props[x]){
|
2808 |
+
label = _props[x]['label'];
|
2809 |
+
}
|
2810 |
+
|
2811 |
pagelayer_history_action_push({
|
2812 |
'title' : all_props['name'],
|
2813 |
+
'subTitle' : label,
|
2814 |
'action' : 'Edited',
|
2815 |
'attrType' : 'a_attr',
|
2816 |
'pl_id' : pagelayer_id(jEle),
|
5622 |
// Pagelayer confirmation box
|
5623 |
function pagelayer_confirmation_box(message, yesCallback, noCallback, yesText, noText) {
|
5624 |
|
5625 |
+
yesText = yesText || pagelayer_l('Yes');
|
5626 |
+
noText = noText || pagelayer_l('No');
|
5627 |
|
5628 |
var dialog = jQuery('<div class="pagelayer-confirm-box-holder">'+
|
5629 |
'<div class="pagelayer-confirm-box" style="border-radius:5px">'+
|
js/pagelayer-frontend.js
CHANGED
@@ -86,11 +86,17 @@ jQuery(document).ready(function(){
|
|
86 |
pagelayer_mega_menu_position(jQuery(this));
|
87 |
});
|
88 |
|
89 |
-
jQuery('.pagelayer-
|
|
|
|
|
|
|
|
|
90 |
pagelayer_pl_row_slider(jQuery(this));
|
91 |
});
|
92 |
|
93 |
-
|
|
|
|
|
94 |
|
95 |
// We need to call the is visible thing to show the widgets loading effect
|
96 |
if(jQuery('.pagelayer-counter-content,.pagelayer-progress-container').length > 0){
|
@@ -589,49 +595,47 @@ function pagelayer_pl_image(jEle){
|
|
589 |
});
|
590 |
}
|
591 |
|
592 |
-
function pagelayer_stars(){
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
var count = jEle.attr('pagelayer-stars-count');
|
600 |
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
});
|
635 |
}
|
636 |
|
637 |
// Grid Gallery pagination Off On function
|
@@ -863,6 +867,39 @@ function pagelayer_recaptcha_loader(jEle, loadScript){
|
|
863 |
|
864 |
}
|
865 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
866 |
////////////
|
867 |
// Freemium
|
868 |
////////////
|
86 |
pagelayer_mega_menu_position(jQuery(this));
|
87 |
});
|
88 |
|
89 |
+
jQuery('.pagelayer-scroll-to-element').each(function () {
|
90 |
+
pagelayer_button_element_scroll(jQuery(this));
|
91 |
+
});
|
92 |
+
|
93 |
+
jQuery('.pagelayer-bgimg-slider').each(function () {
|
94 |
pagelayer_pl_row_slider(jQuery(this));
|
95 |
});
|
96 |
|
97 |
+
jQuery('.pagelayer-stars-container').each(function(){
|
98 |
+
pagelayer_stars(jQuery(this));
|
99 |
+
});
|
100 |
|
101 |
// We need to call the is visible thing to show the widgets loading effect
|
102 |
if(jQuery('.pagelayer-counter-content,.pagelayer-progress-container').length > 0){
|
595 |
});
|
596 |
}
|
597 |
|
598 |
+
function pagelayer_stars(jEle){
|
599 |
+
|
600 |
+
var setup = jEle.attr('pagelayer-setup');
|
601 |
+
if(setup && setup.length > 0){
|
602 |
+
return true;
|
603 |
+
}
|
604 |
+
var count = jEle.attr('pagelayer-stars-count');
|
|
|
605 |
|
606 |
+
if (isNaN(count)) {
|
607 |
+
count = '0';
|
608 |
+
}
|
609 |
|
610 |
+
i = 0;
|
611 |
+
var stars = "";
|
612 |
+
while(i < count){
|
613 |
+
stars +='<div class="pagelayer-stars-icon pagelayer-stars-empty"><i class="fas fa-star" aria-hidden="true"></i></div>';
|
614 |
+
i++;
|
615 |
+
}
|
616 |
|
617 |
+
jEle.empty();
|
618 |
+
jEle.append(stars);
|
619 |
+
var starsval = jEle.attr('pagelayer-stars-value');
|
620 |
|
621 |
+
if (isNaN(starsval)) {
|
622 |
+
starsval = count;
|
623 |
+
}
|
624 |
|
625 |
+
starsval = starsval.split('.');
|
626 |
+
var fullstars = starsval[0];
|
627 |
+
var value = starsval[1];
|
628 |
+
var halfstar = parseInt(fullstars) + 1;
|
629 |
+
var emptystars = parseInt(fullstars) + 2;
|
630 |
+
jEle.children('.pagelayer-stars-icon').attr("class","pagelayer-stars-icon");
|
631 |
+
jEle.children('.pagelayer-stars-icon:nth-child(-n+'+ fullstars +')').addClass('pagelayer-stars-full');
|
632 |
+
if(value != undefined){
|
633 |
+
jEle.children('.pagelayer-stars-icon:nth-child('+ halfstar +')').addClass('pagelayer-stars-'+value);
|
634 |
+
}else{
|
635 |
+
jEle.children('.pagelayer-stars-icon:nth-child('+ halfstar +')').addClass('pagelayer-stars-empty');
|
636 |
+
}
|
637 |
+
jEle.children('.pagelayer-stars-icon:nth-child(n+'+ emptystars +')').addClass('pagelayer-stars-empty');
|
638 |
+
jEle.attr('pagelayer-setup', 1);
|
|
|
639 |
}
|
640 |
|
641 |
// Grid Gallery pagination Off On function
|
867 |
|
868 |
}
|
869 |
|
870 |
+
// Scroll to element button effect
|
871 |
+
function pagelayer_button_element_scroll(jEle) {
|
872 |
+
|
873 |
+
var speed = parseInt(jEle.attr('pagelayer_scrollto_speed') * 1000);
|
874 |
+
var idspacing = 0;
|
875 |
+
var scrollId = jEle.attr('pagelayer_scrollto_id');
|
876 |
+
|
877 |
+
if(jEle.attr('pagelayer_scrollto_type') == 'toid'){
|
878 |
+
|
879 |
+
var scrolltoEle = jQuery('#' + scrollId);
|
880 |
+
|
881 |
+
if(pagelayer_empty(scrollId) || scrolltoEle.length < 1){
|
882 |
+
return;
|
883 |
+
}
|
884 |
+
|
885 |
+
var idpos = parseInt(scrolltoEle.offset().top);
|
886 |
+
var spacing = parseInt(jEle.attr('pagelayer_scrollto_id_viewport'));
|
887 |
+
|
888 |
+
if (isNaN(spacing)) {
|
889 |
+
spacing = 0;
|
890 |
+
}
|
891 |
+
|
892 |
+
idspacing = idpos + spacing;
|
893 |
+
|
894 |
+
}
|
895 |
+
|
896 |
+
jEle.on('click', function (e) {
|
897 |
+
e.preventDefault();
|
898 |
+
jQuery('html, body').animate({ scrollTop: idspacing }, speed);
|
899 |
+
});
|
900 |
+
|
901 |
+
}
|
902 |
+
|
903 |
////////////
|
904 |
// Freemium
|
905 |
////////////
|
js/widgets.js
CHANGED
@@ -354,7 +354,8 @@ function pagelayer_render_pl_testimonial(el){
|
|
354 |
|
355 |
// Render the stars
|
356 |
function pagelayer_render_end_pl_stars(el){
|
357 |
-
|
|
|
358 |
};
|
359 |
|
360 |
|
@@ -959,8 +960,7 @@ function pagelayer_render_pl_contact(el){
|
|
959 |
|
960 |
// Set post id in atts
|
961 |
el.atts['con_post_id'] = pagelayer_postID;
|
962 |
-
el.atts['grecaptcha'] = pagelayer_recaptch_site_key;
|
963 |
-
el.$.attr('pagelayer-a-con_post_id', pagelayer_postID);
|
964 |
}
|
965 |
|
966 |
// Render the contact form
|
@@ -976,6 +976,9 @@ function pagelayer_render_end_pl_contact(el){
|
|
976 |
pagelayer_recaptcha_loader(recaptcha, true);
|
977 |
}
|
978 |
});
|
|
|
|
|
|
|
979 |
}
|
980 |
|
981 |
// Render the contact form
|
@@ -1033,7 +1036,7 @@ function pagelayer_render_pl_contact_item(el){
|
|
1033 |
options = el.atts['values'].split("\n");
|
1034 |
html += '<div class="pagelayer-radcheck-holder">';
|
1035 |
for(var x in options){
|
1036 |
-
html += '<div><input type="checkbox" id="'+options[x].trim()+'" name="'+el.atts['field_name']+'" '+
|
1037 |
'value="'+options[x].trim()+'" '+required+'/><label for="'+options[x].trim()+'" class="pagelayer-form-label">'+options[x].trim()+'</label></div>';
|
1038 |
}
|
1039 |
html += '</div>';
|
@@ -1096,6 +1099,16 @@ function pagelayer_render_end_pl_testimonial_slider(el){
|
|
1096 |
pagelayer_pl_testimonial_slider(el.$);
|
1097 |
}
|
1098 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1099 |
// Render the countdown
|
1100 |
function pagelayer_render_end_pl_countdown(el){
|
1101 |
var jEle = el.$;
|
354 |
|
355 |
// Render the stars
|
356 |
function pagelayer_render_end_pl_stars(el){
|
357 |
+
var jEle = el.$.find('.pagelayer-stars-container');
|
358 |
+
pagelayer_stars(jEle);
|
359 |
};
|
360 |
|
361 |
|
960 |
|
961 |
// Set post id in atts
|
962 |
el.atts['con_post_id'] = pagelayer_postID;
|
963 |
+
el.atts['grecaptcha'] = pagelayer_recaptch_site_key;
|
|
|
964 |
}
|
965 |
|
966 |
// Render the contact form
|
976 |
pagelayer_recaptcha_loader(recaptcha, true);
|
977 |
}
|
978 |
});
|
979 |
+
|
980 |
+
pagelayer_set_atts(el.$, 'con_post_id', pagelayer_postID);
|
981 |
+
|
982 |
}
|
983 |
|
984 |
// Render the contact form
|
1036 |
options = el.atts['values'].split("\n");
|
1037 |
html += '<div class="pagelayer-radcheck-holder">';
|
1038 |
for(var x in options){
|
1039 |
+
html += '<div><input type="checkbox" id="'+options[x].trim()+'" name="'+el.atts['field_name']+'[]" '+
|
1040 |
'value="'+options[x].trim()+'" '+required+'/><label for="'+options[x].trim()+'" class="pagelayer-form-label">'+options[x].trim()+'</label></div>';
|
1041 |
}
|
1042 |
html += '</div>';
|
1099 |
pagelayer_pl_testimonial_slider(el.$);
|
1100 |
}
|
1101 |
|
1102 |
+
// Render the countdown
|
1103 |
+
function pagelayer_render_pl_countdown(el){
|
1104 |
+
if(pagelayer_empty(el.atts['custom_label_text'])){
|
1105 |
+
el.atts['days_label_text'] = 'Days';
|
1106 |
+
el.atts['hours_label_text'] = 'Hours';
|
1107 |
+
el.atts['minutes_label_text'] = 'Minutes';
|
1108 |
+
el.atts['seconds_label_text'] = 'Seconds';
|
1109 |
+
}
|
1110 |
+
}
|
1111 |
+
|
1112 |
// Render the countdown
|
1113 |
function pagelayer_render_end_pl_countdown(el){
|
1114 |
var jEle = el.$;
|
languages/en.json
CHANGED
@@ -15,6 +15,11 @@
|
|
15 |
"animation_styles": "Animation",
|
16 |
"responsive_styles": "Responsive",
|
17 |
"custom_styles": "Custom CSS",
|
|
|
|
|
|
|
|
|
|
|
18 |
"params": "Params",
|
19 |
"hotspot": "Hotspot",
|
20 |
"hotspots": "Hotspots",
|
15 |
"animation_styles": "Animation",
|
16 |
"responsive_styles": "Responsive",
|
17 |
"custom_styles": "Custom CSS",
|
18 |
+
"scroll_to_element": "Scroll To Element",
|
19 |
+
"scroll_to": "Scroll To",
|
20 |
+
"spacing_from_id": "Top Spacing From Element",
|
21 |
+
"ele_scroll_id_desc": "Add your Element ID without Hash(#)",
|
22 |
+
"ele_scroll_speed": "Speed x 1000",
|
23 |
"params": "Params",
|
24 |
"hotspot": "Hotspot",
|
25 |
"hotspots": "Hotspots",
|
main/ajax.php
CHANGED
@@ -1089,6 +1089,11 @@ function pagelayer_contact_submit(){
|
|
1089 |
// If we are using HTML, then we should escape html as well
|
1090 |
if(!empty($use_html)){
|
1091 |
foreach($formdata as $k => $i){
|
|
|
|
|
|
|
|
|
|
|
1092 |
$formdata[$k] = esc_html($i);
|
1093 |
}
|
1094 |
}
|
1089 |
// If we are using HTML, then we should escape html as well
|
1090 |
if(!empty($use_html)){
|
1091 |
foreach($formdata as $k => $i){
|
1092 |
+
|
1093 |
+
if(is_array($i)){
|
1094 |
+
$i = pagelayer_flat_join($i);
|
1095 |
+
}
|
1096 |
+
|
1097 |
$formdata[$k] = esc_html($i);
|
1098 |
}
|
1099 |
}
|
main/shortcodes.php
CHANGED
@@ -4851,7 +4851,8 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_btn', array(
|
|
4851 |
'type' => 'link',
|
4852 |
'label' => __pl('button_link_label'),
|
4853 |
'desc' => __pl('button_link_desc'),
|
4854 |
-
'addAttr' => ['{{element}} .pagelayer-btn-holder' => 'href="{{{link}}}"']
|
|
|
4855 |
),
|
4856 |
'rel' => array(
|
4857 |
'type' => 'text',
|
@@ -4861,7 +4862,8 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_btn', array(
|
|
4861 |
'target' => array(
|
4862 |
'type' => 'checkbox',
|
4863 |
'label' => __pl('open_link_in_new_window'),
|
4864 |
-
'addAttr' => ['{{element}} a' => 'target="_blank"']
|
|
|
4865 |
),
|
4866 |
'full_width' => array(
|
4867 |
'type' => 'checkbox',
|
@@ -5221,10 +5223,59 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_btn', array(
|
|
5221 |
),
|
5222 |
),
|
5223 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5224 |
'styles' => [
|
5225 |
'btn_style' => __pl('btn_style'),
|
5226 |
'icon_style' => __pl('icon'),
|
5227 |
'border_style' => __pl('border_style'),
|
|
|
5228 |
]
|
5229 |
)
|
5230 |
);
|
4851 |
'type' => 'link',
|
4852 |
'label' => __pl('button_link_label'),
|
4853 |
'desc' => __pl('button_link_desc'),
|
4854 |
+
'addAttr' => ['{{element}} .pagelayer-btn-holder' => 'href="{{{link}}}"'],
|
4855 |
+
'req' => ['ele_scrollto' => '']
|
4856 |
),
|
4857 |
'rel' => array(
|
4858 |
'type' => 'text',
|
4862 |
'target' => array(
|
4863 |
'type' => 'checkbox',
|
4864 |
'label' => __pl('open_link_in_new_window'),
|
4865 |
+
'addAttr' => ['{{element}} a' => 'target="_blank"'],
|
4866 |
+
'req' => ['ele_scrollto' => '']
|
4867 |
),
|
4868 |
'full_width' => array(
|
4869 |
'type' => 'checkbox',
|
5223 |
),
|
5224 |
),
|
5225 |
],
|
5226 |
+
'scroll_to_element' => [
|
5227 |
+
'ele_scrollto' => array(
|
5228 |
+
'type' => 'checkbox',
|
5229 |
+
'label' => __pl('Enable'),
|
5230 |
+
'addClass' => 'pagelayer-scroll-to-element',
|
5231 |
+
),
|
5232 |
+
'ele_scrollto_type' => array(
|
5233 |
+
'type' => 'select',
|
5234 |
+
'label' => __pl('scroll_to'),
|
5235 |
+
'default' => 'totop',
|
5236 |
+
'list' => array(
|
5237 |
+
'toid' => __pl('Element'),
|
5238 |
+
'totop' => __pl('Top'),
|
5239 |
+
),
|
5240 |
+
'addAttr' => 'pagelayer_scrollto_type="{{ele_scrollto_type}}"',
|
5241 |
+
'req' => ['!ele_scrollto' => ''],
|
5242 |
+
),
|
5243 |
+
'ele_scrollto_id' => array(
|
5244 |
+
'type' => 'text',
|
5245 |
+
'label' => __pl('ele_id'),
|
5246 |
+
'default' => '',
|
5247 |
+
'desc' => __pl('ele_scroll_id_desc'),
|
5248 |
+
'addAttr' => 'pagelayer_scrollto_id="{{ele_scrollto_id}}"',
|
5249 |
+
'req' => [ '!ele_scrollto' => '', 'ele_scrollto_type' => 'toid'],
|
5250 |
+
),
|
5251 |
+
'ele_scrollto_id_viewport' => array(
|
5252 |
+
'type' => 'slider',
|
5253 |
+
'label' => __pl('spacing_from_id'),
|
5254 |
+
'min' => -200,
|
5255 |
+
'step' => 1,
|
5256 |
+
'max' => 200,
|
5257 |
+
'default' => 0,
|
5258 |
+
'addAttr' => 'pagelayer_scrollto_id_viewport="{{ele_scrollto_id_viewport}}"',
|
5259 |
+
'req' => [ '!ele_scrollto' => '', 'ele_scrollto_type' => 'toid'],
|
5260 |
+
),
|
5261 |
+
'ele_scrollto_speed' => array(
|
5262 |
+
'type' => 'slider',
|
5263 |
+
'label' => __pl('slider_animation_speed'),
|
5264 |
+
'min' => 0,
|
5265 |
+
'step' => 0.1,
|
5266 |
+
'max' => 10,
|
5267 |
+
'default' => 0.4,
|
5268 |
+
'screen' => 1,
|
5269 |
+
'desc' => __pl('ele_scroll_speed'),
|
5270 |
+
'addAttr' => 'pagelayer_scrollto_speed="{{ele_scrollto_speed}}"',
|
5271 |
+
'req' => [ '!ele_scrollto' => ''],
|
5272 |
+
),
|
5273 |
+
],
|
5274 |
'styles' => [
|
5275 |
'btn_style' => __pl('btn_style'),
|
5276 |
'icon_style' => __pl('icon'),
|
5277 |
'border_style' => __pl('border_style'),
|
5278 |
+
'scroll_to_element' => __pl('scroll_to_element'),
|
5279 |
]
|
5280 |
)
|
5281 |
);
|
main/template.php
CHANGED
@@ -359,7 +359,8 @@ function pagelayer_builder_admin_head(){
|
|
359 |
return;
|
360 |
}
|
361 |
|
362 |
-
|
|
|
363 |
|
364 |
jQuery(document).ready(function(){
|
365 |
var but = jQuery(".page-title-action");
|
@@ -380,6 +381,7 @@ jQuery(document).ready(function(){
|
|
380 |
});
|
381 |
|
382 |
</script>';
|
|
|
383 |
|
384 |
}
|
385 |
|
@@ -620,7 +622,7 @@ function pagelayer_builder_template_tabs( $views ) {
|
|
620 |
$all_title = __( 'All' );
|
621 |
}
|
622 |
|
623 |
-
echo '<div id="pagelayer-template-tabs-wrapper" class="nav-tab-wrapper" style="margin-bottom:
|
624 |
<a class="nav-tab'. $active_class .'" href="'. $baseurl .'"> '. $all_title .'</a>';
|
625 |
|
626 |
foreach ( $template_types as $type => $class_name ) {
|
359 |
return;
|
360 |
}
|
361 |
|
362 |
+
if(!defined('SITEPAD')){
|
363 |
+
echo '<script type="text/javascript">
|
364 |
|
365 |
jQuery(document).ready(function(){
|
366 |
var but = jQuery(".page-title-action");
|
381 |
});
|
382 |
|
383 |
</script>';
|
384 |
+
}
|
385 |
|
386 |
}
|
387 |
|
622 |
$all_title = __( 'All' );
|
623 |
}
|
624 |
|
625 |
+
echo '<div id="pagelayer-template-tabs-wrapper" class="nav-tab-wrapper" style="margin-bottom:15px">
|
626 |
<a class="nav-tab'. $active_class .'" href="'. $baseurl .'"> '. $all_title .'</a>';
|
627 |
|
628 |
foreach ( $template_types as $type => $class_name ) {
|
pagelayer.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: PageLayer
|
4 |
Plugin URI: http://wordpress.org/plugins/pagelayer/
|
5 |
Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
|
6 |
-
Version: 1.4.
|
7 |
Author: Pagelayer Team
|
8 |
Author URI: https://pagelayer.com/
|
9 |
License: LGPL v2.1
|
3 |
Plugin Name: PageLayer
|
4 |
Plugin URI: http://wordpress.org/plugins/pagelayer/
|
5 |
Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
|
6 |
+
Version: 1.4.7
|
7 |
Author: Pagelayer Team
|
8 |
Author URI: https://pagelayer.com/
|
9 |
License: LGPL v2.1
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: page builder, editor, drag-and-drop, landing page, replace image, pagelaye
|
|
4 |
Requires at least: 4.7
|
5 |
Tested up to: 5.6
|
6 |
Requires PHP: 5.5
|
7 |
-
Stable tag: 1.4.
|
8 |
License: LGPL v2.1
|
9 |
License URI: http://www.gnu.org/licenses/lgpl-2.1.html
|
10 |
|
@@ -109,6 +109,12 @@ Do you have questions related to PageLayer ? Use the following links :
|
|
109 |
|
110 |
== Changelog ==
|
111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
= 1.4.6 (Feb 13, 2021) =
|
113 |
* [Feature] Added image replacement option inside the media library.
|
114 |
* [Bug-Fix] In some cases the video was not playing inside the safari browser. This is fixed.
|
4 |
Requires at least: 4.7
|
5 |
Tested up to: 5.6
|
6 |
Requires PHP: 5.5
|
7 |
+
Stable tag: 1.4.7
|
8 |
License: LGPL v2.1
|
9 |
License URI: http://www.gnu.org/licenses/lgpl-2.1.html
|
10 |
|
109 |
|
110 |
== Changelog ==
|
111 |
|
112 |
+
= 1.4.7 (Feb 26, 2021) =
|
113 |
+
* [Feature] Added the option to scroll to the top of any element or body in button widget.
|
114 |
+
* [Bug-Fix] In some cases the background color of the checked radio button in the contact form widget was not working properly. This is fixed.
|
115 |
+
* [Bug-Fix] In some cases the contact form custom template settings were not working properly. This is fixed.
|
116 |
+
* [Bug-Fix] In some cases the default titles of the countdown were not shown in the countdown timer widget. This is fixed.
|
117 |
+
|
118 |
= 1.4.6 (Feb 13, 2021) =
|
119 |
* [Feature] Added image replacement option inside the media library.
|
120 |
* [Bug-Fix] In some cases the video was not playing inside the safari browser. This is fixed.
|