Version Description
- 2019/11/21
- minor bug fixes
- removed NotificationX integration
- added support for Hummingbird cache plugin
Download this release
Release Info
| Developer | WebFactory |
| Plugin | |
| Version | 3.65 |
| Comparing to | |
| See all releases | |
Code changes from version 3.60 to 3.65
- css/ucp-admin.css +12 -128
- images/nx-icon.png +0 -0
- images/nx-logo.png +0 -0
- js/ucp-admin.js +0 -66
- readme.txt +19 -15
- under-construction.php +33 -282
css/ucp-admin.css
CHANGED
|
@@ -29,7 +29,9 @@
|
|
| 29 |
display: none;
|
| 30 |
}
|
| 31 |
|
| 32 |
-
.settings_page_ucp input,
|
|
|
|
|
|
|
| 33 |
border-radius: 0;
|
| 34 |
}
|
| 35 |
|
|
@@ -122,15 +124,15 @@ p.submit {
|
|
| 122 |
.notice a.button-primary.open-ucp-upsell {
|
| 123 |
vertical-align: baseline;
|
| 124 |
margin-top: 15px;
|
| 125 |
-
font-weight:
|
| 126 |
height: auto;
|
| 127 |
padding: 10px;
|
| 128 |
-
color: #
|
| 129 |
-
background-color: #
|
|
|
|
| 130 |
}
|
| 131 |
.notice a.button-primary.open-ucp-upsell:hover {
|
| 132 |
-
background-color:
|
| 133 |
-
color: #ff9900;
|
| 134 |
}
|
| 135 |
|
| 136 |
.button span {
|
|
@@ -1121,6 +1123,9 @@ h3.ucp-pro-logo span {
|
|
| 1121 |
border-bottom: solid thin #ff7900;
|
| 1122 |
text-align: center;
|
| 1123 |
}
|
|
|
|
|
|
|
|
|
|
| 1124 |
#ucp-pricing-table tr td:first-child {
|
| 1125 |
border-right: 10px solid #fff;
|
| 1126 |
}
|
|
@@ -1171,7 +1176,7 @@ h3.ucp-pro-logo span {
|
|
| 1171 |
padding: 20px;
|
| 1172 |
box-sizing: border-box;
|
| 1173 |
text-align: center;
|
| 1174 |
-
margin:
|
| 1175 |
background-color: rgba(128, 128, 128, 0.03);
|
| 1176 |
}
|
| 1177 |
#tab-upsell-features .upsell-footer {
|
|
@@ -1370,127 +1375,6 @@ option.weglot-promo {
|
|
| 1370 |
display: none !important;
|
| 1371 |
}
|
| 1372 |
|
| 1373 |
-
/* notificationx upsell dialog */
|
| 1374 |
-
.notificationx-upsell-dialog .ui-dialog-titlebar {
|
| 1375 |
-
background: #5614d5;
|
| 1376 |
-
text-align: center;
|
| 1377 |
-
height: 55px;
|
| 1378 |
-
}
|
| 1379 |
-
.notificationx-upsell-dialog .ui-dialog-titlebar img {
|
| 1380 |
-
height: 32px;
|
| 1381 |
-
display: inline-block;
|
| 1382 |
-
margin: 11px 0 0 0;
|
| 1383 |
-
}
|
| 1384 |
-
.notificationx-upsell-dialog .ui-dialog-titlebar-close {
|
| 1385 |
-
color: #fff;
|
| 1386 |
-
height: 55px;
|
| 1387 |
-
}
|
| 1388 |
-
.notificationx-upsell-dialog .ui-dialog-titlebar-close:hover {
|
| 1389 |
-
color: #333;
|
| 1390 |
-
}
|
| 1391 |
-
.notificationx-upsell-dialog .ui-dialog-content {
|
| 1392 |
-
padding: 0;
|
| 1393 |
-
}
|
| 1394 |
-
.notificationx-upsell-dialog .ui-tabs-nav {
|
| 1395 |
-
text-align: center;
|
| 1396 |
-
}
|
| 1397 |
-
.notificationx-upsell-dialog .ui-tabs .upsell-tab {
|
| 1398 |
-
padding: 20px 15px;
|
| 1399 |
-
text-align: center;
|
| 1400 |
-
}
|
| 1401 |
-
.notificationx-upsell-dialog a {
|
| 1402 |
-
color: #333;
|
| 1403 |
-
}
|
| 1404 |
-
.notificationx-upsell-dialog a:hover {
|
| 1405 |
-
color: #000;
|
| 1406 |
-
}
|
| 1407 |
-
option.notificationx-promo {
|
| 1408 |
-
color: #2980b9;
|
| 1409 |
-
}
|
| 1410 |
-
.notificationx-pro-feature {
|
| 1411 |
-
display: inline-block;
|
| 1412 |
-
width: 32%;
|
| 1413 |
-
background: rgba(128, 128, 128, 0.03);
|
| 1414 |
-
margin: 0 5px 20px 5px;
|
| 1415 |
-
padding: 10px;
|
| 1416 |
-
box-sizing: border-box;
|
| 1417 |
-
vertical-align: top;
|
| 1418 |
-
position: relative;
|
| 1419 |
-
border-top: 1px solid #2980b9;
|
| 1420 |
-
}
|
| 1421 |
-
/* upsell dialog */
|
| 1422 |
-
|
| 1423 |
-
#notificationx-popup {
|
| 1424 |
-
position: fixed;
|
| 1425 |
-
width: 240px;
|
| 1426 |
-
bottom: 20px;
|
| 1427 |
-
right: 40px;
|
| 1428 |
-
border: 1px solid #d4d4d4;
|
| 1429 |
-
padding: 16px;
|
| 1430 |
-
background: #fff;
|
| 1431 |
-
display: none;
|
| 1432 |
-
-webkit-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.25);
|
| 1433 |
-
-moz-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.25);
|
| 1434 |
-
box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.25);
|
| 1435 |
-
border-radius: 4px;
|
| 1436 |
-
z-index: 99999;
|
| 1437 |
-
}
|
| 1438 |
-
|
| 1439 |
-
#notificationx-popup:hover {
|
| 1440 |
-
cursor: pointer;
|
| 1441 |
-
}
|
| 1442 |
-
|
| 1443 |
-
#notificationx-popup img {
|
| 1444 |
-
width: 48px;
|
| 1445 |
-
}
|
| 1446 |
-
|
| 1447 |
-
.settings_page_ucp .notificationx-popup-icon {
|
| 1448 |
-
background: #efefff;
|
| 1449 |
-
padding: 6px 4px 0px 4px;
|
| 1450 |
-
width: 48px;
|
| 1451 |
-
float: left;
|
| 1452 |
-
margin-right: 10px;
|
| 1453 |
-
}
|
| 1454 |
-
|
| 1455 |
-
.settings_page_ucp .notificationx-popup-text {
|
| 1456 |
-
float: left;
|
| 1457 |
-
font-weight: bold;
|
| 1458 |
-
}
|
| 1459 |
-
|
| 1460 |
-
.settings_page_ucp .notificationx-popup-title {
|
| 1461 |
-
color: #6138bd;
|
| 1462 |
-
font-size: 18px;
|
| 1463 |
-
font-weight: bold;
|
| 1464 |
-
padding: 5px 0px;
|
| 1465 |
-
}
|
| 1466 |
-
|
| 1467 |
-
.settings_page_ucp .notificationx-popup-stars .dashicons-star-filled {
|
| 1468 |
-
color: #ecac57;
|
| 1469 |
-
font-size: 14px;
|
| 1470 |
-
}
|
| 1471 |
-
|
| 1472 |
-
.settings_page_ucp .notitificationx-popup-desc {
|
| 1473 |
-
width: 100%;
|
| 1474 |
-
display: block;
|
| 1475 |
-
clear: both;
|
| 1476 |
-
padding: 4px 0;
|
| 1477 |
-
}
|
| 1478 |
-
|
| 1479 |
-
.settings_page_ucp .notificationx-popup-close {
|
| 1480 |
-
position: absolute;
|
| 1481 |
-
top: 4px;
|
| 1482 |
-
right: 6px;
|
| 1483 |
-
}
|
| 1484 |
-
|
| 1485 |
-
.settings_page_ucp .notificationx-popup-close .dashicons {
|
| 1486 |
-
font-size: 24px;
|
| 1487 |
-
}
|
| 1488 |
-
|
| 1489 |
-
.settings_page_ucp .notificationx-popup-close:hover {
|
| 1490 |
-
color: #ccc;
|
| 1491 |
-
cursor: pointer;
|
| 1492 |
-
}
|
| 1493 |
-
|
| 1494 |
.settings_page_ucp .put-dismiss-notice {
|
| 1495 |
display: none;
|
| 1496 |
}
|
| 29 |
display: none;
|
| 30 |
}
|
| 31 |
|
| 32 |
+
.settings_page_ucp input,
|
| 33 |
+
.settings_page_ucp select,
|
| 34 |
+
.settings_page_ucp textarea {
|
| 35 |
border-radius: 0;
|
| 36 |
}
|
| 37 |
|
| 124 |
.notice a.button-primary.open-ucp-upsell {
|
| 125 |
vertical-align: baseline;
|
| 126 |
margin-top: 15px;
|
| 127 |
+
font-weight: 600;
|
| 128 |
height: auto;
|
| 129 |
padding: 10px;
|
| 130 |
+
color: #111111;
|
| 131 |
+
background-color: #ffffff;
|
| 132 |
+
border-width: 2px;
|
| 133 |
}
|
| 134 |
.notice a.button-primary.open-ucp-upsell:hover {
|
| 135 |
+
background-color: #f1f1f1;
|
|
|
|
| 136 |
}
|
| 137 |
|
| 138 |
.button span {
|
| 1123 |
border-bottom: solid thin #ff7900;
|
| 1124 |
text-align: center;
|
| 1125 |
}
|
| 1126 |
+
#ucp-pricing-table .bb0 td {
|
| 1127 |
+
border-bottom: none;
|
| 1128 |
+
}
|
| 1129 |
#ucp-pricing-table tr td:first-child {
|
| 1130 |
border-right: 10px solid #fff;
|
| 1131 |
}
|
| 1176 |
padding: 20px;
|
| 1177 |
box-sizing: border-box;
|
| 1178 |
text-align: center;
|
| 1179 |
+
margin: 10px -15px -20px -15px;
|
| 1180 |
background-color: rgba(128, 128, 128, 0.03);
|
| 1181 |
}
|
| 1182 |
#tab-upsell-features .upsell-footer {
|
| 1375 |
display: none !important;
|
| 1376 |
}
|
| 1377 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1378 |
.settings_page_ucp .put-dismiss-notice {
|
| 1379 |
display: none;
|
| 1380 |
}
|
images/nx-icon.png
DELETED
|
Binary file
|
images/nx-logo.png
DELETED
|
Binary file
|
js/ucp-admin.js
CHANGED
|
@@ -299,7 +299,6 @@ jQuery(document).ready(function($) {
|
|
| 299 |
$('#upsell-dialog').dialog("option", "position", {my: "center", at: "center", of: window});
|
| 300 |
});
|
| 301 |
|
| 302 |
-
// upsell dialog init
|
| 303 |
$('#mailoptin-upsell-dialog').dialog({'dialogClass': 'wp-dialog ucp-dialog mailoptin-upsell-dialog',
|
| 304 |
'modal': 1,
|
| 305 |
'resizable': false,
|
|
@@ -330,38 +329,6 @@ jQuery(document).ready(function($) {
|
|
| 330 |
return false;
|
| 331 |
});
|
| 332 |
|
| 333 |
-
// upsell dialog init
|
| 334 |
-
$('#notificationx-upsell-dialog').dialog({'dialogClass': 'wp-dialog ucp-dialog notificationx-upsell-dialog',
|
| 335 |
-
'modal': 1,
|
| 336 |
-
'resizable': false,
|
| 337 |
-
'title': 'Display notification bars',
|
| 338 |
-
'zIndex': 9999,
|
| 339 |
-
'width': 550,
|
| 340 |
-
'height': 'auto',
|
| 341 |
-
'show': 'fade',
|
| 342 |
-
'hide': 'fade',
|
| 343 |
-
'open': function(event, ui) {
|
| 344 |
-
ucp_fix_dialog_close(event, ui);
|
| 345 |
-
$(this).siblings().find('span.ui-dialog-title').html(ucp.notificationx_dialog_upsell_title);
|
| 346 |
-
},
|
| 347 |
-
'close': function(event, ui) { },
|
| 348 |
-
'autoOpen': false,
|
| 349 |
-
'closeOnEscape': true
|
| 350 |
-
});
|
| 351 |
-
$(window).resize(function(e) {
|
| 352 |
-
$('#notificationx-upsell-dialog').dialog("option", "position", {my: "center", at: "center", of: window});
|
| 353 |
-
});
|
| 354 |
-
|
| 355 |
-
jQuery('#install-notificationx').on('click',function(e) {
|
| 356 |
-
$('#notificationx-upsell-dialog').dialog('close');
|
| 357 |
-
jQuery('body').append('<div style="width:550px;height:450px; position:fixed;top:10%;left:50%;margin-left:-275px; color:#444; background-color: #fbfbfb;border:1px solid #DDD; border-radius:4px;box-shadow: 0px 0px 0px 4000px rgba(0, 0, 0, 0.85);z-index: 9999999;"><iframe src="' + ucp.notificationx_install_url + '" style="width:100%;height:100%;border:none;" /></div>');
|
| 358 |
-
jQuery('#wpwrap').css('pointer-events', 'none');
|
| 359 |
-
e.preventDefault();
|
| 360 |
-
return false;
|
| 361 |
-
});
|
| 362 |
-
|
| 363 |
-
|
| 364 |
-
// upsell dialog init
|
| 365 |
$('#weglot-upsell-dialog').dialog({'dialogClass': 'wp-dialog ucp-dialog weglot-upsell-dialog',
|
| 366 |
'modal': 1,
|
| 367 |
'resizable': false,
|
|
@@ -456,17 +423,6 @@ jQuery(document).ready(function($) {
|
|
| 456 |
return false;
|
| 457 |
});
|
| 458 |
|
| 459 |
-
$('.settings_page_ucp').on('click', '.open-notificationx-upsell', function(e) {
|
| 460 |
-
e.preventDefault();
|
| 461 |
-
|
| 462 |
-
$(this).blur();
|
| 463 |
-
|
| 464 |
-
$('#notificationx-upsell-dialog').dialog('open');
|
| 465 |
-
|
| 466 |
-
return false;
|
| 467 |
-
});
|
| 468 |
-
|
| 469 |
-
|
| 470 |
$('.settings_page_ucp').on('click', '.open-weglot-upsell', function(e) {
|
| 471 |
e.preventDefault();
|
| 472 |
|
|
@@ -477,17 +433,6 @@ jQuery(document).ready(function($) {
|
|
| 477 |
return false;
|
| 478 |
});
|
| 479 |
|
| 480 |
-
$('.settings_page_ucp').on('click', '#notificationx-popup', function(e) {
|
| 481 |
-
e.preventDefault();
|
| 482 |
-
|
| 483 |
-
$(this).blur();
|
| 484 |
-
|
| 485 |
-
$('#notificationx-upsell-dialog').dialog('open');
|
| 486 |
-
|
| 487 |
-
return false;
|
| 488 |
-
});
|
| 489 |
-
|
| 490 |
-
|
| 491 |
$('#tabs_upsell').on('tabsactivate', function(event, ui) {
|
| 492 |
$('#upsell-dialog').dialog("option", "position", {my: "center", at: "center", of: window});
|
| 493 |
});
|
|
@@ -507,17 +452,6 @@ jQuery(document).ready(function($) {
|
|
| 507 |
}
|
| 508 |
});
|
| 509 |
|
| 510 |
-
ucp_nx = Cookies.get('ucp_nx');
|
| 511 |
-
if(ucp_nx != 'closed'){
|
| 512 |
-
$('#notificationx-popup').delay(2000).slideDown(500);
|
| 513 |
-
}
|
| 514 |
-
|
| 515 |
-
$('.settings_page_ucp').on('click','.notificationx-popup-close',function(e){
|
| 516 |
-
e.stopPropagation();
|
| 517 |
-
$('#notificationx-popup').hide();
|
| 518 |
-
Cookies.set('ucp_nx', 'closed', { expires: 700 });
|
| 519 |
-
});
|
| 520 |
-
|
| 521 |
if (!Date.now) {
|
| 522 |
Date.now = function() { return new Date().getTime(); }
|
| 523 |
}
|
| 299 |
$('#upsell-dialog').dialog("option", "position", {my: "center", at: "center", of: window});
|
| 300 |
});
|
| 301 |
|
|
|
|
| 302 |
$('#mailoptin-upsell-dialog').dialog({'dialogClass': 'wp-dialog ucp-dialog mailoptin-upsell-dialog',
|
| 303 |
'modal': 1,
|
| 304 |
'resizable': false,
|
| 329 |
return false;
|
| 330 |
});
|
| 331 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 332 |
$('#weglot-upsell-dialog').dialog({'dialogClass': 'wp-dialog ucp-dialog weglot-upsell-dialog',
|
| 333 |
'modal': 1,
|
| 334 |
'resizable': false,
|
| 423 |
return false;
|
| 424 |
});
|
| 425 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 426 |
$('.settings_page_ucp').on('click', '.open-weglot-upsell', function(e) {
|
| 427 |
e.preventDefault();
|
| 428 |
|
| 433 |
return false;
|
| 434 |
});
|
| 435 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 436 |
$('#tabs_upsell').on('tabsactivate', function(event, ui) {
|
| 437 |
$('#upsell-dialog').dialog("option", "position", {my: "center", at: "center", of: window});
|
| 438 |
});
|
| 452 |
}
|
| 453 |
});
|
| 454 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 455 |
if (!Date.now) {
|
| 456 |
Date.now = function() { return new Date().getTime(); }
|
| 457 |
}
|
readme.txt
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
=== Under Construction ===
|
| 2 |
-
Contributors: WebFactory, UnderConstructionPage, googlemapswidget,
|
| 3 |
Tags: coming soon page, under construction mode, under construction, under construction page, coming soon, maintenance mode, maintenance page, launch page, coming soon mode, maintenance mode page, offline page, maintenance, landing page
|
| 4 |
Requires at least: 4.0
|
| 5 |
Requires PHP: 5.2
|
| 6 |
Tested up to: 5.3
|
| 7 |
-
Stable tag: 3.
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
|
@@ -13,32 +13,30 @@ Super-easy to use Under Construction Page, Maintenance Mode & Coming Soon Page.
|
|
| 13 |
|
| 14 |
== Description ==
|
| 15 |
|
| 16 |
-
Create an Under Construction Page, Maintenance Mode Page, Coming Soon Page or a Landing Page that takes **less than a minute to install & configure**.
|
| 17 |
|
| 18 |
[youtube https://www.youtube.com/watch?v=fqqWrQENSDc]
|
| 19 |
|
| 20 |
-
> **PRO** version offers more than 50 extra features and options including the drag&drop builder,
|
| 21 |
|
| 22 |
-
A simple, no-nonsense plugin for all those situations when you have to hide the site behind an Under Construction page for a while. Live examples are available on the <a href="https://underconstructionpage.com/?utm_source=wordpressorg&utm_medium=content&utm_campaign=readme&utm_content=website"
|
| 23 |
|
| 24 |
UCP has full support for collecting leads and subscribers via optin boxes in content, and optin popups. We've integrated <a href="https://wordpress.org/plugins/mailoptin/">MailOptin</a> a great, free plugin into UCP that connects to MailChimp and numerous other autoresponder services allowing you to easily collect emails.
|
| 25 |
|
| 26 |
Thanks to our partnership with <a href="https://wordpress.org/plugins/weglot/">Weglot</a>, UCP is fully multilanguage ready and you can instantly translate your under construction page to 100+ languages with one click.
|
| 27 |
|
| 28 |
-
Increase 20-40% Sales & Interaction in Your Site with <a href="https://wordpress.org/plugins/notificationx/">NotificationX</a>!
|
| 29 |
-
|
| 30 |
|
| 31 |
**Options**
|
| 32 |
|
| 33 |
* Under construction mode - on / off
|
| 34 |
-
* Automatic End date & time - automatically disable construction mode on a set date
|
| 35 |
* Google Analytics Tracking ID - enable tracking via Google Analytics
|
| 36 |
-
* Theme -
|
| 37 |
* Custom CSS - adjust any part of the page to fit your needs
|
| 38 |
* Title - page title, for SEO
|
| 39 |
* Description - page description, for SEO
|
| 40 |
* Headline - main headline/title
|
| 41 |
-
* Content - anything you need to display
|
| 42 |
* Optin box, optin popup - collect leads and emails and sync with MailChimp and other autoresponders
|
| 43 |
* Login Button - show a discrete link to the login form, or WP admin if you're logged in
|
| 44 |
* Social icons/links - new ones are added with every update; let us know if we missed your favorite ones
|
|
@@ -59,10 +57,10 @@ Increase 20-40% Sales & Interaction in Your Site with <a href="https://wordpress
|
|
| 59 |
* WhatsApp
|
| 60 |
* Tumblr
|
| 61 |
* VK
|
| 62 |
-
* Whitelisted User Roles - user roles who see the site, instead of
|
| 63 |
-
* Whitelisted Users - users who see the site, instead of
|
| 64 |
|
| 65 |
-
Under Construction Page
|
| 66 |
|
| 67 |
|
| 68 |
**What are others saying about the Under Construction Page plugin**
|
|
@@ -140,6 +138,12 @@ Or if needed, upload manually;
|
|
| 140 |
|
| 141 |
== Changelog ==
|
| 142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
= 3.60 =
|
| 144 |
* 2019/10/31
|
| 145 |
* minor bug fixes
|
|
@@ -490,7 +494,7 @@ Absolutely not.
|
|
| 490 |
|
| 491 |
= Will it work on my theme? =
|
| 492 |
|
| 493 |
-
Sure!
|
| 494 |
|
| 495 |
= Will it work with my plugins? =
|
| 496 |
|
|
@@ -498,7 +502,7 @@ Sure! It works 100% with all plugins.
|
|
| 498 |
|
| 499 |
= What changes will it make to my site? =
|
| 500 |
|
| 501 |
-
None. Once you disable the under construction
|
| 502 |
|
| 503 |
= It's not working!!! Arrrrrrrrr =
|
| 504 |
|
| 1 |
=== Under Construction ===
|
| 2 |
+
Contributors: WebFactory, UnderConstructionPage, googlemapswidget, wpreset
|
| 3 |
Tags: coming soon page, under construction mode, under construction, under construction page, coming soon, maintenance mode, maintenance page, launch page, coming soon mode, maintenance mode page, offline page, maintenance, landing page
|
| 4 |
Requires at least: 4.0
|
| 5 |
Requires PHP: 5.2
|
| 6 |
Tested up to: 5.3
|
| 7 |
+
Stable tag: 3.65
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
| 13 |
|
| 14 |
== Description ==
|
| 15 |
|
| 16 |
+
Create an Under Construction Page, Maintenance Mode Page, Coming Soon Page or a Landing Page that takes **less than a minute to install & configure**. Under Construction won't waste your time! It's simple, fast, efficient & user-friendly with <a href="https://underconstructionpage.com/?utm_source=wordpressorg&utm_medium=content&utm_campaign=readme&utm_content=great-designs#designs">great templates</a> users love.
|
| 17 |
|
| 18 |
[youtube https://www.youtube.com/watch?v=fqqWrQENSDc]
|
| 19 |
|
| 20 |
+
> **PRO** version offers more than 50 extra features and options including the drag&drop builder, over a million hi-res searchable images, 200+ templates, affiliate&traffic tracking, advanced access control, MailChimp, Zapier & universal autoresponder integration, white-label license mode and priority support. Find out more on the <a href="https://underconstructionpage.com/?utm_source=wordpressorg&utm_medium=content&utm_campaign=readme&utm_content=official-site">official plugin site</a>.
|
| 21 |
|
| 22 |
+
A simple, no-nonsense under construction plugin for all those situations when you have to hide the site behind an Under Construction page for a while. Live examples are available on the <a href="https://underconstructionpage.com/?utm_source=wordpressorg&utm_medium=content&utm_campaign=readme&utm_content=website">Under Construction website</a>. Give us a shout on Twitter <a href="http://twitter.com/WebFactoryLtd">@WebFactoryLtd</a> or check out the <a href="https://youtu.be/fqqWrQENSDc">video</a>.
|
| 23 |
|
| 24 |
UCP has full support for collecting leads and subscribers via optin boxes in content, and optin popups. We've integrated <a href="https://wordpress.org/plugins/mailoptin/">MailOptin</a> a great, free plugin into UCP that connects to MailChimp and numerous other autoresponder services allowing you to easily collect emails.
|
| 25 |
|
| 26 |
Thanks to our partnership with <a href="https://wordpress.org/plugins/weglot/">Weglot</a>, UCP is fully multilanguage ready and you can instantly translate your under construction page to 100+ languages with one click.
|
| 27 |
|
|
|
|
|
|
|
| 28 |
|
| 29 |
**Options**
|
| 30 |
|
| 31 |
* Under construction mode - on / off
|
| 32 |
+
* Automatic End date & time - automatically disable under construction mode on a set date
|
| 33 |
* Google Analytics Tracking ID - enable tracking via Google Analytics
|
| 34 |
+
* Theme - <a href="https://underconstructionpage.com/templates/?utm_source=wordpressorg&utm_medium=content&utm_campaign=readme&utm_content=available-themes">test all available themes (200+)</a>
|
| 35 |
* Custom CSS - adjust any part of the page to fit your needs
|
| 36 |
* Title - page title, for SEO
|
| 37 |
* Description - page description, for SEO
|
| 38 |
* Headline - main headline/title
|
| 39 |
+
* Content - anything you need to display
|
| 40 |
* Optin box, optin popup - collect leads and emails and sync with MailChimp and other autoresponders
|
| 41 |
* Login Button - show a discrete link to the login form, or WP admin if you're logged in
|
| 42 |
* Social icons/links - new ones are added with every update; let us know if we missed your favorite ones
|
| 57 |
* WhatsApp
|
| 58 |
* Tumblr
|
| 59 |
* VK
|
| 60 |
+
* Whitelisted User Roles - user roles who see the site, instead of under construction page
|
| 61 |
+
* Whitelisted Users - users who see the site, instead of under construction page
|
| 62 |
|
| 63 |
+
Under Construction Page is compatible with the following caching plugins: W3 Total Cache, WP Super Cache, Endurance Page Cache, SiteGround SuperCacher, WP Fastest Cache, Swift Performance Cache, and Hummingbird cache.
|
| 64 |
|
| 65 |
|
| 66 |
**What are others saying about the Under Construction Page plugin**
|
| 138 |
|
| 139 |
== Changelog ==
|
| 140 |
|
| 141 |
+
= 3.65 =
|
| 142 |
+
* 2019/11/21
|
| 143 |
+
* minor bug fixes
|
| 144 |
+
* removed NotificationX integration
|
| 145 |
+
* added support for Hummingbird cache plugin
|
| 146 |
+
|
| 147 |
= 3.60 =
|
| 148 |
* 2019/10/31
|
| 149 |
* minor bug fixes
|
| 494 |
|
| 495 |
= Will it work on my theme? =
|
| 496 |
|
| 497 |
+
Sure! Under construction works 100% with all themes.
|
| 498 |
|
| 499 |
= Will it work with my plugins? =
|
| 500 |
|
| 502 |
|
| 503 |
= What changes will it make to my site? =
|
| 504 |
|
| 505 |
+
None. Once you disable the under construction page your site will function as it did before.
|
| 506 |
|
| 507 |
= It's not working!!! Arrrrrrrrr =
|
| 508 |
|
under-construction.php
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
Plugin URI: https://underconstructionpage.com/
|
| 5 |
Description: Put your site behind a great looking under construction, coming soon, maintenance mode or landing page.
|
| 6 |
Author: WebFactory Ltd
|
| 7 |
-
Version: 3.
|
| 8 |
Author URI: https://www.webfactoryltd.com/
|
| 9 |
Text Domain: under-construction-page
|
| 10 |
|
|
@@ -68,8 +68,6 @@ class UCP {
|
|
| 68 |
// if the plugin was updated from ver < 1.20 upgrade settings array
|
| 69 |
self::maybe_upgrade();
|
| 70 |
|
| 71 |
-
delete_transient('_nx_meta_activation_notice');
|
| 72 |
-
|
| 73 |
// add UCP menu to admin tools menu group
|
| 74 |
add_action('admin_menu', array(__CLASS__, 'admin_menu'));
|
| 75 |
|
|
@@ -88,7 +86,6 @@ class UCP {
|
|
| 88 |
add_action('admin_action_ucp_change_status', array(__CLASS__, 'change_status'));
|
| 89 |
add_action('admin_action_ucp_reset_settings', array(__CLASS__, 'reset_settings'));
|
| 90 |
add_action('admin_action_install_mailoptin', array(__CLASS__, 'install_mailoptin'));
|
| 91 |
-
add_action('admin_action_install_notificationx', array(__CLASS__, 'install_notificationx'));
|
| 92 |
add_action('admin_action_install_weglot', array(__CLASS__, 'install_weglot'));
|
| 93 |
add_action('admin_action_install_security_ninja', array(__CLASS__, 'install_security_ninja'));
|
| 94 |
|
|
@@ -106,9 +103,6 @@ class UCP {
|
|
| 106 |
// main plugin logic
|
| 107 |
add_action('wp', array(__CLASS__, 'display_construction_page'), 0, 1);
|
| 108 |
|
| 109 |
-
if(self::is_notificationx_really_setup_and_active()){
|
| 110 |
-
add_action('shutdown', array(__CLASS__, 'display_construction_page_x'), 0, 1);
|
| 111 |
-
}
|
| 112 |
// show under construction notice on login form
|
| 113 |
add_filter('login_message', array(__CLASS__, 'login_message'));
|
| 114 |
|
|
@@ -160,12 +154,6 @@ class UCP {
|
|
| 160 |
$meta = self::get_meta();
|
| 161 |
$options = self::get_options();
|
| 162 |
|
| 163 |
-
if (self::$version != $meta['first_version'] && $meta['first_version'] != '3.50' && $meta['options_ver'] != self::$version) {
|
| 164 |
-
$pointers = array();
|
| 165 |
-
$pointers['nx'] = array('target' => '#menu-settings', 'edge' => 'left', 'align' => 'right', 'content' => 'Easily add notifications to your <b style="font-weight: 800; font-variant: small-caps;">Under Construction Page</b> and continue using them once you launch the site. Open <a href="' . admin_url('options-general.php?page=ucp'). '">Settings - UnderConstruction</a> to set them up in a minute.');
|
| 166 |
-
update_option(UCP_POINTERS_KEY, $pointers);
|
| 167 |
-
}
|
| 168 |
-
|
| 169 |
// added in v1.70 to rename roles to whitelisted_roles
|
| 170 |
if (isset($options['roles'])) {
|
| 171 |
$options['whitelisted_roles'] = $options['roles'];
|
|
@@ -235,7 +223,7 @@ class UCP {
|
|
| 235 |
static function display_construction_page() {
|
| 236 |
$options = self::get_options();
|
| 237 |
$request_uri = trailingslashit(strtolower(@parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
|
| 238 |
-
|
| 239 |
// just to be on the safe side
|
| 240 |
if (defined('DOING_CRON') && DOING_CRON) {
|
| 241 |
return false;
|
|
@@ -274,92 +262,11 @@ class UCP {
|
|
| 274 |
$theme = $options['theme'];
|
| 275 |
}
|
| 276 |
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
} else {
|
| 280 |
-
echo self::get_template($theme);
|
| 281 |
-
die();
|
| 282 |
-
}
|
| 283 |
}
|
| 284 |
} // display_construction_page
|
| 285 |
|
| 286 |
-
static function display_construction_page_x(){
|
| 287 |
-
$options = self::get_options();
|
| 288 |
-
$request_uri = rtrim(strtolower(@parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)),'/');
|
| 289 |
-
$request_uri = '/'.substr($request_uri, strrpos($request_uri, '/') + 1);
|
| 290 |
-
if($request_uri != '/wp-login.php'){
|
| 291 |
-
$request_uri .= $request_uri.'/';
|
| 292 |
-
}
|
| 293 |
-
update_option('ucp_x_url',$request_uri);
|
| 294 |
-
|
| 295 |
-
// just to be on the safe side
|
| 296 |
-
if (defined('DOING_CRON') && DOING_CRON) {
|
| 297 |
-
return false;
|
| 298 |
-
}
|
| 299 |
-
if (defined('DOING_AJAX') && DOING_AJAX) {
|
| 300 |
-
return false;
|
| 301 |
-
}
|
| 302 |
-
if (defined('WP_CLI') && WP_CLI) {
|
| 303 |
-
return false;
|
| 304 |
-
}
|
| 305 |
-
|
| 306 |
-
// some URLs have to be accessible at all times
|
| 307 |
-
if ($request_uri == '/wp-admin/' ||
|
| 308 |
-
$request_uri == '/feed/' ||
|
| 309 |
-
$request_uri == '/feed/rss/' ||
|
| 310 |
-
$request_uri == '/feed/rss2/' ||
|
| 311 |
-
$request_uri == '/feed/rdf/' ||
|
| 312 |
-
$request_uri == '/feed/atom/' ||
|
| 313 |
-
$request_uri == '/admin/' ||
|
| 314 |
-
$request_uri == '/wp-login.php') {
|
| 315 |
-
return;
|
| 316 |
-
}
|
| 317 |
-
|
| 318 |
-
if (true == self::is_construction_mode_enabled(false) || (is_user_logged_in() && isset($_GET['ucp_preview']))) {
|
| 319 |
-
header(self::wp_get_server_protocol() . ' 200 OK');
|
| 320 |
-
if ($options['end_date'] && $options['end_date'] != '0000-00-00 00:00') {
|
| 321 |
-
header('Retry-After: ' . date('D, d M Y H:i:s T', strtotime($options['end_date'])));
|
| 322 |
-
} else {
|
| 323 |
-
header('Retry-After: ' . DAY_IN_SECONDS);
|
| 324 |
-
}
|
| 325 |
-
|
| 326 |
-
$themes = self::get_themes();
|
| 327 |
-
if (!empty($_GET['theme']) && substr($_GET['theme'], 5) != '_pro_' && !empty($themes[$_GET['theme']])) {
|
| 328 |
-
$theme = $_GET['theme'];
|
| 329 |
-
} else {
|
| 330 |
-
$theme = $options['theme'];
|
| 331 |
-
}
|
| 332 |
-
|
| 333 |
-
libxml_use_internal_errors(true);
|
| 334 |
-
$doc = new DOMDocument();
|
| 335 |
-
$doc->loadHTML('<?xml encoding="UTF-8">' . ob_get_clean());
|
| 336 |
-
$selector = new DOMXPath($doc);
|
| 337 |
-
|
| 338 |
-
if($options['notificationx_notification'] == 'all'){
|
| 339 |
-
$nx_query = 'nx-bar-';
|
| 340 |
-
} else if($options['notificationx_notification']>0){
|
| 341 |
-
$nx_query = 'nx-bar-'.$options['notificationx_notification'];
|
| 342 |
-
} else {
|
| 343 |
-
$nx_query = false;
|
| 344 |
-
}
|
| 345 |
-
|
| 346 |
-
if($nx_query !== false){
|
| 347 |
-
$nodes = $selector->query('//*[starts-with(@id, "'.$nx_query.'")]');
|
| 348 |
-
$nx_bar_html = array();
|
| 349 |
-
foreach($nodes as $node){
|
| 350 |
-
$nx_bar_html[] = $node->ownerDocument->saveHTML($node);
|
| 351 |
-
}
|
| 352 |
-
echo str_replace('<!-- NXBAR -->', implode('',$nx_bar_html),self::get_template($theme));
|
| 353 |
-
} else {
|
| 354 |
-
echo self::get_template($theme);
|
| 355 |
-
}
|
| 356 |
-
exit;
|
| 357 |
-
} else {
|
| 358 |
-
flush();
|
| 359 |
-
return;
|
| 360 |
-
}
|
| 361 |
-
}
|
| 362 |
-
|
| 363 |
|
| 364 |
// keeping compatibility with WP < v4.4
|
| 365 |
static function wp_get_server_protocol() {
|
|
@@ -388,8 +295,8 @@ class UCP {
|
|
| 388 |
$pointers = get_option(UCP_POINTERS_KEY);
|
| 389 |
|
| 390 |
// auto remove welcome pointer when options are opened
|
| 391 |
-
if (
|
| 392 |
-
unset($pointers['welcome']
|
| 393 |
update_option(UCP_POINTERS_KEY, $pointers);
|
| 394 |
}
|
| 395 |
|
|
@@ -418,16 +325,15 @@ class UCP {
|
|
| 418 |
'dialog_upsell_title' => '<img alt="' . __('UnderConstructionPage PRO', 'under-construction-page') . '" title="' . __('UnderConstructionPage PRO', 'under-construction-page') . '" src="' . UCP_PLUGIN_URL . 'images/ucp_pro_logo_white.png' . '">',
|
| 419 |
'mailoptin_dialog_upsell_title' => '<img alt="' . __('MailOptin', 'under-construction-page') . '" title="' . __('MailOptin', 'under-construction-page') . '" src="' . UCP_PLUGIN_URL . 'images/mailoptin-logo-white.png' . '">',
|
| 420 |
'weglot_dialog_upsell_title' => '<img alt="' . __('Weglot', 'under-construction-page') . '" title="' . __('Weglot', 'under-construction-page') . '" src="' . UCP_PLUGIN_URL . 'images/weglot-logo-white.png' . '">',
|
| 421 |
-
'notificationx_dialog_upsell_title' => '<img alt="' . __('NotificationX', 'under-construction-page') . '" title="' . __('NotificationX', 'under-construction-page') . '" src="' . UCP_PLUGIN_URL . 'images/nx-logo.png' . '">',
|
| 422 |
'mailoptin_install_url' => add_query_arg(array('action' => 'install_mailoptin'), admin_url('admin.php')),
|
| 423 |
'weglot_install_url' => add_query_arg(array('action' => 'install_weglot'), admin_url('admin.php')),
|
| 424 |
-
'notificationx_install_url' => add_query_arg(array('action' => 'install_notificationx'), admin_url('admin.php')),
|
| 425 |
'nonce_dismiss_survey' => wp_create_nonce('ucp_dismiss_survey'),
|
| 426 |
'nonce_submit_survey' => wp_create_nonce('ucp_submit_survey'),
|
| 427 |
'nonce_submit_support_message' => wp_create_nonce('ucp_submit_support_message'),
|
| 428 |
'deactivate_confirmation' => __('Are you sure you want to deactivate UnderConstruction plugin?' . "\n" . 'If you are removing it because of a problem please contact our support. They will be more than happy to help.', 'under-construction-page'));
|
| 429 |
|
| 430 |
-
if (
|
|
|
|
| 431 |
wp_enqueue_style('wp-jquery-ui-dialog');
|
| 432 |
wp_enqueue_style('ucp-select2', UCP_PLUGIN_URL . 'css/select2.min.css', array(), self::$version);
|
| 433 |
wp_enqueue_style('ucp-admin', UCP_PLUGIN_URL . 'css/ucp-admin.css', array(), self::$version);
|
|
@@ -683,27 +589,13 @@ class UCP {
|
|
| 683 |
|
| 684 |
$out .= '<link rel="icon" sizes="128x128" href="' . trailingslashit(UCP_PLUGIN_URL . 'themes/images') . 'favicon.png" />';
|
| 685 |
|
| 686 |
-
$jquery_included = false;
|
| 687 |
-
if(self::is_notificationx_really_setup_and_active()){
|
| 688 |
-
if(!$jquery_included){
|
| 689 |
-
$out .= '<script src="' . includes_url('/js/jquery/jquery.js') . '"></script>';
|
| 690 |
-
$jquery_included = true;
|
| 691 |
-
}
|
| 692 |
-
$out .= '<link rel="stylesheet" href="' . NOTIFICATIONX_PUBLIC_URL . 'assets/css/notificationx-public.min.css" type="text/css">';
|
| 693 |
-
$out .= '<script type="text/javascript" src="' . NOTIFICATIONX_PUBLIC_URL . 'assets/js/Cookies.js"></script>';
|
| 694 |
-
$out .= '<script type="text/javascript" src="' . NOTIFICATIONX_PUBLIC_URL . 'assets/js/notificationx-public.min.js"></script>';
|
| 695 |
-
}
|
| 696 |
-
|
| 697 |
if (self::is_weglot_setup()) {
|
| 698 |
$out .= '<link rel="stylesheet" href="' . WEGLOT_URL_DIST . '/css/front-css.css?v=' . WEGLOT_VERSION . '" type="text/css">';
|
| 699 |
$out .= '<script src="' . WEGLOT_URL_DIST . '/front-js.js?v=' . WEGLOT_VERSION . '"></script>';
|
| 700 |
}
|
| 701 |
|
| 702 |
if (self::is_mailoptin_active()) {
|
| 703 |
-
|
| 704 |
-
$out .= '<script src="' . includes_url('/js/jquery/jquery.js') . '"></script>';
|
| 705 |
-
$jquery_included = true;
|
| 706 |
-
}
|
| 707 |
$out .= '<script type="text/javascript">
|
| 708 |
var mailoptin_globals = {
|
| 709 |
"admin_url":"' . admin_url() . '",
|
|
@@ -756,7 +648,7 @@ class UCP {
|
|
| 756 |
} elseif ($tmp[0] < '8') {
|
| 757 |
$out .= '<p id="linkback">Create a <a href="' . self::generate_web_link('show-love-2') . '" target="_blank">free under construction page for WordPress</a> like this one in under a minute.</p>';
|
| 758 |
} elseif ($tmp[0] < 'c') {
|
| 759 |
-
$out .= '<p id="linkback">Join more than
|
| 760 |
} else {
|
| 761 |
$out .= '<p id="linkback">Create free <a href="' . self::generate_web_link('show-love-3') . '" target="_blank">maintenance mode pages for WordPress</a>.</p>';
|
| 762 |
}
|
|
@@ -773,10 +665,6 @@ class UCP {
|
|
| 773 |
$out .= '</div>';
|
| 774 |
}
|
| 775 |
|
| 776 |
-
if(self::is_notificationx_really_setup_and_active()){
|
| 777 |
-
$out.='<!-- NXBAR -->';
|
| 778 |
-
}
|
| 779 |
-
|
| 780 |
$out = apply_filters('ucp_footer', $out, $options, $template_id);
|
| 781 |
|
| 782 |
return $out;
|
|
@@ -913,7 +801,6 @@ class UCP {
|
|
| 913 |
}
|
| 914 |
|
| 915 |
// ask for rating; disabled
|
| 916 |
-
// todo: translate strings
|
| 917 |
if (false && empty($notices['dismiss_rate']) &&
|
| 918 |
(time() - $meta['first_install']) > (DAY_IN_SECONDS * 1.0)) {
|
| 919 |
$rate_url = 'https://wordpress.org/support/plugin/under-construction-page/reviews/?filter=5&rate=5#new-post';
|
|
@@ -951,14 +838,13 @@ class UCP {
|
|
| 951 |
}
|
| 952 |
|
| 953 |
// promo for new users
|
| 954 |
-
// todo: translate
|
| 955 |
if (self::is_plugin_page() &&
|
| 956 |
empty($notices['dismiss_welcome']) &&
|
| 957 |
!$shown && $promo == 'welcome') {
|
| 958 |
$dismiss_url = add_query_arg(array('action' => 'ucp_dismiss_notice', 'notice' => 'welcome', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
| 959 |
|
| 960 |
echo '<div id="ucp_rate_notice" class="notice-info notice"><p>Hi' . $name . ',<br>';
|
| 961 |
-
echo 'We have a <a class="open-ucp-upsell" data-pro-ad="notification-welcome-text" href="#">special time-sensitive offer</a> available
|
| 962 |
|
| 963 |
echo '<a href="#" class="button-primary open-ucp-upsell" data-pro-ad="notification-welcome-button">Upgrade to PRO now with a SPECIAL 20% WELCOME DISCOUNT</a>';
|
| 964 |
echo ' <a href="' . esc_url($dismiss_url) . '"><small>' . __('I\'m not interested (remove this notice)', 'under-construction-page') . '</small></a>';
|
|
@@ -973,7 +859,7 @@ class UCP {
|
|
| 973 |
$dismiss_url = add_query_arg(array('action' => 'ucp_dismiss_notice', 'notice' => 'olduser', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
| 974 |
|
| 975 |
echo '<div id="ucp_rate_notice" class="notice-info notice"><p>Hi' . $name . ',<br>';
|
| 976 |
-
echo 'We have a <a class="open-ucp-upsell" data-pro-ad="notification-olduser-text" href="#">special offer</a> only for <b>users like you</b> who\'ve been using the UnderConstructionPage for a longer period of time: a <b>special DISCOUNT</b> on our most popular lifetime licenses!<br>No nonsense! Pay once and use the plugin forever.<br><a class="open-ucp-upsell" data-pro-ad="notification-olduser-text" href="#">Upgrade now</a> to <b>PRO</b> & get more than 50+ extra features,
|
| 977 |
|
| 978 |
echo '<a href="#" class="button-primary open-ucp-upsell" data-pro-ad="notification-olduser-button">Upgrade to PRO now with a SPECIAL DISCOUNT</a>';
|
| 979 |
echo ' <a href="' . esc_url($dismiss_url) . '"><small>' . __('I\'m not interested (remove this notice)', 'under-construction-page') . '</small></a>';
|
|
@@ -1226,7 +1112,6 @@ class UCP {
|
|
| 1226 |
'heading1' => __('Sorry, we\'re doing some work on the site', 'under-construction-page'),
|
| 1227 |
'content' => __('Thank you for being patient. We are doing some work on the site and will be back shortly.', 'under-construction-page'),
|
| 1228 |
'mailoptin_campaign' => '-1',
|
| 1229 |
-
'notificationx_notification' => '-1',
|
| 1230 |
'social_facebook' => '',
|
| 1231 |
'social_twitter' => '',
|
| 1232 |
'social_google' => '',
|
|
@@ -1410,6 +1295,9 @@ class UCP {
|
|
| 1410 |
if (is_callable(array('Swift_Performance_Cache', 'clear_all_cache'))) {
|
| 1411 |
Swift_Performance_Cache::clear_all_cache();
|
| 1412 |
}
|
|
|
|
|
|
|
|
|
|
| 1413 |
}
|
| 1414 |
|
| 1415 |
return array_merge($old_options, $options);
|
|
@@ -1628,7 +1516,6 @@ class UCP {
|
|
| 1628 |
echo '</tr>';
|
| 1629 |
} // weglot not active
|
| 1630 |
|
| 1631 |
-
// todo: translate
|
| 1632 |
echo '<tr valign="top">
|
| 1633 |
<th scope="row"><label for="title">' . __('Title', 'under-construction-page') . '</label></th>
|
| 1634 |
<td><input type="text" id="title" class="regular-text" name="' . UCP_OPTIONS_KEY . '[title]" value="' . esc_attr($options['title']) . '" />';
|
|
@@ -1715,55 +1602,6 @@ class UCP {
|
|
| 1715 |
echo '</tr>';
|
| 1716 |
} // mailoptin not active
|
| 1717 |
|
| 1718 |
-
if (self::is_notificationx_really_setup_and_active()) {
|
| 1719 |
-
$nx_args = array (
|
| 1720 |
-
'post_type' => array( 'notificationx' ),
|
| 1721 |
-
'post_status' => array( 'publish' ),
|
| 1722 |
-
'nopaging' => true,
|
| 1723 |
-
'order' => 'ASC',
|
| 1724 |
-
);
|
| 1725 |
-
$nx_notifications = get_posts( $nx_args );
|
| 1726 |
-
$nx_notifications_dd = array();
|
| 1727 |
-
|
| 1728 |
-
if(count($nx_notifications)>0){
|
| 1729 |
-
foreach($nx_notifications as $nx_notification){
|
| 1730 |
-
$nx_notifications_dd[] = array('val' => $nx_notification->ID, 'label' => strlen($nx_notification->post_title)?$nx_notification->post_title:'NotificationX '.$nx_notification->ID.' (no title)');
|
| 1731 |
-
}
|
| 1732 |
-
} else {
|
| 1733 |
-
$nx_notifications_dd = false;
|
| 1734 |
-
}
|
| 1735 |
-
|
| 1736 |
-
echo '<tr id="notificationx-settings">';
|
| 1737 |
-
echo '<th><label for="notificationx_notification">Notifications</label></th>';
|
| 1738 |
-
echo '<td>';
|
| 1739 |
-
if ($nx_notifications_dd) {
|
| 1740 |
-
echo '<select name="' . UCP_OPTIONS_KEY . '[notificationx_notification]" id="notificationx_notification">';
|
| 1741 |
-
echo '<option value="-1">none</option>';
|
| 1742 |
-
echo self::create_select_options($nx_notifications_dd, $options['notificationx_notification']);
|
| 1743 |
-
echo '<option value="all" '.($options['notificationx_notification'] == 'all'?'selected':'').'>Show all</option>';
|
| 1744 |
-
echo '</select>';
|
| 1745 |
-
} else {
|
| 1746 |
-
echo '<p><a href="' . admin_url('post-new.php?post_type=notificationx') . '">Create your first notification</a></p>';
|
| 1747 |
-
}
|
| 1748 |
-
echo '<p class="description">Create, edit and manage notifications on the <a href="' . admin_url('edit.php?post_type=notificationx') . '">NotificationX page</a>.</p>';
|
| 1749 |
-
echo '</td>';
|
| 1750 |
-
echo '</tr>';
|
| 1751 |
-
} else {
|
| 1752 |
-
echo '<tr>';
|
| 1753 |
-
echo '<th><label for="">Notification Bar</label></th>';
|
| 1754 |
-
echo '<td>';
|
| 1755 |
-
echo '<div class="toggle-wrapper">
|
| 1756 |
-
<input type="checkbox" id="notificationx_support" type="checkbox" value="1" class="skip-save open-notificationx-upsell">
|
| 1757 |
-
<label for="notificationx_support" class="toggle"><span class="toggle_handler"></span></label>
|
| 1758 |
-
</div>';
|
| 1759 |
-
echo '<p class="description">Add notifications to instantly engage and influence your visitors\' actions using social proof.</p>
|
| 1760 |
-
<p class="description">To add notifications <a href="#" class="open-notificationx-upsell">install the free NotificationX plugin</a>. It seamlessly integrates with UCP and offers numerous options.</p>';
|
| 1761 |
-
echo '</td>';
|
| 1762 |
-
echo '</tr>';
|
| 1763 |
-
|
| 1764 |
-
|
| 1765 |
-
} // notificationx not active
|
| 1766 |
-
|
| 1767 |
echo '<tr>';
|
| 1768 |
echo '<th><label for="content_font">Content Font</label></th>';
|
| 1769 |
echo '<td><select class="skip-save open-ucp-upsell" id="content_font">';
|
|
@@ -2354,33 +2192,6 @@ class UCP {
|
|
| 2354 |
echo '</div>';
|
| 2355 |
// weglot install dialog
|
| 2356 |
|
| 2357 |
-
// notificationx install dialog
|
| 2358 |
-
echo '<div id="notificationx-upsell-dialog" style="display: none;" title="NotificationX"><span class="ui-helper-hidden-accessible"><input type="text"/></span>';
|
| 2359 |
-
echo '<div style="padding: 20px; font-size: 14px;">';
|
| 2360 |
-
echo '<ul class="ucp-list">';
|
| 2361 |
-
echo '<li>influence your visitors’ actions using social proof notifications';
|
| 2362 |
-
echo '<li>increase your leads, sales & engagements';
|
| 2363 |
-
echo '<li>boost conversion rates using 4 different types of notification';
|
| 2364 |
-
echo '<li>works out-of-the-box';
|
| 2365 |
-
echo '<li>free plugin available from the official WordPress repository';
|
| 2366 |
-
echo '</ul>';
|
| 2367 |
-
echo '<p class="upsell-footer"><a class="button button-primary" id="install-notificationx">Install & activate NotificationX to display notification bars</a></p>';
|
| 2368 |
-
echo '</div>';
|
| 2369 |
-
echo '</div>';
|
| 2370 |
-
|
| 2371 |
-
if (!self::is_notificationx_really_setup_and_active()) {
|
| 2372 |
-
echo '<div id="notificationx-popup" style="display: none;">
|
| 2373 |
-
<div class="notificationx-popup-icon"><img alt="Notification X" src="' . UCP_PLUGIN_URL . 'images/nx-icon.png' . '"></div>
|
| 2374 |
-
<div class="notificationx-popup-text">435 people rated <br />
|
| 2375 |
-
<div class="notificationx-popup-title">Notification X</div>
|
| 2376 |
-
<div class="notificationx-popup-stars"><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span></div>
|
| 2377 |
-
</div>
|
| 2378 |
-
<div class="notitificationx-popup-desc">Put a notification like this on your page to instantly influence your visitors</div>
|
| 2379 |
-
<div class="notificationx-popup-close"><span title="Close" class="dashicons dashicons-no"></span></div>
|
| 2380 |
-
</div>';
|
| 2381 |
-
}
|
| 2382 |
-
// notificationx install dialog
|
| 2383 |
-
|
| 2384 |
$promo = self::is_promo_active();
|
| 2385 |
if ($promo == 'welcome') {
|
| 2386 |
$header = 'A <b>welcoming discount</b> has been applied to selected packages! It\'s <b>time limited</b> and available for only another <b class="ucp-countdown">59min 30sec</b>.';
|
|
@@ -2464,10 +2275,15 @@ class UCP {
|
|
| 2464 |
<td>Monthly/Yearly Payment</td>
|
| 2465 |
</tr>
|
| 2466 |
<tr>
|
| 2467 |
-
<td>100 Client
|
| 2468 |
<td>1 Personal or Client Site</td>
|
| 2469 |
<td>3 Personal Sites</td>
|
| 2470 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2471 |
<tr>
|
| 2472 |
<td>Lifetime Priority Support & Updates</td>
|
| 2473 |
<td>Lifetime Support & Updates</td>
|
|
@@ -2484,29 +2300,34 @@ class UCP {
|
|
| 2484 |
<td>Drag&Drop Builder</td>
|
| 2485 |
</tr>
|
| 2486 |
<tr>
|
| 2487 |
-
<td>
|
| 2488 |
-
<td>
|
| 2489 |
-
<td>
|
| 2490 |
</tr>
|
| 2491 |
<tr>
|
| 2492 |
-
<td>
|
| 2493 |
<td><span class="dashicons dashicons-no"></td>
|
| 2494 |
<td><span class="dashicons dashicons-no"></td>
|
| 2495 |
</tr>
|
| 2496 |
<tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2497 |
<td>
|
| 2498 |
<a data-href-org="' . $products['agency']['link'] . '" class="promo-button go-to-license-key" href="' . $products['agency']['link'] . '" target="_blank">' . $products['agency']['price'] . '</a>
|
| 2499 |
-
<span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WP admin<br><span class="dashicons dashicons-yes"></span> 100% No-Risk Money Back Guarantee</span>
|
| 2500 |
</td>
|
| 2501 |
<td>
|
| 2502 |
<a data-href-org="' . $products['pro-lifetime']['link'] . '" class="promo-button go-to-license-key" href="' . $products['pro-lifetime']['link'] . '" target="_blank">' . $products['pro-lifetime']['price'] . '</a>
|
| 2503 |
-
<span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WP admin<br><span class="dashicons dashicons-yes"></span> 100% No-Risk Money Back Guarantee</span>
|
| 2504 |
</td>
|
| 2505 |
<td>
|
| 2506 |
<a data-href-org="' . $products['pro-yearly']['link'] . '" class="promo-button go-to-license-key" href="' . $products['pro-yearly']['link'] . '" target="_blank">' . $products['pro-yearly']['price'] . '</a>
|
| 2507 |
-
<span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WP admin<br><span class="dashicons dashicons-yes"></span> 100% No-Risk Money Back Guarantee</span>
|
| 2508 |
</td>
|
| 2509 |
</tr>
|
|
|
|
|
|
|
|
|
|
| 2510 |
</tbody>
|
| 2511 |
</table>';
|
| 2512 |
echo '<p class="upsell-footer">More pricing options & details about packages are available on <a href="' . self::generate_web_link('pricing-table-more-info') . '" target="_blank">underconstructionpage.com</a>. Already have a PRO license? <a href="#" class="go-to-license-key">Activate it</a>.</p>';
|
|
@@ -2726,63 +2547,6 @@ class UCP {
|
|
| 2726 |
echo '</div>';
|
| 2727 |
} // install_security_ninja
|
| 2728 |
|
| 2729 |
-
// auto download / install / activate NotificationX plugin
|
| 2730 |
-
static function install_notificationx() {
|
| 2731 |
-
if (false === current_user_can('administrator')) {
|
| 2732 |
-
wp_die('Sorry, you have to be an admin to run this action.');
|
| 2733 |
-
}
|
| 2734 |
-
|
| 2735 |
-
$plugin_slug = 'notificationx/notificationx.php';
|
| 2736 |
-
$plugin_zip = 'https://downloads.wordpress.org/plugin/notificationx.latest-stable.zip';
|
| 2737 |
-
|
| 2738 |
-
@include_once ABSPATH . 'wp-admin/includes/plugin.php';
|
| 2739 |
-
@include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
| 2740 |
-
@include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
|
| 2741 |
-
@include_once ABSPATH . 'wp-admin/includes/file.php';
|
| 2742 |
-
@include_once ABSPATH . 'wp-admin/includes/misc.php';
|
| 2743 |
-
echo '<style>
|
| 2744 |
-
body{
|
| 2745 |
-
font-family: sans-serif;
|
| 2746 |
-
font-size: 14px;
|
| 2747 |
-
line-height: 1.5;
|
| 2748 |
-
color: #444;
|
| 2749 |
-
}
|
| 2750 |
-
</style>';
|
| 2751 |
-
|
| 2752 |
-
echo '<div style="margin: 20px; color:#444;">';
|
| 2753 |
-
echo 'If things are not done in a minute <a target="_parent" href="' . admin_url('plugin-install.php?s=notificationx&tab=search&type=term') .'">install the plugin manually via Plugins page</a><br><br>';
|
| 2754 |
-
echo 'Starting ...<br><br>';
|
| 2755 |
-
|
| 2756 |
-
wp_cache_flush();
|
| 2757 |
-
$upgrader = new Plugin_Upgrader();
|
| 2758 |
-
echo 'Check if NotificationX is already installed ... <br />';
|
| 2759 |
-
if (self::is_plugin_installed($plugin_slug)) {
|
| 2760 |
-
echo 'NotificationX is already installed! <br /><br />Making sure it\'s the latest version.<br />';
|
| 2761 |
-
$upgrader->upgrade($plugin_slug);
|
| 2762 |
-
$installed = true;
|
| 2763 |
-
} else {
|
| 2764 |
-
echo 'Installing NotificationX.<br />';
|
| 2765 |
-
$installed = $upgrader->install($plugin_zip);
|
| 2766 |
-
}
|
| 2767 |
-
wp_cache_flush();
|
| 2768 |
-
|
| 2769 |
-
if (!is_wp_error($installed) && $installed) {
|
| 2770 |
-
echo 'Activating NotificationX.<br />';
|
| 2771 |
-
$activate = activate_plugin($plugin_slug);
|
| 2772 |
-
|
| 2773 |
-
if (is_null($activate)) {
|
| 2774 |
-
echo 'NotificationX Activated.<br />';
|
| 2775 |
-
|
| 2776 |
-
echo '<script>setTimeout(function() { top.location = "options-general.php?page=ucp"; }, 1000);</script>';
|
| 2777 |
-
echo '<br>If you are not redirected in a few seconds - <a href="options-general.php?page=ucp" target="_parent">click here</a>.';
|
| 2778 |
-
}
|
| 2779 |
-
} else {
|
| 2780 |
-
echo 'Could not install NotificationX. You\'ll have to <a target="_parent" href="' . admin_url('plugin-install.php?s=notificationx&tab=search&type=term') .'">download and install manually</a>.';
|
| 2781 |
-
}
|
| 2782 |
-
|
| 2783 |
-
echo '</div>';
|
| 2784 |
-
} // install_notificationx
|
| 2785 |
-
|
| 2786 |
static function is_plugin_installed($slug) {
|
| 2787 |
if (!function_exists('get_plugins')) {
|
| 2788 |
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
|
@@ -2816,19 +2580,6 @@ class UCP {
|
|
| 2816 |
} // is_mailoptin_active
|
| 2817 |
|
| 2818 |
|
| 2819 |
-
// check if NotificationX plugin is active
|
| 2820 |
-
static function is_notificationx_really_setup_and_active() {
|
| 2821 |
-
if (!function_exists('is_plugin_active') || !function_exists('get_plugin_data')) {
|
| 2822 |
-
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
| 2823 |
-
}
|
| 2824 |
-
|
| 2825 |
-
if (is_plugin_active('notificationx/notificationx.php') && version_compare(NOTIFICATIONX_VERSION,'1.0.3','>=')) {
|
| 2826 |
-
return true;
|
| 2827 |
-
} else {
|
| 2828 |
-
return false;
|
| 2829 |
-
}
|
| 2830 |
-
} // is_notificationx_really_setup_and_active
|
| 2831 |
-
|
| 2832 |
// check if Weglot plugin is active and min version installed
|
| 2833 |
static function is_weglot_active() {
|
| 2834 |
if (!function_exists('is_plugin_active') || !function_exists('get_plugin_data')) {
|
| 4 |
Plugin URI: https://underconstructionpage.com/
|
| 5 |
Description: Put your site behind a great looking under construction, coming soon, maintenance mode or landing page.
|
| 6 |
Author: WebFactory Ltd
|
| 7 |
+
Version: 3.65
|
| 8 |
Author URI: https://www.webfactoryltd.com/
|
| 9 |
Text Domain: under-construction-page
|
| 10 |
|
| 68 |
// if the plugin was updated from ver < 1.20 upgrade settings array
|
| 69 |
self::maybe_upgrade();
|
| 70 |
|
|
|
|
|
|
|
| 71 |
// add UCP menu to admin tools menu group
|
| 72 |
add_action('admin_menu', array(__CLASS__, 'admin_menu'));
|
| 73 |
|
| 86 |
add_action('admin_action_ucp_change_status', array(__CLASS__, 'change_status'));
|
| 87 |
add_action('admin_action_ucp_reset_settings', array(__CLASS__, 'reset_settings'));
|
| 88 |
add_action('admin_action_install_mailoptin', array(__CLASS__, 'install_mailoptin'));
|
|
|
|
| 89 |
add_action('admin_action_install_weglot', array(__CLASS__, 'install_weglot'));
|
| 90 |
add_action('admin_action_install_security_ninja', array(__CLASS__, 'install_security_ninja'));
|
| 91 |
|
| 103 |
// main plugin logic
|
| 104 |
add_action('wp', array(__CLASS__, 'display_construction_page'), 0, 1);
|
| 105 |
|
|
|
|
|
|
|
|
|
|
| 106 |
// show under construction notice on login form
|
| 107 |
add_filter('login_message', array(__CLASS__, 'login_message'));
|
| 108 |
|
| 154 |
$meta = self::get_meta();
|
| 155 |
$options = self::get_options();
|
| 156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 157 |
// added in v1.70 to rename roles to whitelisted_roles
|
| 158 |
if (isset($options['roles'])) {
|
| 159 |
$options['whitelisted_roles'] = $options['roles'];
|
| 223 |
static function display_construction_page() {
|
| 224 |
$options = self::get_options();
|
| 225 |
$request_uri = trailingslashit(strtolower(@parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
|
| 226 |
+
|
| 227 |
// just to be on the safe side
|
| 228 |
if (defined('DOING_CRON') && DOING_CRON) {
|
| 229 |
return false;
|
| 262 |
$theme = $options['theme'];
|
| 263 |
}
|
| 264 |
|
| 265 |
+
echo self::get_template($theme);
|
| 266 |
+
die();
|
|
|
|
|
|
|
|
|
|
|
|
|
| 267 |
}
|
| 268 |
} // display_construction_page
|
| 269 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 270 |
|
| 271 |
// keeping compatibility with WP < v4.4
|
| 272 |
static function wp_get_server_protocol() {
|
| 295 |
$pointers = get_option(UCP_POINTERS_KEY);
|
| 296 |
|
| 297 |
// auto remove welcome pointer when options are opened
|
| 298 |
+
if (self::is_plugin_page()) {
|
| 299 |
+
unset($pointers['welcome']);
|
| 300 |
update_option(UCP_POINTERS_KEY, $pointers);
|
| 301 |
}
|
| 302 |
|
| 325 |
'dialog_upsell_title' => '<img alt="' . __('UnderConstructionPage PRO', 'under-construction-page') . '" title="' . __('UnderConstructionPage PRO', 'under-construction-page') . '" src="' . UCP_PLUGIN_URL . 'images/ucp_pro_logo_white.png' . '">',
|
| 326 |
'mailoptin_dialog_upsell_title' => '<img alt="' . __('MailOptin', 'under-construction-page') . '" title="' . __('MailOptin', 'under-construction-page') . '" src="' . UCP_PLUGIN_URL . 'images/mailoptin-logo-white.png' . '">',
|
| 327 |
'weglot_dialog_upsell_title' => '<img alt="' . __('Weglot', 'under-construction-page') . '" title="' . __('Weglot', 'under-construction-page') . '" src="' . UCP_PLUGIN_URL . 'images/weglot-logo-white.png' . '">',
|
|
|
|
| 328 |
'mailoptin_install_url' => add_query_arg(array('action' => 'install_mailoptin'), admin_url('admin.php')),
|
| 329 |
'weglot_install_url' => add_query_arg(array('action' => 'install_weglot'), admin_url('admin.php')),
|
|
|
|
| 330 |
'nonce_dismiss_survey' => wp_create_nonce('ucp_dismiss_survey'),
|
| 331 |
'nonce_submit_survey' => wp_create_nonce('ucp_submit_survey'),
|
| 332 |
'nonce_submit_support_message' => wp_create_nonce('ucp_submit_support_message'),
|
| 333 |
'deactivate_confirmation' => __('Are you sure you want to deactivate UnderConstruction plugin?' . "\n" . 'If you are removing it because of a problem please contact our support. They will be more than happy to help.', 'under-construction-page'));
|
| 334 |
|
| 335 |
+
if (self::is_plugin_page()) {
|
| 336 |
+
remove_editor_styles();
|
| 337 |
wp_enqueue_style('wp-jquery-ui-dialog');
|
| 338 |
wp_enqueue_style('ucp-select2', UCP_PLUGIN_URL . 'css/select2.min.css', array(), self::$version);
|
| 339 |
wp_enqueue_style('ucp-admin', UCP_PLUGIN_URL . 'css/ucp-admin.css', array(), self::$version);
|
| 589 |
|
| 590 |
$out .= '<link rel="icon" sizes="128x128" href="' . trailingslashit(UCP_PLUGIN_URL . 'themes/images') . 'favicon.png" />';
|
| 591 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 592 |
if (self::is_weglot_setup()) {
|
| 593 |
$out .= '<link rel="stylesheet" href="' . WEGLOT_URL_DIST . '/css/front-css.css?v=' . WEGLOT_VERSION . '" type="text/css">';
|
| 594 |
$out .= '<script src="' . WEGLOT_URL_DIST . '/front-js.js?v=' . WEGLOT_VERSION . '"></script>';
|
| 595 |
}
|
| 596 |
|
| 597 |
if (self::is_mailoptin_active()) {
|
| 598 |
+
$out .= '<script src="' . includes_url('/js/jquery/jquery.js') . '"></script>';
|
|
|
|
|
|
|
|
|
|
| 599 |
$out .= '<script type="text/javascript">
|
| 600 |
var mailoptin_globals = {
|
| 601 |
"admin_url":"' . admin_url() . '",
|
| 648 |
} elseif ($tmp[0] < '8') {
|
| 649 |
$out .= '<p id="linkback">Create a <a href="' . self::generate_web_link('show-love-2') . '" target="_blank">free under construction page for WordPress</a> like this one in under a minute.</p>';
|
| 650 |
} elseif ($tmp[0] < 'c') {
|
| 651 |
+
$out .= '<p id="linkback">Join more than 400,000 happy people using the <a href="https://wordpress.org/plugins/under-construction-page/" target="_blank">free Under Construction Page plugin for WordPress</a>.</p>';
|
| 652 |
} else {
|
| 653 |
$out .= '<p id="linkback">Create free <a href="' . self::generate_web_link('show-love-3') . '" target="_blank">maintenance mode pages for WordPress</a>.</p>';
|
| 654 |
}
|
| 665 |
$out .= '</div>';
|
| 666 |
}
|
| 667 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 668 |
$out = apply_filters('ucp_footer', $out, $options, $template_id);
|
| 669 |
|
| 670 |
return $out;
|
| 801 |
}
|
| 802 |
|
| 803 |
// ask for rating; disabled
|
|
|
|
| 804 |
if (false && empty($notices['dismiss_rate']) &&
|
| 805 |
(time() - $meta['first_install']) > (DAY_IN_SECONDS * 1.0)) {
|
| 806 |
$rate_url = 'https://wordpress.org/support/plugin/under-construction-page/reviews/?filter=5&rate=5#new-post';
|
| 838 |
}
|
| 839 |
|
| 840 |
// promo for new users
|
|
|
|
| 841 |
if (self::is_plugin_page() &&
|
| 842 |
empty($notices['dismiss_welcome']) &&
|
| 843 |
!$shown && $promo == 'welcome') {
|
| 844 |
$dismiss_url = add_query_arg(array('action' => 'ucp_dismiss_notice', 'notice' => 'welcome', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
| 845 |
|
| 846 |
echo '<div id="ucp_rate_notice" class="notice-info notice"><p>Hi' . $name . ',<br>';
|
| 847 |
+
echo 'We have a <a class="open-ucp-upsell" data-pro-ad="notification-welcome-text" href="#">special time-sensitive offer</a> available just for another <b class="ucp-countdown">59min</b>! A <b>20% DISCOUNT</b> on our most popular lifetime licenses!<br>No nonsense! Pay once and use the plugin forever. <a class="open-ucp-upsell" data-pro-ad="notification-welcome-text2" href="#">Get</a> more than 50+ extra features, 200+ premium themes and over a million professional images.</p>';
|
| 848 |
|
| 849 |
echo '<a href="#" class="button-primary open-ucp-upsell" data-pro-ad="notification-welcome-button">Upgrade to PRO now with a SPECIAL 20% WELCOME DISCOUNT</a>';
|
| 850 |
echo ' <a href="' . esc_url($dismiss_url) . '"><small>' . __('I\'m not interested (remove this notice)', 'under-construction-page') . '</small></a>';
|
| 859 |
$dismiss_url = add_query_arg(array('action' => 'ucp_dismiss_notice', 'notice' => 'olduser', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
| 860 |
|
| 861 |
echo '<div id="ucp_rate_notice" class="notice-info notice"><p>Hi' . $name . ',<br>';
|
| 862 |
+
echo 'We have a <a class="open-ucp-upsell" data-pro-ad="notification-olduser-text" href="#">special offer</a> only for <b>users like you</b> who\'ve been using the UnderConstructionPage for a longer period of time: a <b>special DISCOUNT</b> on our most popular lifetime licenses!<br>No nonsense! Pay once and use the plugin forever.<br><a class="open-ucp-upsell" data-pro-ad="notification-olduser-text" href="#">Upgrade now</a> to <b>PRO</b> & get more than 50+ extra features, 200+ premium themes and over a million HD images.</p>';
|
| 863 |
|
| 864 |
echo '<a href="#" class="button-primary open-ucp-upsell" data-pro-ad="notification-olduser-button">Upgrade to PRO now with a SPECIAL DISCOUNT</a>';
|
| 865 |
echo ' <a href="' . esc_url($dismiss_url) . '"><small>' . __('I\'m not interested (remove this notice)', 'under-construction-page') . '</small></a>';
|
| 1112 |
'heading1' => __('Sorry, we\'re doing some work on the site', 'under-construction-page'),
|
| 1113 |
'content' => __('Thank you for being patient. We are doing some work on the site and will be back shortly.', 'under-construction-page'),
|
| 1114 |
'mailoptin_campaign' => '-1',
|
|
|
|
| 1115 |
'social_facebook' => '',
|
| 1116 |
'social_twitter' => '',
|
| 1117 |
'social_google' => '',
|
| 1295 |
if (is_callable(array('Swift_Performance_Cache', 'clear_all_cache'))) {
|
| 1296 |
Swift_Performance_Cache::clear_all_cache();
|
| 1297 |
}
|
| 1298 |
+
if (is_callable(array('Hummingbird\WP_Hummingbird', 'flush_cache'))) {
|
| 1299 |
+
Hummingbird\WP_Hummingbird::flush_cache(true, false);
|
| 1300 |
+
}
|
| 1301 |
}
|
| 1302 |
|
| 1303 |
return array_merge($old_options, $options);
|
| 1516 |
echo '</tr>';
|
| 1517 |
} // weglot not active
|
| 1518 |
|
|
|
|
| 1519 |
echo '<tr valign="top">
|
| 1520 |
<th scope="row"><label for="title">' . __('Title', 'under-construction-page') . '</label></th>
|
| 1521 |
<td><input type="text" id="title" class="regular-text" name="' . UCP_OPTIONS_KEY . '[title]" value="' . esc_attr($options['title']) . '" />';
|
| 1602 |
echo '</tr>';
|
| 1603 |
} // mailoptin not active
|
| 1604 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1605 |
echo '<tr>';
|
| 1606 |
echo '<th><label for="content_font">Content Font</label></th>';
|
| 1607 |
echo '<td><select class="skip-save open-ucp-upsell" id="content_font">';
|
| 2192 |
echo '</div>';
|
| 2193 |
// weglot install dialog
|
| 2194 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2195 |
$promo = self::is_promo_active();
|
| 2196 |
if ($promo == 'welcome') {
|
| 2197 |
$header = 'A <b>welcoming discount</b> has been applied to selected packages! It\'s <b>time limited</b> and available for only another <b class="ucp-countdown">59min 30sec</b>.';
|
| 2275 |
<td>Monthly/Yearly Payment</td>
|
| 2276 |
</tr>
|
| 2277 |
<tr>
|
| 2278 |
+
<td>100 Client or Personal Sites<br>(licenses are transferable between sites)</td>
|
| 2279 |
<td>1 Personal or Client Site</td>
|
| 2280 |
<td>3 Personal Sites</td>
|
| 2281 |
</tr>
|
| 2282 |
+
<tr>
|
| 2283 |
+
<td>White-Label License Mode</td>
|
| 2284 |
+
<td><span class="dashicons dashicons-no"></td>
|
| 2285 |
+
<td><span class="dashicons dashicons-no"></td>
|
| 2286 |
+
</tr>
|
| 2287 |
<tr>
|
| 2288 |
<td>Lifetime Priority Support & Updates</td>
|
| 2289 |
<td>Lifetime Support & Updates</td>
|
| 2300 |
<td>Drag&Drop Builder</td>
|
| 2301 |
</tr>
|
| 2302 |
<tr>
|
| 2303 |
+
<td>120+ PRO Templates</td>
|
| 2304 |
+
<td>120+ PRO Templates</td>
|
| 2305 |
+
<td>120+ PRO Templates</td>
|
| 2306 |
</tr>
|
| 2307 |
<tr>
|
| 2308 |
+
<td>80+ Agency Templates</td>
|
| 2309 |
<td><span class="dashicons dashicons-no"></td>
|
| 2310 |
<td><span class="dashicons dashicons-no"></td>
|
| 2311 |
</tr>
|
| 2312 |
<tr>
|
| 2313 |
+
<td>Zapier Integration + Extra Modules</td>
|
| 2314 |
+
<td><span class="dashicons dashicons-no"></td>
|
| 2315 |
+
<td><span class="dashicons dashicons-no"></td>
|
| 2316 |
+
</tr>
|
| 2317 |
+
<tr class="bb0">
|
| 2318 |
<td>
|
| 2319 |
<a data-href-org="' . $products['agency']['link'] . '" class="promo-button go-to-license-key" href="' . $products['agency']['link'] . '" target="_blank">' . $products['agency']['price'] . '</a>
|
|
|
|
| 2320 |
</td>
|
| 2321 |
<td>
|
| 2322 |
<a data-href-org="' . $products['pro-lifetime']['link'] . '" class="promo-button go-to-license-key" href="' . $products['pro-lifetime']['link'] . '" target="_blank">' . $products['pro-lifetime']['price'] . '</a>
|
|
|
|
| 2323 |
</td>
|
| 2324 |
<td>
|
| 2325 |
<a data-href-org="' . $products['pro-yearly']['link'] . '" class="promo-button go-to-license-key" href="' . $products['pro-yearly']['link'] . '" target="_blank">' . $products['pro-yearly']['price'] . '</a>
|
|
|
|
| 2326 |
</td>
|
| 2327 |
</tr>
|
| 2328 |
+
<tr class="bb0">
|
| 2329 |
+
<td colspan="3"><span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment <span class="dashicons dashicons-yes"></span> Instant activation from WP admin <span class="dashicons dashicons-yes"></span> 100% No-Risk Money Back Guarantee</span></td>
|
| 2330 |
+
</tr>
|
| 2331 |
</tbody>
|
| 2332 |
</table>';
|
| 2333 |
echo '<p class="upsell-footer">More pricing options & details about packages are available on <a href="' . self::generate_web_link('pricing-table-more-info') . '" target="_blank">underconstructionpage.com</a>. Already have a PRO license? <a href="#" class="go-to-license-key">Activate it</a>.</p>';
|
| 2547 |
echo '</div>';
|
| 2548 |
} // install_security_ninja
|
| 2549 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2550 |
static function is_plugin_installed($slug) {
|
| 2551 |
if (!function_exists('get_plugins')) {
|
| 2552 |
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
| 2580 |
} // is_mailoptin_active
|
| 2581 |
|
| 2582 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2583 |
// check if Weglot plugin is active and min version installed
|
| 2584 |
static function is_weglot_active() {
|
| 2585 |
if (!function_exists('is_plugin_active') || !function_exists('get_plugin_data')) {
|
