Version Description
(Oct 20, 2021) = * [Improvement] The link property has been further improved to add target, rel and other attributes. * [Improvement] Added the color options in the social share widget for the labels. * [Improvement] Added alignment option in Pricing table widget and also added screen mode option where needed. * [Task] The list of Google fonts has been updated. * [Bug-Fix] In some cases, the JS/CSS files compressor was not loaded properly. This is fixed and also added option in Pagelayer setting to enable/disable JS/CSS giver. * [Bug-Fix] In the social share widget the "Open link in new window" was not working properly. This is fixed. * [Bug-Fix] In some cases, the Custom Attributes option was not working properly. This is fixed. * [Bug-Fix] In the Audio widget the time handler height was not set properly. This is fixed. * [Bug-Fix] In the options section the font family property was not working properly. This is fixed.
Release Info
Developer | pagelayer |
Plugin | Page Builder: PageLayer – Drag and Drop website builder |
Version | 1.5.8 |
Comparing to | |
See all releases |
Code changes from version 1.5.7 to 1.5.8
- css/pagelayer-admin.css +1 -1
- css/pagelayer-editor.css +53 -3
- init.php +1 -1
- js/pagelayer-editor.js +86 -2
- js/properties.js +134 -12
- js/widgets.js +1 -1
- languages/en.json +6 -1
- main/ajax.php +2 -0
- main/font-options.php +1 -1
- main/functions.php +30 -11
- main/import.php +3 -3
- main/live.php +7 -2
- main/settings.php +19 -0
- main/shortcode_functions.php +210 -8
- main/shortcodes.php +30 -87
- pagelayer.php +1 -1
- readme.txt +12 -1
@@ -144,7 +144,7 @@ text-align: center;
|
|
144 |
}
|
145 |
|
146 |
.pagelayer-pro-message{
|
147 |
-
|
148 |
font-size: 15px;
|
149 |
padding: 2px 25px;
|
150 |
text-align: center;
|
144 |
}
|
145 |
|
146 |
.pagelayer-pro-message{
|
147 |
+
margin: 25px auto;
|
148 |
font-size: 15px;
|
149 |
padding: 2px 25px;
|
150 |
text-align: center;
|
@@ -667,7 +667,7 @@ border-bottom: 1px dashed #686870;
|
|
667 |
display:initial;
|
668 |
}
|
669 |
|
670 |
-
.pagelayer-elp-label-div{
|
671 |
padding:4px 0px 4px 0px;
|
672 |
position:relative;
|
673 |
}
|
@@ -676,7 +676,7 @@ position:relative;
|
|
676 |
width:50%;
|
677 |
}
|
678 |
|
679 |
-
.pagelayer-elp-label{
|
680 |
display: inline-block;
|
681 |
color: #555;
|
682 |
font-size: 12px;
|
@@ -684,6 +684,7 @@ line-height: 150%;
|
|
684 |
}
|
685 |
|
686 |
.pagelayer-dark .pagelayer-elp-label,
|
|
|
687 |
.pagelayer-dark .pagelayer-post-category,
|
688 |
.pagelayer-dark .pagelayer-elp-postCategory,
|
689 |
.pagelayer-dark .pagelayer-elp-postdate::-webkit-datetime-edit-second-field{
|
@@ -828,7 +829,7 @@ color: black;
|
|
828 |
|
829 |
/* Default button css ends */
|
830 |
|
831 |
-
.pagelayer-elp-desc, .pagelayer-elp-permalink-a{
|
832 |
color:#757575;
|
833 |
font-size: 12px;
|
834 |
line-height: 20px;
|
@@ -1635,6 +1636,14 @@ left: calc(100% - 1.5em);
|
|
1635 |
position: relative;
|
1636 |
}
|
1637 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1638 |
.pagelayer-elp-input-icon input{
|
1639 |
width: 85%;
|
1640 |
}
|
@@ -2439,6 +2448,22 @@ transition: all 0.3s;
|
|
2439 |
padding:1px;
|
2440 |
}
|
2441 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2442 |
.pagelayer-dark .pagelayer-shortcode-text{
|
2443 |
color: #bdbdbd;
|
2444 |
}
|
@@ -3552,6 +3577,31 @@ margin-left:5px;
|
|
3552 |
.pagelayer-elp-link-info span{
|
3553 |
padding: 4px;
|
3554 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3555 |
/* Property link end*/
|
3556 |
/* Editor notice start*/
|
3557 |
.pagelayer-editor-notice{
|
667 |
display:initial;
|
668 |
}
|
669 |
|
670 |
+
.pagelayer-elp-label-div, .pagelayer-elp-link-label-div{
|
671 |
padding:4px 0px 4px 0px;
|
672 |
position:relative;
|
673 |
}
|
676 |
width:50%;
|
677 |
}
|
678 |
|
679 |
+
.pagelayer-elp-label, .pagelayer-elp-link-label{
|
680 |
display: inline-block;
|
681 |
color: #555;
|
682 |
font-size: 12px;
|
684 |
}
|
685 |
|
686 |
.pagelayer-dark .pagelayer-elp-label,
|
687 |
+
.pagelayer-dark .pagelayer-elp-link-label,
|
688 |
.pagelayer-dark .pagelayer-post-category,
|
689 |
.pagelayer-dark .pagelayer-elp-postCategory,
|
690 |
.pagelayer-dark .pagelayer-elp-postdate::-webkit-datetime-edit-second-field{
|
829 |
|
830 |
/* Default button css ends */
|
831 |
|
832 |
+
.pagelayer-elp-desc, .pagelayer-elp-permalink-a, .pagelayer-elp-link-desc{
|
833 |
color:#757575;
|
834 |
font-size: 12px;
|
835 |
line-height: 20px;
|
1636 |
position: relative;
|
1637 |
}
|
1638 |
|
1639 |
+
.pagelayer-elp-link-no-addons > .pagelayer-elp-link{
|
1640 |
+
width:100% !important;
|
1641 |
+
}
|
1642 |
+
|
1643 |
+
.pagelayer-elp-link-no-addons > .pagelayer-elp-link-icon{
|
1644 |
+
display:none !important;
|
1645 |
+
}
|
1646 |
+
|
1647 |
.pagelayer-elp-input-icon input{
|
1648 |
width: 85%;
|
1649 |
}
|
2448 |
padding:1px;
|
2449 |
}
|
2450 |
|
2451 |
+
.pagelayer-leftbar-search-empty{
|
2452 |
+
display: none;
|
2453 |
+
padding: 40px;
|
2454 |
+
text-align: center;
|
2455 |
+
color: #777;
|
2456 |
+
font-family: 'Roboto';
|
2457 |
+
}
|
2458 |
+
|
2459 |
+
.pagelayer-leftbar-search-empty p{
|
2460 |
+
margin: 8px;
|
2461 |
+
}
|
2462 |
+
|
2463 |
+
.pagelayer-leftbar-search-empty .fa-sad-tear{
|
2464 |
+
font-size: 24px;
|
2465 |
+
}
|
2466 |
+
|
2467 |
.pagelayer-dark .pagelayer-shortcode-text{
|
2468 |
color: #bdbdbd;
|
2469 |
}
|
3577 |
.pagelayer-elp-link-info span{
|
3578 |
padding: 4px;
|
3579 |
}
|
3580 |
+
|
3581 |
+
.pagelayer-elp-link-div .pagelayer-elp-link-addons{
|
3582 |
+
margin-right: 30px;
|
3583 |
+
display: none;
|
3584 |
+
}
|
3585 |
+
|
3586 |
+
.pagelayer-elp-link-div .pagelayer-elp-link-cb-div{
|
3587 |
+
display: flex;
|
3588 |
+
justify-content: space-between;
|
3589 |
+
align-items: center;
|
3590 |
+
padding-top: 5px;
|
3591 |
+
}
|
3592 |
+
|
3593 |
+
.pagelayer-elp-link-div .pagelayer-elp-link-cb-div:first-child{
|
3594 |
+
margin-top: 10px;
|
3595 |
+
}
|
3596 |
+
|
3597 |
+
.pagelayer-elp-link-div .pagelayer-elp-link-ca{
|
3598 |
+
margin: 5px 0px;
|
3599 |
+
}
|
3600 |
+
|
3601 |
+
.pagelayer-elp-link-ca input{
|
3602 |
+
width: 100%;
|
3603 |
+
}
|
3604 |
+
|
3605 |
/* Property link end*/
|
3606 |
/* Editor notice start*/
|
3607 |
.pagelayer-editor-notice{
|
@@ -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.5.
|
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.5.8');
|
9 |
define('PAGELAYER_DIR', dirname(PAGELAYER_FILE));
|
10 |
define('PAGELAYER_SLUG', 'pagelayer');
|
11 |
define('PAGELAYER_URL', plugins_url('', PAGELAYER_FILE));
|
@@ -28,6 +28,39 @@ var pagelayer_add_section_data = {};
|
|
28 |
|
29 |
// Console error manager
|
30 |
window.onerror = function (msg, url, lineNo, columnNo, error) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
var string = msg.toLowerCase();
|
32 |
var substring = "script error";
|
33 |
|
@@ -57,7 +90,7 @@ window.onerror = function (msg, url, lineNo, columnNo, error) {
|
|
57 |
pagelayer.$$('.pagelayer-errorBox').fadeOut();
|
58 |
});
|
59 |
pagelayer.$$('.pagelayer-errorBox').fadeIn();
|
60 |
-
|
61 |
return false;
|
62 |
};
|
63 |
|
@@ -3548,6 +3581,57 @@ function pagelayer_sc_render(jEle){
|
|
3548 |
elCSS.edit.push({prop: x, sel: props[x]['edit']});
|
3549 |
}
|
3550 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3551 |
// Do we have a addClass ?
|
3552 |
// We are checking before the element has a value so that we can add or remove the class
|
3553 |
if('addClass' in props[x]){
|
@@ -3828,7 +3912,7 @@ function pagelayer_sc_render(jEle){
|
|
3828 |
for(var c in elCSS.attr){
|
3829 |
var tSel = elCSS.attr[c]['sel'].replace('{{element}}', '');
|
3830 |
var node = tSel.length < 1 ? jEle : jEle.find(tSel);
|
3831 |
-
var att = elCSS.attr[c]['val'].split(
|
3832 |
att[1] = pagelayer_parse_vars(att[1], el);
|
3833 |
att[1] = pagelayer_trim(att[1], '"');
|
3834 |
|
28 |
|
29 |
// Console error manager
|
30 |
window.onerror = function (msg, url, lineNo, columnNo, error) {
|
31 |
+
|
32 |
+
if (typeof pagelayer_doc_width === 'undefined') {
|
33 |
+
var test_giver = -1;
|
34 |
+
|
35 |
+
jQuery.ajax({
|
36 |
+
url: pagelayer_url+'/js/givejs.php?test=1',
|
37 |
+
type: "GET",
|
38 |
+
dataType: "text",
|
39 |
+
success: function(data){
|
40 |
+
|
41 |
+
if(data != 1){
|
42 |
+
return;
|
43 |
+
}
|
44 |
+
|
45 |
+
test_giver = 1;
|
46 |
+
},
|
47 |
+
complete: function(data){
|
48 |
+
jQuery.ajax({
|
49 |
+
type: "POST",
|
50 |
+
url: pagelayer_ajax_url+"&action=pagelayer_set_jscss_giver",
|
51 |
+
data: {
|
52 |
+
pagelayer_nonce: pagelayer_ajax_nonce,
|
53 |
+
set : test_giver
|
54 |
+
},
|
55 |
+
error: function(errorThrown){
|
56 |
+
console.log("Error saving giver data");
|
57 |
+
console.log(errorThrown);
|
58 |
+
}
|
59 |
+
});
|
60 |
+
}
|
61 |
+
});
|
62 |
+
}
|
63 |
+
|
64 |
var string = msg.toLowerCase();
|
65 |
var substring = "script error";
|
66 |
|
90 |
pagelayer.$$('.pagelayer-errorBox').fadeOut();
|
91 |
});
|
92 |
pagelayer.$$('.pagelayer-errorBox').fadeIn();
|
93 |
+
|
94 |
return false;
|
95 |
};
|
96 |
|
3581 |
elCSS.edit.push({prop: x, sel: props[x]['edit']});
|
3582 |
}
|
3583 |
|
3584 |
+
// Load permalink values
|
3585 |
+
if(props[x]['type'] == 'link'){
|
3586 |
+
|
3587 |
+
if('selector' in props[x] && typeof el.atts[x] == 'object'){
|
3588 |
+
var tmp = {};
|
3589 |
+
|
3590 |
+
// Link is required for check IF and IF-EXT in html
|
3591 |
+
if(pagelayer_length(el.atts[x]['link']) < 1){
|
3592 |
+
delete el.atts[x];
|
3593 |
+
continue;
|
3594 |
+
}
|
3595 |
+
|
3596 |
+
if( 'target' in el.atts[x] && !pagelayer_empty(el.atts[x]['target']) ){
|
3597 |
+
tmp = {'sel': props[x]['selector'], 'val': 'target="_blank"'};
|
3598 |
+
elCSS['attr'].push(tmp);
|
3599 |
+
}
|
3600 |
+
|
3601 |
+
if( 'rel' in el.atts[x] && !pagelayer_empty(el.atts[x]['rel']) ){
|
3602 |
+
tmp = {'sel': props[x]['selector'], 'val': 'rel="nofollow"'};
|
3603 |
+
elCSS['attr'].push(tmp);
|
3604 |
+
}
|
3605 |
+
|
3606 |
+
if( 'attrs' in el.atts[x] && !pagelayer_empty(el.atts[x]['attrs']) ){
|
3607 |
+
|
3608 |
+
var attrsVal = pagelayer_trim(el.atts[x]['attrs'].split(';'));
|
3609 |
+
|
3610 |
+
attrsVal.forEach(function(item, index){
|
3611 |
+
|
3612 |
+
var splitValue = item.split(/=(.*)/);
|
3613 |
+
var attKey = pagelayer_trim(splitValue[0]);
|
3614 |
+
var setAtt = '';
|
3615 |
+
|
3616 |
+
// Validate the attrs name
|
3617 |
+
if(attKey.length < 1 || pagelayer_empty(attKey.match(/^[a-z_]+[\w:.-]*$/i))){
|
3618 |
+
return;
|
3619 |
+
}
|
3620 |
+
|
3621 |
+
if(splitValue.length < 2){
|
3622 |
+
setAtt = attKey+'=""';
|
3623 |
+
}else{
|
3624 |
+
setAtt = attKey+'="'+splitValue[1]+'"';
|
3625 |
+
}
|
3626 |
+
|
3627 |
+
tmp = {'sel': props[x]['selector'], 'val': setAtt};
|
3628 |
+
elCSS['attr'].push(tmp);
|
3629 |
+
|
3630 |
+
});
|
3631 |
+
}
|
3632 |
+
}
|
3633 |
+
}
|
3634 |
+
|
3635 |
// Do we have a addClass ?
|
3636 |
// We are checking before the element has a value so that we can add or remove the class
|
3637 |
if('addClass' in props[x]){
|
3912 |
for(var c in elCSS.attr){
|
3913 |
var tSel = elCSS.attr[c]['sel'].replace('{{element}}', '');
|
3914 |
var node = tSel.length < 1 ? jEle : jEle.find(tSel);
|
3915 |
+
var att = elCSS.attr[c]['val'].split(/=(.*)/);
|
3916 |
att[1] = pagelayer_parse_vars(att[1], el);
|
3917 |
att[1] = pagelayer_trim(att[1], '"');
|
3918 |
|
@@ -2204,17 +2204,63 @@ function pagelayer_elp_editor(row, prop){
|
|
2204 |
|
2205 |
// The Link proprety
|
2206 |
function pagelayer_elp_link(row, prop){
|
|
|
|
|
|
|
2207 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2208 |
var tmp = prop.c['name'];
|
2209 |
-
var link = (tmp in prop.el.tmp) ? prop.el.tmp[tmp] :
|
2210 |
var jEle = jQuery('[pagelayer-id='+prop.el.id+']');
|
2211 |
|
2212 |
-
var div = '<div class="pagelayer-elp-link-div pagelayer-elp-input-icon">'+
|
2213 |
-
|
2214 |
-
|
2215 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2216 |
'</div>'+
|
2217 |
'</div>';
|
|
|
|
|
|
|
2218 |
|
2219 |
row.append(div);
|
2220 |
|
@@ -2227,22 +2273,44 @@ function pagelayer_elp_link(row, prop){
|
|
2227 |
|
2228 |
var lDiv = row.closest('[pagelayer-elp-name]').find('.pagelayer-elp-label-div');
|
2229 |
if(permaID){
|
2230 |
-
lDiv.
|
|
|
2231 |
}else{
|
2232 |
lDiv.find('.pagelayer-elp-link-id').remove();
|
2233 |
}
|
2234 |
};
|
2235 |
|
2236 |
-
if(!isNaN(
|
2237 |
-
addID(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2238 |
}
|
2239 |
|
2240 |
// Set a Link
|
2241 |
row.find('.pagelayer-elp-link').on('change', function(){
|
2242 |
|
|
|
|
|
|
|
2243 |
// Save and Render
|
2244 |
-
_pagelayer_set_tmp_atts(row, '',
|
2245 |
-
_pagelayer_set_atts(row,
|
2246 |
|
2247 |
// Remove ID Holder
|
2248 |
addID();
|
@@ -2319,11 +2387,13 @@ function pagelayer_elp_link(row, prop){
|
|
2319 |
|
2320 |
var perma = lEle.attr('data-permalink');
|
2321 |
var ID = lEle.attr('data-id');
|
|
|
2322 |
|
2323 |
// Save and Render
|
2324 |
row.find('.pagelayer-elp-link').val(perma);
|
2325 |
_pagelayer_set_tmp_atts(row, '', perma);
|
2326 |
-
_pagelayer_set_atts(row,
|
|
|
2327 |
listWrap.hide();
|
2328 |
|
2329 |
// Show ID
|
@@ -2333,6 +2403,56 @@ function pagelayer_elp_link(row, prop){
|
|
2333 |
pagelayer.gDocument.on('click', function(e){
|
2334 |
listWrap.hide();
|
2335 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2336 |
|
2337 |
}
|
2338 |
|
@@ -3631,7 +3751,9 @@ function pagelayer_elp_font_family(row, prop){
|
|
3631 |
|
3632 |
row.find('select').on('change', function(){
|
3633 |
|
3634 |
-
|
|
|
|
|
3635 |
_pagelayer_set_atts(row, sEle.val());// Save and Render
|
3636 |
|
3637 |
});
|
2204 |
|
2205 |
// The Link proprety
|
2206 |
function pagelayer_elp_link(row, prop){
|
2207 |
+
|
2208 |
+
var values = {};
|
2209 |
+
var settingOpt = false;
|
2210 |
|
2211 |
+
// Show link options?
|
2212 |
+
if('selector' in prop){
|
2213 |
+
settingOpt = true;
|
2214 |
+
}
|
2215 |
+
|
2216 |
+
// Previously saved values
|
2217 |
+
if(typeof prop.c['val'] === 'object'){
|
2218 |
+
values = prop.c['val'];
|
2219 |
+
}else{
|
2220 |
+
values['link'] = prop.c['val'];
|
2221 |
+
}
|
2222 |
+
|
2223 |
var tmp = prop.c['name'];
|
2224 |
+
var link = (tmp in prop.el.tmp) ? prop.el.tmp[tmp] : values['link'];
|
2225 |
var jEle = jQuery('[pagelayer-id='+prop.el.id+']');
|
2226 |
|
2227 |
+
var div = '<div class="pagelayer-elp-link-div pagelayer-elp-input-icon '+(settingOpt ? '' : 'pagelayer-elp-link-no-addons')+'">'+
|
2228 |
+
'<input class="pagelayer-elp-link" type="text" value="'+link+'" />'+
|
2229 |
+
'<i class="pli pli-service pagelayer-elp-link-icon" title="'+pagelayer_l('link_options')+'" ></i>'+
|
2230 |
+
'<div class="pagelayer-elp-link-list">'+
|
2231 |
+
'</div>';
|
2232 |
+
|
2233 |
+
if(settingOpt){
|
2234 |
+
div += '<div class="pagelayer-elp-link-addons">'+
|
2235 |
+
'<div class="pagelayer-elp-link-cb-div">'+
|
2236 |
+
'<div class="pagelayer-elp-link-label-div" type="'+prop['type']+'">'+
|
2237 |
+
'<label class="pagelayer-elp-link-label">'+pagelayer_l('open_link_in_new_window')+'</label>'+
|
2238 |
+
'</div>'+
|
2239 |
+
'<div>'+
|
2240 |
+
'<input type="checkbox" name="link_new_tab" class="pagelayer-elp-checkbox" '+(!pagelayer_empty(values['target']) ? 'checked="checked"' : '')+' />'+
|
2241 |
+
'</div>'+
|
2242 |
+
'</div>'+
|
2243 |
+
'<div class="pagelayer-elp-link-cb-div" >'+
|
2244 |
+
'<div class="pagelayer-elp-link-label-div" type="'+prop['type']+'">'+
|
2245 |
+
'<label class="pagelayer-elp-link-label">'+pagelayer_l('add_nofollow')+'</label>'+
|
2246 |
+
'</div>'+
|
2247 |
+
'<div>'+
|
2248 |
+
'<input type="checkbox" name="link_no_follow" class="pagelayer-elp-checkbox" '+(!pagelayer_empty(values['rel']) ? 'checked="checked"' : '')+'/>'+
|
2249 |
+
'</div>'+
|
2250 |
+
'</div>'+
|
2251 |
+
'<div class="pagelayer-elp-link-ca" >'+
|
2252 |
+
'<div class="pagelayer-elp-link-label-div" type="'+prop['type']+'">'+
|
2253 |
+
'<label class="pagelayer-elp-link-label">'+pagelayer_l('custom_attributes')+'</label>'+
|
2254 |
+
'</div>'+
|
2255 |
+
'<div>'+
|
2256 |
+
'<input type="text" class="pagelayer-elp-text" placeholder="key = value" name="'+prop.c['name']+'" value="'+(pagelayer_empty(values['attrs']) ? '' : values['attrs'])+'"/>'+
|
2257 |
+
'<p class="pagelayer-elp-link-desc">'+pagelayer_l('link_custom_attr_desc')+'</p>'+
|
2258 |
+
'</div>'+
|
2259 |
'</div>'+
|
2260 |
'</div>';
|
2261 |
+
}
|
2262 |
+
|
2263 |
+
div += '</div>';
|
2264 |
|
2265 |
row.append(div);
|
2266 |
|
2273 |
|
2274 |
var lDiv = row.closest('[pagelayer-elp-name]').find('.pagelayer-elp-label-div');
|
2275 |
if(permaID){
|
2276 |
+
lDiv = lDiv.find('.pagelayer-elp-label');
|
2277 |
+
lDiv.after('<span class="pagelayer-elp-link-id">ID : '+permaID+'</span>');
|
2278 |
}else{
|
2279 |
lDiv.find('.pagelayer-elp-link-id').remove();
|
2280 |
}
|
2281 |
};
|
2282 |
|
2283 |
+
if(!isNaN(values['link'])){
|
2284 |
+
addID(values['link']);
|
2285 |
+
}
|
2286 |
+
|
2287 |
+
var getLinkVal = function(val){
|
2288 |
+
|
2289 |
+
if(typeof val === 'object' && pagelayer_length(val) == 1 && 'link' in val){
|
2290 |
+
return val['link'];
|
2291 |
+
}
|
2292 |
+
|
2293 |
+
return val;
|
2294 |
+
}
|
2295 |
+
|
2296 |
+
var setTmpEmpty = function(){
|
2297 |
+
|
2298 |
+
if( 'link' in values && !pagelayer_empty(values['link']) ){
|
2299 |
+
return;
|
2300 |
+
}
|
2301 |
+
|
2302 |
+
_pagelayer_set_tmp_atts(row, '', '');
|
2303 |
}
|
2304 |
|
2305 |
// Set a Link
|
2306 |
row.find('.pagelayer-elp-link').on('change', function(){
|
2307 |
|
2308 |
+
var linkVal = jQuery(this).val();
|
2309 |
+
values['link'] = linkVal;
|
2310 |
+
|
2311 |
// Save and Render
|
2312 |
+
_pagelayer_set_tmp_atts(row, '', linkVal);
|
2313 |
+
_pagelayer_set_atts(row, getLinkVal(values));
|
2314 |
|
2315 |
// Remove ID Holder
|
2316 |
addID();
|
2387 |
|
2388 |
var perma = lEle.attr('data-permalink');
|
2389 |
var ID = lEle.attr('data-id');
|
2390 |
+
values['link'] = ID;
|
2391 |
|
2392 |
// Save and Render
|
2393 |
row.find('.pagelayer-elp-link').val(perma);
|
2394 |
_pagelayer_set_tmp_atts(row, '', perma);
|
2395 |
+
_pagelayer_set_atts(row, getLinkVal(values));
|
2396 |
+
|
2397 |
listWrap.hide();
|
2398 |
|
2399 |
// Show ID
|
2403 |
pagelayer.gDocument.on('click', function(e){
|
2404 |
listWrap.hide();
|
2405 |
});
|
2406 |
+
|
2407 |
+
row.find('.pagelayer-elp-checkbox').on('change', function(event){
|
2408 |
+
|
2409 |
+
var cEle = jQuery(this);
|
2410 |
+
|
2411 |
+
// Save or delete the value
|
2412 |
+
var saveVal = function(key){
|
2413 |
+
if(cEle.is(':checked')){
|
2414 |
+
values[key] = true;
|
2415 |
+
return;
|
2416 |
+
}
|
2417 |
+
|
2418 |
+
delete values[key];
|
2419 |
+
}
|
2420 |
+
|
2421 |
+
switch(cEle.attr('name')){
|
2422 |
+
case 'link_new_tab':
|
2423 |
+
saveVal('target');
|
2424 |
+
break;
|
2425 |
+
case 'link_no_follow':
|
2426 |
+
saveVal('rel');
|
2427 |
+
break;
|
2428 |
+
}
|
2429 |
+
|
2430 |
+
setTmpEmpty();
|
2431 |
+
_pagelayer_set_atts(row, getLinkVal(values));
|
2432 |
+
|
2433 |
+
});
|
2434 |
+
|
2435 |
+
var linkTime = '';
|
2436 |
+
row.find('.pagelayer-elp-text').on('input', function(event){
|
2437 |
+
var cEle = jQuery(this);
|
2438 |
+
|
2439 |
+
clearTimeout(linkTime);
|
2440 |
+
linkTime = setTimeout(function(){
|
2441 |
+
values['attrs'] = cEle.val();
|
2442 |
+
|
2443 |
+
if(pagelayer_empty(values['attrs'])){
|
2444 |
+
delete values['attrs'];
|
2445 |
+
}
|
2446 |
+
|
2447 |
+
setTmpEmpty();
|
2448 |
+
_pagelayer_set_atts(row, getLinkVal(values));
|
2449 |
+
|
2450 |
+
}, 500);
|
2451 |
+
});
|
2452 |
+
|
2453 |
+
row.find('.pagelayer-elp-link-icon').on('click', function(){
|
2454 |
+
row.find('.pagelayer-elp-link-addons').slideToggle('slow');
|
2455 |
+
});
|
2456 |
|
2457 |
}
|
2458 |
|
3751 |
|
3752 |
row.find('select').on('change', function(){
|
3753 |
|
3754 |
+
var sEle = jQuery(this);
|
3755 |
+
|
3756 |
+
pagelayer_link_font_family(sEle);
|
3757 |
_pagelayer_set_atts(row, sEle.val());// Save and Render
|
3758 |
|
3759 |
});
|
@@ -455,7 +455,7 @@ function pagelayer_render_pl_image_slider(el){
|
|
455 |
|
456 |
if(is_link){
|
457 |
var link = (el.atts['link_type'] == 'media_file' ? (!pagelayer_empty(img_urls[x]) ? img_urls[x] : url) : (el.tmp['link'] || ''))
|
458 |
-
ul += '<a href="'+link+'">';
|
459 |
}
|
460 |
|
461 |
ul += '<img class="pagelayer-img" src="'+url+'" title="'+img_title[x]+'" alt="'+img_title[x]+'">';
|
455 |
|
456 |
if(is_link){
|
457 |
var link = (el.atts['link_type'] == 'media_file' ? (!pagelayer_empty(img_urls[x]) ? img_urls[x] : url) : (el.tmp['link'] || ''))
|
458 |
+
ul += '<a href="'+link+'" class="pagelayer-link-sel">';
|
459 |
}
|
460 |
|
461 |
ul += '<img class="pagelayer-img" src="'+url+'" title="'+img_title[x]+'" alt="'+img_title[x]+'">';
|
@@ -1921,5 +1921,10 @@
|
|
1921 |
"map_type" : "Map type",
|
1922 |
"roadmap" : "Roadmap",
|
1923 |
"satellite" : "Satellite",
|
1924 |
-
"thumb_img_type" : "Thumbnail Image Type"
|
|
|
|
|
|
|
|
|
|
|
1925 |
}
|
1921 |
"map_type" : "Map type",
|
1922 |
"roadmap" : "Roadmap",
|
1923 |
"satellite" : "Satellite",
|
1924 |
+
"thumb_img_type" : "Thumbnail Image Type",
|
1925 |
+
"add_nofollow" : "Add Nofollow",
|
1926 |
+
"link_custom_attr_desc" : "Setting custom attribute for link. '<strong>attribute = value</strong>' In this way the attribute and its value can be added. Separate key-value pairs using <strong>semicolon ;</strong>.",
|
1927 |
+
"link_to" : "Link To",
|
1928 |
+
"link_options" : "Link Options",
|
1929 |
+
"no_result" : "No results found."
|
1930 |
}
|
@@ -1866,6 +1866,8 @@ function pagelayer_export_template(){
|
|
1866 |
|
1867 |
}
|
1868 |
|
|
|
|
|
1869 |
}
|
1870 |
|
1871 |
}
|
1866 |
|
1867 |
}
|
1868 |
|
1869 |
+
ksort($conf[$type]);
|
1870 |
+
|
1871 |
}
|
1872 |
|
1873 |
}
|
@@ -47,7 +47,7 @@ if(!empty($query)){
|
|
47 |
$pagelayer->fonts['system'] = $pagelayer->system_fonts;
|
48 |
|
49 |
// Fonts
|
50 |
-
$pagelayer->fonts['google'] = ['ABeeZee', 'Abel', 'Abhaya Libre', 'Abril Fatface', 'Aclonica', 'Acme', 'Actor', 'Adamina', 'Advent Pro', 'Aguafina Script', 'Akronim', 'Aladin', 'Aldrich', 'Alef', 'Alegreya', 'Alegreya SC', 'Alegreya Sans', 'Alegreya Sans SC', 'Aleo', 'Alex Brush', 'Alfa Slab One', 'Alice', 'Alike', 'Alike Angular', 'Allan', 'Allerta', 'Allerta Stencil', 'Allura', 'Almendra', 'Almendra Display', 'Almendra SC', 'Amarante', 'Amaranth', 'Amatic SC', 'Amethysta', 'Amiko', 'Amiri', 'Amita', 'Anaheim', 'Andada', 'Andika', 'Angkor', 'Annie Use Your Telescope', 'Anonymous Pro', 'Antic', 'Antic Didone', 'Antic Slab', 'Anton', 'Arapey', 'Arbutus', 'Arbutus Slab', 'Architects Daughter', 'Archivo', 'Archivo Black', 'Archivo Narrow', 'Aref Ruqaa', 'Arima Madurai', 'Arimo', 'Arizonia', 'Armata', 'Arsenal', 'Artifika', 'Arvo', 'Arya', 'Asap', 'Asap Condensed', 'Asar', 'Asset', 'Assistant', 'Astloch', 'Asul', 'Athiti', 'Atma', 'Atomic Age', 'Aubrey', 'Audiowide', 'Autour One', 'Average', 'Average Sans', 'Averia Gruesa Libre', 'Averia Libre', 'Averia Sans Libre', 'Averia Serif Libre', 'B612', 'B612 Mono', 'Bad Script', 'Bahiana', 'Bai Jamjuree', 'Baloo', 'Baloo Bhai', 'Baloo Bhaijaan', 'Baloo Bhaina', 'Baloo Chettan', 'Baloo Da', 'Baloo Paaji', 'Baloo Tamma', 'Baloo Tammudu', 'Baloo Thambi', 'Balthazar', 'Bangers', 'Barlow', 'Barlow Condensed', 'Barlow Semi Condensed', 'Barrio', 'Basic', 'Battambang', 'Baumans', 'Bayon', 'Belgrano', 'Bellefair', 'Belleza', 'Bellota', 'BenchNine', 'Bentham', 'Berkshire Swash', 'Bevan', 'Bigelow Rules', 'Bigshot One', 'Bilbo', 'Bilbo Swash Caps', 'BioRhyme', 'BioRhyme Expanded', 'Biryani', 'Bitter', 'Black And White Picture', 'Black Han Sans', 'Black Ops One', 'Bokor', 'Bonbon', 'Boogaloo', 'Bowlby One', 'Bowlby One SC', 'Brawler', 'Bree Serif', 'Bubblegum Sans', 'Bubbler One', 'Buda', 'Buenard', 'Bungee', 'Bungee Hairline', 'Bungee Inline', 'Bungee Outline', 'Bungee Shade', 'Butcherman', 'Butterfly Kids', 'Cabin', 'Cabin Condensed', 'Cabin Sketch', 'Caesar Dressing', 'Cagliostro', 'Cairo', 'Calligraffitti', 'Cambay', 'Cambo', 'Candal', 'Cantarell', 'Cantata One', 'Cantora One', 'Capriola', 'Cardo', 'Carme', 'Carrois Gothic', 'Carrois Gothic SC', 'Carter One', 'Catamaran', 'Caudex', 'Caveat', 'Caveat Brush', 'Cedarville Cursive', 'Ceviche One', 'Chakra Petch', 'Changa', 'Changa One', 'Chango', 'Charm', 'Charmonman', 'Chathura', 'Chau Philomene One', 'Chela One', 'Chelsea Market', 'Chenla', 'Cherry Cream Soda', 'Cherry Swash', 'Chewy', 'Chicle', 'Chivo', 'Chonburi', 'Cinzel', 'Cinzel Decorative', 'Clicker Script', 'Coda', 'Coda Caption', 'Codystar', 'Coiny', 'Combo', 'Comfortaa', 'Coming Soon', 'Concert One', 'Condiment', 'Content', 'Contrail One', 'Convergence', 'Cookie', 'Copse', 'Corben', 'Cormorant', 'Cormorant Garamond', 'Cormorant Infant', 'Cormorant SC', 'Cormorant Unicase', 'Cormorant Upright', 'Courgette', 'Cousine', 'Coustard', 'Covered By Your Grace', 'Crafty Girls', 'Creepster', 'Crete Round', 'Crimson Text', 'Croissant One', 'Crushed', 'Cuprum', 'Cute Font', 'Cutive', 'Cutive Mono', 'Damion', 'Dancing Script', 'Dangrek', 'David Libre', 'Dawning of a New Day', 'Days One', 'Dekko', 'Delius', 'Delius Swash Caps', 'Delius Unicase', 'Della Respira', 'Denk One', 'Devonshire', 'Dhurjati', 'Didact Gothic', 'Diplomata', 'Diplomata SC', 'Do Hyeon', 'Dokdo', 'Domine', 'Donegal One', 'Doppio One', 'Dorsa', 'Dosis', 'Dr Sugiyama', 'Duru Sans', 'Dynalight', 'EB Garamond', 'Eagle Lake', 'East Sea Dokdo', 'Eater', 'Economica', 'Eczar', 'El Messiri', 'Electrolize', 'Elsie', 'Elsie Swash Caps', 'Emblema One', 'Emilys Candy', 'Encode Sans', 'Encode Sans Condensed', 'Encode Sans Expanded', 'Encode Sans Semi Condensed', 'Encode Sans Semi Expanded', 'Engagement', 'Englebert', 'Enriqueta', 'Erica One', 'Esteban', 'Euphoria Script', 'Ewert', 'Exo', 'Exo 2', 'Expletus Sans', 'Fahkwang', 'Fanwood Text', 'Farsan', 'Fascinate', 'Fascinate Inline', 'Faster One', 'Fasthand', 'Fauna One', 'Faustina', 'Federant', 'Federo', 'Felipa', 'Fenix', 'Finger Paint', 'Fira Mono', 'Fira Sans', 'Fira Sans Condensed', 'Fira Sans Extra Condensed', 'Fjalla One', 'Fjord One', 'Flamenco', 'Flavors', 'Fondamento', 'Fontdiner Swanky', 'Forum', 'Francois One', 'Frank Ruhl Libre', 'Freckle Face', 'Fredericka the Great', 'Fredoka One', 'Freehand', 'Fresca', 'Frijole', 'Fruktur', 'Fugaz One', 'GFS Didot', 'GFS Neohellenic', 'Gabriela', 'Gaegu', 'Gafata', 'Galada', 'Galdeano', 'Galindo', 'Gamja Flower', 'Gentium Basic', 'Gentium Book Basic', 'Geo', 'Geostar', 'Geostar Fill', 'Germania One', 'Gidugu', 'Gilda Display', 'Give You Glory', 'Glass Antiqua', 'Glegoo', 'Gloria Hallelujah', 'Goblin One', 'Gochi Hand', 'Gorditas', 'Gothic A1', 'Goudy Bookletter 1911', 'Graduate', 'Grand Hotel', 'Gravitas One', 'Great Vibes', 'Griffy', 'Gruppo', 'Gudea', 'Gugi', 'Gurajada', 'Habibi', 'Halant', 'Hammersmith One', 'Hanalei', 'Hanalei Fill', 'Handlee', 'Hanuman', 'Happy Monkey', 'Harmattan', 'Headland One', 'Heebo', 'Henny Penny', 'Herr Von Muellerhoff', 'Hi Melody', 'Hind', 'Hind Guntur', 'Hind Madurai', 'Hind Siliguri', 'Hind Vadodara', 'Holtwood One SC', 'Homemade Apple', 'Homenaje', 'IBM Plex Mono', 'IBM Plex Sans', 'IBM Plex Sans Condensed', 'IBM Plex Serif', 'IM Fell DW Pica', 'IM Fell DW Pica SC', 'IM Fell Double Pica', 'IM Fell Double Pica SC', 'IM Fell English', 'IM Fell English SC', 'IM Fell French Canon', 'IM Fell French Canon SC', 'IM Fell Great Primer', 'IM Fell Great Primer SC', 'Iceberg', 'Iceland', 'Imprima', 'Inconsolata', 'Inder', 'Indie Flower', 'Inika', 'Inknut Antiqua', 'Irish Grover', 'Istok Web', 'Italiana', 'Italianno', 'Itim', 'Jacques Francois', 'Jacques Francois Shadow', 'Jaldi', 'Jim Nightshade', 'Jockey One', 'Jolly Lodger', 'Jomhuria', 'Josefin Sans', 'Josefin Slab', 'Joti One', 'Jua', 'Judson', 'Julee', 'Julius Sans One', 'Junge', 'Jura', 'Just Another Hand', 'Just Me Again Down Here', 'K2D', 'Kadwa', 'Kalam', 'Kameron', 'Kanit', 'Kantumruy', 'Karla', 'Karma', 'Katibeh', 'Kaushan Script', 'Kavivanar', 'Kavoon', 'Kdam Thmor', 'Keania One', 'Kelly Slab', 'Kenia', 'Khand', 'Khmer', 'Khula', 'Kirang Haerang', 'Kite One', 'Knewave', 'KoHo', 'Kodchasan', 'Kosugi', 'Kosugi Maru', 'Kotta One', 'Koulen', 'Kranky', 'Kreon', 'Kristi', 'Krona One', 'Krub', 'Kumar One', 'Kumar One Outline', 'Kurale', 'La Belle Aurore', 'Laila', 'Lakki Reddy', 'Lalezar', 'Lancelot', 'Lateef', 'Lato', 'League Script', 'Leckerli One', 'Ledger', 'Lekton', 'Lemon', 'Lemonada', 'Libre Barcode 128', 'Libre Barcode 128 Text', 'Libre Barcode 39', 'Libre Barcode 39 Extended', 'Libre Barcode 39 Extended Text', 'Libre Barcode 39 Text', 'Libre Baskerville', 'Libre Franklin', 'Life Savers', 'Lilita One', 'Lily Script One', 'Limelight', 'Linden Hill', 'Lobster', 'Lobster Two', 'Londrina Outline', 'Londrina Shadow', 'Londrina Sketch', 'Londrina Solid', 'Lora', 'Love Ya Like A Sister', 'Loved by the King', 'Lovers Quarrel', 'Luckiest Guy', 'Lusitana', 'Lustria', 'M PLUS 1p', 'M PLUS Rounded 1c', 'Macondo', 'Macondo Swash Caps', 'Mada', 'Magra', 'Maiden Orange', 'Maitree', 'Major Mono Display', 'Mako', 'Mali', 'Mallanna', 'Mandali', 'Manuale', 'Marcellus', 'Marcellus SC', 'Marck Script', 'Margarine', 'Markazi Text', 'Marko One', 'Marmelad', 'Martel', 'Martel Sans', 'Marvel', 'Mate', 'Mate SC', 'Maven Pro', 'McLaren', 'Meddon', 'MedievalSharp', 'Medula One', 'Meera Inimai', 'Megrim', 'Meie Script', 'Merienda', 'Merienda One', 'Merriweather', 'Merriweather Sans', 'Metal', 'Metal Mania', 'Metamorphous', 'Metrophobic', 'Michroma', 'Milonga', 'Miltonian', 'Miltonian Tattoo', 'Mina', 'Miniver', 'Miriam Libre', 'Mirza', 'Miss Fajardose', 'Mitr', 'Modak', 'Modern Antiqua', 'Mogra', 'Molengo', 'Molle', 'Monda', 'Monofett', 'Monoton', 'Monsieur La Doulaise', 'Montaga', 'Montez', 'Montserrat', 'Montserrat Alternates', 'Montserrat Subrayada', 'Moul', 'Moulpali', 'Mountains of Christmas', 'Mouse Memoirs', 'Mr Bedfort', 'Mr Dafoe', 'Mr De Haviland', 'Mrs Saint Delafield', 'Mrs Sheppards', 'Mukta', 'Mukta Mahee', 'Mukta Malar', 'Mukta Vaani', 'Muli', 'Mystery Quest', 'NTR', 'Nanum Brush Script', 'Nanum Gothic', 'Nanum Gothic Coding', 'Nanum Myeongjo', 'Nanum Pen Script', 'Neucha', 'Neuton', 'New Rocker', 'News Cycle', 'Niconne', 'Niramit', 'Nixie One', 'Nobile', 'Nokora', 'Norican', 'Nosifer', 'Notable', 'Nothing You Could Do', 'Noticia Text', 'Noto Sans', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans SC', 'Noto Sans TC', 'Noto Serif', 'Noto Serif JP', 'Noto Serif KR', 'Noto Serif SC', 'Noto Serif TC', 'Nova Cut', 'Nova Flat', 'Nova Mono', 'Nova Oval', 'Nova Round', 'Nova Script', 'Nova Slim', 'Nova Square', 'Numans', 'Nunito', 'Nunito Sans', 'Odor Mean Chey', 'Offside', 'Old Standard TT', 'Oldenburg', 'Oleo Script', 'Oleo Script Swash Caps', 'Open Sans', 'Open Sans Condensed', 'Oranienbaum', 'Orbitron', 'Oregano', 'Orienta', 'Original Surfer', 'Oswald', 'Over the Rainbow', 'Overlock', 'Overlock SC', 'Overpass', 'Overpass Mono', 'Ovo', 'Oxygen', 'Oxygen Mono', 'PT Mono', 'PT Sans', 'PT Sans Caption', 'PT Sans Narrow', 'PT Serif', 'PT Serif Caption', 'Pacifico', 'Padauk', 'Palanquin', 'Palanquin Dark', 'Pangolin', 'Paprika', 'Parisienne', 'Passero One', 'Passion One', 'Pathway Gothic One', 'Patrick Hand', 'Patrick Hand SC', 'Pattaya', 'Patua One', 'Pavanam', 'Paytone One', 'Peddana', 'Peralta', 'Permanent Marker', 'Petit Formal Script', 'Petrona', 'Philosopher', 'Piedra', 'Pinyon Script', 'Pirata One', 'Plaster', 'Play', 'Playball', 'Playfair Display', 'Playfair Display SC', 'Podkova', 'Poiret One', 'Poller One', 'Poly', 'Pompiere', 'Pontano Sans', 'Poor Story', 'Poppins', 'Port Lligat Sans', 'Port Lligat Slab', 'Pragati Narrow', 'Prata', 'Preahvihear', 'Press Start 2P', 'Pridi', 'Princess Sofia', 'Prociono', 'Prompt', 'Prosto One', 'Proza Libre', 'Puritan', 'Purple Purse', 'Quando', 'Quantico', 'Quattrocento', 'Quattrocento Sans', 'Questrial', 'Quicksand', 'Quintessential', 'Qwigley', 'Racing Sans One', 'Radley', 'Rajdhani', 'Rakkas', 'Raleway', 'Raleway Dots', 'Ramabhadra', 'Ramaraja', 'Rambla', 'Rammetto One', 'Ranchers', 'Rancho', 'Ranga', 'Rasa', 'Rationale', 'Ravi Prakash', 'Redressed', 'Reem Kufi', 'Reenie Beanie', 'Revalia', 'Rhodium Libre', 'Ribeye', 'Ribeye Marrow', 'Righteous', 'Risque', 'Roboto', 'Roboto Condensed', 'Roboto Mono', 'Roboto Slab', 'Rochester', 'Rock Salt', 'Rokkitt', 'Romanesco', 'Ropa Sans', 'Rosario', 'Rosarivo', 'Rouge Script', 'Rozha One', 'Rubik', 'Rubik Mono One', 'Ruda', 'Rufina', 'Ruge Boogie', 'Ruluko', 'Rum Raisin', 'Ruslan Display', 'Russo One', 'Ruthie', 'Rye', 'Sacramento', 'Sahitya', 'Sail', 'Saira', 'Saira Condensed', 'Saira Extra Condensed', 'Saira Semi Condensed', 'Salsa', 'Sanchez', 'Sancreek', 'Sansita', 'Sarabun', 'Sarala', 'Sarina', 'Sarpanch', 'Satisfy', 'Sawarabi Gothic', 'Sawarabi Mincho', 'Scada', 'Scheherazade', 'Schoolbell', 'Scope One', 'Seaweed Script', 'Secular One', 'Sedgwick Ave', 'Sedgwick Ave Display', 'Sen', 'Sevillana', 'Seymour One', 'Shadows Into Light', 'Shadows Into Light Two', 'Shanti', 'Share', 'Share Tech', 'Share Tech Mono', 'Shojumaru', 'Short Stack', 'Shrikhand', 'Siemreap', 'Sigmar One', 'Signika', 'Signika Negative', 'Simonetta', 'Sintony', 'Sirin Stencil', 'Six Caps', 'Skranji', 'Slabo 13px', 'Slabo 27px', 'Slackey', 'Smokum', 'Smythe', 'Sniglet', 'Snippet', 'Snowburst One', 'Sofadi One', 'Sofia', 'Song Myung', 'Sonsie One', 'Sorts Mill Goudy', 'Source Code Pro', 'Source Sans Pro', 'Source Serif Pro', 'Space Mono', 'Special Elite', 'Spectral', 'Spectral SC', 'Spicy Rice', 'Spinnaker', 'Spirax', 'Squada One', 'Sree Krushnadevaraya', 'Sriracha', 'Srisakdi', 'Staatliches', 'Stalemate', 'Stalinist One', 'Stardos Stencil', 'Stint Ultra Condensed', 'Stint Ultra Expanded', 'Stoke', 'Strait', 'Stylish', 'Sue Ellen Francisco', 'Suez One', 'Sumana', 'Sunflower', 'Sunshiney', 'Supermercado One', 'Sura', 'Suranna', 'Suravaram', 'Suwannaphum', 'Swanky and Moo Moo', 'Syncopate', 'Tajawal', 'Tangerine', 'Taprom', 'Tauri', 'Taviraj', 'Teko', 'Telex', 'Tenali Ramakrishna', 'Tenor Sans', 'Text Me One', 'Thasadith', 'The Girl Next Door', 'Tienne', 'Tillana', 'Timmana', 'Tinos', 'Titan One', 'Titillium Web', 'Trade Winds', 'Trirong', 'Trocchi', 'Trochut', 'Trykker', 'Tulpen One', 'Ubuntu', 'Ubuntu Condensed', 'Ubuntu Mono', 'Ultra', 'Uncial Antiqua', 'Underdog', 'Unica One', 'UnifrakturCook', 'UnifrakturMaguntia', 'Unkempt', 'Unlock', 'Unna', 'VT323', 'Vampiro One', 'Varela', 'Varela Round', 'Vast Shadow', 'Vesper Libre', 'Vibur', 'Vidaloka', 'Viga', 'Voces', 'Volkhov', 'Vollkorn', 'Vollkorn SC', 'Voltaire', 'Waiting for the Sunrise', 'Wallpoet', 'Walter Turncoat', 'Warnes', 'Wellfleet', 'Wendy One', 'Wire One', 'Work Sans', 'Yanone Kaffeesatz', 'Yantramanav', 'Yatra One', 'Yellowtail', 'Yeon Sung', 'Yeseva One', 'Yesteryear', 'Yrsa', 'ZCOOL KuaiLe', 'ZCOOL QingKe HuangYou', 'ZCOOL XiaoWei', 'Zeyada', 'Zilla Slab', 'Zilla Slab Highlight'];
|
51 |
|
52 |
$pagelayer->font_style = ['' => 'Default',
|
53 |
'normal' => 'Normal',
|
47 |
$pagelayer->fonts['system'] = $pagelayer->system_fonts;
|
48 |
|
49 |
// Fonts
|
50 |
+
$pagelayer->fonts['google'] = ['ABeeZee', 'Abel', 'Abhaya Libre', 'Abril Fatface', 'Aclonica', 'Acme', 'Actor', 'Adamina', 'Advent Pro', 'Aguafina Script', 'Akaya Kanadaka', 'Akaya Telivigala', 'Akronim', 'Aladin', 'Alata', 'Alatsi', 'Aldrich', 'Alef', 'Alegreya', 'Alegreya Sans', 'Alegreya Sans SC', 'Alegreya SC', 'Aleo', 'Alex Brush', 'Alfa Slab One', 'Alice', 'Alike', 'Alike Angular', 'Allan', 'Allerta', 'Allerta Stencil', 'Allison', 'Allura', 'Almarai', 'Almendra', 'Almendra Display', 'Almendra SC', 'Alumni Sans', 'Amarante', 'Amaranth', 'Amatic SC', 'Amethysta', 'Amiko', 'Amiri', 'Amita', 'Anaheim', 'Andada Pro', 'Andika', 'Andika New Basic', 'Angkor', 'Annie Use Your Telescope', 'Anonymous Pro', 'Antic', 'Antic Didone', 'Antic Slab', 'Anton', 'Antonio', 'Arapey', 'Arbutus', 'Arbutus Slab', 'Architects Daughter', 'Archivo', 'Archivo Black', 'Archivo Narrow', 'Are You Serious', 'Aref Ruqaa', 'Arima Madurai', 'Arimo', 'Arizonia', 'Armata', 'Arsenal', 'Artifika', 'Arvo', 'Arya', 'Asap', 'Asap Condensed', 'Asar', 'Asset', 'Assistant', 'Astloch', 'Asul', 'Athiti', 'Atkinson Hyperlegible', 'Atma', 'Atomic Age', 'Aubrey', 'Audiowide', 'Autour One', 'Average', 'Average Sans', 'Averia Gruesa Libre', 'Averia Libre', 'Averia Sans Libre', 'Averia Serif Libre', 'Azeret Mono', 'B612', 'B612 Mono', 'Bad Script', 'Bahiana', 'Bahianita', 'Bai Jamjuree', 'Ballet', 'Baloo 2', 'Baloo Bhai 2', 'Baloo Bhaina 2', 'Baloo Chettan 2', 'Baloo Da 2', 'Baloo Paaji 2', 'Baloo Tamma 2', 'Baloo Tammudu 2', 'Baloo Thambi 2', 'Balsamiq Sans', 'Balthazar', 'Bangers', 'Barlow', 'Barlow Condensed', 'Barlow Semi Condensed', 'Barriecito', 'Barrio', 'Basic', 'Baskervville', 'Battambang', 'Baumans', 'Bayon', 'Be Vietnam', 'Be Vietnam Pro', 'Bebas Neue', 'Belgrano', 'Bellefair', 'Belleza', 'Bellota', 'Bellota Text', 'BenchNine', 'Benne', 'Bentham', 'Berkshire Swash', 'Besley', 'Beth Ellen', 'Bevan', 'Big Shoulders Display', 'Big Shoulders Inline Display', 'Big Shoulders Inline Text', 'Big Shoulders Stencil Display', 'Big Shoulders Stencil Text', 'Big Shoulders Text', 'Bigelow Rules', 'Bigshot One', 'Bilbo', 'Bilbo Swash Caps', 'BioRhyme', 'BioRhyme Expanded', 'Birthstone', 'Birthstone Bounce', 'Biryani', 'Bitter', 'Black And White Picture', 'Black Han Sans', 'Black Ops One', 'Blinker', 'Bodoni Moda', 'Bokor', 'Bona Nova', 'Bonbon', 'Bonheur Royale', 'Boogaloo', 'Bowlby One', 'Bowlby One SC', 'Brawler', 'Bree Serif', 'Brygada 1918', 'Bubblegum Sans', 'Bubbler One', 'Buda', 'Buenard', 'Bungee', 'Bungee Hairline', 'Bungee Inline', 'Bungee Outline', 'Bungee Shade', 'Butcherman', 'Butterfly Kids', 'Cabin', 'Cabin Condensed', 'Cabin Sketch', 'Caesar Dressing', 'Cagliostro', 'Cairo', 'Caladea', 'Calistoga', 'Calligraffitti', 'Cambay', 'Cambo', 'Candal', 'Cantarell', 'Cantata One', 'Cantora One', 'Capriola', 'Caramel', 'Carattere', 'Cardo', 'Carme', 'Carrois Gothic', 'Carrois Gothic SC', 'Carter One', 'Castoro', 'Catamaran', 'Caudex', 'Caveat', 'Caveat Brush', 'Cedarville Cursive', 'Ceviche One', 'Chakra Petch', 'Changa', 'Changa One', 'Chango', 'Charm', 'Charmonman', 'Chathura', 'Chau Philomene One', 'Chela One', 'Chelsea Market', 'Chenla', 'Cherish', 'Cherry Cream Soda', 'Cherry Swash', 'Chewy', 'Chicle', 'Chilanka', 'Chivo', 'Chonburi', 'Cinzel', 'Cinzel Decorative', 'Clicker Script', 'Coda', 'Coda Caption', 'Codystar', 'Coiny', 'Combo', 'Comfortaa', 'Comic Neue', 'Coming Soon', 'Commissioner', 'Concert One', 'Condiment', 'Content', 'Contrail One', 'Convergence', 'Cookie', 'Copse', 'Corben', 'Cormorant', 'Cormorant Garamond', 'Cormorant Infant', 'Cormorant SC', 'Cormorant Unicase', 'Cormorant Upright', 'Courgette', 'Courier Prime', 'Cousine', 'Coustard', 'Covered By Your Grace', 'Crafty Girls', 'Creepster', 'Crete Round', 'Crimson Pro', 'Crimson Text', 'Croissant One', 'Crushed', 'Cuprum', 'Cute Font', 'Cutive', 'Cutive Mono', 'Damion', 'Dancing Script', 'Dangrek', 'Darker Grotesque', 'David Libre', 'Dawning of a New Day', 'Days One', 'Dekko', 'Dela Gothic One', 'Delius', 'Delius Swash Caps', 'Delius Unicase', 'Della Respira', 'Denk One', 'Devonshire', 'Dhurjati', 'Didact Gothic', 'Diplomata', 'Diplomata SC', 'DM Mono', 'DM Sans', 'DM Serif Display', 'DM Serif Text', 'Do Hyeon', 'Dokdo', 'Domine', 'Donegal One', 'Doppio One', 'Dorsa', 'Dosis', 'DotGothic16', 'Dr Sugiyama', 'Duru Sans', 'Dynalight', 'Eagle Lake', 'East Sea Dokdo', 'Eater', 'EB Garamond', 'Economica', 'Eczar', 'El Messiri', 'Electrolize', 'Elsie', 'Elsie Swash Caps', 'Emblema One', 'Emilys Candy', 'Encode Sans', 'Encode Sans Condensed', 'Encode Sans Expanded', 'Encode Sans SC', 'Encode Sans Semi Condensed', 'Encode Sans Semi Expanded', 'Engagement', 'Englebert', 'Enriqueta', 'Ephesis', 'Epilogue', 'Erica One', 'Esteban', 'Euphoria Script', 'Ewert', 'Exo', 'Exo 2', 'Expletus Sans', 'Explora', 'Fahkwang', 'Fanwood Text', 'Farro', 'Farsan', 'Fascinate', 'Fascinate Inline', 'Faster One', 'Fasthand', 'Fauna One', 'Faustina', 'Federant', 'Federo', 'Felipa', 'Fenix', 'Festive', 'Finger Paint', 'Fira Code', 'Fira Mono', 'Fira Sans', 'Fira Sans Condensed', 'Fira Sans Extra Condensed', 'Fjalla One', 'Fjord One', 'Flamenco', 'Flavors', 'Fleur De Leah', 'Fondamento', 'Fontdiner Swanky', 'Forum', 'Francois One', 'Frank Ruhl Libre', 'Fraunces', 'Freckle Face', 'Fredericka the Great', 'Fredoka One', 'Freehand', 'Fresca', 'Frijole', 'Fruktur', 'Fugaz One', 'Fuggles', 'Gabriela', 'Gaegu', 'Gafata', 'Galada', 'Galdeano', 'Galindo', 'Gamja Flower', 'Gayathri', 'Gelasio', 'Gemunu Libre', 'Gentium Basic', 'Gentium Book Basic', 'Geo', 'Georama', 'Geostar', 'Geostar Fill', 'Germania One', 'GFS Didot', 'GFS Neohellenic', 'Gideon Roman', 'Gidugu', 'Gilda Display', 'Girassol', 'Give You Glory', 'Glass Antiqua', 'Glegoo', 'Gloria Hallelujah', 'Glory', 'Gluten', 'Goblin One', 'Gochi Hand', 'Goldman', 'Gorditas', 'Gothic A1', 'Gotu', 'Goudy Bookletter 1911', 'Gowun Batang', 'Gowun Dodum', 'Graduate', 'Grand Hotel', 'Grandstander', 'Gravitas One', 'Great Vibes', 'Grechen Fuemen', 'Grenze', 'Grenze Gotisch', 'Grey Qo', 'Griffy', 'Gruppo', 'Gudea', 'Gugi', 'Gupter', 'Gurajada', 'Habibi', 'Hachi Maru Pop', 'Hahmlet', 'Halant', 'Hammersmith One', 'Hanalei', 'Hanalei Fill', 'Handlee', 'Hanuman', 'Happy Monkey', 'Harmattan', 'Headland One', 'Heebo', 'Henny Penny', 'Hepta Slab', 'Herr Von Muellerhoff', 'Hi Melody', 'Hina Mincho', 'Hind', 'Hind Guntur', 'Hind Madurai', 'Hind Siliguri', 'Hind Vadodara', 'Holtwood One SC', 'Homemade Apple', 'Homenaje', 'Ibarra Real Nova', 'IBM Plex Mono', 'IBM Plex Sans', 'IBM Plex Sans Arabic', 'IBM Plex Sans Condensed', 'IBM Plex Sans Devanagari', 'IBM Plex Sans Hebrew', 'IBM Plex Sans KR', 'IBM Plex Sans Thai', 'IBM Plex Sans Thai Looped', 'IBM Plex Serif', 'Iceberg', 'Iceland', 'IM Fell Double Pica', 'IM Fell Double Pica SC', 'IM Fell DW Pica', 'IM Fell DW Pica SC', 'IM Fell English', 'IM Fell English SC', 'IM Fell French Canon', 'IM Fell French Canon SC', 'IM Fell Great Primer', 'IM Fell Great Primer SC', 'Imbue', 'Imprima', 'Inconsolata', 'Inder', 'Indie Flower', 'Inika', 'Inknut Antiqua', 'Inria Sans', 'Inria Serif', 'Inter', 'Irish Grover', 'Istok Web', 'Italiana', 'Italianno', 'Itim', 'Jacques Francois', 'Jacques Francois Shadow', 'Jaldi', 'JetBrains Mono', 'Jim Nightshade', 'Jockey One', 'Jolly Lodger', 'Jomhuria', 'Jomolhari', 'Josefin Sans', 'Josefin Slab', 'Jost', 'Joti One', 'Jua', 'Judson', 'Julee', 'Julius Sans One', 'Junge', 'Jura', 'Just Another Hand', 'Just Me Again Down Here', 'K2D', 'Kadwa', 'Kaisei Decol', 'Kaisei HarunoUmi', 'Kaisei Opti', 'Kaisei Tokumin', 'Kalam', 'Kameron', 'Kanit', 'Kantumruy', 'Karantina', 'Karla', 'Karma', 'Katibeh', 'Kaushan Script', 'Kavivanar', 'Kavoon', 'Kdam Thmor', 'Keania One', 'Kelly Slab', 'Kenia', 'Khand', 'Khmer', 'Khula', 'Kirang Haerang', 'Kite One', 'Kiwi Maru', 'Klee One', 'Knewave', 'Kodchasan', 'Koh Santepheap', 'KoHo', 'Kosugi', 'Kosugi Maru', 'Kotta One', 'Koulen', 'Kranky', 'Kreon', 'Kristi', 'Krona One', 'Krub', 'Kufam', 'Kulim Park', 'Kumar One', 'Kumar One Outline', 'Kumbh Sans', 'Kurale', 'La Belle Aurore', 'Lacquer', 'Laila', 'Lakki Reddy', 'Lalezar', 'Lancelot', 'Langar', 'Lateef', 'Lato', 'League Script', 'Leckerli One', 'Ledger', 'Lekton', 'Lemon', 'Lemonada', 'Lexend', 'Lexend Deca', 'Lexend Exa', 'Lexend Giga', 'Lexend Mega', 'Lexend Peta', 'Lexend Tera', 'Lexend Zetta', 'Libre Barcode 128', 'Libre Barcode 128 Text', 'Libre Barcode 39', 'Libre Barcode 39 Extended', 'Libre Barcode 39 Extended Text', 'Libre Barcode 39 Text', 'Libre Barcode EAN13 Text', 'Libre Baskerville', 'Libre Caslon Display', 'Libre Caslon Text', 'Libre Franklin', 'Life Savers', 'Lilita One', 'Lily Script One', 'Limelight', 'Linden Hill', 'Literata', 'Liu Jian Mao Cao', 'Livvic', 'Lobster', 'Lobster Two', 'Londrina Outline', 'Londrina Shadow', 'Londrina Sketch', 'Londrina Solid', 'Long Cang', 'Lora', 'Love Ya Like A Sister', 'Loved by the King', 'Lovers Quarrel', 'Luckiest Guy', 'Lusitana', 'Lustria', 'M PLUS 1p', 'M PLUS Rounded 1c', 'Ma Shan Zheng', 'Macondo', 'Macondo Swash Caps', 'Mada', 'Magra', 'Maiden Orange', 'Maitree', 'Major Mono Display', 'Mako', 'Mali', 'Mallanna', 'Mandali', 'Manjari', 'Manrope', 'Mansalva', 'Manuale', 'Marcellus', 'Marcellus SC', 'Marck Script', 'Margarine', 'Markazi Text', 'Marko One', 'Marmelad', 'Martel', 'Martel Sans', 'Marvel', 'Mate', 'Mate SC', 'Maven Pro', 'McLaren', 'Meddon', 'MedievalSharp', 'Medula One', 'Meera Inimai', 'Megrim', 'Meie Script', 'Merienda', 'Merienda One', 'Merriweather', 'Merriweather Sans', 'Metal', 'Metal Mania', 'Metamorphous', 'Metrophobic', 'Michroma', 'Milonga', 'Miltonian', 'Miltonian Tattoo', 'Mina', 'Miniver', 'Miriam Libre', 'Mirza', 'Miss Fajardose', 'Mitr', 'Modak', 'Modern Antiqua', 'Mogra', 'Molengo', 'Molle', 'Monda', 'Monofett', 'Monoton', 'Monsieur La Doulaise', 'Montaga', 'MonteCarlo', 'Montez', 'Montserrat', 'Montserrat Alternates', 'Montserrat Subrayada', 'Moul', 'Moulpali', 'Mountains of Christmas', 'Mouse Memoirs', 'Mr Bedfort', 'Mr Dafoe', 'Mr De Haviland', 'Mrs Saint Delafield', 'Mrs Sheppards', 'Mukta', 'Mukta Mahee', 'Mukta Malar', 'Mukta Vaani', 'Mulish', 'MuseoModerno', 'Mystery Quest', 'Nanum Brush Script', 'Nanum Gothic', 'Nanum Gothic Coding', 'Nanum Myeongjo', 'Nanum Pen Script', 'Nerko One', 'Neucha', 'Neuton', 'New Rocker', 'New Tegomin', 'News Cycle', 'Newsreader', 'Niconne', 'Niramit', 'Nixie One', 'Nobile', 'Nokora', 'Norican', 'Nosifer', 'Notable', 'Nothing You Could Do', 'Noticia Text', 'Noto Kufi Arabic', 'Noto Music', 'Noto Naskh Arabic', 'Noto Nastaliq Urdu', 'Noto Rashi Hebrew', 'Noto Sans', 'Noto Sans Adlam', 'Noto Sans Adlam Unjoined', 'Noto Sans Anatolian Hieroglyphs', 'Noto Sans Arabic', 'Noto Sans Armenian', 'Noto Sans Avestan', 'Noto Sans Balinese', 'Noto Sans Bamum', 'Noto Sans Bassa Vah', 'Noto Sans Batak', 'Noto Sans Bengali', 'Noto Sans Bhaiksuki', 'Noto Sans Brahmi', 'Noto Sans Buginese', 'Noto Sans Buhid', 'Noto Sans Canadian Aboriginal', 'Noto Sans Carian', 'Noto Sans Caucasian Albanian', 'Noto Sans Chakma', 'Noto Sans Cham', 'Noto Sans Cherokee', 'Noto Sans Coptic', 'Noto Sans Cuneiform', 'Noto Sans Cypriot', 'Noto Sans Deseret', 'Noto Sans Devanagari', 'Noto Sans Display', 'Noto Sans Duployan', 'Noto Sans Egyptian Hieroglyphs', 'Noto Sans Elbasan', 'Noto Sans Elymaic', 'Noto Sans Georgian', 'Noto Sans Glagolitic', 'Noto Sans Gothic', 'Noto Sans Grantha', 'Noto Sans Gujarati', 'Noto Sans Gunjala Gondi', 'Noto Sans Gurmukhi', 'Noto Sans Hanifi Rohingya', 'Noto Sans Hanunoo', 'Noto Sans Hatran', 'Noto Sans Hebrew', 'Noto Sans Hong Kong', 'Noto Sans Imperial Aramaic', 'Noto Sans Indic Siyaq Numbers', 'Noto Sans Inscriptional Pahlavi', 'Noto Sans Inscriptional Parthian', 'Noto Sans Japanese', 'Noto Sans Javanese', 'Noto Sans Kaithi', 'Noto Sans Kannada', 'Noto Sans Kayah Li', 'Noto Sans Kharoshthi', 'Noto Sans Khmer', 'Noto Sans Khojki', 'Noto Sans Khudawadi', 'Noto Sans Korean', 'Noto Sans Lao', 'Noto Sans Lepcha', 'Noto Sans Limbu', 'Noto Sans Linear A', 'Noto Sans Linear B', 'Noto Sans Lisu', 'Noto Sans Lycian', 'Noto Sans Lydian', 'Noto Sans Mahajani', 'Noto Sans Malayalam', 'Noto Sans Mandaic', 'Noto Sans Manichaean', 'Noto Sans Marchen', 'Noto Sans Masaram Gondi', 'Noto Sans Math', 'Noto Sans Mayan Numerals', 'Noto Sans Medefaidrin', 'Noto Sans Meroitic', 'Noto Sans Miao', 'Noto Sans Modi', 'Noto Sans Mongolian', 'Noto Sans Mono', 'Noto Sans Mro', 'Noto Sans Multani', 'Noto Sans Myanmar', 'Noto Sans Nabataean', 'Noto Sans New Tai Lue', 'Noto Sans Newa', 'Noto Sans Nüshu', 'Noto Sans Ogham', 'Noto Sans Ol Chiki', 'Noto Sans Old Hungarian', 'Noto Sans Old Italic', 'Noto Sans Old North Arabian', 'Noto Sans Old Permic', 'Noto Sans Old Persian', 'Noto Sans Old Sogdian', 'Noto Sans Old South Arabian', 'Noto Sans Old Turkic', 'Noto Sans Oriya', 'Noto Sans Osage', 'Noto Sans Osmanya', 'Noto Sans Pahawh Hmong', 'Noto Sans Palmyrene', 'Noto Sans Pau Cin Hau', 'Noto Sans Phags Pa', 'Noto Sans Phoenician', 'Noto Sans Psalter Pahlavi', 'Noto Sans Rejang', 'Noto Sans Runic', 'Noto Sans Samaritan', 'Noto Sans Saurashtra', 'Noto Sans Sharada', 'Noto Sans Shavian', 'Noto Sans Siddham', 'Noto Sans Simplified Chinese', 'Noto Sans Sinhala', 'Noto Sans Sogdian', 'Noto Sans Sora Sompeng', 'Noto Sans Soyombo', 'Noto Sans Sundanese', 'Noto Sans Syloti Nagri', 'Noto Sans Symbols', 'Noto Sans Symbols 2', 'Noto Sans Syriac', 'Noto Sans Tagalog', 'Noto Sans Tagbanwa', 'Noto Sans Tai Le', 'Noto Sans Tai Tham', 'Noto Sans Tai Viet', 'Noto Sans Takri', 'Noto Sans Tamil', 'Noto Sans Tamil Supplement', 'Noto Sans Telugu', 'Noto Sans Thaana', 'Noto Sans Thai', 'Noto Sans Thai Looped', 'Noto Sans Tifinagh', 'Noto Sans Tirhuta', 'Noto Sans Traditional Chinese', 'Noto Sans Ugaritic', 'Noto Sans Vai', 'Noto Sans Wancho', 'Noto Sans Warang Citi', 'Noto Sans Yi', 'Noto Sans Zanabazar Square', 'Noto Serif', 'Noto Serif Ahom', 'Noto Serif Armenian', 'Noto Serif Balinese', 'Noto Serif Bengali', 'Noto Serif Devanagari', 'Noto Serif Display', 'Noto Serif Dogra', 'Noto Serif Ethiopic', 'Noto Serif Georgian', 'Noto Serif Grantha', 'Noto Serif Gujarati', 'Noto Serif Gurmukhi', 'Noto Serif Hebrew', 'Noto Serif Japanese', 'Noto Serif Kannada', 'Noto Serif Khmer', 'Noto Serif KR', 'Noto Serif Lao', 'Noto Serif Malayalam', 'Noto Serif Myanmar', 'Noto Serif Nyiakeng Puachue Hmong', 'Noto Serif Simplified Chinese', 'Noto Serif Sinhala', 'Noto Serif Tamil', 'Noto Serif Tangut', 'Noto Serif Telugu', 'Noto Serif Thai', 'Noto Serif Tibetan', 'Noto Serif Traditional Chinese', 'Noto Serif Yezidi', 'Noto Traditional Nüshu', 'Nova Cut', 'Nova Flat', 'Nova Mono', 'Nova Oval', 'Nova Round', 'Nova Script', 'Nova Slim', 'Nova Square', 'NTR', 'Numans', 'Nunito', 'Nunito Sans', 'Odibee Sans', 'Odor Mean Chey', 'Offside', 'Oi', 'Old Standard TT', 'Oldenburg', 'Oleo Script', 'Oleo Script Swash Caps', 'Open Sans', 'Open Sans Condensed', 'Oranienbaum', 'Orbitron', 'Oregano', 'Orelega One', 'Orienta', 'Original Surfer', 'Oswald', 'Otomanopee One', 'Over the Rainbow', 'Overlock', 'Overlock SC', 'Overpass', 'Overpass Mono', 'Ovo', 'Oxanium', 'Oxygen', 'Oxygen Mono', 'Pacifico', 'Padauk', 'Palanquin', 'Palanquin Dark', 'Palette Mosaic', 'Pangolin', 'Paprika', 'Parisienne', 'Passero One', 'Passion One', 'Pathway Gothic One', 'Patrick Hand', 'Patrick Hand SC', 'Pattaya', 'Patua One', 'Pavanam', 'Paytone One', 'Peddana', 'Peralta', 'Permanent Marker', 'Petit Formal Script', 'Petrona', 'Philosopher', 'Piazzolla', 'Piedra', 'Pinyon Script', 'Pirata One', 'Plaster', 'Play', 'Playball', 'Playfair Display', 'Playfair Display SC', 'Podkova', 'Poiret One', 'Poller One', 'Poly', 'Pompiere', 'Pontano Sans', 'Poor Story', 'Poppins', 'Port Lligat Sans', 'Port Lligat Slab', 'Potta One', 'Pragati Narrow', 'Prata', 'Preahvihear', 'Press Start 2P', 'Pridi', 'Princess Sofia', 'Prociono', 'Prompt', 'Prosto One', 'Proza Libre', 'PT Mono', 'PT Sans', 'PT Sans Caption', 'PT Sans Narrow', 'PT Serif', 'PT Serif Caption', 'Public Sans', 'Puritan', 'Purple Purse', 'Qahiri', 'Quando', 'Quantico', 'Quattrocento', 'Quattrocento Sans', 'Questrial', 'Quicksand', 'Quintessential', 'Qwigley', 'Racing Sans One', 'Radley', 'Rajdhani', 'Rakkas', 'Raleway', 'Raleway Dots', 'Ramabhadra', 'Ramaraja', 'Rambla', 'Rammetto One', 'Rampart One', 'Ranchers', 'Rancho', 'Ranga', 'Rasa', 'Rationale', 'Ravi Prakash', 'Recursive', 'Red Hat Display', 'Red Hat Text', 'Red Rose', 'Redressed', 'Reem Kufi', 'Reenie Beanie', 'Reggae One', 'Revalia', 'Rhodium Libre', 'Ribeye', 'Ribeye Marrow', 'Righteous', 'Risque', 'Roboto', 'Roboto Condensed', 'Roboto Mono', 'Roboto Slab', 'Rochester', 'Rock Salt', 'RocknRoll One', 'Rokkitt', 'Romanesco', 'Ropa Sans', 'Rosario', 'Rosarivo', 'Rouge Script', 'Rowdies', 'Rozha One', 'Rubik', 'Rubik Beastly', 'Rubik Mono One', 'Ruda', 'Rufina', 'Ruge Boogie', 'Ruluko', 'Rum Raisin', 'Ruslan Display', 'Russo One', 'Ruthie', 'Rye', 'Sacramento', 'Sahitya', 'Sail', 'Saira', 'Saira Condensed', 'Saira Extra Condensed', 'Saira Semi Condensed', 'Saira Stencil One', 'Salsa', 'Sanchez', 'Sancreek', 'Sansita', 'Sansita Swashed', 'Sarabun', 'Sarala', 'Sarina', 'Sarpanch', 'Satisfy', 'Sawarabi Gothic', 'Sawarabi Mincho', 'Scada', 'Scheherazade', 'Scheherazade New', 'Schoolbell', 'Scope One', 'Seaweed Script', 'Secular One', 'Sedgwick Ave', 'Sedgwick Ave Display', 'Sen', 'Sevillana', 'Seymour One', 'Shadows Into Light', 'Shadows Into Light Two', 'Shanti', 'Share', 'Share Tech', 'Share Tech Mono', 'Shippori Mincho', 'Shippori Mincho B1', 'Shojumaru', 'Short Stack', 'Shrikhand', 'Siemreap', 'Sigmar One', 'Signika', 'Signika Negative', 'Simonetta', 'Single Day', 'Sintony', 'Sirin Stencil', 'Six Caps', 'Skranji', 'Slabo 13px', 'Slabo 27px', 'Slackey', 'Smokum', 'Smythe', 'Sniglet', 'Snippet', 'Snowburst One', 'Sofadi One', 'Sofia', 'Solway', 'Song Myung', 'Sonsie One', 'Sora', 'Sorts Mill Goudy', 'Source Code Pro', 'Source Sans Pro', 'Source Serif Pro', 'Space Grotesk', 'Space Mono', 'Spartan', 'Special Elite', 'Spectral', 'Spectral SC', 'Spicy Rice', 'Spinnaker', 'Spirax', 'Squada One', 'Sree Krushnadevaraya', 'Sriracha', 'Srisakdi', 'Staatliches', 'Stalemate', 'Stalinist One', 'Stardos Stencil', 'Stick', 'Stick No Bills', 'Stint Ultra Condensed', 'Stint Ultra Expanded', 'STIX Two Text', 'Stoke', 'Strait', 'Style Script', 'Stylish', 'Sue Ellen Francisco', 'Suez One', 'Sulphur Point', 'Sumana', 'Sunflower', 'Sunshiney', 'Supermercado One', 'Sura', 'Suranna', 'Suravaram', 'Suwannaphum', 'Swanky and Moo Moo', 'Syncopate', 'Syne', 'Syne Mono', 'Syne Tactile', 'Tajawal', 'Tangerine', 'Taprom', 'Tauri', 'Taviraj', 'Teko', 'Telex', 'Tenali Ramakrishna', 'Tenor Sans', 'Text Me One', 'Texturina', 'Thasadith', 'The Girl Next Door', 'Tienne', 'Tillana', 'Timmana', 'Tinos', 'Titan One', 'Titillium Web', 'Tomorrow', 'Tourney', 'Trade Winds', 'Train One', 'Trirong', 'Trispace', 'Trocchi', 'Trochut', 'Truculenta', 'Trykker', 'Tulpen One', 'Turret Road', 'Ubuntu', 'Ubuntu Condensed', 'Ubuntu Mono', 'Uchen', 'Ultra', 'Uncial Antiqua', 'Underdog', 'Unica One', 'UnifrakturCook', 'UnifrakturMaguntia', 'Unkempt', 'Unlock', 'Unna', 'Urbanist', 'Vampiro One', 'Varela', 'Varela Round', 'Varta', 'Vast Shadow', 'Vesper Libre', 'Viaoda Libre', 'Vibes', 'Vibur', 'Vidaloka', 'Viga', 'Voces', 'Volkhov', 'Vollkorn', 'Vollkorn SC', 'Voltaire', 'VT323', 'Waiting for the Sunrise', 'Wallpoet', 'Walter Turncoat', 'Warnes', 'Wellfleet', 'Wendy One', 'WindSong', 'Wire One', 'Work Sans', 'Xanh Mono', 'Yaldevi', 'Yanone Kaffeesatz', 'Yantramanav', 'Yatra One', 'Yellowtail', 'Yeon Sung', 'Yeseva One', 'Yesteryear', 'Yomogi', 'Yrsa', 'Yusei Magic', 'ZCOOL KuaiLe', 'ZCOOL QingKe HuangYou', 'ZCOOL XiaoWei', 'Zen Dots', 'Zen Loop', 'Zen Tokyo Zoo', 'Zeyada', 'Zhi Mang Xing', 'Zilla Slab', 'Zilla Slab Highlight'];
|
51 |
|
52 |
$pagelayer->font_style = ['' => 'Default',
|
53 |
'normal' => 'Normal',
|
@@ -1635,7 +1635,7 @@ function pagelayer_posts($params, $args = []){
|
|
1635 |
$data = '';
|
1636 |
|
1637 |
if(!$postsquery->have_posts()){
|
1638 |
-
return '<h3>
|
1639 |
}
|
1640 |
|
1641 |
while($postsquery->have_posts()) : $postsquery->the_post();
|
@@ -2274,17 +2274,36 @@ function pagelayer_export_media($parsed){
|
|
2274 |
continue;
|
2275 |
}
|
2276 |
|
2277 |
-
|
2278 |
-
if(preg_match('/pagelayer-pro\/images\/default-image.png$/is', $v['attrs'][$kk])){
|
2279 |
-
$parsed[$k]['attrs'][$kk] = '';
|
2280 |
-
continue;
|
2281 |
-
}
|
2282 |
|
2283 |
-
|
2284 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2285 |
}
|
2286 |
|
2287 |
-
$ids = pagelayer_maybe_explode(',', $v['attrs'][$kk]);
|
2288 |
$ret = [];
|
2289 |
|
2290 |
foreach($ids as $id){
|
@@ -2299,8 +2318,8 @@ function pagelayer_export_media($parsed){
|
|
2299 |
$ret[] = $exp_img_url;
|
2300 |
|
2301 |
}
|
2302 |
-
|
2303 |
-
$parsed[$k]['attrs'][$kk] = implode(',', $ret);
|
2304 |
//echo $tag;echo '-'.$kk;r_print($parsed[$k]['attrs']);die();
|
2305 |
}
|
2306 |
|
1635 |
$data = '';
|
1636 |
|
1637 |
if(!$postsquery->have_posts()){
|
1638 |
+
return '<h3>No posts found!</h3>';
|
1639 |
}
|
1640 |
|
1641 |
while($postsquery->have_posts()) : $postsquery->the_post();
|
2274 |
continue;
|
2275 |
}
|
2276 |
|
2277 |
+
$is_array = 0;
|
|
|
|
|
|
|
|
|
2278 |
|
2279 |
+
// Is it of the format 1,2,3
|
2280 |
+
if(preg_match('/^((\d*)(,?))*$/is', $v['attrs'][$kk])){
|
2281 |
+
|
2282 |
+
$ids = pagelayer_maybe_explode(',', $v['attrs'][$kk]);
|
2283 |
+
|
2284 |
+
// Is it an array
|
2285 |
+
}elseif(is_array($v['attrs'][$kk])){
|
2286 |
+
|
2287 |
+
$ids = $v['attrs'][$kk];
|
2288 |
+
$is_array = 1;
|
2289 |
+
|
2290 |
+
// Its a number or string
|
2291 |
+
}else{
|
2292 |
+
|
2293 |
+
// Is it our default image ?
|
2294 |
+
if(preg_match('/pagelayer-pro\/images\/default-image.png$/is', $v['attrs'][$kk])){
|
2295 |
+
$parsed[$k]['attrs'][$kk] = '';
|
2296 |
+
continue;
|
2297 |
+
}
|
2298 |
+
|
2299 |
+
// It should be a number
|
2300 |
+
if(!is_numeric($v['attrs'][$kk])){
|
2301 |
+
continue;
|
2302 |
+
}
|
2303 |
+
|
2304 |
+
$ids = [$v['attrs'][$kk]];
|
2305 |
}
|
2306 |
|
|
|
2307 |
$ret = [];
|
2308 |
|
2309 |
foreach($ids as $id){
|
2318 |
$ret[] = $exp_img_url;
|
2319 |
|
2320 |
}
|
2321 |
+
|
2322 |
+
$parsed[$k]['attrs'][$kk] = $is_array ? $ret : implode(',', $ret);
|
2323 |
//echo $tag;echo '-'.$kk;r_print($parsed[$k]['attrs']);die();
|
2324 |
}
|
2325 |
|
@@ -449,7 +449,7 @@ global $pagelayer, $pl_error, $sitepad;
|
|
449 |
//die($pagelayer_theme_path);
|
450 |
|
451 |
// Delete Old Data ?
|
452 |
-
if(isset($_POST['delete_old_import'])
|
453 |
$args = array(
|
454 |
'post_type' => ['page', 'post', $pagelayer->builder['name']],
|
455 |
'meta_query' => array(
|
@@ -638,7 +638,7 @@ global $pagelayer, $pl_error, $sitepad;
|
|
638 |
if(empty($_POST['no_header_menu'])){
|
639 |
|
640 |
// Is there any MENU in this theme ?
|
641 |
-
if(empty($data['menus'])){
|
642 |
$menu_id = pagelayer_import_create_menu($template_name.' Header Menu');
|
643 |
}else{
|
644 |
|
@@ -844,7 +844,7 @@ global $pagelayer, $pl_error, $sitepad;
|
|
844 |
$new_post['post_type'] = $data_type;
|
845 |
$new_post['post_status'] = 'publish';
|
846 |
|
847 |
-
if(isset($_POST['maintain_ids'])){
|
848 |
$new_post['import_id'] = $v['ID'];
|
849 |
}
|
850 |
|
449 |
//die($pagelayer_theme_path);
|
450 |
|
451 |
// Delete Old Data ?
|
452 |
+
if(isset($_POST['delete_old_import'])){
|
453 |
$args = array(
|
454 |
'post_type' => ['page', 'post', $pagelayer->builder['name']],
|
455 |
'meta_query' => array(
|
638 |
if(empty($_POST['no_header_menu'])){
|
639 |
|
640 |
// Is there any MENU in this theme ?
|
641 |
+
if(empty($data['menus'])){
|
642 |
$menu_id = pagelayer_import_create_menu($template_name.' Header Menu');
|
643 |
}else{
|
644 |
|
844 |
$new_post['post_type'] = $data_type;
|
845 |
$new_post['post_status'] = 'publish';
|
846 |
|
847 |
+
if(isset($_POST['maintain_ids']) && empty($new_post['ID'])){
|
848 |
$new_post['import_id'] = $v['ID'];
|
849 |
}
|
850 |
|
@@ -166,6 +166,8 @@ pagelayer_ajax_post_data = {};';
|
|
166 |
if(empty($pagelayer->settings['enable_giver'])){
|
167 |
echo '
|
168 |
jQuery(document).ready(function(){
|
|
|
|
|
169 |
return jQuery.ajax({
|
170 |
url: "'.PAGELAYER_JS.'/givejs.php?test=1",
|
171 |
type: "GET",
|
@@ -173,15 +175,18 @@ jQuery(document).ready(function(){
|
|
173 |
success:function(data){
|
174 |
|
175 |
if(data !== "1"){
|
176 |
-
|
177 |
}
|
178 |
|
|
|
|
|
|
|
179 |
jQuery.ajax({
|
180 |
type: "POST",
|
181 |
url: pagelayer_ajax_url+"&action=pagelayer_set_jscss_giver",
|
182 |
data: {
|
183 |
pagelayer_nonce: pagelayer_ajax_nonce,
|
184 |
-
set :
|
185 |
},
|
186 |
error: function(errorThrown){
|
187 |
console.log("Error saving giver data");
|
166 |
if(empty($pagelayer->settings['enable_giver'])){
|
167 |
echo '
|
168 |
jQuery(document).ready(function(){
|
169 |
+
var test_giver = -1;
|
170 |
+
|
171 |
return jQuery.ajax({
|
172 |
url: "'.PAGELAYER_JS.'/givejs.php?test=1",
|
173 |
type: "GET",
|
175 |
success:function(data){
|
176 |
|
177 |
if(data !== "1"){
|
178 |
+
return;
|
179 |
}
|
180 |
|
181 |
+
test_giver = 1;
|
182 |
+
},
|
183 |
+
complete:function(data){
|
184 |
jQuery.ajax({
|
185 |
type: "POST",
|
186 |
url: pagelayer_ajax_url+"&action=pagelayer_set_jscss_giver",
|
187 |
data: {
|
188 |
pagelayer_nonce: pagelayer_ajax_nonce,
|
189 |
+
set : test_giver
|
190 |
},
|
191 |
error: function(errorThrown){
|
192 |
console.log("Error saving giver data");
|
@@ -471,6 +471,17 @@ function pagelayer_settings_page(){
|
|
471 |
// Dark Mode
|
472 |
$enable_dark_mode = get_option('pagelayer_enable_dark_mode');
|
473 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
474 |
// Saved ?
|
475 |
if(!empty($done)){
|
476 |
echo '<div class="notice notice-success"><p>'. __('The settings were saved successfully', 'pagelayer'). '</p></div><br />';
|
@@ -545,6 +556,14 @@ function pagelayer_settings_page(){
|
|
545 |
</label>
|
546 |
</td>
|
547 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
548 |
</table>
|
549 |
</div>
|
550 |
<div class="pagelayer-tab-panel" id="icons">
|
471 |
// Dark Mode
|
472 |
$enable_dark_mode = get_option('pagelayer_enable_dark_mode');
|
473 |
|
474 |
+
// Enable JS/CSS Giver
|
475 |
+
if(isset($_POST['submit']) || isset($_POST['pagelayer_enable_jscss_giver'])){
|
476 |
+
$done = 1;
|
477 |
+
$enable_jscss_giver = empty($_REQUEST['pagelayer_enable_jscss_giver']) ? -1 : 1;
|
478 |
+
|
479 |
+
update_option( 'pagelayer_enable_giver', $enable_jscss_giver );
|
480 |
+
}
|
481 |
+
|
482 |
+
// Enable JS/CSS Giver
|
483 |
+
$enable_jscss_giver = get_option('pagelayer_enable_giver');
|
484 |
+
|
485 |
// Saved ?
|
486 |
if(!empty($done)){
|
487 |
echo '<div class="notice notice-success"><p>'. __('The settings were saved successfully', 'pagelayer'). '</p></div><br />';
|
556 |
</label>
|
557 |
</td>
|
558 |
</tr>
|
559 |
+
<tr>
|
560 |
+
<th scope="row"><?php _e('Enable JS/CSS Giver');?></th>
|
561 |
+
<td>
|
562 |
+
<label>
|
563 |
+
<input type="checkbox" name="pagelayer_enable_jscss_giver" <?php echo ((!empty($enable_jscss_giver) && $enable_jscss_giver == 1) ? 'checked' : '');?> /><?php _e('Enable JS/CSS Giver') ?></br>
|
564 |
+
</label>
|
565 |
+
</td>
|
566 |
+
</tr>
|
567 |
</table>
|
568 |
</div>
|
569 |
<div class="pagelayer-tab-panel" id="icons">
|
@@ -303,7 +303,41 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
|
|
303 |
|
304 |
// Load permalink values
|
305 |
if($param['type'] == 'link'){
|
306 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
}
|
308 |
|
309 |
// Handle the AddClasses
|
@@ -611,12 +645,11 @@ function pagelayer_render_shortcode($atts, $content = '', $tag = '', $inner_bloc
|
|
611 |
|
612 |
// Adding Custom Attributes
|
613 |
if(!empty($el['atts']['ele_attributes'])){
|
614 |
-
|
615 |
-
$val =
|
616 |
-
|
617 |
-
|
618 |
-
$
|
619 |
-
$node->query($el['selector'])->attr($att[0], $att[1]);
|
620 |
}
|
621 |
}
|
622 |
|
@@ -1022,8 +1055,45 @@ function pagelayer_bg_video(&$el){
|
|
1022 |
}
|
1023 |
}
|
1024 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1025 |
// Image Handler
|
1026 |
function pagelayer_sc_social(&$el){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1027 |
if(empty($el['atts']['icon'])) return;
|
1028 |
$icon = explode(' fa-', $el['atts']['icon']);
|
1029 |
$el['classes'][] = ['.pagelayer-icon-holder' => 'pagelayer-'.$icon[1]];
|
@@ -1032,6 +1102,11 @@ function pagelayer_sc_social(&$el){
|
|
1032 |
// Image Handler
|
1033 |
function pagelayer_sc_image(&$el){
|
1034 |
|
|
|
|
|
|
|
|
|
|
|
1035 |
// Decide the image URL
|
1036 |
$el['atts']['func_id'] = @$el['tmp']['id-'.$el['atts']['id-size'].'-url'];
|
1037 |
$el['atts']['func_id'] = empty($el['atts']['func_id']) ? @$el['tmp']['id-url'] : $el['atts']['func_id'];
|
@@ -1071,6 +1146,11 @@ function pagelayer_sc_image(&$el){
|
|
1071 |
// Image Slider Handler
|
1072 |
function pagelayer_sc_image_slider(&$el){
|
1073 |
|
|
|
|
|
|
|
|
|
|
|
1074 |
if(empty($el['atts']['ids'])){
|
1075 |
$el['atts']['ids'] = '';
|
1076 |
}
|
@@ -1103,7 +1183,7 @@ function pagelayer_sc_image_slider(&$el){
|
|
1103 |
// Any Link ?
|
1104 |
if(!empty($el['atts']['link_type'])){
|
1105 |
$link = ($el['atts']['link_type'] == 'media_file' ? (!empty($image['url']) ? $image['url'] : $final_urls[$v]) : @$el['tmp']['link']);
|
1106 |
-
$li .= '<a href="'.$link.'">';
|
1107 |
}
|
1108 |
|
1109 |
// The Image
|
@@ -1316,6 +1396,30 @@ function pagelayer_sc_wp_widgets(&$el){
|
|
1316 |
// Service Handler
|
1317 |
function pagelayer_sc_service(&$el){
|
1318 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1319 |
if(!empty($el['atts']['service_image'])){
|
1320 |
|
1321 |
// Decide the image URL
|
@@ -1333,6 +1437,27 @@ function pagelayer_sc_service(&$el){
|
|
1333 |
}
|
1334 |
}
|
1335 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1336 |
function pagelayer_sc_google_maps(&$el){
|
1337 |
|
1338 |
$el['atts']['show_v2'] = true;
|
@@ -1410,6 +1535,32 @@ function pagelayer_icon_class_list(){
|
|
1410 |
return array();
|
1411 |
}
|
1412 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1413 |
// Retina image setting attribute.
|
1414 |
function pagelayer_get_img_srcset(&$el, $image_atts){
|
1415 |
|
@@ -1426,4 +1577,55 @@ function pagelayer_get_img_srcset(&$el, $image_atts){
|
|
1426 |
$retina_image_mobile = empty($retina_image_mobile) ? @$el['tmp'][$image_atts['name'].'-retina-mobile-url'] : $retina_image_mobile;
|
1427 |
$el['atts']['pagelayer-srcset'] .= $retina_image_mobile.' 3x';
|
1428 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1429 |
}
|
303 |
|
304 |
// Load permalink values
|
305 |
if($param['type'] == 'link'){
|
306 |
+
|
307 |
+
$link = $el['atts'][$prop];
|
308 |
+
|
309 |
+
if( is_array($el['atts'][$prop]) ){
|
310 |
+
|
311 |
+
// Link is required for check IF and IF-EXT in html
|
312 |
+
if(!isset($el['atts'][$prop]['link']) || strlen(trim($el['atts'][$prop]['link'])) < 1){
|
313 |
+
$link = '';
|
314 |
+
unset($el['atts'][$prop]);
|
315 |
+
continue;
|
316 |
+
}
|
317 |
+
|
318 |
+
$link = $el['atts'][$prop]['link'];
|
319 |
+
|
320 |
+
if(!empty($el['atts'][$prop]['target'])){
|
321 |
+
$el['attr'][][$param['selector']] = 'target="_blank"';
|
322 |
+
}
|
323 |
+
|
324 |
+
if(!empty($el['atts'][$prop]['rel'])){
|
325 |
+
$el['attr'][][$param['selector']] = 'rel="nofollow"';
|
326 |
+
}
|
327 |
+
|
328 |
+
if(!empty($el['atts'][$prop]['attrs'])){
|
329 |
+
|
330 |
+
$atts_ar = pagelayer_string_to_attributes($el['atts'][$prop]['attrs']);
|
331 |
+
|
332 |
+
if(!empty($atts_ar)){
|
333 |
+
foreach($atts_ar as $att => $value){
|
334 |
+
$el['attr'][][$param['selector']] = $att.'="'.$value.'"';
|
335 |
+
}
|
336 |
+
}
|
337 |
+
}
|
338 |
+
}
|
339 |
+
|
340 |
+
$el['tmp'][$prop] = pagelayer_permalink($link);
|
341 |
}
|
342 |
|
343 |
// Handle the AddClasses
|
645 |
|
646 |
// Adding Custom Attributes
|
647 |
if(!empty($el['atts']['ele_attributes'])){
|
648 |
+
|
649 |
+
$val = pagelayer_string_to_attributes($el['atts']['ele_attributes']);
|
650 |
+
if(!empty($val)){
|
651 |
+
foreach($val as $att => $value ){
|
652 |
+
$node->query($el['selector'])->attr($att, $value);
|
|
|
653 |
}
|
654 |
}
|
655 |
|
1055 |
}
|
1056 |
}
|
1057 |
|
1058 |
+
// Heading Handler
|
1059 |
+
function pagelayer_sc_heading(&$el){
|
1060 |
+
//Backward compatibility for new link props
|
1061 |
+
pagelayer_add_link_backward($el, array('rel' => '', 'selector' => '.pagelayer-link-sel'));
|
1062 |
+
}
|
1063 |
+
|
1064 |
+
// Heading Handler
|
1065 |
+
function pagelayer_sc_icon(&$el){
|
1066 |
+
//Backward compatibility for new link props
|
1067 |
+
pagelayer_add_link_backward($el, array('rel' => '', 'selector' => '.pagelayer-ele-link'));
|
1068 |
+
}
|
1069 |
+
|
1070 |
+
// Heading Handler
|
1071 |
+
function pagelayer_sc_badge(&$el){
|
1072 |
+
//Backward compatibility for new link props
|
1073 |
+
pagelayer_add_link_backward($el, array(
|
1074 |
+
'link' => 'badge_url',
|
1075 |
+
'rel' => '',
|
1076 |
+
'target' => 'badge_target',
|
1077 |
+
'selector' => '.pagelayer-ele-link'
|
1078 |
+
));
|
1079 |
+
}
|
1080 |
+
|
1081 |
+
// Heading Handler
|
1082 |
+
function pagelayer_sc_btn(&$el){
|
1083 |
+
//Backward compatibility for new link props
|
1084 |
+
pagelayer_add_link_backward($el, array('selector' => '.pagelayer-btn-holder'));
|
1085 |
+
}
|
1086 |
+
|
1087 |
// Image Handler
|
1088 |
function pagelayer_sc_social(&$el){
|
1089 |
+
|
1090 |
+
//Backward compatibility for new link props
|
1091 |
+
pagelayer_add_link_backward($el, array(
|
1092 |
+
'link' => 'social_url',
|
1093 |
+
'rel' => '',
|
1094 |
+
'selector' => '.pagelayer-ele-link'
|
1095 |
+
));
|
1096 |
+
|
1097 |
if(empty($el['atts']['icon'])) return;
|
1098 |
$icon = explode(' fa-', $el['atts']['icon']);
|
1099 |
$el['classes'][] = ['.pagelayer-icon-holder' => 'pagelayer-'.$icon[1]];
|
1102 |
// Image Handler
|
1103 |
function pagelayer_sc_image(&$el){
|
1104 |
|
1105 |
+
// Backward compatibility for new link props
|
1106 |
+
if($el['atts']['link_type'] == 'custom_url'){
|
1107 |
+
pagelayer_add_link_backward($el, array( 'rel' => '', 'selector' => '.pagelayer-ele-link'));
|
1108 |
+
}
|
1109 |
+
|
1110 |
// Decide the image URL
|
1111 |
$el['atts']['func_id'] = @$el['tmp']['id-'.$el['atts']['id-size'].'-url'];
|
1112 |
$el['atts']['func_id'] = empty($el['atts']['func_id']) ? @$el['tmp']['id-url'] : $el['atts']['func_id'];
|
1146 |
// Image Slider Handler
|
1147 |
function pagelayer_sc_image_slider(&$el){
|
1148 |
|
1149 |
+
// Backward compatibility for new link props
|
1150 |
+
if($el['atts']['link_type'] == 'custom_url'){
|
1151 |
+
pagelayer_add_link_backward($el, array( 'rel' => '', 'selector' => '.pagelayer-link-sel'));
|
1152 |
+
}
|
1153 |
+
|
1154 |
if(empty($el['atts']['ids'])){
|
1155 |
$el['atts']['ids'] = '';
|
1156 |
}
|
1183 |
// Any Link ?
|
1184 |
if(!empty($el['atts']['link_type'])){
|
1185 |
$link = ($el['atts']['link_type'] == 'media_file' ? (!empty($image['url']) ? $image['url'] : $final_urls[$v]) : @$el['tmp']['link']);
|
1186 |
+
$li .= '<a href="'.$link.'" class="pagelayer-link-sel">';
|
1187 |
}
|
1188 |
|
1189 |
// The Image
|
1396 |
// Service Handler
|
1397 |
function pagelayer_sc_service(&$el){
|
1398 |
|
1399 |
+
//Backward compatibility for new link props
|
1400 |
+
pagelayer_add_link_backward($el, array(
|
1401 |
+
'link' => 'box_url',
|
1402 |
+
'rel' => '',
|
1403 |
+
'target' => 'box_target',
|
1404 |
+
'selector' => '.pagelayer-box-link'
|
1405 |
+
));
|
1406 |
+
|
1407 |
+
//Backward compatibility for new link props
|
1408 |
+
pagelayer_add_link_backward($el, array(
|
1409 |
+
'link' => 'heading_url',
|
1410 |
+
'rel' => '',
|
1411 |
+
'target' => 'heading_target',
|
1412 |
+
'selector' => '.pagelayer-service-heading-link'
|
1413 |
+
));
|
1414 |
+
|
1415 |
+
//Backward compatibility for new link props
|
1416 |
+
pagelayer_add_link_backward($el, array(
|
1417 |
+
'link' => 'service_button_url',
|
1418 |
+
'rel' => '',
|
1419 |
+
'target' => 'service_button_target',
|
1420 |
+
'selector' => '.pagelayer-service-btn'
|
1421 |
+
));
|
1422 |
+
|
1423 |
if(!empty($el['atts']['service_image'])){
|
1424 |
|
1425 |
// Decide the image URL
|
1437 |
}
|
1438 |
}
|
1439 |
|
1440 |
+
// Icon box Handler
|
1441 |
+
function pagelayer_sc_iconbox(&$el){
|
1442 |
+
|
1443 |
+
//Backward compatibility for new link props
|
1444 |
+
pagelayer_add_link_backward($el, array(
|
1445 |
+
'link' => 'box_url',
|
1446 |
+
'rel' => '',
|
1447 |
+
'target' => 'box_target',
|
1448 |
+
'selector' => '.pagelayer-box-link'
|
1449 |
+
));
|
1450 |
+
|
1451 |
+
//Backward compatibility for new link props
|
1452 |
+
pagelayer_add_link_backward($el, array(
|
1453 |
+
'link' => 'heading_url',
|
1454 |
+
'rel' => '',
|
1455 |
+
'target' => 'heading_target',
|
1456 |
+
'selector' => '.pagelayer-service-heading-link',
|
1457 |
+
));
|
1458 |
+
|
1459 |
+
}
|
1460 |
+
|
1461 |
function pagelayer_sc_google_maps(&$el){
|
1462 |
|
1463 |
$el['atts']['show_v2'] = true;
|
1535 |
return array();
|
1536 |
}
|
1537 |
|
1538 |
+
// Function to convert string into set of attributes and their corresponding values.
|
1539 |
+
function pagelayer_string_to_attributes($val){
|
1540 |
+
|
1541 |
+
$final_att = [];
|
1542 |
+
$semi_arr = explode(';', $val);
|
1543 |
+
|
1544 |
+
foreach($semi_arr as $att){
|
1545 |
+
|
1546 |
+
$attrs = preg_split("/=/", trim($att), 2);
|
1547 |
+
|
1548 |
+
if(empty($attrs[0]) || !preg_match("/^[a-z_]+[\w:.-]*$/i", $attrs[0]) ){
|
1549 |
+
continue;
|
1550 |
+
}
|
1551 |
+
|
1552 |
+
if(!isset( $attrs[1])){
|
1553 |
+
$final_att[$attrs[0]] = '';
|
1554 |
+
continue;
|
1555 |
+
}
|
1556 |
+
|
1557 |
+
$final_att[$attrs[0]] = $attrs[1];
|
1558 |
+
}
|
1559 |
+
|
1560 |
+
return $final_att;
|
1561 |
+
|
1562 |
+
}
|
1563 |
+
|
1564 |
// Retina image setting attribute.
|
1565 |
function pagelayer_get_img_srcset(&$el, $image_atts){
|
1566 |
|
1577 |
$retina_image_mobile = empty($retina_image_mobile) ? @$el['tmp'][$image_atts['name'].'-retina-mobile-url'] : $retina_image_mobile;
|
1578 |
$el['atts']['pagelayer-srcset'] .= $retina_image_mobile.' 3x';
|
1579 |
}
|
1580 |
+
}
|
1581 |
+
|
1582 |
+
// Backward compatibility of target and rel attrs for link
|
1583 |
+
function pagelayer_add_link_backward(&$el, $atts = array()){
|
1584 |
+
global $pagelayer;
|
1585 |
+
|
1586 |
+
$defaults = array(
|
1587 |
+
'link' => 'link',
|
1588 |
+
'target' => 'target',
|
1589 |
+
'rel' => 'rel',
|
1590 |
+
'selector' => 0,
|
1591 |
+
);
|
1592 |
+
|
1593 |
+
$_atts = wp_parse_args( $atts, $defaults );
|
1594 |
+
|
1595 |
+
if(empty($el['atts'][$_atts['link']])){
|
1596 |
+
return;
|
1597 |
+
}
|
1598 |
+
|
1599 |
+
$link = array();
|
1600 |
+
|
1601 |
+
if(!empty($_atts['target']) && !empty($el['atts'][$_atts['target']]) ){
|
1602 |
+
$link['target'] = true;
|
1603 |
+
unset($el['oAtts'][$_atts['target']]);
|
1604 |
+
}
|
1605 |
+
|
1606 |
+
if(!empty($_atts['rel']) && !empty($el['atts'][$_atts['rel']]) ){
|
1607 |
+
$link['attrs'] = 'rel='.$el['atts'][$_atts['rel']];
|
1608 |
+
unset($el['oAtts'][$_atts['rel']]);
|
1609 |
+
}
|
1610 |
+
|
1611 |
+
if(empty($link)){
|
1612 |
+
return;
|
1613 |
+
}
|
1614 |
+
|
1615 |
+
// Set Attributes for backward compatibility
|
1616 |
+
if(!empty($link['target'])){
|
1617 |
+
$el['attr'][][$_atts['selector']] = 'target="_blank"';
|
1618 |
+
}
|
1619 |
+
|
1620 |
+
// Set Attributes for backward compatibility
|
1621 |
+
if(!empty($link['attrs']) ){
|
1622 |
+
$el['attr'][][$_atts['selector']] = $link['attrs'];
|
1623 |
+
}
|
1624 |
+
|
1625 |
+
if(!is_array($el['atts'][$_atts['link']])){
|
1626 |
+
$link['link'] = @$el['atts'][$_atts['link']];
|
1627 |
+
}
|
1628 |
+
|
1629 |
+
$el['oAtts'][$_atts['link']] = $link;
|
1630 |
+
$el['atts'][$_atts['link']] = $link;
|
1631 |
}
|
@@ -2861,7 +2861,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_heading', array(
|
|
2861 |
'name' => __pl('title'),
|
2862 |
'group' => 'text',
|
2863 |
'innerHTML' => 'text',
|
2864 |
-
'html' => '<a if-ext="{{link}}" href="{{{link}}}">
|
2865 |
<div if={{text}} class="pagelayer-heading-holder">{{text}}</div>
|
2866 |
</a>',
|
2867 |
'params' => array(
|
@@ -2874,17 +2874,9 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_heading', array(
|
|
2874 |
'edit' => '.pagelayer-heading-holder', // Edit the text and also mirror the same
|
2875 |
),
|
2876 |
'link' => array(
|
2877 |
-
'label' => __pl('image_link_label'),
|
2878 |
-
'desc' => __pl('image_link_desc'),
|
2879 |
'type' => 'link',
|
2880 |
-
|
2881 |
-
|
2882 |
-
'label' => __pl('open_link_in_new_window'),
|
2883 |
-
'type' => 'checkbox',
|
2884 |
-
'addAttr' => ['{{element}} a' => 'target="_blank"'],
|
2885 |
-
'req' => array(
|
2886 |
-
'!link' => ''
|
2887 |
-
)
|
2888 |
),
|
2889 |
'align' => array(
|
2890 |
'label' => __pl('obj_align_label'),
|
@@ -2988,7 +2980,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_quote', array(
|
|
2988 |
<i if="{{double_indent}}" class="fa fa-quote-right"></i>
|
2989 |
</div>
|
2990 |
<div if="{{cite}}" class="pagelayer-quote-cite">
|
2991 |
-
<a if-ext="{{cite_url}}" href="{{{cite_url}}}">
|
2992 |
<span class="pagelayer-cite-holder">{{cite}}</span>
|
2993 |
</a>
|
2994 |
</div>
|
@@ -3137,6 +3129,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_quote', array(
|
|
3137 |
'cite_url' => array(
|
3138 |
'type' => 'link',
|
3139 |
'label' => __pl('quotes_url_label'),
|
|
|
3140 |
'desc' => __pl('quotes_url_desc'),
|
3141 |
),
|
3142 |
'cite_text_color' => array(
|
@@ -3234,6 +3227,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_list_item', array(
|
|
3234 |
'item_url' => array(
|
3235 |
'type' => 'link',
|
3236 |
'label' => __pl('list_item_url_label'),
|
|
|
3237 |
),
|
3238 |
'show_icon' => array(
|
3239 |
'type' => 'checkbox',
|
@@ -3518,12 +3512,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_icon', array(
|
|
3518 |
'link' => array(
|
3519 |
'type' => 'link',
|
3520 |
'label' => __pl('icon_link_field_label'),
|
3521 |
-
'
|
3522 |
-
),
|
3523 |
-
'target' => array(
|
3524 |
-
'type' => 'checkbox',
|
3525 |
-
'label' => __pl('open_link_in_new_window'),
|
3526 |
-
'addAttr' => ['{{element}} a' => 'target="_blank"']
|
3527 |
),
|
3528 |
'icon_alignment' => array(
|
3529 |
'type' => 'radio',
|
@@ -3922,14 +3911,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_badge', array(
|
|
3922 |
'badge_url' => array(
|
3923 |
'type' => 'link',
|
3924 |
'label' => __pl('badge_url_label'),
|
3925 |
-
|
3926 |
-
'badge_target' => array(
|
3927 |
-
'label' => __pl('open_link_in_new_window'),
|
3928 |
-
'type' => 'checkbox',
|
3929 |
-
'addAttr' => ['{{element}} a' => 'target="_blank"'],
|
3930 |
-
'req' => array(
|
3931 |
-
'!badge_url' => ''
|
3932 |
-
)
|
3933 |
),
|
3934 |
'badge_notification_type' => array(
|
3935 |
'type' => 'select',
|
@@ -4518,8 +4500,8 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_image', array(
|
|
4518 |
// Image related Styles
|
4519 |
'link_settings' => [
|
4520 |
'link_type' => array(
|
4521 |
-
'label' => __pl('image_link_label'),
|
4522 |
'type' => 'select',
|
|
|
4523 |
'default' => '',
|
4524 |
'list' => array(
|
4525 |
'' => __pl('none'),
|
@@ -4529,16 +4511,17 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_image', array(
|
|
4529 |
)
|
4530 |
),
|
4531 |
'link' => array(
|
|
|
4532 |
'label' => __pl('image_link_label'),
|
4533 |
'desc' => __pl('image_link_desc'),
|
4534 |
-
'
|
4535 |
'req' => array(
|
4536 |
'link_type' => 'custom_url'
|
4537 |
)
|
4538 |
),
|
4539 |
'rel' => array(
|
4540 |
-
'label' => __pl('image_rel_label'),
|
4541 |
'type' => 'text',
|
|
|
4542 |
'default' => '',
|
4543 |
'addAttr' => ['{{element}} a' => 'rel="{{rel}}"'],
|
4544 |
'req' => array(
|
@@ -4551,7 +4534,8 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_image', array(
|
|
4551 |
'addAttr' => ['{{element}} a' => 'target="_blank"'],
|
4552 |
'req' => array(
|
4553 |
'link_type' => ['custom_url', 'media_file']
|
4554 |
-
)
|
|
|
4555 |
),
|
4556 |
],
|
4557 |
// Caption related Styles
|
@@ -4734,9 +4718,10 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_image_slider', array(
|
|
4734 |
)
|
4735 |
),
|
4736 |
'link' => array(
|
|
|
4737 |
'label' => __pl('image_link_url'),
|
4738 |
'desc' => __pl('image_link_desc'),
|
4739 |
-
'
|
4740 |
'req' => array(
|
4741 |
'link_type' => 'custom_url'
|
4742 |
)
|
@@ -4747,7 +4732,8 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_image_slider', array(
|
|
4747 |
'addAttr' => ['{{element}} a' => 'target="_blank"'],
|
4748 |
'req' => array(
|
4749 |
'link_type' => ['custom_url', 'media_file']
|
4750 |
-
)
|
|
|
4751 |
),
|
4752 |
'slider_img_gap' => array(
|
4753 |
'type' => 'dimension',
|
@@ -5019,20 +5005,10 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_btn', array(
|
|
5019 |
'type' => 'link',
|
5020 |
'label' => __pl('button_link_label'),
|
5021 |
'desc' => __pl('button_link_desc'),
|
|
|
5022 |
'addAttr' => ['{{element}} .pagelayer-btn-holder' => 'href="{{{link}}}"'],
|
5023 |
'req' => ['ele_scrollto' => '']
|
5024 |
),
|
5025 |
-
'rel' => array(
|
5026 |
-
'type' => 'text',
|
5027 |
-
'label' => __pl('rel'),
|
5028 |
-
'addAttr' => ['{{element}} .pagelayer-btn-holder' => 'rel="{{rel}}"']
|
5029 |
-
),
|
5030 |
-
'target' => array(
|
5031 |
-
'type' => 'checkbox',
|
5032 |
-
'label' => __pl('open_link_in_new_window'),
|
5033 |
-
'addAttr' => ['{{element}} a' => 'target="_blank"'],
|
5034 |
-
'req' => ['ele_scrollto' => '']
|
5035 |
-
),
|
5036 |
'full_width' => array(
|
5037 |
'type' => 'checkbox',
|
5038 |
'label' => __pl('stretch'),
|
@@ -5474,13 +5450,9 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_social', array(
|
|
5474 |
'social_url' => array(
|
5475 |
'type' => 'link',
|
5476 |
'label' => __pl('social_url_label'),
|
|
|
5477 |
'default' => get_option('pagelayer-facebook-url'),
|
5478 |
),
|
5479 |
-
'target' => array(
|
5480 |
-
'type' => 'checkbox',
|
5481 |
-
'label' => __pl('open_link_in_new_window'),
|
5482 |
-
'addAttr' => ['{{element}} a' => 'target="_blank"']
|
5483 |
-
)
|
5484 |
)
|
5485 |
)
|
5486 |
);
|
@@ -5921,7 +5893,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_service', array(
|
|
5921 |
<img class="pagelayer-img pagelayer-animation-{{anim_hover}}" src="{{func_image}}" title="{{{service_image-title}}}" alt="{{{service_image-alt}}}" srcset="{{pagelayer-srcset}}" />
|
5922 |
</div>
|
5923 |
<div class="pagelayer-service-details">
|
5924 |
-
<a if-ext={{heading_url}} href="{{{heading_url}}}" class="pagelayer-ele-link">
|
5925 |
<div if={{service_heading}} class="pagelayer-service-heading">{{service_heading}}</div>
|
5926 |
</a>
|
5927 |
<div if={{service_text}} class="pagelayer-service-text">{{service_text}}</div>
|
@@ -5961,14 +5933,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_service', array(
|
|
5961 |
'box_url' => array(
|
5962 |
'type' => 'link',
|
5963 |
'label' => __pl('url'),
|
5964 |
-
|
5965 |
-
'box_target' => array(
|
5966 |
-
'label' => __pl('open_link_in_new_window'),
|
5967 |
-
'type' => 'checkbox',
|
5968 |
-
'addAttr' => ['{{element}} .pagelayer-box-link' => 'target="_blank"'],
|
5969 |
-
'req' => array(
|
5970 |
-
'!box_url' => ''
|
5971 |
-
)
|
5972 |
),
|
5973 |
'anim_hover' => array(
|
5974 |
'type' => 'select',
|
@@ -6212,14 +6177,9 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_service', array(
|
|
6212 |
'heading_url' => array(
|
6213 |
'type' => 'link',
|
6214 |
'label' => __pl('url'),
|
|
|
6215 |
'req' => ['!service_heading' => '', 'box_url' => '']
|
6216 |
),
|
6217 |
-
'heading_target' => array(
|
6218 |
-
'label' => __pl('open_link_in_new_window'),
|
6219 |
-
'type' => 'checkbox',
|
6220 |
-
'addAttr' => ['{{element}} .pagelayer-service-details a' => 'target="_blank"'],
|
6221 |
-
'req' => [ '!service_heading' => '', 'box_url' => '', '!heading_url' => '']
|
6222 |
-
),
|
6223 |
'heading_alignment' => array(
|
6224 |
'type' => 'radio',
|
6225 |
'label' => __pl('service_box_heading_alignment'),
|
@@ -6380,18 +6340,11 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_service', array(
|
|
6380 |
'service_button_url' => array(
|
6381 |
'type' => 'link',
|
6382 |
'label' => __pl('service_btn_url_label'),
|
|
|
6383 |
'req' => array(
|
6384 |
'service_button' => 'true'
|
6385 |
),
|
6386 |
),
|
6387 |
-
'service_button_target' => array(
|
6388 |
-
'label' => __pl('open_link_in_new_window'),
|
6389 |
-
'type' => 'checkbox',
|
6390 |
-
'addAttr' => ['{{element}} .pagelayer-service-btn' => 'target="_blank"'],
|
6391 |
-
'req' => array(
|
6392 |
-
'!service_button_url' => ''
|
6393 |
-
)
|
6394 |
-
),
|
6395 |
'service_button_text' => array(
|
6396 |
'type' => 'text',
|
6397 |
'label' => __pl('service_button_text_label'),
|
@@ -6617,7 +6570,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_iconbox', array(
|
|
6617 |
<i class="{{service_icon}} pagelayer-icon-{{service_icon_shape_type}} pagelayer-animation-{{anim_hover}}" aria-hidden="true"></i>
|
6618 |
</div>
|
6619 |
<div class="pagelayer-service-details">
|
6620 |
-
<a if-ext={{heading_url}} href="{{{heading_url}}}" class="pagelayer-ele-link">
|
6621 |
<div if="{{service_heading}}" class="pagelayer-service-heading">{{service_heading}}</div>
|
6622 |
</a>
|
6623 |
<div if="{{service_text}}" class="pagelayer-service-text">{{service_text}}</div>
|
@@ -6670,14 +6623,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_iconbox', array(
|
|
6670 |
'box_url' => array(
|
6671 |
'type' => 'link',
|
6672 |
'label' => __pl('url'),
|
6673 |
-
|
6674 |
-
'box_target' => array(
|
6675 |
-
'label' => __pl('open_link_in_new_window'),
|
6676 |
-
'type' => 'checkbox',
|
6677 |
-
'addAttr' => ['{{element}} .pagelayer-box-link' => 'target="_blank"'],
|
6678 |
-
'req' => array(
|
6679 |
-
'!box_url' => ''
|
6680 |
-
)
|
6681 |
),
|
6682 |
),
|
6683 |
// icon style
|
@@ -6949,14 +6895,9 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_iconbox', array(
|
|
6949 |
'heading_url' => array(
|
6950 |
'type' => 'link',
|
6951 |
'label' => __pl('url'),
|
|
|
6952 |
'req' => ['!service_heading' => '', 'box_url' => '']
|
6953 |
),
|
6954 |
-
'heading_target' => array(
|
6955 |
-
'label' => __pl('open_link_in_new_window'),
|
6956 |
-
'type' => 'checkbox',
|
6957 |
-
'addAttr' => ['{{element}} .pagelayer-service-details a' => 'target="_blank"'],
|
6958 |
-
'req' => [ '!service_heading' => '', 'box_url' => '', '!heading_url' => '']
|
6959 |
-
),
|
6960 |
'heading_alignment' => array(
|
6961 |
'type' => 'radio',
|
6962 |
'label' => __pl('service_box_heading_alignment'),
|
@@ -7110,6 +7051,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_iconbox', array(
|
|
7110 |
'service_button_url' => array(
|
7111 |
'type' => 'link',
|
7112 |
'label' => __pl('iconbox_btn_url_label'),
|
|
|
7113 |
'req' => ['service_button' => 'true']
|
7114 |
),
|
7115 |
'service_button_text' => array(
|
@@ -8147,6 +8089,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_google_maps', array(
|
|
8147 |
'ferries' => __pl('ferries'),
|
8148 |
'highways' => __pl('highways'),
|
8149 |
),
|
|
|
8150 |
'req' => [
|
8151 |
'api_version' => 'v3',
|
8152 |
'map_modes' => 'directions'
|
@@ -8421,6 +8364,7 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_testimonial', array(
|
|
8421 |
'cite_url' => array(
|
8422 |
'type' => 'link',
|
8423 |
'label' => __pl('testimonial_url_label'),
|
|
|
8424 |
'desc' => __pl('testimonial_url_desc'),
|
8425 |
),
|
8426 |
'cite_spacing' => array(
|
@@ -8603,7 +8547,6 @@ pagelayer_add_shortcode(PAGELAYER_SC_PREFIX.'_progress', array(
|
|
8603 |
'label' => __pl('percentage'),
|
8604 |
'min' => 0,
|
8605 |
'max' => 100,
|
8606 |
-
'screen' => 1,
|
8607 |
'css' => ['{{element}} .pagelayer-progress-container > .pagelayer-progress-bar:after' => 'width:{{val}}%;',],
|
8608 |
'addAttr' => ['{{element}} .pagelayer-progress-bar' => 'pagelayer-progress-width="{{progress_percentage}}"'],
|
8609 |
'default' => 75,
|
2861 |
'name' => __pl('title'),
|
2862 |
'group' => 'text',
|
2863 |
'innerHTML' => 'text',
|
2864 |
+
'html' => '<a if-ext="{{link}}" href="{{{link}}}" class="pagelayer-link-sel">
|
2865 |
<div if={{text}} class="pagelayer-heading-holder">{{text}}</div>
|
2866 |
</a>',
|
2867 |
'params' => array(
|
2874 |
'edit' => '.pagelayer-heading-holder', // Edit the text and also mirror the same
|
2875 |
),
|
2876 |
'link' => array(
|
|
|
|
|
2877 |
'type' => 'link',
|
2878 |
+
'label' => __pl('image_link_label'),
|
2879 |
+
'selector' => '.pagelayer-link-sel'
|
|
|
|
|
|
|
|
|
|
|
|
|
2880 |
),
|
2881 |
'align' => array(
|
2882 |
'label' => __pl('obj_align_label'),
|
2980 |
<i if="{{double_indent}}" class="fa fa-quote-right"></i>
|
2981 |
</div>
|
2982 |
<div if="{{cite}}" class="pagelayer-quote-cite">
|
2983 |
+
<a if-ext="{{cite_url}}" href="{{{cite_url}}}" class="pagelayer-link-sel">
|
2984 |
<span class="pagelayer-cite-holder">{{cite}}</span>
|
2985 |
</a>
|
2986 |
</div>
|
3129 |
'cite_url' => array(
|
3130 |
'type' => 'link',
|
3131 |
'label' => __pl('quotes_url_label'),
|
3132 |
+
'selector' => '.pagelayer-link-sel',
|
3133 |
'desc' => __pl('quotes_url_desc'),
|
3134 |
),
|
3135 |
'cite_text_color' => array(
|
3227 |
'item_url' => array(
|
3228 |
'type' => 'link',
|
3229 |
'label' => __pl('list_item_url_label'),
|
3230 |
+
'selector' => '.pagelayer-list-url',
|
3231 |
),
|
3232 |
'show_icon' => array(
|
3233 |
'type' => 'checkbox',
|
3512 |
'link' => array(
|
3513 |
'type' => 'link',
|
3514 |
'label' => __pl('icon_link_field_label'),
|
3515 |
+
'selector' => '.pagelayer-ele-link'
|
|
|
|
|
|
|
|
|
|
|
3516 |
),
|
3517 |
'icon_alignment' => array(
|
3518 |
'type' => 'radio',
|
3911 |
'badge_url' => array(
|
3912 |
'type' => 'link',
|
3913 |
'label' => __pl('badge_url_label'),
|
3914 |
+
'selector' => '.pagelayer-ele-link',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3915 |
),
|
3916 |
'badge_notification_type' => array(
|
3917 |
'type' => 'select',
|
4500 |
// Image related Styles
|
4501 |
'link_settings' => [
|
4502 |
'link_type' => array(
|
|
|
4503 |
'type' => 'select',
|
4504 |
+
'label' => __pl('image_link_label'),
|
4505 |
'default' => '',
|
4506 |
'list' => array(
|
4507 |
'' => __pl('none'),
|
4511 |
)
|
4512 |
),
|
4513 |
'link' => array(
|
4514 |
+
'type' => 'link',
|
4515 |
'label' => __pl('image_link_label'),
|
4516 |
'desc' => __pl('image_link_desc'),
|
4517 |
+
'selector' => '.pagelayer-ele-link',
|
4518 |
'req' => array(
|
4519 |
'link_type' => 'custom_url'
|
4520 |
)
|
4521 |
),
|
4522 |
'rel' => array(
|
|
|
4523 |
'type' => 'text',
|
4524 |
+
'label' => __pl('image_rel_label'),
|
4525 |
'default' => '',
|
4526 |
'addAttr' => ['{{element}} a' => 'rel="{{rel}}"'],
|
4527 |
'req' => array(
|
4534 |
'addAttr' => ['{{element}} a' => 'target="_blank"'],
|
4535 |
'req' => array(
|
4536 |
'link_type' => ['custom_url', 'media_file']
|
4537 |
+
),
|
4538 |
+
'show' => ['link_type' => 'media_file']
|
4539 |
),
|
4540 |
],
|
4541 |
// Caption related Styles
|
4718 |
)
|
4719 |
),
|
4720 |
'link' => array(
|
4721 |
+
'type' => 'link',
|
4722 |
'label' => __pl('image_link_url'),
|
4723 |
'desc' => __pl('image_link_desc'),
|
4724 |
+
'selector' => '.pagelayer-link-sel',
|
4725 |
'req' => array(
|
4726 |
'link_type' => 'custom_url'
|
4727 |
)
|
4732 |
'addAttr' => ['{{element}} a' => 'target="_blank"'],
|
4733 |
'req' => array(
|
4734 |
'link_type' => ['custom_url', 'media_file']
|
4735 |
+
),
|
4736 |
+
'show' => ['link_type' => 'media_file'] // Backward compatibility of link props
|
4737 |
),
|
4738 |
'slider_img_gap' => array(
|
4739 |
'type' => 'dimension',
|
5005 |
'type' => 'link',
|
5006 |
'label' => __pl('button_link_label'),
|
5007 |
'desc' => __pl('button_link_desc'),
|
5008 |
+
'selector' => '.pagelayer-btn-holder',
|
5009 |
'addAttr' => ['{{element}} .pagelayer-btn-holder' => 'href="{{{link}}}"'],
|
5010 |
'req' => ['ele_scrollto' => '']
|
5011 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5012 |
'full_width' => array(
|
5013 |
'type' => 'checkbox',
|
5014 |
'label' => __pl('stretch'),
|
5450 |
'social_url' => array(
|
5451 |
'type' => 'link',
|
5452 |
'label' => __pl('social_url_label'),
|
5453 |
+
'selector' => '.pagelayer-ele-link',
|
5454 |
'default' => get_option('pagelayer-facebook-url'),
|
5455 |
),
|
|
|
|
|
|
|
|
|
|
|
5456 |
)
|
5457 |
)
|
5458 |
);
|
5893 |
<img class="pagelayer-img pagelayer-animation-{{anim_hover}}" src="{{func_image}}" title="{{{service_image-title}}}" alt="{{{service_image-alt}}}" srcset="{{pagelayer-srcset}}" />
|
5894 |
</div>
|
5895 |
<div class="pagelayer-service-details">
|
5896 |
+
<a if-ext={{heading_url}} href="{{{heading_url}}}" class="pagelayer-ele-link pagelayer-service-heading-link" >
|
5897 |
<div if={{service_heading}} class="pagelayer-service-heading">{{service_heading}}</div>
|
5898 |
</a>
|
5899 |
<div if={{service_text}} class="pagelayer-service-text">{{service_text}}</div>
|
5933 |
'box_url' => array(
|
5934 |
'type' => 'link',
|
5935 |
'label' => __pl('url'),
|
5936 |
+
'selector' => '.pagelayer-box-link',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5937 |
),
|
5938 |
'anim_hover' => array(
|
5939 |
'type' => 'select',
|
6177 |
'heading_url' => array(
|
6178 |
'type' => 'link',
|
6179 |
'label' => __pl('url'),
|
6180 |
+
'selector' => '.pagelayer-service-heading-link',
|
6181 |
'req' => ['!service_heading' => '', 'box_url' => '']
|
6182 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
6183 |
'heading_alignment' => array(
|
6184 |
'type' => 'radio',
|
6185 |
'label' => __pl('service_box_heading_alignment'),
|
6340 |
'service_button_url' => array(
|
6341 |
'type' => 'link',
|
6342 |
'label' => __pl('service_btn_url_label'),
|
6343 |
+
'selector' => '.pagelayer-service-btn',
|
6344 |
'req' => array(
|
6345 |
'service_button' => 'true'
|
6346 |
),
|
6347 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6348 |
'service_button_text' => array(
|
6349 |
'type' => 'text',
|
6350 |
'label' => __pl('service_button_text_label'),
|
6570 |
<i class="{{service_icon}} pagelayer-icon-{{service_icon_shape_type}} pagelayer-animation-{{anim_hover}}" aria-hidden="true"></i>
|
6571 |
</div>
|
6572 |
<div class="pagelayer-service-details">
|
6573 |
+
<a if-ext={{heading_url}} href="{{{heading_url}}}" class="pagelayer-ele-link pagelayer-service-heading-link" >
|
6574 |
<div if="{{service_heading}}" class="pagelayer-service-heading">{{service_heading}}</div>
|
6575 |
</a>
|
6576 |
<div if="{{service_text}}" class="pagelayer-service-text">{{service_text}}</div>
|
6623 |
'box_url' => array(
|
6624 |
'type' => 'link',
|
6625 |
'label' => __pl('url'),
|
6626 |
+
'selector' => '.pagelayer-box-link',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6627 |
),
|
6628 |
),
|
6629 |
// icon style
|
6895 |
'heading_url' => array(
|
6896 |
'type' => 'link',
|
6897 |
'label' => __pl('url'),
|
6898 |
+
'selector' => '.pagelayer-service-heading-link',
|
6899 |
'req' => ['!service_heading' => '', 'box_url' => '']
|
6900 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
6901 |
'heading_alignment' => array(
|
6902 |
'type' => 'radio',
|
6903 |
'label' => __pl('service_box_heading_alignment'),
|
7051 |
'service_button_url' => array(
|
7052 |
'type' => 'link',
|
7053 |
'label' => __pl('iconbox_btn_url_label'),
|
7054 |
+
'selector' => '.pagelayer-service-btn',
|
7055 |
'req' => ['service_button' => 'true']
|
7056 |
),
|
7057 |
'service_button_text' => array(
|
8089 |
'ferries' => __pl('ferries'),
|
8090 |
'highways' => __pl('highways'),
|
8091 |
),
|
8092 |
+
'desc' => __pl('direc_avoid_desc'),
|
8093 |
'req' => [
|
8094 |
'api_version' => 'v3',
|
8095 |
'map_modes' => 'directions'
|
8364 |
'cite_url' => array(
|
8365 |
'type' => 'link',
|
8366 |
'label' => __pl('testimonial_url_label'),
|
8367 |
+
'selector' => '.pagelayer-ele-link',
|
8368 |
'desc' => __pl('testimonial_url_desc'),
|
8369 |
),
|
8370 |
'cite_spacing' => array(
|
8547 |
'label' => __pl('percentage'),
|
8548 |
'min' => 0,
|
8549 |
'max' => 100,
|
|
|
8550 |
'css' => ['{{element}} .pagelayer-progress-container > .pagelayer-progress-bar:after' => 'width:{{val}}%;',],
|
8551 |
'addAttr' => ['{{element}} .pagelayer-progress-bar' => 'pagelayer-progress-width="{{progress_percentage}}"'],
|
8552 |
'default' => 75,
|
@@ -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.5.
|
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.5.8
|
7 |
Author: Pagelayer Team
|
8 |
Author URI: https://pagelayer.com/
|
9 |
License: LGPL v2.1
|
@@ -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.8
|
6 |
Requires PHP: 5.5
|
7 |
-
Stable tag: 1.5.
|
8 |
License: LGPL v2.1
|
9 |
License URI: http://www.gnu.org/licenses/lgpl-2.1.html
|
10 |
|
@@ -111,6 +111,17 @@ Do you have questions related to PageLayer ? Use the following links :
|
|
111 |
|
112 |
== Changelog ==
|
113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
= 1.5.7 (Sep 28, 2021) =
|
115 |
* [Bug-Fix] In some cases, the widget dropdown list was not hiding properly. This is fixed.
|
116 |
|
4 |
Requires at least: 4.7
|
5 |
Tested up to: 5.8
|
6 |
Requires PHP: 5.5
|
7 |
+
Stable tag: 1.5.8
|
8 |
License: LGPL v2.1
|
9 |
License URI: http://www.gnu.org/licenses/lgpl-2.1.html
|
10 |
|
111 |
|
112 |
== Changelog ==
|
113 |
|
114 |
+
= 1.5.8 (Oct 20, 2021) =
|
115 |
+
* [Improvement] The link property has been further improved to add target, rel and other attributes.
|
116 |
+
* [Improvement] Added the color options in the social share widget for the labels.
|
117 |
+
* [Improvement] Added alignment option in Pricing table widget and also added screen mode option where needed.
|
118 |
+
* [Task] The list of Google fonts has been updated.
|
119 |
+
* [Bug-Fix] In some cases, the JS/CSS files compressor was not loaded properly. This is fixed and also added option in Pagelayer setting to enable/disable JS/CSS giver.
|
120 |
+
* [Bug-Fix] In the social share widget the "Open link in new window" was not working properly. This is fixed.
|
121 |
+
* [Bug-Fix] In some cases, the Custom Attributes option was not working properly. This is fixed.
|
122 |
+
* [Bug-Fix] In the Audio widget the time handler height was not set properly. This is fixed.
|
123 |
+
* [Bug-Fix] In the options section the font family property was not working properly. This is fixed.
|
124 |
+
|
125 |
= 1.5.7 (Sep 28, 2021) =
|
126 |
* [Bug-Fix] In some cases, the widget dropdown list was not hiding properly. This is fixed.
|
127 |
|