Version Description
- 2017/01/16
- 1 new theme - Rocket Launch
- added "Site Description" SEO option
- added 2 social icons: Behance & Instagram
- features survey is shown to users to decide what features will be developed next
Download this release
Release Info
| Developer | WebFactory |
| Plugin | |
| Version | 1.45 |
| Comparing to | |
| See all releases | |
Code changes from version 1.40 to 1.45
- css/ucp-admin.css +128 -4
- images/rocket.png +0 -0
- js/ucp-admin-pointers.js +1 -1
- js/ucp-admin.js +117 -1
- readme.txt +23 -11
- themes/cyber_chick/style.css +2 -0
- themes/dark/style.css +2 -0
- themes/forklift/style.css +2 -0
- themes/mad_designer/style.css +2 -0
- themes/plain_text/ucp-cog.png +0 -0
- themes/rocket/index.php +57 -0
- themes/rocket/rocket.png +0 -0
- themes/rocket/style.css +87 -0
- themes/under_construction/style.css +2 -0
- themes/under_construction_text/style.css +3 -0
- under-construction.php +168 -20
css/ucp-admin.css
CHANGED
|
@@ -7,10 +7,7 @@
|
|
| 7 |
@import url('//fonts.googleapis.com/css?family=Roboto:900');
|
| 8 |
|
| 9 |
.settings_page_ucp h1 {
|
| 10 |
-
font-weight: 900;
|
| 11 |
-
font-variant: small-caps;
|
| 12 |
margin-bottom: 30px;
|
| 13 |
-
font-family: 'Roboto', sans-serif;
|
| 14 |
}
|
| 15 |
|
| 16 |
.form-table th {
|
|
@@ -63,7 +60,7 @@ div.ucp-thumb img, .ucp-thumb-special img {
|
|
| 63 |
.ucp-list {
|
| 64 |
list-style-type: circle;
|
| 65 |
list-style-position: outside;
|
| 66 |
-
|
| 67 |
}
|
| 68 |
|
| 69 |
input[type=url]:invalid {
|
|
@@ -116,6 +113,133 @@ input.datepicker {
|
|
| 116 |
background-color: #ffffff;
|
| 117 |
}
|
| 118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 119 |
@media screen and (max-width: 782px) {
|
| 120 |
.settings_page_ucp input[type=text].datepicker {
|
| 121 |
max-width: 80%;
|
| 7 |
@import url('//fonts.googleapis.com/css?family=Roboto:900');
|
| 8 |
|
| 9 |
.settings_page_ucp h1 {
|
|
|
|
|
|
|
| 10 |
margin-bottom: 30px;
|
|
|
|
| 11 |
}
|
| 12 |
|
| 13 |
.form-table th {
|
| 60 |
.ucp-list {
|
| 61 |
list-style-type: circle;
|
| 62 |
list-style-position: outside;
|
| 63 |
+
margin-left: 14px;
|
| 64 |
}
|
| 65 |
|
| 66 |
input[type=url]:invalid {
|
| 113 |
background-color: #ffffff;
|
| 114 |
}
|
| 115 |
|
| 116 |
+
.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
|
| 117 |
+
margin-top: 6px;
|
| 118 |
+
margin-bottom: 0px;
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
+
span.select2-container .select2-search--inline .select2-search__field {
|
| 122 |
+
margin-top: 0px;
|
| 123 |
+
}
|
| 124 |
+
|
| 125 |
+
.select2-container .select2-search__field:not([placeholder='']) {
|
| 126 |
+
width: 100% !important;
|
| 127 |
+
margin-right: 100000px;
|
| 128 |
+
}
|
| 129 |
+
|
| 130 |
+
.ucp-logo {
|
| 131 |
+
font-variant: small-caps;
|
| 132 |
+
font-family: Roboto, sans-serif;
|
| 133 |
+
font-weight: 900;
|
| 134 |
+
}
|
| 135 |
+
|
| 136 |
+
.ui-widget-overlay {
|
| 137 |
+
opacity: 0.85;
|
| 138 |
+
}
|
| 139 |
+
|
| 140 |
+
.ucp-survey-dialog .ui-dialog-titlebar {
|
| 141 |
+
text-align: center;
|
| 142 |
+
font-weight: bold;
|
| 143 |
+
}
|
| 144 |
+
|
| 145 |
+
.ucp-survey-dialog .ui-dialog-titlebar-close {
|
| 146 |
+
display: none;
|
| 147 |
+
}
|
| 148 |
+
|
| 149 |
+
.ucp-survey-dialog .ui-dialog-content {
|
| 150 |
+
padding: 20px 25px;
|
| 151 |
+
font-size: 15px;
|
| 152 |
+
}
|
| 153 |
+
|
| 154 |
+
.ucp-survey-dialog b {
|
| 155 |
+
font-weight: bold;
|
| 156 |
+
}
|
| 157 |
+
|
| 158 |
+
.ucp-survey-dialog .footer {
|
| 159 |
+
margin: 20px 0 0 0;
|
| 160 |
+
text-align: center;
|
| 161 |
+
}
|
| 162 |
+
|
| 163 |
+
.ucp-survey-dialog .footer #emailme {
|
| 164 |
+
margin: 0 5px -3px 0;
|
| 165 |
+
}
|
| 166 |
+
|
| 167 |
+
.ucp-survey-dialog .footer .button-primary {
|
| 168 |
+
border-radius: 0;
|
| 169 |
+
font-size: 15px;
|
| 170 |
+
box-shadow: none;
|
| 171 |
+
text-shadow: none;
|
| 172 |
+
margin-top: 5px;
|
| 173 |
+
}
|
| 174 |
+
|
| 175 |
+
.ucp-survey-dialog .footer .dismiss-survey {
|
| 176 |
+
padding-top: 25px;
|
| 177 |
+
display: block;
|
| 178 |
+
}
|
| 179 |
+
|
| 180 |
+
.ucp-survey-dialog .ui-dialog-content p {
|
| 181 |
+
margin: 0 0 20px 0;
|
| 182 |
+
font-size: 15px;
|
| 183 |
+
}
|
| 184 |
+
|
| 185 |
+
.question-wrapper {
|
| 186 |
+
border: 2px solid rgba(0,0,0,0.2);
|
| 187 |
+
padding: 10px;
|
| 188 |
+
background-color: rgba(250,250,250,0.55);
|
| 189 |
+
margin-bottom: 10px;
|
| 190 |
+
opacity: 0.75;
|
| 191 |
+
}
|
| 192 |
+
|
| 193 |
+
.question-wrapper:hover {
|
| 194 |
+
opacity: 1;
|
| 195 |
+
border: 2px solid rgba(0, 142, 194, 1);
|
| 196 |
+
cursor: pointer;
|
| 197 |
+
margin-bottom: 10px;
|
| 198 |
+
}
|
| 199 |
+
|
| 200 |
+
.question-wrapper.selected {
|
| 201 |
+
opacity: 1;
|
| 202 |
+
border: 2px solid rgba(0, 142, 194, 1);
|
| 203 |
+
margin-bottom: 10px;
|
| 204 |
+
}
|
| 205 |
+
|
| 206 |
+
.question-wrapper .dashicons {
|
| 207 |
+
color: rgba(0, 142, 194, 0.25);
|
| 208 |
+
float: left;
|
| 209 |
+
width: 40px;
|
| 210 |
+
height: 40px;
|
| 211 |
+
display: inline-block;
|
| 212 |
+
}
|
| 213 |
+
|
| 214 |
+
.question-wrapper.selected .dashicons {
|
| 215 |
+
color: rgba(0, 142, 194, 1);
|
| 216 |
+
}
|
| 217 |
+
.question-wrapper .dashicons:before {
|
| 218 |
+
width: 40px;
|
| 219 |
+
height: 40px;
|
| 220 |
+
font-size: 40px;
|
| 221 |
+
}
|
| 222 |
+
|
| 223 |
+
.question-wrapper .custom-input {
|
| 224 |
+
margin: 0;
|
| 225 |
+
width: 100%;
|
| 226 |
+
font-size: 12px;
|
| 227 |
+
padding: 2px;
|
| 228 |
+
}
|
| 229 |
+
|
| 230 |
+
.question-wrapper .question {
|
| 231 |
+
margin-left: -40px;
|
| 232 |
+
display: inline-block;
|
| 233 |
+
width: 100%;
|
| 234 |
+
padding-left: 50px;
|
| 235 |
+
box-sizing: border-box;
|
| 236 |
+
}
|
| 237 |
+
|
| 238 |
+
.question-wrapper i {
|
| 239 |
+
padding-top: 5px;
|
| 240 |
+
font-size: 14px;
|
| 241 |
+
}
|
| 242 |
+
|
| 243 |
@media screen and (max-width: 782px) {
|
| 244 |
.settings_page_ucp input[type=text].datepicker {
|
| 245 |
max-width: 80%;
|
images/rocket.png
ADDED
|
Binary file
|
js/ucp-admin-pointers.js
CHANGED
|
@@ -15,7 +15,7 @@ jQuery(document).ready(function($){
|
|
| 15 |
return true;
|
| 16 |
}
|
| 17 |
$(pointer.target).pointer({
|
| 18 |
-
content: '<h3>
|
| 19 |
position: {
|
| 20 |
edge: pointer.edge,
|
| 21 |
align: pointer.align
|
| 15 |
return true;
|
| 16 |
}
|
| 17 |
$(pointer.target).pointer({
|
| 18 |
+
content: '<h3>UnderConstructionPage</h3><p>' + pointer.content + '</p>',
|
| 19 |
position: {
|
| 20 |
edge: pointer.edge,
|
| 21 |
align: pointer.align
|
js/ucp-admin.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
| 8 |
jQuery(document).ready(function($) {
|
| 9 |
old_settings = $('#ucp_form').serialize();
|
| 10 |
|
|
|
|
| 11 |
$('#ucp_tabs').tabs({
|
| 12 |
activate: function(event, ui) {
|
| 13 |
Cookies.set('ucp_tabs_selected', $('#ucp_tabs').tabs('option', 'active'), { expires: 180 });
|
|
@@ -15,8 +16,106 @@ jQuery(document).ready(function($) {
|
|
| 15 |
active: $('#ucp_tabs').tabs({ active: Cookies.get('ucp_tabs_selected') })
|
| 16 |
}).show();
|
| 17 |
|
| 18 |
-
|
|
|
|
| 19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
$('.ucp-thumb').on('click', function(e) {
|
| 21 |
e.preventDefault();
|
| 22 |
|
|
@@ -28,8 +127,12 @@ jQuery(document).ready(function($) {
|
|
| 28 |
return false;
|
| 29 |
});
|
| 30 |
|
|
|
|
|
|
|
| 31 |
$('.datepicker').AnyTime_picker({ format: "%Y-%m-%d %H:%i", firstDOW: 1, earliest: new Date(), labelTitle: "Select the date & time when construction mode will be disabled" } );
|
| 32 |
|
|
|
|
|
|
|
| 33 |
$('.clear-datepicker').on('click', function(e) {
|
| 34 |
e.preventDefault();
|
| 35 |
|
|
@@ -38,6 +141,8 @@ jQuery(document).ready(function($) {
|
|
| 38 |
return false;
|
| 39 |
});
|
| 40 |
|
|
|
|
|
|
|
| 41 |
$('.show-datepicker').on('click', function(e) {
|
| 42 |
e.preventDefault();
|
| 43 |
|
|
@@ -46,6 +151,8 @@ jQuery(document).ready(function($) {
|
|
| 46 |
return false;
|
| 47 |
});
|
| 48 |
|
|
|
|
|
|
|
| 49 |
$(document).on('click', '#ucp_preview', function(e) {
|
| 50 |
if ($('#ucp_form').serialize() != old_settings) {
|
| 51 |
if (!confirm('There are unsaved changes that will not be visible in the preview. Please save changes first.\nContinue?')) {
|
|
@@ -57,6 +164,8 @@ jQuery(document).ready(function($) {
|
|
| 57 |
return true;
|
| 58 |
});
|
| 59 |
|
|
|
|
|
|
|
| 60 |
$(document).on('click', '.change_tab', function(e) {
|
| 61 |
$('#ucp_tabs').tabs('option', 'active', $(this).data('tab'));
|
| 62 |
|
|
@@ -67,3 +176,10 @@ jQuery(document).ready(function($) {
|
|
| 67 |
}
|
| 68 |
});
|
| 69 |
}); // on ready
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
jQuery(document).ready(function($) {
|
| 9 |
old_settings = $('#ucp_form').serialize();
|
| 10 |
|
| 11 |
+
// init tabs
|
| 12 |
$('#ucp_tabs').tabs({
|
| 13 |
activate: function(event, ui) {
|
| 14 |
Cookies.set('ucp_tabs_selected', $('#ucp_tabs').tabs('option', 'active'), { expires: 180 });
|
| 16 |
active: $('#ucp_tabs').tabs({ active: Cookies.get('ucp_tabs_selected') })
|
| 17 |
}).show();
|
| 18 |
|
| 19 |
+
// init select2
|
| 20 |
+
$('#whitelisted_users').select2({ 'placeholder': ucp.whitelisted_users_placeholder});
|
| 21 |
|
| 22 |
+
// maybe init survey dialog
|
| 23 |
+
$('#features-survey-dialog').dialog({'dialogClass': 'wp-dialog ucp-dialog ucp-survey-dialog',
|
| 24 |
+
'modal': 1,
|
| 25 |
+
'resizable': false,
|
| 26 |
+
'zIndex': 9999,
|
| 27 |
+
'width': 570,
|
| 28 |
+
'height': 'auto',
|
| 29 |
+
'show': 'fade',
|
| 30 |
+
'hide': 'fade',
|
| 31 |
+
'open': function(event, ui) { ucp_fix_dialog_close(event, ui); },
|
| 32 |
+
'close': function(event, ui) { },
|
| 33 |
+
'autoOpen': ucp.open_features_survey,
|
| 34 |
+
'closeOnEscape': true
|
| 35 |
+
});
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
// turn questions into checkboxes
|
| 39 |
+
$('.question-wrapper').on('click', function(e) {
|
| 40 |
+
if ($(this).hasClass('selected')) {
|
| 41 |
+
$(this).removeClass('selected');
|
| 42 |
+
} else {
|
| 43 |
+
if ($('.question-wrapper.selected').length >= 2) {
|
| 44 |
+
alert('You can only choose 2 features at a time');
|
| 45 |
+
} else {
|
| 46 |
+
$(this).addClass('selected');
|
| 47 |
+
}
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
e.preventDefault();
|
| 51 |
+
return false;
|
| 52 |
+
});
|
| 53 |
+
|
| 54 |
+
|
| 55 |
+
// dismiss survey forever
|
| 56 |
+
$('.dismiss-survey').on('click', function(e) {
|
| 57 |
+
$('#features-survey-dialog').dialog('close');
|
| 58 |
+
|
| 59 |
+
$.post(ajaxurl, { survey: 'features',
|
| 60 |
+
_ajax_nonce: ucp.nonce_dismiss_survey,
|
| 61 |
+
action: 'ucp_dismiss_survey'
|
| 62 |
+
});
|
| 63 |
+
|
| 64 |
+
e.preventDefault();
|
| 65 |
+
return false;
|
| 66 |
+
});
|
| 67 |
+
|
| 68 |
+
|
| 69 |
+
// submit and hide survey
|
| 70 |
+
$('.submit-survey').on('click', function(e) {
|
| 71 |
+
if ($('.question-wrapper.selected').length != 2) {
|
| 72 |
+
alert('Please choose 2 features you would like us to build next.');
|
| 73 |
+
return false;
|
| 74 |
+
}
|
| 75 |
+
|
| 76 |
+
if ($('#features-survey-dialog .custom-input').val() == '' && $('#features-survey-dialog .custom-input').parents('div.question-wrapper').hasClass('selected')) {
|
| 77 |
+
alert('Please describe the custom feature you would like us to build next.');
|
| 78 |
+
return false;
|
| 79 |
+
}
|
| 80 |
+
|
| 81 |
+
answers = '';
|
| 82 |
+
$('.question-wrapper.selected').each(function(i, el) {
|
| 83 |
+
answers += $(el).data('value') + ',';
|
| 84 |
+
});
|
| 85 |
+
|
| 86 |
+
$.post(ajaxurl, { survey: 'features',
|
| 87 |
+
answers: answers,
|
| 88 |
+
emailme: $('#features-survey-dialog #emailme:checked').val(),
|
| 89 |
+
custom_answer: $('#features-survey-dialog .custom-input').val(),
|
| 90 |
+
_ajax_nonce: ucp.nonce_submit_survey,
|
| 91 |
+
action: 'ucp_submit_survey'
|
| 92 |
+
});
|
| 93 |
+
|
| 94 |
+
alert('Thank you for your time! We appriciate your input!');
|
| 95 |
+
|
| 96 |
+
$('#features-survey-dialog').dialog('close');
|
| 97 |
+
e.preventDefault();
|
| 98 |
+
return false;
|
| 99 |
+
});
|
| 100 |
+
|
| 101 |
+
|
| 102 |
+
// autoselect custom answer when something is typed in
|
| 103 |
+
$('#features-survey-dialog .custom-input').on('change keypress', function(e) {
|
| 104 |
+
if ($(this).val().length > 2 && $('.question-wrapper.selected').length < 2) {
|
| 105 |
+
$(this).parents('.question-wrapper').addClass('selected');
|
| 106 |
+
}
|
| 107 |
+
|
| 108 |
+
return true;
|
| 109 |
+
});
|
| 110 |
+
|
| 111 |
+
|
| 112 |
+
// clicking on input shouldn't check/uncheck the parent option
|
| 113 |
+
$('input.custom-input').on('click', function(e) {
|
| 114 |
+
e.stopPropagation();
|
| 115 |
+
});
|
| 116 |
+
|
| 117 |
+
|
| 118 |
+
// select theme via thumb
|
| 119 |
$('.ucp-thumb').on('click', function(e) {
|
| 120 |
e.preventDefault();
|
| 121 |
|
| 127 |
return false;
|
| 128 |
});
|
| 129 |
|
| 130 |
+
|
| 131 |
+
// init datepicker
|
| 132 |
$('.datepicker').AnyTime_picker({ format: "%Y-%m-%d %H:%i", firstDOW: 1, earliest: new Date(), labelTitle: "Select the date & time when construction mode will be disabled" } );
|
| 133 |
|
| 134 |
+
|
| 135 |
+
// reset/clear datepicker
|
| 136 |
$('.clear-datepicker').on('click', function(e) {
|
| 137 |
e.preventDefault();
|
| 138 |
|
| 141 |
return false;
|
| 142 |
});
|
| 143 |
|
| 144 |
+
|
| 145 |
+
// fix when opening datepicker
|
| 146 |
$('.show-datepicker').on('click', function(e) {
|
| 147 |
e.preventDefault();
|
| 148 |
|
| 151 |
return false;
|
| 152 |
});
|
| 153 |
|
| 154 |
+
|
| 155 |
+
// preview warns if there are unsaved changes
|
| 156 |
$(document).on('click', '#ucp_preview', function(e) {
|
| 157 |
if ($('#ucp_form').serialize() != old_settings) {
|
| 158 |
if (!confirm('There are unsaved changes that will not be visible in the preview. Please save changes first.\nContinue?')) {
|
| 164 |
return true;
|
| 165 |
});
|
| 166 |
|
| 167 |
+
|
| 168 |
+
// helper for linking anchors in different tabs
|
| 169 |
$(document).on('click', '.change_tab', function(e) {
|
| 170 |
$('#ucp_tabs').tabs('option', 'active', $(this).data('tab'));
|
| 171 |
|
| 176 |
}
|
| 177 |
});
|
| 178 |
}); // on ready
|
| 179 |
+
|
| 180 |
+
|
| 181 |
+
function ucp_fix_dialog_close(event, ui) {
|
| 182 |
+
jQuery('.ui-widget-overlay').bind('click', function(){
|
| 183 |
+
jQuery('#' + event.target.id).dialog('close');
|
| 184 |
+
});
|
| 185 |
+
} // ucp_fix_dialog_close
|
readme.txt
CHANGED
|
@@ -1,13 +1,13 @@
|
|
| 1 |
=== Under Construction ===
|
| 2 |
Contributors: WebFactory
|
| 3 |
-
Tags: under construction page, coming soon page, maintenance, maintenance page, coming soon, maintenance mode, under construction mode, coming soon mode, site unavailable, under construction, landing page
|
| 4 |
Requires at least: 4.0
|
| 5 |
Tested up to: 4.7
|
| 6 |
-
Stable tag: 1.
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
|
| 10 |
-
Display an Under Construction
|
| 11 |
|
| 12 |
|
| 13 |
== Description ==
|
|
@@ -21,10 +21,11 @@ A simple, no-nonsense plugin for all those situations when you have to hide the
|
|
| 21 |
* End date & time - automatically disable construction mode on a set date
|
| 22 |
* Google Analytics Tracking ID - enable tracking via Google Analytics
|
| 23 |
* Theme - a new one is added with each update, <a href="https://wordpress.org/plugins/under-construction-page/screenshots/">see screenshots</a>
|
| 24 |
-
* Title
|
| 25 |
-
*
|
| 26 |
-
*
|
| 27 |
-
*
|
|
|
|
| 28 |
* Facebook
|
| 29 |
* Twitter
|
| 30 |
* Google+
|
|
@@ -32,6 +33,8 @@ A simple, no-nonsense plugin for all those situations when you have to hide the
|
|
| 32 |
* YouTube
|
| 33 |
* Pinterest
|
| 34 |
* Dribbble
|
|
|
|
|
|
|
| 35 |
* Whitelisted User Roles - user roles who see the site, instead of maintenance page
|
| 36 |
* Whitelisted Users - users who see the site, instead of maintenance page
|
| 37 |
|
|
@@ -62,20 +65,29 @@ Or if needed, upload manually;
|
|
| 62 |
5. Things Went Dark theme
|
| 63 |
6. Forklift at Work theme
|
| 64 |
7. Cyber Chick theme
|
| 65 |
-
8.
|
| 66 |
-
9.
|
| 67 |
-
10.
|
| 68 |
-
11.
|
|
|
|
| 69 |
|
| 70 |
|
| 71 |
== Changelog ==
|
| 72 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
= 1.40 =
|
| 74 |
* 2017/01/03
|
| 75 |
* 1 new theme - Cyber Chick
|
| 76 |
* added "Google Analytics Tracking ID" option
|
| 77 |
* added "Whitelisted Users" option
|
| 78 |
* added "Show some Love" option
|
|
|
|
| 79 |
|
| 80 |
= 1.35 =
|
| 81 |
* 2016/12/23
|
| 1 |
=== Under Construction ===
|
| 2 |
Contributors: WebFactory
|
| 3 |
+
Tags: under construction page, coming soon page, maintenance, maintenance page, coming soon, maintenance mode, under construction mode, coming soon mode, site unavailable, under construction, landing page, construction, launch, launch page, offline
|
| 4 |
Requires at least: 4.0
|
| 5 |
Tested up to: 4.7
|
| 6 |
+
Stable tag: 1.45
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
|
| 10 |
+
Display an Under Construction, Maintenance Mode or Landing Page that takes 5 seconds to setup, while you're doing maintenance work on your site.
|
| 11 |
|
| 12 |
|
| 13 |
== Description ==
|
| 21 |
* End date & time - automatically disable construction mode on a set date
|
| 22 |
* Google Analytics Tracking ID - enable tracking via Google Analytics
|
| 23 |
* Theme - a new one is added with each update, <a href="https://wordpress.org/plugins/under-construction-page/screenshots/">see screenshots</a>
|
| 24 |
+
* Title - page title, for SEO
|
| 25 |
+
* Description - page description, for SEO
|
| 26 |
+
* Headline - main headline/title
|
| 27 |
+
* Content - anything you need to display, from styled text to images
|
| 28 |
+
* Social icons/links - new ones are added with every update; let us know if we missed your favorite ones
|
| 29 |
* Facebook
|
| 30 |
* Twitter
|
| 31 |
* Google+
|
| 33 |
* YouTube
|
| 34 |
* Pinterest
|
| 35 |
* Dribbble
|
| 36 |
+
* Behance
|
| 37 |
+
* Instagram
|
| 38 |
* Whitelisted User Roles - user roles who see the site, instead of maintenance page
|
| 39 |
* Whitelisted Users - users who see the site, instead of maintenance page
|
| 40 |
|
| 65 |
5. Things Went Dark theme
|
| 66 |
6. Forklift at Work theme
|
| 67 |
7. Cyber Chick theme
|
| 68 |
+
8. Rocket Launch theme
|
| 69 |
+
9. Main settings
|
| 70 |
+
10. Design settings
|
| 71 |
+
11. Content settings
|
| 72 |
+
12. Access settings
|
| 73 |
|
| 74 |
|
| 75 |
== Changelog ==
|
| 76 |
|
| 77 |
+
= 1.45 =
|
| 78 |
+
* 2017/01/16
|
| 79 |
+
* 1 new theme - Rocket Launch
|
| 80 |
+
* added "Site Description" SEO option
|
| 81 |
+
* added 2 social icons: Behance & Instagram
|
| 82 |
+
* features survey is shown to users to decide what features will be developed next
|
| 83 |
+
|
| 84 |
= 1.40 =
|
| 85 |
* 2017/01/03
|
| 86 |
* 1 new theme - Cyber Chick
|
| 87 |
* added "Google Analytics Tracking ID" option
|
| 88 |
* added "Whitelisted Users" option
|
| 89 |
* added "Show some Love" option
|
| 90 |
+
* we've crossed the 30k users mark
|
| 91 |
|
| 92 |
= 1.35 =
|
| 93 |
* 2016/12/23
|
themes/cyber_chick/style.css
CHANGED
|
@@ -23,6 +23,8 @@ body {
|
|
| 23 |
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d3d5', endColorstr='#fafafa',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
| 24 |
padding: 0;
|
| 25 |
margin: 0;
|
|
|
|
|
|
|
| 26 |
}
|
| 27 |
|
| 28 |
#hero-image {
|
| 23 |
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d3d5', endColorstr='#fafafa',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
| 24 |
padding: 0;
|
| 25 |
margin: 0;
|
| 26 |
+
background-repeat: no-repeat;
|
| 27 |
+
background-attachment: fixed;
|
| 28 |
}
|
| 29 |
|
| 30 |
#hero-image {
|
themes/dark/style.css
CHANGED
|
@@ -19,6 +19,8 @@ body {
|
|
| 19 |
background: #212f3c;
|
| 20 |
padding: 0;
|
| 21 |
margin: 0;
|
|
|
|
|
|
|
| 22 |
}
|
| 23 |
|
| 24 |
#hero-image {
|
| 19 |
background: #212f3c;
|
| 20 |
padding: 0;
|
| 21 |
margin: 0;
|
| 22 |
+
background-repeat: no-repeat;
|
| 23 |
+
background-attachment: fixed;
|
| 24 |
}
|
| 25 |
|
| 26 |
#hero-image {
|
themes/forklift/style.css
CHANGED
|
@@ -23,6 +23,8 @@ body {
|
|
| 23 |
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fd6439', endColorstr='#fafafa',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
| 24 |
padding: 0;
|
| 25 |
margin: 0;
|
|
|
|
|
|
|
| 26 |
}
|
| 27 |
|
| 28 |
#hero-image {
|
| 23 |
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fd6439', endColorstr='#fafafa',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
| 24 |
padding: 0;
|
| 25 |
margin: 0;
|
| 26 |
+
background-repeat: no-repeat;
|
| 27 |
+
background-attachment: fixed;
|
| 28 |
}
|
| 29 |
|
| 30 |
#hero-image {
|
themes/mad_designer/style.css
CHANGED
|
@@ -23,6 +23,8 @@ body {
|
|
| 23 |
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d3d5', endColorstr='#fafafa',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
| 24 |
padding: 0;
|
| 25 |
margin: 0;
|
|
|
|
|
|
|
| 26 |
}
|
| 27 |
|
| 28 |
#hero-image {
|
| 23 |
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d3d5', endColorstr='#fafafa',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
| 24 |
padding: 0;
|
| 25 |
margin: 0;
|
| 26 |
+
background-repeat: no-repeat;
|
| 27 |
+
background-attachment: fixed;
|
| 28 |
}
|
| 29 |
|
| 30 |
#hero-image {
|
themes/plain_text/ucp-cog.png
CHANGED
|
Binary file
|
themes/rocket/index.php
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/*
|
| 3 |
+
* Under Construction
|
| 4 |
+
* Rocket theme
|
| 5 |
+
* (c) Web factory Ltd, 2015 - 2016
|
| 6 |
+
*/
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
// this is an include only WP file
|
| 10 |
+
if (!defined('ABSPATH')) {
|
| 11 |
+
die;
|
| 12 |
+
}
|
| 13 |
+
?>
|
| 14 |
+
<!DOCTYPE html>
|
| 15 |
+
<html lang="en">
|
| 16 |
+
<head>
|
| 17 |
+
<meta charset="utf-8">
|
| 18 |
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
| 19 |
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
| 20 |
+
<title>[title]</title>
|
| 21 |
+
<meta name="description" content="[description]" />
|
| 22 |
+
<meta name="generator" content="Under Construction plugin for WordPress">
|
| 23 |
+
<link rel="stylesheet" href="[theme-url-common]css/bootstrap.min.css?v=[version]" type="text/css">
|
| 24 |
+
<link rel="stylesheet" href="[theme-url]style.css?v=[version]" type="text/css">
|
| 25 |
+
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Nunito:200,600,900">
|
| 26 |
+
<link rel="stylesheet" href="[theme-url-common]css/font-awesome.min.css?v=[version]" type="text/css">
|
| 27 |
+
[head]
|
| 28 |
+
</head>
|
| 29 |
+
|
| 30 |
+
<body>
|
| 31 |
+
<div id="hero-image">
|
| 32 |
+
<img src="[theme-url]rocket.png" alt="Rocket Launch" title="Rocket Launch">
|
| 33 |
+
</div>
|
| 34 |
+
<div class="container">
|
| 35 |
+
|
| 36 |
+
<div class="row">
|
| 37 |
+
<div class="col-xs-12 col-md-12 col-lg-12">
|
| 38 |
+
<h1>[heading1]</h1>
|
| 39 |
+
</div>
|
| 40 |
+
</div>
|
| 41 |
+
|
| 42 |
+
<div class="row">
|
| 43 |
+
<div class="col-xs-12 col-md-8 col-md-offset-2 col-lg-offset-2 col-lg-8">
|
| 44 |
+
<p class="content">[content]</p>
|
| 45 |
+
</div>
|
| 46 |
+
</div>
|
| 47 |
+
|
| 48 |
+
<div class="row" id="social">
|
| 49 |
+
<div class="col-xs-12 col-md-12 col-lg-12">
|
| 50 |
+
[social-icons]
|
| 51 |
+
</div>
|
| 52 |
+
</div>
|
| 53 |
+
|
| 54 |
+
</div>
|
| 55 |
+
[footer]
|
| 56 |
+
</body>
|
| 57 |
+
</html>
|
themes/rocket/rocket.png
ADDED
|
Binary file
|
themes/rocket/style.css
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
* Under Construction
|
| 3 |
+
* Rocket theme CSS
|
| 4 |
+
* (c) Web factory Ltd, 2015 - 2016
|
| 5 |
+
*/
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
html {
|
| 9 |
+
height: 100%;
|
| 10 |
+
padding: 0;
|
| 11 |
+
margin: 0;
|
| 12 |
+
}
|
| 13 |
+
|
| 14 |
+
body {
|
| 15 |
+
font-weight: 400;
|
| 16 |
+
font-size: 14px;
|
| 17 |
+
line-height: 120%;
|
| 18 |
+
color: #2C3D55;
|
| 19 |
+
background: #93b9dc; /* Old browsers */
|
| 20 |
+
xbackground: -moz-linear-gradient(-45deg, #93b9dc 0%,#93b9dc 44%,#b7cee2 80%); /* FF3.6-15 */
|
| 21 |
+
xbackground: -webkit-linear-gradient(-45deg, #93b9dc 0%,#93b9dc 44%,#b7cee2 80%); /* Chrome10-25,Safari5.1-6 */
|
| 22 |
+
background: linear-gradient(135deg, #93b9dc 0%,#93b9dc 44%,#b7cee2 80%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
|
| 23 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#93b9dc', endColorstr='#b7cee2',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
| 24 |
+
padding: 0;
|
| 25 |
+
margin: 0;
|
| 26 |
+
background-repeat: no-repeat;
|
| 27 |
+
background-attachment: fixed;
|
| 28 |
+
}
|
| 29 |
+
|
| 30 |
+
#hero-image {
|
| 31 |
+
text-align: center;
|
| 32 |
+
margin: 20px auto 10px auto;
|
| 33 |
+
border-bottom: 5px solid #414042;
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
#hero-image img {
|
| 37 |
+
max-width: 80%;
|
| 38 |
+
}
|
| 39 |
+
|
| 40 |
+
h1 {
|
| 41 |
+
font-size: 34px;
|
| 42 |
+
color: #2C3D55;
|
| 43 |
+
font-family: "Nunito", sans-serif;
|
| 44 |
+
font-weight: 900;
|
| 45 |
+
margin: 20px 0 30px 0;
|
| 46 |
+
text-align: center;
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
.content {
|
| 50 |
+
text-align: center;
|
| 51 |
+
font-family: "Helvetica", "Arial", sans-serif;
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
#social {
|
| 55 |
+
text-align: center;
|
| 56 |
+
margin-top: 30px;
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
#social a i {
|
| 60 |
+
color: #2C3D55;
|
| 61 |
+
margin: 10px;
|
| 62 |
+
box-sizing: content-box;
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
#social a:hover i {
|
| 66 |
+
color: #E8C547;
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
#linkback {
|
| 70 |
+
font-size: small;
|
| 71 |
+
text-align: center;
|
| 72 |
+
opacity: 0.55;
|
| 73 |
+
margin: 10px;
|
| 74 |
+
}
|
| 75 |
+
|
| 76 |
+
@media(max-width:767px){
|
| 77 |
+
h1 {
|
| 78 |
+
font-size: 30px;
|
| 79 |
+
margin: 10px 0 30px 0;
|
| 80 |
+
}
|
| 81 |
+
#hero-image img {
|
| 82 |
+
max-width: 95%;
|
| 83 |
+
}
|
| 84 |
+
#hero-image {
|
| 85 |
+
border-bottom: 3px solid #414042;
|
| 86 |
+
}
|
| 87 |
+
}
|
themes/under_construction/style.css
CHANGED
|
@@ -23,6 +23,8 @@ body {
|
|
| 23 |
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d3d5', endColorstr='#fafafa',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
| 24 |
padding: 0;
|
| 25 |
margin: 0;
|
|
|
|
|
|
|
| 26 |
}
|
| 27 |
|
| 28 |
#hero-image {
|
| 23 |
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d3d5', endColorstr='#fafafa',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
| 24 |
padding: 0;
|
| 25 |
margin: 0;
|
| 26 |
+
background-repeat: no-repeat;
|
| 27 |
+
background-attachment: fixed;
|
| 28 |
}
|
| 29 |
|
| 30 |
#hero-image {
|
themes/under_construction_text/style.css
CHANGED
|
@@ -22,6 +22,9 @@ body {
|
|
| 22 |
background: linear-gradient(0deg, #fcb10d 0%, #fcb10d 44%, rgba(252, 177, 13, 0.75) 80%, rgba(252, 177, 13, 0.70) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
|
| 23 |
padding: 0;
|
| 24 |
margin: 0;
|
|
|
|
|
|
|
|
|
|
| 25 |
}
|
| 26 |
|
| 27 |
#hero-image {
|
| 22 |
background: linear-gradient(0deg, #fcb10d 0%, #fcb10d 44%, rgba(252, 177, 13, 0.75) 80%, rgba(252, 177, 13, 0.70) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
|
| 23 |
padding: 0;
|
| 24 |
margin: 0;
|
| 25 |
+
height: 100%;
|
| 26 |
+
background-repeat: no-repeat;
|
| 27 |
+
background-attachment: fixed;
|
| 28 |
}
|
| 29 |
|
| 30 |
#hero-image {
|
under-construction.php
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
Plugin URI: https://underconstructionpage.com/
|
| 5 |
Description: Hide your site behind a great looking under construction page while you do maintenance work.
|
| 6 |
Author: Web factory Ltd
|
| 7 |
-
Version: 1.
|
| 8 |
Author URI: http://www.webfactoryltd.com/
|
| 9 |
Text Domain: under-construction-page
|
| 10 |
Domain Path: lang
|
|
@@ -38,10 +38,12 @@ define('UCP_OPTIONS_KEY', 'ucp_options');
|
|
| 38 |
define('UCP_META_KEY', 'ucp_meta');
|
| 39 |
define('UCP_POINTERS_KEY', 'ucp_pointers');
|
| 40 |
define('UCP_NOTICES_KEY', 'ucp_notices');
|
|
|
|
| 41 |
|
| 42 |
// main plugin class
|
| 43 |
class UCP {
|
| 44 |
static $version = 0;
|
|
|
|
| 45 |
|
| 46 |
|
| 47 |
// get plugin version from header
|
|
@@ -84,6 +86,8 @@ class UCP {
|
|
| 84 |
|
| 85 |
// AJAX endpoints
|
| 86 |
add_action('wp_ajax_ucp_dismiss_pointer', array(__CLASS__, 'dismiss_pointer_ajax'));
|
|
|
|
|
|
|
| 87 |
} else {
|
| 88 |
// main plugin logic
|
| 89 |
add_action('wp', array(__CLASS__, 'display_construction_page'), 0, 1);
|
|
@@ -116,7 +120,7 @@ class UCP {
|
|
| 116 |
|
| 117 |
// display error message if WP version is too low
|
| 118 |
static function notice_min_wp_version() {
|
| 119 |
-
echo '<div class="error"><p>' . sprintf('
|
| 120 |
} // notice_min_wp_version_error
|
| 121 |
|
| 122 |
|
|
@@ -222,21 +226,38 @@ class UCP {
|
|
| 222 |
|
| 223 |
// enqueue CSS and JS scripts in admin
|
| 224 |
static function admin_enqueue_scripts($hook) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 225 |
wp_enqueue_style('ucp-toolbar', UCP_PLUGIN_URL . 'css/ucp-toolbar.css', array(), self::$version);
|
| 226 |
|
| 227 |
$js_localize = array('undocumented_error' => __('An undocumented error has occured. Please refresh the page and try again.', 'under-construction-page'),
|
| 228 |
-
'plugin_name' => __('
|
| 229 |
'settings_url' => admin_url('options-general.php?page=ucp'),
|
| 230 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
| 231 |
|
| 232 |
if ('settings_page_ucp' == $hook) {
|
| 233 |
-
wp_enqueue_style('
|
| 234 |
wp_enqueue_style('ucp-select2', UCP_PLUGIN_URL . 'css/select2.min.css', array(), self::$version);
|
|
|
|
| 235 |
|
| 236 |
wp_enqueue_script('jquery-ui-tabs');
|
|
|
|
| 237 |
wp_enqueue_script('ucp-jquery-plugins', UCP_PLUGIN_URL . 'js/ucp-jquery-plugins.js', array('jquery'), self::$version, true);
|
| 238 |
wp_enqueue_script('ucp-select2', UCP_PLUGIN_URL . 'js/select2.min.js', array(), self::$version, true);
|
| 239 |
wp_enqueue_script('ucp-admin', UCP_PLUGIN_URL . 'js/ucp-admin.js', array('jquery'), self::$version, true);
|
|
|
|
| 240 |
}
|
| 241 |
|
| 242 |
if ('plugins.php' == $hook) {
|
|
@@ -273,6 +294,61 @@ class UCP {
|
|
| 273 |
} // dismiss_pointer_ajax
|
| 274 |
|
| 275 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 276 |
// parse shortcode alike variables
|
| 277 |
static function parse_vars($string) {
|
| 278 |
$vars = array('site-title' => get_bloginfo('name'),
|
|
@@ -316,6 +392,12 @@ class UCP {
|
|
| 316 |
if (!empty($options['social_dribbble'])) {
|
| 317 |
$out .= '<a href="' . $options['social_dribbble'] . '" target="_blank"><i class="fa fa-dribbble fa-3x"></i></a>';
|
| 318 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 319 |
|
| 320 |
return $out;
|
| 321 |
} // generate_social_icons
|
|
@@ -347,7 +429,7 @@ class UCP {
|
|
| 347 |
if ($options['linkback'] == 1) {
|
| 348 |
$tmp = md5(get_site_url());
|
| 349 |
if ($tmp[0] < 9) {
|
| 350 |
-
$out .= '<p id="linkback">Create
|
| 351 |
} else {
|
| 352 |
$out .= '<p id="linkback">Create free <a href="https://underconstructionpage.com/" target="_blank">landing pages for WordPress</a>.</p>';
|
| 353 |
}
|
|
@@ -370,7 +452,7 @@ class UCP {
|
|
| 370 |
$vars['title'] = self::parse_vars($options['title']);
|
| 371 |
$vars['heading1'] = self::parse_vars($options['heading1']);
|
| 372 |
$vars['content'] = nl2br(self::parse_vars($options['content']));
|
| 373 |
-
$vars['description'] =
|
| 374 |
$vars['social-icons'] = self::generate_social_icons($options, $template_id);
|
| 375 |
$vars['head'] = self::generate_head($options, $template_id);
|
| 376 |
$vars['footer'] = self::generate_footer($options, $template_id);
|
|
@@ -443,7 +525,7 @@ class UCP {
|
|
| 443 |
$rate_url = 'https://wordpress.org/support/plugin/under-construction-page/reviews/?rate=5#new-post';
|
| 444 |
$dismiss_url = add_query_arg(array('action' => 'ucp_dismiss_notice', 'notice' => 'rate', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
| 445 |
|
| 446 |
-
echo '<div id="ucp_rate_notice" class="notice-info notice"><p>Hi! We saw you\'ve been using <b>
|
| 447 |
|
| 448 |
echo '<br><a target="_blank" href="' . esc_url($rate_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">Help us out & rate the plugin</a>';
|
| 449 |
echo ' <a href="' . esc_url($dismiss_url) . '">I\'ve already rated the plugin</a>';
|
|
@@ -482,10 +564,10 @@ class UCP {
|
|
| 482 |
global $wp_admin_bar;
|
| 483 |
|
| 484 |
if (self::is_construction_mode_enabled(true)) {
|
| 485 |
-
$title = '<span class="dashicons dashicons-admin-generic"></span> <span class="ab-label">Under
|
| 486 |
$class = 'ucp-enabled';
|
| 487 |
} else {
|
| 488 |
-
$title = '<span class="dashicons dashicons-admin-generic"></span> <span class="ab-label">Under
|
| 489 |
$class = 'ucp-disabled';
|
| 490 |
}
|
| 491 |
|
|
@@ -504,7 +586,7 @@ class UCP {
|
|
| 504 |
$options = get_option('wf_mm');
|
| 505 |
|
| 506 |
if (self::is_construction_mode_enabled(true)) {
|
| 507 |
-
$message .= '<div class="message">Under
|
| 508 |
}
|
| 509 |
|
| 510 |
return $message;
|
|
@@ -513,7 +595,7 @@ class UCP {
|
|
| 513 |
|
| 514 |
// add settings link to plugins page
|
| 515 |
static function plugin_action_links($links) {
|
| 516 |
-
$settings_link = '<a href="' . admin_url('options-general.php?page=ucp') . '" title="
|
| 517 |
array_unshift($links, $settings_link);
|
| 518 |
|
| 519 |
return $links;
|
|
@@ -534,7 +616,7 @@ class UCP {
|
|
| 534 |
|
| 535 |
// create the admin menu item
|
| 536 |
static function admin_menu() {
|
| 537 |
-
add_options_page('
|
| 538 |
} // admin_menu
|
| 539 |
|
| 540 |
|
|
@@ -551,6 +633,7 @@ class UCP {
|
|
| 551 |
'ga_tracking_id' => '',
|
| 552 |
'theme' => 'mad_designer',
|
| 553 |
'title' => '[site-title] is under construction',
|
|
|
|
| 554 |
'heading1' => 'Sorry, we\'re doing some work on the site',
|
| 555 |
'content' => 'Thank you for being patient. We are doing some work on the site and will be back shortly.',
|
| 556 |
'social_facebook' => '',
|
|
@@ -560,6 +643,8 @@ class UCP {
|
|
| 560 |
'social_youtube' => '',
|
| 561 |
'social_pinterest' => '',
|
| 562 |
'social_dribbble' => '',
|
|
|
|
|
|
|
| 563 |
'linkback' => '0',
|
| 564 |
'roles' => array('administrator'),
|
| 565 |
'whitelisted_users' => array()
|
|
@@ -576,6 +661,7 @@ class UCP {
|
|
| 576 |
foreach ($options as $key => $value) {
|
| 577 |
switch ($key) {
|
| 578 |
case 'title':
|
|
|
|
| 579 |
case 'heading1':
|
| 580 |
case 'content':
|
| 581 |
case 'social_facebook':
|
|
@@ -585,6 +671,8 @@ class UCP {
|
|
| 585 |
case 'social_youtube':
|
| 586 |
case 'social_pinterest':
|
| 587 |
case 'social_dribbble':
|
|
|
|
|
|
|
| 588 |
$options[$key] = trim($value);
|
| 589 |
break;
|
| 590 |
case 'ga_tracking_id':
|
|
@@ -596,8 +684,8 @@ class UCP {
|
|
| 596 |
} // switch
|
| 597 |
} // foreach
|
| 598 |
|
| 599 |
-
$options['roles'] = (array) $options['roles'];
|
| 600 |
-
$options['whitelisted_users'] = (array) $options['whitelisted_users'];
|
| 601 |
$options = self::check_var_isset($options, array('status' => 0, 'linkback' => 0));
|
| 602 |
|
| 603 |
if (!empty($options['ga_tracking_id']) && preg_match('/^UA-\d{3,}-\d{1,3}$/', $options['ga_tracking_id']) === 0) {
|
|
@@ -605,7 +693,7 @@ class UCP {
|
|
| 605 |
}
|
| 606 |
|
| 607 |
// empty cache in 3rd party plugins
|
| 608 |
-
if ($options
|
| 609 |
if (function_exists('w3tc_pgcache_flush')) {
|
| 610 |
w3tc_pgcache_flush();
|
| 611 |
}
|
|
@@ -742,10 +830,16 @@ class UCP {
|
|
| 742 |
</ul>';
|
| 743 |
echo '</td></tr>';
|
| 744 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 745 |
echo '<tr valign="top">
|
| 746 |
<th scope="row"><label for="heading1">Headline</label></th>
|
| 747 |
<td><input id="heading1" type="text" class="large-text" name="' . UCP_OPTIONS_KEY . '[heading1]" value="' . $options['heading1'] . '" />';
|
| 748 |
-
echo '<p class="description">
|
| 749 |
echo '</td></tr>';
|
| 750 |
|
| 751 |
echo '<tr valign="top">
|
|
@@ -797,6 +891,18 @@ class UCP {
|
|
| 797 |
echo '<p class="description">Complete URL, with http prefix, to Dribbble profile.</p>';
|
| 798 |
echo '</td></tr>';
|
| 799 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 800 |
echo '<tr valign="top">
|
| 801 |
<th scope="row"><label for="linkback">Show some Love</label></th>
|
| 802 |
<td><div class="onoffswitch">
|
|
@@ -819,7 +925,7 @@ class UCP {
|
|
| 819 |
|
| 820 |
$img_path = UCP_PLUGIN_URL . 'images/';
|
| 821 |
|
| 822 |
-
$themes = array('mad_designer' => 'Mad Designer', 'plain_text' => 'Plain Text', 'under_construction' => 'Under Construction', 'dark' => 'Things Went Dark', 'forklift' => 'Forklift at Work', 'under_construction_text' => 'Under Construction Text', 'cyber_chick' => 'Cyber Chick');
|
| 823 |
|
| 824 |
echo '<table class="form-table">';
|
| 825 |
echo '<tr valign="top">
|
|
@@ -908,7 +1014,7 @@ class UCP {
|
|
| 908 |
$default_options = self::default_options();
|
| 909 |
|
| 910 |
echo '<div class="wrap">
|
| 911 |
-
<h1><img src="' . UCP_PLUGIN_URL . '/images/under-construction-page-logo.png" alt="UnderConstructionPage" title="UnderConstructionPage">UnderConstructionPage</h1>';
|
| 912 |
|
| 913 |
echo '<form action="options.php" method="post" id="ucp_form">';
|
| 914 |
settings_fields(UCP_OPTIONS_KEY);
|
|
@@ -950,13 +1056,55 @@ class UCP {
|
|
| 950 |
|
| 951 |
echo '</form>'; // ucp_tabs
|
| 952 |
echo '</div>'; // wrap
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 953 |
} // options_page
|
| 954 |
|
| 955 |
|
| 956 |
// reset all pointers to default state - visible
|
| 957 |
static function reset_pointers() {
|
| 958 |
$pointers = array();
|
| 959 |
-
$pointers['welcome'] = array('target' => '#menu-settings', 'edge' => 'left', 'align' => 'right', 'content' => 'Thank you for installing the <b>
|
| 960 |
|
| 961 |
update_option(UCP_POINTERS_KEY, $pointers);
|
| 962 |
} // reset_pointers
|
| 4 |
Plugin URI: https://underconstructionpage.com/
|
| 5 |
Description: Hide your site behind a great looking under construction page while you do maintenance work.
|
| 6 |
Author: Web factory Ltd
|
| 7 |
+
Version: 1.45
|
| 8 |
Author URI: http://www.webfactoryltd.com/
|
| 9 |
Text Domain: under-construction-page
|
| 10 |
Domain Path: lang
|
| 38 |
define('UCP_META_KEY', 'ucp_meta');
|
| 39 |
define('UCP_POINTERS_KEY', 'ucp_pointers');
|
| 40 |
define('UCP_NOTICES_KEY', 'ucp_notices');
|
| 41 |
+
define('UCP_SURVEYS_KEY', 'ucp_surveys');
|
| 42 |
|
| 43 |
// main plugin class
|
| 44 |
class UCP {
|
| 45 |
static $version = 0;
|
| 46 |
+
static $licensing_servers = array('https://license1.underconstructionpage.com/', 'https://license2.underconstructionpage.com/');
|
| 47 |
|
| 48 |
|
| 49 |
// get plugin version from header
|
| 86 |
|
| 87 |
// AJAX endpoints
|
| 88 |
add_action('wp_ajax_ucp_dismiss_pointer', array(__CLASS__, 'dismiss_pointer_ajax'));
|
| 89 |
+
add_action('wp_ajax_ucp_dismiss_survey', array(__CLASS__, 'dismiss_survey_ajax'));
|
| 90 |
+
add_action('wp_ajax_ucp_submit_survey', array(__CLASS__, 'submit_survey_ajax'));
|
| 91 |
} else {
|
| 92 |
// main plugin logic
|
| 93 |
add_action('wp', array(__CLASS__, 'display_construction_page'), 0, 1);
|
| 120 |
|
| 121 |
// display error message if WP version is too low
|
| 122 |
static function notice_min_wp_version() {
|
| 123 |
+
echo '<div class="error"><p>' . sprintf('UnderConstruction plugin <b>requires WordPress version 4.0</b> or higher to function properly. You are using WordPress version %s. Please <a href="%s">update it</a>.', get_bloginfo('version'), admin_url('update-core.php')) . '</p></div>';
|
| 124 |
} // notice_min_wp_version_error
|
| 125 |
|
| 126 |
|
| 226 |
|
| 227 |
// enqueue CSS and JS scripts in admin
|
| 228 |
static function admin_enqueue_scripts($hook) {
|
| 229 |
+
$surveys = get_option(UCP_SURVEYS_KEY);
|
| 230 |
+
$meta = self::get_meta();
|
| 231 |
+
|
| 232 |
+
// features survey is shown min 5min after install
|
| 233 |
+
if (empty($surveys['features']) && current_time('timestamp') - $meta['first_install'] > 300) {
|
| 234 |
+
$open_features_survey = true;
|
| 235 |
+
} else {
|
| 236 |
+
$open_features_survey = false;
|
| 237 |
+
}
|
| 238 |
+
|
| 239 |
wp_enqueue_style('ucp-toolbar', UCP_PLUGIN_URL . 'css/ucp-toolbar.css', array(), self::$version);
|
| 240 |
|
| 241 |
$js_localize = array('undocumented_error' => __('An undocumented error has occured. Please refresh the page and try again.', 'under-construction-page'),
|
| 242 |
+
'plugin_name' => __('UnderConstruction', 'under-construction-page'),
|
| 243 |
'settings_url' => admin_url('options-general.php?page=ucp'),
|
| 244 |
+
'whitelisted_users_placeholder' => 'Select whitelisted user(s)',
|
| 245 |
+
'open_features_survey' => $open_features_survey,
|
| 246 |
+
'nonce_dismiss_survey' => wp_create_nonce('ucp_dismiss_survey'),
|
| 247 |
+
'nonce_submit_survey' => wp_create_nonce('ucp_submit_survey'),
|
| 248 |
+
'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'));
|
| 249 |
|
| 250 |
if ('settings_page_ucp' == $hook) {
|
| 251 |
+
wp_enqueue_style('wp-jquery-ui-dialog');
|
| 252 |
wp_enqueue_style('ucp-select2', UCP_PLUGIN_URL . 'css/select2.min.css', array(), self::$version);
|
| 253 |
+
wp_enqueue_style('ucp-admin', UCP_PLUGIN_URL . 'css/ucp-admin.css', array(), self::$version);
|
| 254 |
|
| 255 |
wp_enqueue_script('jquery-ui-tabs');
|
| 256 |
+
wp_enqueue_script('jquery-ui-dialog');
|
| 257 |
wp_enqueue_script('ucp-jquery-plugins', UCP_PLUGIN_URL . 'js/ucp-jquery-plugins.js', array('jquery'), self::$version, true);
|
| 258 |
wp_enqueue_script('ucp-select2', UCP_PLUGIN_URL . 'js/select2.min.js', array(), self::$version, true);
|
| 259 |
wp_enqueue_script('ucp-admin', UCP_PLUGIN_URL . 'js/ucp-admin.js', array('jquery'), self::$version, true);
|
| 260 |
+
wp_localize_script('ucp-admin', 'ucp', $js_localize);
|
| 261 |
}
|
| 262 |
|
| 263 |
if ('plugins.php' == $hook) {
|
| 294 |
} // dismiss_pointer_ajax
|
| 295 |
|
| 296 |
|
| 297 |
+
// permanently dismiss a survey
|
| 298 |
+
static function dismiss_survey_ajax() {
|
| 299 |
+
check_ajax_referer('ucp_dismiss_survey');
|
| 300 |
+
|
| 301 |
+
$surveys = get_option(UCP_SURVEYS_KEY, array());
|
| 302 |
+
$survey = trim($_POST['survey']);
|
| 303 |
+
|
| 304 |
+
$surveys[$survey] = -1;
|
| 305 |
+
update_option(UCP_SURVEYS_KEY, $surveys);
|
| 306 |
+
|
| 307 |
+
wp_send_json_success();
|
| 308 |
+
} // dismiss_survey_ajax
|
| 309 |
+
|
| 310 |
+
|
| 311 |
+
// submit survey
|
| 312 |
+
static function submit_survey_ajax() {
|
| 313 |
+
check_ajax_referer('ucp_submit_survey');
|
| 314 |
+
|
| 315 |
+
$meta = self::get_meta();
|
| 316 |
+
$surveys = get_option(UCP_SURVEYS_KEY);
|
| 317 |
+
|
| 318 |
+
$vars = wp_parse_args($_POST, array('survey' => '', 'answers' => '', 'custom_answer' => '', 'emailme' => ''));
|
| 319 |
+
$vars['answers'] = trim($vars['answers'], ',');
|
| 320 |
+
$vars['custom_answer'] = trim(strip_tags($vars['custom_answer']));
|
| 321 |
+
|
| 322 |
+
if (empty($vars['survey']) || empty($vars['answers'])) {
|
| 323 |
+
wp_send_json_error();
|
| 324 |
+
}
|
| 325 |
+
|
| 326 |
+
$request_params = array('sslverify' => false, 'timeout' => 15, 'redirection' => 2);
|
| 327 |
+
$request_args = array('action' => 'submit_survey',
|
| 328 |
+
'survey' => $vars['survey'],
|
| 329 |
+
'email' => $vars['emailme'],
|
| 330 |
+
'answers' => $vars['answers'],
|
| 331 |
+
'custom_answer' => $vars['custom_answer'],
|
| 332 |
+
'first_version' => $meta['first_version'],
|
| 333 |
+
'version' => UCP::$version,
|
| 334 |
+
'codebase' => 'free',
|
| 335 |
+
'site' => get_home_url());
|
| 336 |
+
|
| 337 |
+
$url = add_query_arg($request_args, self::$licensing_servers[0]);
|
| 338 |
+
$response = wp_remote_get(esc_url_raw($url), $request_params);
|
| 339 |
+
|
| 340 |
+
if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
|
| 341 |
+
$url = add_query_arg($request_args, self::$licensing_servers[1]);
|
| 342 |
+
$response = wp_remote_get(esc_url_raw($url), $request_params);
|
| 343 |
+
}
|
| 344 |
+
|
| 345 |
+
$surveys[$vars['survey']] = current_time('timestamp');
|
| 346 |
+
update_option(UCP_SURVEYS_KEY, $surveys);
|
| 347 |
+
|
| 348 |
+
wp_send_json_success();
|
| 349 |
+
} // submit_survey_ajax
|
| 350 |
+
|
| 351 |
+
|
| 352 |
// parse shortcode alike variables
|
| 353 |
static function parse_vars($string) {
|
| 354 |
$vars = array('site-title' => get_bloginfo('name'),
|
| 392 |
if (!empty($options['social_dribbble'])) {
|
| 393 |
$out .= '<a href="' . $options['social_dribbble'] . '" target="_blank"><i class="fa fa-dribbble fa-3x"></i></a>';
|
| 394 |
}
|
| 395 |
+
if (!empty($options['social_behance'])) {
|
| 396 |
+
$out .= '<a href="' . $options['social_behance'] . '" target="_blank"><i class="fa fa-behance-square fa-3x"></i></a>';
|
| 397 |
+
}
|
| 398 |
+
if (!empty($options['social_instagram'])) {
|
| 399 |
+
$out .= '<a href="' . $options['social_instagram'] . '" target="_blank"><i class="fa fa-instagram fa-3x"></i></a>';
|
| 400 |
+
}
|
| 401 |
|
| 402 |
return $out;
|
| 403 |
} // generate_social_icons
|
| 429 |
if ($options['linkback'] == 1) {
|
| 430 |
$tmp = md5(get_site_url());
|
| 431 |
if ($tmp[0] < 9) {
|
| 432 |
+
$out .= '<p id="linkback">Create stunning <a href="https://underconstructionpage.com/" target="_blank">under construction pages for WordPress</a> for free.</p>';
|
| 433 |
} else {
|
| 434 |
$out .= '<p id="linkback">Create free <a href="https://underconstructionpage.com/" target="_blank">landing pages for WordPress</a>.</p>';
|
| 435 |
}
|
| 452 |
$vars['title'] = self::parse_vars($options['title']);
|
| 453 |
$vars['heading1'] = self::parse_vars($options['heading1']);
|
| 454 |
$vars['content'] = nl2br(self::parse_vars($options['content']));
|
| 455 |
+
$vars['description'] = self::parse_vars($options['description']);
|
| 456 |
$vars['social-icons'] = self::generate_social_icons($options, $template_id);
|
| 457 |
$vars['head'] = self::generate_head($options, $template_id);
|
| 458 |
$vars['footer'] = self::generate_footer($options, $template_id);
|
| 525 |
$rate_url = 'https://wordpress.org/support/plugin/under-construction-page/reviews/?rate=5#new-post';
|
| 526 |
$dismiss_url = add_query_arg(array('action' => 'ucp_dismiss_notice', 'notice' => 'rate', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
| 527 |
|
| 528 |
+
echo '<div id="ucp_rate_notice" class="notice-info notice is-dismissible"><p>Hi! We saw you\'ve been using <b class="ucp-logo" style="font-weight: bold;">UnderConstructionPage</b> plugin for a few days and wanted to ask for your help to <b>make the plugin better</b>.<br>We just need a minute of your time to rate the plugin. Thank you!';
|
| 529 |
|
| 530 |
echo '<br><a target="_blank" href="' . esc_url($rate_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">Help us out & rate the plugin</a>';
|
| 531 |
echo ' <a href="' . esc_url($dismiss_url) . '">I\'ve already rated the plugin</a>';
|
| 564 |
global $wp_admin_bar;
|
| 565 |
|
| 566 |
if (self::is_construction_mode_enabled(true)) {
|
| 567 |
+
$title = '<span class="dashicons dashicons-admin-generic"></span> <span class="ab-label">Under construction mode is <strong>enabled</strong></span>';
|
| 568 |
$class = 'ucp-enabled';
|
| 569 |
} else {
|
| 570 |
+
$title = '<span class="dashicons dashicons-admin-generic"></span> <span class="ab-label">Under construction mode is disabled</span>';
|
| 571 |
$class = 'ucp-disabled';
|
| 572 |
}
|
| 573 |
|
| 586 |
$options = get_option('wf_mm');
|
| 587 |
|
| 588 |
if (self::is_construction_mode_enabled(true)) {
|
| 589 |
+
$message .= '<div class="message">Under construction mode is <b>enabled</b>.</div>';
|
| 590 |
}
|
| 591 |
|
| 592 |
return $message;
|
| 595 |
|
| 596 |
// add settings link to plugins page
|
| 597 |
static function plugin_action_links($links) {
|
| 598 |
+
$settings_link = '<a href="' . admin_url('options-general.php?page=ucp') . '" title="UnderConstruction Settings">Settings</a>';
|
| 599 |
array_unshift($links, $settings_link);
|
| 600 |
|
| 601 |
return $links;
|
| 616 |
|
| 617 |
// create the admin menu item
|
| 618 |
static function admin_menu() {
|
| 619 |
+
add_options_page('UnderConstruction', 'UnderConstruction', 'manage_options', 'ucp', array(__CLASS__, 'main_page'));
|
| 620 |
} // admin_menu
|
| 621 |
|
| 622 |
|
| 633 |
'ga_tracking_id' => '',
|
| 634 |
'theme' => 'mad_designer',
|
| 635 |
'title' => '[site-title] is under construction',
|
| 636 |
+
'description' => '[site-tagline]',
|
| 637 |
'heading1' => 'Sorry, we\'re doing some work on the site',
|
| 638 |
'content' => 'Thank you for being patient. We are doing some work on the site and will be back shortly.',
|
| 639 |
'social_facebook' => '',
|
| 643 |
'social_youtube' => '',
|
| 644 |
'social_pinterest' => '',
|
| 645 |
'social_dribbble' => '',
|
| 646 |
+
'social_behance' => '',
|
| 647 |
+
'social_instagram' => '',
|
| 648 |
'linkback' => '0',
|
| 649 |
'roles' => array('administrator'),
|
| 650 |
'whitelisted_users' => array()
|
| 661 |
foreach ($options as $key => $value) {
|
| 662 |
switch ($key) {
|
| 663 |
case 'title':
|
| 664 |
+
case 'description':
|
| 665 |
case 'heading1':
|
| 666 |
case 'content':
|
| 667 |
case 'social_facebook':
|
| 671 |
case 'social_youtube':
|
| 672 |
case 'social_pinterest':
|
| 673 |
case 'social_dribbble':
|
| 674 |
+
case 'social_behance':
|
| 675 |
+
case 'social_instagram':
|
| 676 |
$options[$key] = trim($value);
|
| 677 |
break;
|
| 678 |
case 'ga_tracking_id':
|
| 684 |
} // switch
|
| 685 |
} // foreach
|
| 686 |
|
| 687 |
+
$options['roles'] = empty($options['roles'])? array(): $options['roles'];
|
| 688 |
+
$options['whitelisted_users'] = empty($options['whitelisted_users'])? array(): $options['whitelisted_users'];
|
| 689 |
$options = self::check_var_isset($options, array('status' => 0, 'linkback' => 0));
|
| 690 |
|
| 691 |
if (!empty($options['ga_tracking_id']) && preg_match('/^UA-\d{3,}-\d{1,3}$/', $options['ga_tracking_id']) === 0) {
|
| 693 |
}
|
| 694 |
|
| 695 |
// empty cache in 3rd party plugins
|
| 696 |
+
if ($options != $old_options) {
|
| 697 |
if (function_exists('w3tc_pgcache_flush')) {
|
| 698 |
w3tc_pgcache_flush();
|
| 699 |
}
|
| 830 |
</ul>';
|
| 831 |
echo '</td></tr>';
|
| 832 |
|
| 833 |
+
echo '<tr valign="top">
|
| 834 |
+
<th scope="row"><label for="description">Description</label></th>
|
| 835 |
+
<td><input id="description" type="text" class="large-text" name="' . UCP_OPTIONS_KEY . '[description]" value="' . $options['description'] . '" />';
|
| 836 |
+
echo '<p class="description">Description meta tag (see above for available <a href="#title">shortcodes</a>). Default: ' . $default_options['description'] . '</p>';
|
| 837 |
+
echo '</td></tr>';
|
| 838 |
+
|
| 839 |
echo '<tr valign="top">
|
| 840 |
<th scope="row"><label for="heading1">Headline</label></th>
|
| 841 |
<td><input id="heading1" type="text" class="large-text" name="' . UCP_OPTIONS_KEY . '[heading1]" value="' . $options['heading1'] . '" />';
|
| 842 |
+
echo '<p class="description">Main heading/title (see above for available <a href="#title">shortcodes</a>). Default: ' . $default_options['heading1'] . '</p>';
|
| 843 |
echo '</td></tr>';
|
| 844 |
|
| 845 |
echo '<tr valign="top">
|
| 891 |
echo '<p class="description">Complete URL, with http prefix, to Dribbble profile.</p>';
|
| 892 |
echo '</td></tr>';
|
| 893 |
|
| 894 |
+
echo '<tr valign="top">
|
| 895 |
+
<th scope="row"><label for="social_behance">Behance Profile</label></th>
|
| 896 |
+
<td><input id="social_behance" type="url" class="regular-text code" name="' . UCP_OPTIONS_KEY . '[social_behance]" value="' . $options['social_behance'] . '" placeholder="Behance profile URL">';
|
| 897 |
+
echo '<p class="description">Complete URL, with http prefix, to Behance profile.</p>';
|
| 898 |
+
echo '</td></tr>';
|
| 899 |
+
|
| 900 |
+
echo '<tr valign="top">
|
| 901 |
+
<th scope="row"><label for="social_instagram">Instagram Profile</label></th>
|
| 902 |
+
<td><input id="social_instagram" type="url" class="regular-text code" name="' . UCP_OPTIONS_KEY . '[social_instagram]" value="' . $options['social_instagram'] . '" placeholder="Instagram profile URL">';
|
| 903 |
+
echo '<p class="description">Complete URL, with http prefix, to Instagram profile.</p>';
|
| 904 |
+
echo '</td></tr>';
|
| 905 |
+
|
| 906 |
echo '<tr valign="top">
|
| 907 |
<th scope="row"><label for="linkback">Show some Love</label></th>
|
| 908 |
<td><div class="onoffswitch">
|
| 925 |
|
| 926 |
$img_path = UCP_PLUGIN_URL . 'images/';
|
| 927 |
|
| 928 |
+
$themes = array('mad_designer' => 'Mad Designer', 'plain_text' => 'Plain Text', 'under_construction' => 'Under Construction', 'dark' => 'Things Went Dark', 'forklift' => 'Forklift at Work', 'under_construction_text' => 'Under Construction Text', 'cyber_chick' => 'Cyber Chick', 'rocket' => 'Rocket Launch');
|
| 929 |
|
| 930 |
echo '<table class="form-table">';
|
| 931 |
echo '<tr valign="top">
|
| 1014 |
$default_options = self::default_options();
|
| 1015 |
|
| 1016 |
echo '<div class="wrap">
|
| 1017 |
+
<h1 class="ucp-logo"><img src="' . UCP_PLUGIN_URL . '/images/under-construction-page-logo.png" alt="UnderConstructionPage" title="UnderConstructionPage">UnderConstructionPage</h1>';
|
| 1018 |
|
| 1019 |
echo '<form action="options.php" method="post" id="ucp_form">';
|
| 1020 |
settings_fields(UCP_OPTIONS_KEY);
|
| 1056 |
|
| 1057 |
echo '</form>'; // ucp_tabs
|
| 1058 |
echo '</div>'; // wrap
|
| 1059 |
+
|
| 1060 |
+
echo '<div id="features-survey-dialog" style="display: none;" title="Please help us make UCP better"><span class="ui-helper-hidden-accessible"><input type="text"/></span>';
|
| 1061 |
+
echo '<p>We strive to add at least one new feature to <span class="ucp-logo">UnderConstructionPage</span> every week and want to make it as usefull as possible.<br><b>What new features do you need the most?</b> Please choose two:</p>';
|
| 1062 |
+
|
| 1063 |
+
echo '<div class="question-wrapper" data-value="designs">';
|
| 1064 |
+
echo '<div class="question"><b>More designs like the ones we already have</b><br>';
|
| 1065 |
+
echo '<i>Fun, unique & made just for the UCP plugin</i></div>';
|
| 1066 |
+
echo '<span class="dashicons dashicons-yes"></span>';
|
| 1067 |
+
echo '</div>';
|
| 1068 |
+
|
| 1069 |
+
echo '<div class="question-wrapper" data-value="drag-drop">';
|
| 1070 |
+
echo '<div class="question"><b>Drag & drop page designer</b><br>';
|
| 1071 |
+
echo '<i>Countdown timers, progress bars, text, images - the complete package</i></div>';
|
| 1072 |
+
echo '<span class="dashicons dashicons-yes"></span>';
|
| 1073 |
+
echo '</div>';
|
| 1074 |
+
|
| 1075 |
+
echo '<div class="question-wrapper" data-value="analytics">';
|
| 1076 |
+
echo '<div class="question"><b>Built-in analytics</b><br>';
|
| 1077 |
+
echo '<i>No 3rd party service needed; simple & fast statistics in UCP admin</i></div>';
|
| 1078 |
+
echo '<span class="dashicons dashicons-yes"></span>';
|
| 1079 |
+
echo '</div>';
|
| 1080 |
+
|
| 1081 |
+
echo '<div class="question-wrapper" data-value="leads">';
|
| 1082 |
+
echo '<div class="question"><b>Optin form on construction page</b><br>';
|
| 1083 |
+
echo '<i>Collect visitors\' emails & add them to an autoresponder</i></div>';
|
| 1084 |
+
echo '<span class="dashicons dashicons-yes"></span>';
|
| 1085 |
+
echo '</div>';
|
| 1086 |
+
|
| 1087 |
+
echo '<div class="question-wrapper" data-value="custom">';
|
| 1088 |
+
echo '<div class="question"><b>Something else? Enter the feature you need below:</b><br>';
|
| 1089 |
+
echo '<input type="text" class="custom-input"></div>';
|
| 1090 |
+
echo '<span class="dashicons dashicons-yes"></span>';
|
| 1091 |
+
echo '</div>';
|
| 1092 |
+
|
| 1093 |
+
$current_user = wp_get_current_user();
|
| 1094 |
+
echo '<div class="footer">';
|
| 1095 |
+
echo '<input id="emailme" type="checkbox" value="' . $current_user->user_email . '"> <label for="emailme">Email me on ' . $current_user->user_email . ' when new features are added</label><br>';
|
| 1096 |
+
echo '<a data-survey="features-survey" class="submit-survey button-primary button button-large" href="#">Add those features ASAP!</a>';
|
| 1097 |
+
echo '<a href="#" class="dismiss-survey" data-survey="features-survey"><small><i>Close the survey and never show it again</i></small></a>';
|
| 1098 |
+
echo '</div>';
|
| 1099 |
+
|
| 1100 |
+
echo '</div>';
|
| 1101 |
} // options_page
|
| 1102 |
|
| 1103 |
|
| 1104 |
// reset all pointers to default state - visible
|
| 1105 |
static function reset_pointers() {
|
| 1106 |
$pointers = array();
|
| 1107 |
+
$pointers['welcome'] = array('target' => '#menu-settings', 'edge' => 'left', 'align' => 'right', 'content' => 'Thank you for installing the <b style="font-weight: 800; font-variant: small-caps;">UnderConstructionPage</b> plugin! Please open <a href="' . admin_url('options-general.php?page=ucp'). '">Settings - UnderConstruction</a> to create a beautiful under construction page.');
|
| 1108 |
|
| 1109 |
update_option(UCP_POINTERS_KEY, $pointers);
|
| 1110 |
} // reset_pointers
|
