Version Description
(25/05/2018) = * added GDPR feature
Download this release
Release Info
| Developer | Designmodo |
| Plugin | |
| Version | 2.2 |
| Comparing to | |
| See all releases | |
Code changes from version 2.1.2 to 2.2
- assets/css/style.css +63 -6
- assets/css/style.min.css +1 -2
- includes/classes/wp-maintenance-mode-admin.php +46 -2
- includes/classes/wp-maintenance-mode.php +21 -5
- readme.md +2 -1
- readme.txt +8 -3
- views/maintenance.php +22 -4
- views/settings.php +64 -9
- wp-maintenance-mode.php +1 -1
assets/css/style.css
CHANGED
|
@@ -29,7 +29,7 @@ blockquote:before, blockquote:after, q:before, q:after {
|
|
| 29 |
content: none;
|
| 30 |
}
|
| 31 |
input, button {
|
| 32 |
-
-webkit-appearance: none;
|
| 33 |
border-radius: 0;
|
| 34 |
}
|
| 35 |
table {
|
|
@@ -116,16 +116,43 @@ body {
|
|
| 116 |
/**
|
| 117 |
* SUBSCRIBE FORM
|
| 118 |
**/
|
| 119 |
-
|
| 120 |
-
|
| 121 |
box-sizing: border-box;
|
| 122 |
width: 450px;
|
| 123 |
-
margin: 0 0 75px;
|
| 124 |
display: inline-block;
|
| 125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 126 |
overflow: hidden;
|
| 127 |
text-align: center;
|
| 128 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
.wrap form.subscribe_form input {
|
| 130 |
margin: 0;
|
| 131 |
outline: 0;
|
|
@@ -291,7 +318,9 @@ body {
|
|
| 291 |
margin: 100px auto;
|
| 292 |
transition: 0.2s transform ease-in-out;
|
| 293 |
}
|
| 294 |
-
.contact .form input,
|
|
|
|
|
|
|
| 295 |
padding: 15px 20px;
|
| 296 |
margin: 0;
|
| 297 |
outline: 0;
|
|
@@ -303,6 +332,28 @@ body {
|
|
| 303 |
box-sizing: border-box;
|
| 304 |
resize: none;
|
| 305 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 306 |
.contact .form textarea {
|
| 307 |
height: 175px;
|
| 308 |
padding: 20px;
|
|
@@ -477,3 +528,9 @@ body {
|
|
| 477 |
width: 70%;
|
| 478 |
}
|
| 479 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
content: none;
|
| 30 |
}
|
| 31 |
input, button {
|
| 32 |
+
/* -webkit-appearance: none; */
|
| 33 |
border-radius: 0;
|
| 34 |
}
|
| 35 |
table {
|
| 116 |
/**
|
| 117 |
* SUBSCRIBE FORM
|
| 118 |
**/
|
| 119 |
+
.wrap div.subscribe_border {
|
| 120 |
+
border: 3px solid #e0e0e0;
|
| 121 |
box-sizing: border-box;
|
| 122 |
width: 450px;
|
|
|
|
| 123 |
display: inline-block;
|
| 124 |
+
}
|
| 125 |
+
.wrap form.subscribe_form {
|
| 126 |
+
/* box-sizing: border-box;
|
| 127 |
+
width: 450px; */
|
| 128 |
+
margin: 0 0 75px;
|
| 129 |
+
/* display: inline-block; */
|
| 130 |
+
/* border: 3px solid #e0e0e0; */
|
| 131 |
overflow: hidden;
|
| 132 |
text-align: center;
|
| 133 |
}
|
| 134 |
+
.wrap .subscribe_form .privacy_checkbox {
|
| 135 |
+
color: #909090;
|
| 136 |
+
max-width: 450px;
|
| 137 |
+
margin: 15px auto;
|
| 138 |
+
position: relative;
|
| 139 |
+
}
|
| 140 |
+
.wrap form.subscribe_form .privacy_checkbox label.error {
|
| 141 |
+
display: block !important;
|
| 142 |
+
position: absolute;
|
| 143 |
+
font-size: 11px;
|
| 144 |
+
left: 39%;
|
| 145 |
+
}
|
| 146 |
+
.wrap .subscribe_form .privacy_checkbox input {
|
| 147 |
+
float: none;
|
| 148 |
+
margin: 3px 4.7px;
|
| 149 |
+
}
|
| 150 |
+
.wrap .subscribe_form .privacy_tail {
|
| 151 |
+
font-size: 11px;
|
| 152 |
+
color: #909090;
|
| 153 |
+
max-width: 450px;
|
| 154 |
+
margin: 0 auto;
|
| 155 |
+
}
|
| 156 |
.wrap form.subscribe_form input {
|
| 157 |
margin: 0;
|
| 158 |
outline: 0;
|
| 318 |
margin: 100px auto;
|
| 319 |
transition: 0.2s transform ease-in-out;
|
| 320 |
}
|
| 321 |
+
.contact .form input[type=text],
|
| 322 |
+
.contact .form input[type=submit],
|
| 323 |
+
.contact .form textarea {
|
| 324 |
padding: 15px 20px;
|
| 325 |
margin: 0;
|
| 326 |
outline: 0;
|
| 332 |
box-sizing: border-box;
|
| 333 |
resize: none;
|
| 334 |
}
|
| 335 |
+
.contact .form label#content-error { margin-bottom: 10px; }
|
| 336 |
+
.contact .form .privacy_checkbox {
|
| 337 |
+
margin-top: 20px;
|
| 338 |
+
clear: both;
|
| 339 |
+
color: #909090;
|
| 340 |
+
font-size: 15px;
|
| 341 |
+
position: relative;
|
| 342 |
+
}
|
| 343 |
+
.contact .form .privacy_checkbox label#acceptance-error {
|
| 344 |
+
position: absolute;
|
| 345 |
+
top: 10px;
|
| 346 |
+
left: 39%;
|
| 347 |
+
}
|
| 348 |
+
.contact .form .privacy_checkbox input {
|
| 349 |
+
transform: translatey(-2px);
|
| 350 |
+
}
|
| 351 |
+
.contact .form .privacy_tail {
|
| 352 |
+
font-size: 11px;
|
| 353 |
+
color: #c7c7c7;
|
| 354 |
+
margin-top: 16px;
|
| 355 |
+
line-height: 14px;
|
| 356 |
+
}
|
| 357 |
.contact .form textarea {
|
| 358 |
height: 175px;
|
| 359 |
padding: 20px;
|
| 528 |
width: 70%;
|
| 529 |
}
|
| 530 |
}
|
| 531 |
+
@media only screen and (max-width: 465px) {
|
| 532 |
+
.contact .form .privacy_checkbox label#acceptance-error {
|
| 533 |
+
top: 28px;
|
| 534 |
+
left: 32%;
|
| 535 |
+
}
|
| 536 |
+
}
|
assets/css/style.min.css
CHANGED
|
@@ -1,2 +1 @@
|
|
| 1 |
-
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{display:block;width:500px;margin:0 auto;text-align:left;position:relative;font-style:italic}blockquote:before,blockquote:after,q:before,q:after{content:'"';content:none}input,button{
|
| 2 |
-
/*# sourceMappingURL=style.min.css.map */
|
| 1 |
+
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;text-decoration:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{display:block;width:500px;margin:0 auto;text-align:left;position:relative;font-style:italic}blockquote:before,blockquote:after,q:before,q:after{content:'"';content:none}input,button{border-radius:0}table{border-collapse:collapse;border-spacing:0}em,i{font-style:italic}del{text-decoration:line-through}strong,b{font-weight:bold}ol{width:600px;margin:0 auto;text-align:left}ol li{list-style-type:decimal}ul{width:600px;margin:0 auto;text-align:left}ul li{list-style:disc}a{color:inherit;text-decoration:underline}body,html{min-height:100%}body{background-color:#fff;color:#1b1f23;font-family:Helvetica Neue, Arial, sans-serif}.wrap{width:605px;margin:100px auto 0;text-align:center}.wrap h1{font-size:30px;font-weight:700;margin:0 0 90px}.wrap h2{font-size:24px;font-weight:400;line-height:45px;margin:0 0 80px}.wrap h3{font-size:24px;font-weight:400;margin:0 0 45px}.wrap .author_link{margin-top:15px;color:#616161;margin:0 0 50px}.wrap .author_link a{color:#000}.wrap .countdown{margin:0 0 85px}.wrap .countdown span{font-size:30px}.wrap div.subscribe_border{border:3px solid #e0e0e0;-webkit-box-sizing:border-box;box-sizing:border-box;width:450px;display:inline-block}.wrap form.subscribe_form{margin:0 0 75px;overflow:hidden;text-align:center}.wrap .subscribe_form .privacy_checkbox{color:#909090;max-width:450px;margin:15px auto;position:relative}.wrap form.subscribe_form .privacy_checkbox label.error{display:block !important;position:absolute;font-size:11px;left:39%}.wrap .subscribe_form .privacy_checkbox input{float:none;margin:3px 4.7px}.wrap .subscribe_form .privacy_tail{font-size:11px;color:#909090;max-width:450px;margin:0 auto}.wrap form.subscribe_form input{margin:0;outline:0;border:0;float:left;font-size:18px;padding:20px 25px;-webkit-box-sizing:content-box;box-sizing:content-box}.wrap form.subscribe_form input[type="text"]{width:245px}.wrap form.subscribe_form input[type="submit"]{background:#000;color:#fff;float:right;cursor:pointer;padding:20px 30px;border-left:3px solid #e0e0e0;-webkit-transition:all .3s;transition:all .3s}.wrap form.subscribe_form input[type="submit"]:hover{background:#fff;color:#000;border-left:3px solid #e0e0e0}.wrap form.subscribe_form input[type="submit"]:active{background:#1e1e1e;color:#fff}.wrap form.subscribe_form .error{color:red}.wrap form.subscribe_form label.error{display:none !important}.wrap form.login_form{width:100%;margin:15px 0 0}.wrap form.login_form input{display:inline-block;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border:3px solid #E2E2E2;font-family:Helvetica Neue, Arial, sans-serif;font-size:16px;margin:0 10px 0 0;outline:0;padding:15px}.wrap form.login_form input[type="submit"]{background:#000;color:#fff;margin:0;border-color:#000;font-weight:bold;padding:15px 30px;cursor:pointer}.wrap form.login_form input[type="submit"]:active{position:relative;top:1px}.wrap .social{margin:0 0 70px}.wrap .social a{width:22px;height:22px;margin:0 0 20px 55px;background-image:url("../images/icn_sprite.png");background-repeat:no-repeat;display:inline-block;text-indent:-999em}.wrap .social a:first-of-type{margin:0 0 20px 0}.wrap .social .git{background-position:0 0}.wrap .social .fb{background-position:-240px 0}.wrap .social .tw{background-position:-162px 0px}.wrap .social .rss{background-position:-402px 0}.wrap .social .mail{background-position:-560px 0}.wrap .social .pin{background-position:-322px 0}.wrap .social .dribbble{background-position:-82px 0}.wrap .social .gplus{background-position:-486px 0}.wrap .social .linkedin{background-position:-633px 0}.wrap .contact_us{color:#000;border:3px solid #000;font-size:18px;padding:15px 40px;display:inline-block;margin:0 0 70px}.wrap .contact_us:hover{background:#000;color:#fff}.contact_us{text-decoration:none}.contact_us,input[type=submit]{-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.contact{position:fixed;display:none;overflow:auto;top:0;bottom:0;left:0;right:0;background:rgba(27,31,35,0.95)}.contact label.error{color:red;float:left;font-size:11px;padding-top:10px}.close-contact_form{position:absolute;left:46%;top:-60px;cursor:pointer}.close-contact_form img{width:40px;height:40px}.contact .form{width:520px;text-align:center;padding:40px;background:#f9f9f9;-webkit-box-sizing:border-box;box-sizing:border-box;margin:100px auto;-webkit-transition:0.2s -webkit-transform ease-in-out;transition:0.2s -webkit-transform ease-in-out;transition:0.2s transform ease-in-out;transition:0.2s transform ease-in-out, 0.2s -webkit-transform ease-in-out}.contact .form input[type=text],.contact .form input[type=submit],.contact .form textarea{padding:15px 20px;margin:0;outline:0;width:100%;background:#f9f9f9;border:3px solid #e0e0e0;font-size:18px;font-family:Helvetica Neue, Arial, sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none}.contact .form label#content-error{margin-bottom:10px}.contact .form .privacy_checkbox{margin-top:20px;clear:both;color:#909090;font-size:15px;position:relative}.contact .form .privacy_checkbox label#acceptance-error{position:absolute;top:10px;left:39%}.contact .form .privacy_checkbox input{-webkit-transform:translatey(-2px);transform:translatey(-2px)}.contact .form .privacy_tail{font-size:11px;color:#c7c7c7;margin-top:16px;line-height:14px}.contact .form textarea{height:175px;padding:20px}.contact .form input[type="text"]::-webkit-input-placeholder,.contact .form textarea::-webkit-input-placeholder{color:#dadada}.contact .form input[type="text"]::-moz-input-placeholder,.contact .form textarea::-moz-input-placeholder{color:#dadada}.contact .form input[type="text"]::-ms-input-placeholder,.contact .form textarea::-ms-input-placeholder{color:#dadada}.contact .form .col{width:205px;margin:0 0 30px;display:inline-block;float:left}.contact .form .col.last{float:right}.contact .form .submit{margin:30px 0 0;text-align:center;clear:left}.contact .form .submit input{cursor:pointer;display:inline-block;background:#1b1f24;color:#fff;border:0;padding:20px 45px;width:auto}.contact .move_top{-webkit-transform:perspective(1000px) translateY(-200px);transform:perspective(1000px) translateY(-200px)}.contact .move_bottom{-webkit-transform:perspective(1000px) translateY(0);transform:perspective(1000px) translateY(0)}.contact .zoom{-webkit-transform:perspective(1000px) scale(0.5);transform:perspective(1000px) scale(0.5);-webkit-transition:0.3s -webkit-transform ease-in-out;transition:0.3s -webkit-transform ease-in-out;transition:0.3s transform ease-in-out;transition:0.3s transform ease-in-out, 0.3s -webkit-transform ease-in-out}.contact .zoomed{-webkit-transform:perspective(1000px) scale(1);transform:perspective(1000px) scale(1)}.contact .fold{-webkit-transform:perspective(1000px) rotateY(90deg);transform:perspective(1000px) rotateY(90deg)}.contact .unfold{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}.background{background:url("../images/backgrounds/bg1.jpg") no-repeat center top fixed;background-size:cover}.background .countdown span{color:#fff}.background form.subscribe_form input[type="submit"]{color:#000;background:#fff}.background form.subscribe_form input[type="text"]{background:transparent;color:#fff}.background form.subscribe_form input.error[type="text"]{color:red}.background form.subscribe_form input[type="text"]::-webkit-input-placeholder{color:#fff}.background form.subscribe_form input[type="text"]::-moz-input-placeholder{color:#fff}.background form.subscribe_form input[type="text"]::-ms-input-placeholder{color:#fff}.background .contact_us{color:#fff;border-color:#fff}@media only screen and (max-width: 700px){.wrap form.login_form{width:80%;margin:15px auto 0}.wrap form.login_form input{width:49%;margin:0 2% 0 0}.wrap form.login_form input[type="password"]{margin:0}.wrap form.login_form input[type="submit"]{width:100%;margin:15px 0 0}}@media only screen and (max-width: 550px){.wrap{width:90%;margin:50px auto 0}.wrap h1{margin:0 0 50px}.wrap h2,.wrap h3{font-size:18px}.wrap form.subscribe_form{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.wrap form.subscribe_form input{-webkit-box-sizing:border-box;box-sizing:border-box}.wrap form input[type="text"],.wrap form input[type="submit"]{width:100% !important}.wrap form.subscribe_form input[type="submit"]{padding-left:0;padding-right:0;border-left:none}.wrap .contact_us{margin:0 0 50px}.contact .form{width:90%}.contact .form p.col{width:100%}.contact .form input[type="submit"]{width:100%}.wrap form.login_form{width:90%}.wrap form.login_form input{width:100%;margin:0 0 10px 0}.wrap form.login_form input[type="submit"]{margin:10px 0 0}ul,ol{width:80%}blockquote,q{width:70%}}@media only screen and (max-width: 465px){.contact .form .privacy_checkbox label#acceptance-error{top:28px;left:32%}}
|
|
|
includes/classes/wp-maintenance-mode-admin.php
CHANGED
|
@@ -419,6 +419,14 @@ if (!class_exists('WP_Maintenance_Mode_Admin')) {
|
|
| 419 |
$this->delete_cache();
|
| 420 |
}
|
| 421 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 422 |
}
|
| 423 |
|
| 424 |
$this->plugin_settings[$tab] = $_POST['options'][$tab];
|
|
@@ -446,7 +454,7 @@ if (!class_exists('WP_Maintenance_Mode_Admin')) {
|
|
| 446 |
}
|
| 447 |
|
| 448 |
/**
|
| 449 |
-
* Builds the data.js file and writes it into
|
| 450 |
* This file is mandatory for the bot to work correctly.
|
| 451 |
*
|
| 452 |
* @param array $messages
|
|
@@ -482,7 +490,6 @@ if (!class_exists('WP_Maintenance_Mode_Admin')) {
|
|
| 482 |
// Try to write data.js file
|
| 483 |
try {
|
| 484 |
$upload_dir = wp_upload_dir();
|
| 485 |
-
// if ( file_put_contents( WPMM_PATH . 'assets/js/data.js', $data) === false ){
|
| 486 |
if ( file_put_contents( trailingslashit($upload_dir['basedir']) . 'data.js', $data) === false ){
|
| 487 |
throw new Exception(__("WPMM: The file data.js could not be written, the bot will not work correctly.", $this->plugin_slug));
|
| 488 |
}
|
|
@@ -628,6 +635,43 @@ if (!class_exists('WP_Maintenance_Mode_Admin')) {
|
|
| 628 |
return $text;
|
| 629 |
}
|
| 630 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 631 |
}
|
| 632 |
|
| 633 |
}
|
| 419 |
$this->delete_cache();
|
| 420 |
}
|
| 421 |
break;
|
| 422 |
+
case 'gdpr':
|
| 423 |
+
//$custom_css = array();
|
| 424 |
+
|
| 425 |
+
$_POST['options']['gdpr']['status'] = (int)$_POST['options']['gdpr']['status'];
|
| 426 |
+
$_POST['options']['gdpr']['policy_page_label'] = sanitize_text_field($_POST['options']['gdpr']['policy_page_label']);
|
| 427 |
+
$_POST['options']['gdpr']['policy_page_link'] = sanitize_text_field($_POST['options']['gdpr']['policy_page_link']);
|
| 428 |
+
$_POST['options']['gdpr']['contact_form_tail'] = sanitize_text_field($_POST['options']['gdpr']['contact_form_tail']);
|
| 429 |
+
$_POST['options']['gdpr']['subscribe_form_tail'] = sanitize_text_field($_POST['options']['gdpr']['subscribe_form_tail']);
|
| 430 |
}
|
| 431 |
|
| 432 |
$this->plugin_settings[$tab] = $_POST['options'][$tab];
|
| 454 |
}
|
| 455 |
|
| 456 |
/**
|
| 457 |
+
* Builds the data.js file and writes it into uploads
|
| 458 |
* This file is mandatory for the bot to work correctly.
|
| 459 |
*
|
| 460 |
* @param array $messages
|
| 490 |
// Try to write data.js file
|
| 491 |
try {
|
| 492 |
$upload_dir = wp_upload_dir();
|
|
|
|
| 493 |
if ( file_put_contents( trailingslashit($upload_dir['basedir']) . 'data.js', $data) === false ){
|
| 494 |
throw new Exception(__("WPMM: The file data.js could not be written, the bot will not work correctly.", $this->plugin_slug));
|
| 495 |
}
|
| 635 |
return $text;
|
| 636 |
}
|
| 637 |
|
| 638 |
+
public function get_is_policy_available() {
|
| 639 |
+
if (function_exists('get_privacy_policy_url')) {
|
| 640 |
+
return true;
|
| 641 |
+
}
|
| 642 |
+
return false;
|
| 643 |
+
}
|
| 644 |
+
|
| 645 |
+
public function get_policy_link() {
|
| 646 |
+
//Check feature is available
|
| 647 |
+
if($this->get_is_policy_available()) {
|
| 648 |
+
return get_privacy_policy_url();
|
| 649 |
+
}
|
| 650 |
+
}
|
| 651 |
+
|
| 652 |
+
public function get_policy_link_message() {
|
| 653 |
+
$url = $this->get_policy_link();
|
| 654 |
+
if($this->get_is_policy_available() && $this->plugin_settings['gdpr']['policy_page_link'] === '') {
|
| 655 |
+
if($url === '') { // No value and feature available
|
| 656 |
+
return __("Your WordPress version supports Privacy settings but you haven't set any privacy policy page yet. Go to Settings ➡ Privacy to set one.", $this->plugin_slug);
|
| 657 |
+
}
|
| 658 |
+
else { // Value and feature available
|
| 659 |
+
return sprintf(__('The plugin detected this Privacy page: %1$s – %2$sUse this url%3$s', $this->plugin_slug), $url, '<button>', '</button>');
|
| 660 |
+
}
|
| 661 |
+
}
|
| 662 |
+
elseif($this->get_is_policy_available() && $this->plugin_settings['gdpr']['policy_page_link'] != '') { // Feature available and value set
|
| 663 |
+
if($url != $this->plugin_settings['gdpr']['policy_page_link']) { // Current wp privacy page differs from set value
|
| 664 |
+
return sprintf(__("Your Privacy page is pointing to a different URL in WordPress settings. If that's correct ignore this message, otherwise %s", $this->plugin_slug), 'UPDATE VALUE TO NEW URL');
|
| 665 |
+
}
|
| 666 |
+
}
|
| 667 |
+
elseif(!$this->get_is_policy_available()) { // No privacy feature available
|
| 668 |
+
return __("No privacy features detected for your WordPress version. Update WordPress to get this field automatically filled in or type in the URL that points to your privacy policy page.", $this->plugin_slug);
|
| 669 |
+
}
|
| 670 |
+
}
|
| 671 |
+
|
| 672 |
+
|
| 673 |
+
|
| 674 |
+
|
| 675 |
}
|
| 676 |
|
| 677 |
}
|
includes/classes/wp-maintenance-mode.php
CHANGED
|
@@ -4,7 +4,7 @@ if (!class_exists('WP_Maintenance_Mode')) {
|
|
| 4 |
|
| 5 |
class WP_Maintenance_Mode {
|
| 6 |
|
| 7 |
-
const VERSION = '2.
|
| 8 |
|
| 9 |
protected $plugin_slug = 'wp-maintenance-mode';
|
| 10 |
protected $plugin_settings;
|
|
@@ -159,9 +159,16 @@ if (!class_exists('WP_Maintenance_Mode')) {
|
|
| 159 |
'02_1' => __("Tell me more", $this->plugin_slug),
|
| 160 |
'02_2' => __("Boring", $this->plugin_slug),
|
| 161 |
'03' => __("Type your email here…", $this->plugin_slug)
|
| 162 |
-
|
| 163 |
'custom_css' => array()
|
| 164 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 165 |
);
|
| 166 |
}
|
| 167 |
|
|
@@ -422,6 +429,15 @@ if (!class_exists('WP_Maintenance_Mode')) {
|
|
| 422 |
update_option('wpmm_settings', $v2_options);
|
| 423 |
}
|
| 424 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 425 |
// set current version
|
| 426 |
update_option('wpmm_version', WP_Maintenance_Mode::VERSION);
|
| 427 |
}
|
|
@@ -528,7 +544,7 @@ if (!class_exists('WP_Maintenance_Mode')) {
|
|
| 528 |
$text = apply_filters('wpmm_text', do_shortcode($text));
|
| 529 |
|
| 530 |
// COUNTDOWN
|
| 531 |
-
$countdown_start = !empty($this->plugin_settings['modules']['countdown_start']) ? $this->plugin_settings['modules']['countdown_start'] : $this->plugin_settings['general']['
|
| 532 |
$countdown_end = strtotime($countdown_start . ' +' . $backtime_seconds . ' seconds');
|
| 533 |
|
| 534 |
// JS FILES
|
|
@@ -859,4 +875,4 @@ if (!class_exists('WP_Maintenance_Mode')) {
|
|
| 859 |
|
| 860 |
}
|
| 861 |
|
| 862 |
-
}
|
| 4 |
|
| 5 |
class WP_Maintenance_Mode {
|
| 6 |
|
| 7 |
+
const VERSION = '2.2';
|
| 8 |
|
| 9 |
protected $plugin_slug = 'wp-maintenance-mode';
|
| 10 |
protected $plugin_settings;
|
| 159 |
'02_1' => __("Tell me more", $this->plugin_slug),
|
| 160 |
'02_2' => __("Boring", $this->plugin_slug),
|
| 161 |
'03' => __("Type your email here…", $this->plugin_slug)
|
| 162 |
+
),
|
| 163 |
'custom_css' => array()
|
| 164 |
+
),
|
| 165 |
+
'gdpr' => array(
|
| 166 |
+
'status' => 0,
|
| 167 |
+
'policy_page_label' => __('Privacy Policy', $this->plugin_slug),
|
| 168 |
+
'policy_page_link' => '',
|
| 169 |
+
'contact_form_tail' => __('This form collects your name and email so that we can reach you back. Check out our <a href="#">Privacy Policy</a> page to fully understand how we protect and manage your submitted data.', $this->plugin_slug),
|
| 170 |
+
'subscribe_form_tail' => __('This form collects your email so that we can add you to our newsletter list. Check out our <a href="#">Privacy Policy</a> page to fully understand how we protect and manage your submitted data.', $this->plugin_slug),
|
| 171 |
+
),
|
| 172 |
);
|
| 173 |
}
|
| 174 |
|
| 429 |
update_option('wpmm_settings', $v2_options);
|
| 430 |
}
|
| 431 |
|
| 432 |
+
/**
|
| 433 |
+
* Update from =< v2.1.2 to 2.1.5
|
| 434 |
+
*/
|
| 435 |
+
if(empty($v2_options['gdpr'])) {
|
| 436 |
+
$v2_options['gdpr'] = $default_options['gdpr'];
|
| 437 |
+
// update options
|
| 438 |
+
update_option('wpmm_settings', $v2_options);
|
| 439 |
+
}
|
| 440 |
+
|
| 441 |
// set current version
|
| 442 |
update_option('wpmm_version', WP_Maintenance_Mode::VERSION);
|
| 443 |
}
|
| 544 |
$text = apply_filters('wpmm_text', do_shortcode($text));
|
| 545 |
|
| 546 |
// COUNTDOWN
|
| 547 |
+
$countdown_start = !empty($this->plugin_settings['modules']['countdown_start']) ? $this->plugin_settings['modules']['countdown_start'] : $this->plugin_settings['general']['status_date'];
|
| 548 |
$countdown_end = strtotime($countdown_start . ' +' . $backtime_seconds . ' seconds');
|
| 549 |
|
| 550 |
// JS FILES
|
| 875 |
|
| 876 |
}
|
| 877 |
|
| 878 |
+
}
|
readme.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
# Version 2.
|
| 2 |
|
| 3 |
# WP Maintenance Mode
|
| 4 |
|
|
@@ -19,6 +19,7 @@ Adds a splash page to your site that lets visitors know your site is down for ma
|
|
| 19 |
* SEO options;
|
| 20 |
* Exclude URLs from maintenance.
|
| 21 |
* Bot functionality to collect the emails in a friendly and efficient way.
|
|
|
|
| 22 |
|
| 23 |
**Credits**
|
| 24 |
|
| 1 |
+
# Version 2.2
|
| 2 |
|
| 3 |
# WP Maintenance Mode
|
| 4 |
|
| 19 |
* SEO options;
|
| 20 |
* Exclude URLs from maintenance.
|
| 21 |
* Bot functionality to collect the emails in a friendly and efficient way.
|
| 22 |
+
* GDPR Ready
|
| 23 |
|
| 24 |
**Credits**
|
| 25 |
|
readme.txt
CHANGED
|
@@ -1,13 +1,14 @@
|
|
| 1 |
=== WP Maintenance Mode ===
|
| 2 |
-
Contributors: Designmodo
|
| 3 |
Plugin Name: WP Maintenance Mode
|
| 4 |
Plugin URI: https://designmodo.com/
|
| 5 |
Author: Designmodo
|
| 6 |
Author URI: https://designmodo.com/
|
| 7 |
Tags: maintenance mode, admin, administration, unavailable, coming soon, multisite, landing page, under construction, contact form, subscribe, countdown
|
| 8 |
Requires at least: 3.5
|
| 9 |
-
Tested up to: 4.9.
|
| 10 |
-
Stable tag: 2.
|
|
|
|
| 11 |
License: GPL-2.0+
|
| 12 |
|
| 13 |
Adds a splash page to your site that lets visitors know your site is down for maintenance. It's perfect for a coming soon page. The new Bot functionality is here!
|
|
@@ -35,6 +36,7 @@ Also works with WordPress Multisite installs (each blog from the network has it'
|
|
| 35 |
* SEO options;
|
| 36 |
* Exclude URLs from maintenance;
|
| 37 |
* Bot functionality to collect the emails in a friendly and efficient way.
|
|
|
|
| 38 |
|
| 39 |
= Bugs, technical hints or contribute =
|
| 40 |
|
|
@@ -75,6 +77,9 @@ If you change your login url, please add the new slug (url: http://domain.com/ne
|
|
| 75 |
|
| 76 |
== Changelog ==
|
| 77 |
|
|
|
|
|
|
|
|
|
|
| 78 |
= 2.1.2 (04/03/2018) =
|
| 79 |
* fixed a bug that was breaking the plugin after updating from 2.0.9 to 2.1.1
|
| 80 |
|
| 1 |
=== WP Maintenance Mode ===
|
| 2 |
+
Contributors: Designmodo, impresshq
|
| 3 |
Plugin Name: WP Maintenance Mode
|
| 4 |
Plugin URI: https://designmodo.com/
|
| 5 |
Author: Designmodo
|
| 6 |
Author URI: https://designmodo.com/
|
| 7 |
Tags: maintenance mode, admin, administration, unavailable, coming soon, multisite, landing page, under construction, contact form, subscribe, countdown
|
| 8 |
Requires at least: 3.5
|
| 9 |
+
Tested up to: 4.9.6
|
| 10 |
+
Stable tag: 2.2
|
| 11 |
+
Requires PHP: 5.6
|
| 12 |
License: GPL-2.0+
|
| 13 |
|
| 14 |
Adds a splash page to your site that lets visitors know your site is down for maintenance. It's perfect for a coming soon page. The new Bot functionality is here!
|
| 36 |
* SEO options;
|
| 37 |
* Exclude URLs from maintenance;
|
| 38 |
* Bot functionality to collect the emails in a friendly and efficient way.
|
| 39 |
+
* GDPR Ready
|
| 40 |
|
| 41 |
= Bugs, technical hints or contribute =
|
| 42 |
|
| 77 |
|
| 78 |
== Changelog ==
|
| 79 |
|
| 80 |
+
= 2.2 (25/05/2018) =
|
| 81 |
+
* added GDPR feature
|
| 82 |
+
|
| 83 |
= 2.1.2 (04/03/2018) =
|
| 84 |
* fixed a bug that was breaking the plugin after updating from 2.0.9 to 2.1.1
|
| 85 |
|
views/maintenance.php
CHANGED
|
@@ -69,8 +69,15 @@
|
|
| 69 |
<?php if (!empty($this->plugin_settings['modules']['subscribe_text'])) { ?><h3><?php echo stripslashes($this->plugin_settings['modules']['subscribe_text']); ?></h3><?php } ?>
|
| 70 |
<div class="subscribe_wrapper" style="min-height: 100px;">
|
| 71 |
<form class="subscribe_form">
|
| 72 |
-
<
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
</form>
|
| 75 |
</div>
|
| 76 |
<?php } ?>
|
|
@@ -127,6 +134,11 @@
|
|
| 127 |
|
| 128 |
<?php do_action('wpmm_contact_form_after_message'); ?>
|
| 129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 130 |
<p class="submit"><input type="submit" value="<?php _e('Send', $this->plugin_slug); ?>"></p>
|
| 131 |
|
| 132 |
<?php do_action('wpmm_contact_form_end'); ?>
|
|
@@ -137,9 +149,15 @@
|
|
| 137 |
<a class="contact_us" href="javascript:void(0);" data-open="<?php echo esc_attr($open); ?>" data-close="<?php echo esc_attr($close); ?>"><?php _e('Contact us', $this->plugin_slug); ?></a>
|
| 138 |
<?php } ?>
|
| 139 |
|
| 140 |
-
<?php if (!empty($this->plugin_settings['general']['admin_link']) && $this->plugin_settings['general']['admin_link'] == 1)
|
|
|
|
| 141 |
<div class="author_link">
|
| 142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
</div>
|
| 144 |
<?php } ?>
|
| 145 |
</div>
|
| 69 |
<?php if (!empty($this->plugin_settings['modules']['subscribe_text'])) { ?><h3><?php echo stripslashes($this->plugin_settings['modules']['subscribe_text']); ?></h3><?php } ?>
|
| 70 |
<div class="subscribe_wrapper" style="min-height: 100px;">
|
| 71 |
<form class="subscribe_form">
|
| 72 |
+
<div class="subscribe_border">
|
| 73 |
+
<input type="text" placeholder="<?php _e('your e-mail...', $this->plugin_slug); ?>" name="email" class="email_input" data-rule-required="true" data-rule-email="true" data-rule-required="true" data-rule-email="true" />
|
| 74 |
+
<input type="submit" value="<?php _e('Subscribe', $this->plugin_slug); ?>" />
|
| 75 |
+
</div>
|
| 76 |
+
<?php if (!empty($this->plugin_settings['gdpr']['status']) && $this->plugin_settings['gdpr']['status'] == 1) { ?>
|
| 77 |
+
<div class="privacy_checkbox"><input type="checkbox" name="acceptance" value="YES" data-rule-required="true" data-msg-required="<?php esc_attr_e('This field is required.', $this->plugin_slug); ?>"><label for="acceptance"><?php _e("I've read and agree with the site's privacy policy", $this->plugin_slug); ?></label></div>
|
| 78 |
+
<?php if(!empty($this->plugin_settings['gdpr']['subscribe_form_tail'])) { ?>
|
| 79 |
+
<p class="privacy_tail"><?php echo $this->plugin_settings['gdpr']['subscribe_form_tail']; ?></p>
|
| 80 |
+
<?php }} ?>
|
| 81 |
</form>
|
| 82 |
</div>
|
| 83 |
<?php } ?>
|
| 134 |
|
| 135 |
<?php do_action('wpmm_contact_form_after_message'); ?>
|
| 136 |
|
| 137 |
+
<?php if (!empty($this->plugin_settings['gdpr']['status']) && $this->plugin_settings['gdpr']['status'] == 1) { ?>
|
| 138 |
+
<div class="privacy_checkbox"><input type="checkbox" name="acceptance" value="YES" data-rule-required="true" data-msg-required="<?php esc_attr_e('This field is required.', $this->plugin_slug); ?>"><label for="acceptance"><?php _e("I've read and agree with the site's privacy policy", $this->plugin_slug); ?></label></div>
|
| 139 |
+
<?php if(!empty($this->plugin_settings['gdpr']['contact_form_tail'])) { ?>
|
| 140 |
+
<p class="privacy_tail"><?php echo $this->plugin_settings['gdpr']['contact_form_tail']; ?></p>
|
| 141 |
+
<?php }} ?>
|
| 142 |
<p class="submit"><input type="submit" value="<?php _e('Send', $this->plugin_slug); ?>"></p>
|
| 143 |
|
| 144 |
<?php do_action('wpmm_contact_form_end'); ?>
|
| 149 |
<a class="contact_us" href="javascript:void(0);" data-open="<?php echo esc_attr($open); ?>" data-close="<?php echo esc_attr($close); ?>"><?php _e('Contact us', $this->plugin_slug); ?></a>
|
| 150 |
<?php } ?>
|
| 151 |
|
| 152 |
+
<?php if ((!empty($this->plugin_settings['general']['admin_link']) && $this->plugin_settings['general']['admin_link'] == 1) ||
|
| 153 |
+
(!empty($this->plugin_settings['gdpr']['status']) && $this->plugin_settings['gdpr']['status'] == 1)) { ?>
|
| 154 |
<div class="author_link">
|
| 155 |
+
<?php if($this->plugin_settings['general']['admin_link'] == 1) { ?>
|
| 156 |
+
<a href="<?php echo admin_url(); ?>"><?php _e('Dashboard', $this->plugin_slug); ?></a>
|
| 157 |
+
<?php } ?>
|
| 158 |
+
<?php if ($this->plugin_settings['gdpr']['status'] == 1) { ?>
|
| 159 |
+
<a href="<?php echo $this->plugin_settings['gdpr']['policy_page_link']; ?>"><?php echo $this->plugin_settings['gdpr']['policy_page_label']; ?></a>
|
| 160 |
+
<?php } ?>
|
| 161 |
</div>
|
| 162 |
<?php } ?>
|
| 163 |
</div>
|
views/settings.php
CHANGED
|
@@ -14,6 +14,7 @@
|
|
| 14 |
<a class="nav-tab" href="#design"><?php _e('Design', $this->plugin_slug); ?></a>
|
| 15 |
<a class="nav-tab" href="#modules"><?php _e('Modules', $this->plugin_slug); ?></a>
|
| 16 |
<a class="nav-tab" href="#bot"><?php _e('Manage Bot', $this->plugin_slug); ?></a>
|
|
|
|
| 17 |
</div>
|
| 18 |
|
| 19 |
<div class="tabs-content">
|
|
@@ -441,9 +442,6 @@
|
|
| 441 |
<table class="form-table">
|
| 442 |
<tbody>
|
| 443 |
<tr valign="top">
|
| 444 |
-
<!-- <th valign="top" colspan="2">
|
| 445 |
-
<h4><?php _e("Setup the conversation steps to capture more subscribers with this friendly way of asking email addresess.", $this->plugin_slug) ?></h4>
|
| 446 |
-
</th> -->
|
| 447 |
<td colspan="2">
|
| 448 |
<h4><?php _e("Setup the conversation steps to capture more subscribers with this friendly way of asking email addresess.", $this->plugin_slug) ?></h4>
|
| 449 |
<p><?php _e("You may also want to use these wildcards: {bot_name} and {visitor_name} to make the conversation even more realistic.", $this->plugin_slug) ?></p>
|
|
@@ -599,12 +597,6 @@
|
|
| 599 |
?></textarea>
|
| 600 |
</td>
|
| 601 |
</tr>
|
| 602 |
-
<?php
|
| 603 |
-
/*
|
| 604 |
-
<input type="text" value="<?php echo esc_attr(stripslashes($this->plugin_settings['general']['redirection'])); ?>" name="options[general][redirection]" />
|
| 605 |
-
<p class="description"><?php _e('If you want to redirect a user (with no access to Dashboard/Backend) to a URL (different from WordPress Dashboard URL) after login, then define a URL (incl. http://)', $this->plugin_slug); ?></p>
|
| 606 |
-
*/
|
| 607 |
-
?>
|
| 608 |
</tbody>
|
| 609 |
</table>
|
| 610 |
|
|
@@ -614,6 +606,69 @@
|
|
| 614 |
<input type="button" value="<?php _e('Reset settings', $this->plugin_slug); ?>" class="button button-secondary reset_settings" data-tab="bot" name="submit">
|
| 615 |
</form>
|
| 616 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 617 |
</div>
|
| 618 |
</div>
|
| 619 |
|
| 14 |
<a class="nav-tab" href="#design"><?php _e('Design', $this->plugin_slug); ?></a>
|
| 15 |
<a class="nav-tab" href="#modules"><?php _e('Modules', $this->plugin_slug); ?></a>
|
| 16 |
<a class="nav-tab" href="#bot"><?php _e('Manage Bot', $this->plugin_slug); ?></a>
|
| 17 |
+
<a class="nav-tab" href="#gdpr"><?php _e('GDPR', $this->plugin_slug); ?></a>
|
| 18 |
</div>
|
| 19 |
|
| 20 |
<div class="tabs-content">
|
| 442 |
<table class="form-table">
|
| 443 |
<tbody>
|
| 444 |
<tr valign="top">
|
|
|
|
|
|
|
|
|
|
| 445 |
<td colspan="2">
|
| 446 |
<h4><?php _e("Setup the conversation steps to capture more subscribers with this friendly way of asking email addresess.", $this->plugin_slug) ?></h4>
|
| 447 |
<p><?php _e("You may also want to use these wildcards: {bot_name} and {visitor_name} to make the conversation even more realistic.", $this->plugin_slug) ?></p>
|
| 597 |
?></textarea>
|
| 598 |
</td>
|
| 599 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 600 |
</tbody>
|
| 601 |
</table>
|
| 602 |
|
| 606 |
<input type="button" value="<?php _e('Reset settings', $this->plugin_slug); ?>" class="button button-secondary reset_settings" data-tab="bot" name="submit">
|
| 607 |
</form>
|
| 608 |
</div>
|
| 609 |
+
<div id="tab-gdpr" class="hidden">
|
| 610 |
+
<form method="post">
|
| 611 |
+
<table class="form-table">
|
| 612 |
+
<tbody>
|
| 613 |
+
<tr valign="top">
|
| 614 |
+
<td colspan="2">
|
| 615 |
+
<h4><?php _e("To make the plugin GDPR compliant, fill in the details and enable this section.", $this->plugin_slug) ?></h4>
|
| 616 |
+
<p><?php _e("Here we added some generic texts that you may want to review, change or remove.", $this->plugin_slug) ?></p>
|
| 617 |
+
</td>
|
| 618 |
+
</tr>
|
| 619 |
+
<tr valign="top">
|
| 620 |
+
<th scope="row"><label for="options[gdpr][status]"><?php _e('Status', $this->plugin_slug); ?></label></th>
|
| 621 |
+
<td>
|
| 622 |
+
<label><input type="radio" value="1" name="options[gdpr][status]" <?php checked($this->plugin_settings['gdpr']['status'], 1); ?>> <?php _e('Activated', $this->plugin_slug); ?></label> <br />
|
| 623 |
+
<label><input type="radio" value="0" name="options[gdpr][status]" <?php checked($this->plugin_settings['gdpr']['status'], 0); ?>> <?php _e('Deactivated', $this->plugin_slug); ?></label>
|
| 624 |
+
</td>
|
| 625 |
+
</tr>
|
| 626 |
+
<tr valign="top">
|
| 627 |
+
<th scope="row">
|
| 628 |
+
<label for="options[gdpr][policy_page_label]"><?php _e('Link name', $this->plugin_slug); ?></label>
|
| 629 |
+
</th>
|
| 630 |
+
<td>
|
| 631 |
+
<input type="text" value="<?php echo esc_attr(stripslashes($this->plugin_settings['gdpr']['policy_page_label'])); ?>" name="options[gdpr][policy_page_label]" />
|
| 632 |
+
<p class="description"><?php _e('Label the link that will be shown on frontend footer', $this->plugin_slug); ?></p>
|
| 633 |
+
</td>
|
| 634 |
+
</tr>
|
| 635 |
+
<tr valign="top">
|
| 636 |
+
<th scope="row">
|
| 637 |
+
<label for="options[gdpr][policy_page_link]"><?php _e('P. Policy page link', $this->plugin_slug); ?></label>
|
| 638 |
+
</th>
|
| 639 |
+
<td>
|
| 640 |
+
<input type="text" value="<?php echo esc_attr(stripslashes($this->plugin_settings['gdpr']['policy_page_link'])); ?>" name="options[gdpr][policy_page_link]" />
|
| 641 |
+
<p class="description"><?php echo $this->get_policy_link_message(); ?></p>
|
| 642 |
+
<p class="description">REMEMBER: In order to make the privacy policy page accessible you need to add it in General -> Exclude.</p>
|
| 643 |
+
</td>
|
| 644 |
+
</tr>
|
| 645 |
+
<tr valign="top">
|
| 646 |
+
<th scope="row">
|
| 647 |
+
<label for="options[gdpr][contact_form_tail]"><?php _e('Contact form \'tail\'', $this->plugin_slug); ?></label>
|
| 648 |
+
</th>
|
| 649 |
+
<td>
|
| 650 |
+
<textarea name="options[gdpr][contact_form_tail]" rows="3" style="width: 600px"><?php echo esc_attr(stripslashes($this->plugin_settings['gdpr']['contact_form_tail'])); ?></textarea>
|
| 651 |
+
<p class="description"><?php _e('This will be shown together with the acceptance checkbox below the form', $this->plugin_slug); ?></p>
|
| 652 |
+
</td>
|
| 653 |
+
</tr>
|
| 654 |
+
<tr valign="top">
|
| 655 |
+
<th scope="row">
|
| 656 |
+
<label for="options[gdpr][subscribe_form_tail]"><?php _e('Subscribe form \'tail\'', $this->plugin_slug); ?></label>
|
| 657 |
+
</th>
|
| 658 |
+
<td>
|
| 659 |
+
<textarea name="options[gdpr][subscribe_form_tail]" rows="3" style="width: 600px"><?php echo esc_attr(stripslashes($this->plugin_settings['gdpr']['subscribe_form_tail'])); ?></textarea>
|
| 660 |
+
<p class="description"><?php _e('This will be shown together with the acceptance checkbox below the form', $this->plugin_slug); ?></p>
|
| 661 |
+
</td>
|
| 662 |
+
</tr>
|
| 663 |
+
</tbody>
|
| 664 |
+
</table>
|
| 665 |
+
|
| 666 |
+
<?php wp_nonce_field('tab-gdpr'); ?>
|
| 667 |
+
<input type="hidden" value="gdpr" name="tab" />
|
| 668 |
+
<input type="submit" value="<?php _e('Save settings', $this->plugin_slug); ?>" class="button button-primary" name="submit" />
|
| 669 |
+
<input type="button" value="<?php _e('Reset settings', $this->plugin_slug); ?>" class="button button-secondary reset_settings" data-tab="gdpr" name="submit">
|
| 670 |
+
</form>
|
| 671 |
+
</div>
|
| 672 |
</div>
|
| 673 |
</div>
|
| 674 |
|
wp-maintenance-mode.php
CHANGED
|
@@ -6,7 +6,7 @@
|
|
| 6 |
* Plugin Name: WP Maintenance Mode
|
| 7 |
* Plugin URI: https://designmodo.com/
|
| 8 |
* Description: Adds a splash page to your site that lets visitors know your site is down for maintenance. It's perfect for a coming soon page.
|
| 9 |
-
* Version: 2.
|
| 10 |
* Author: Designmodo
|
| 11 |
* Author URI: https://designmodo.com/
|
| 12 |
* Twitter: designmodo
|
| 6 |
* Plugin Name: WP Maintenance Mode
|
| 7 |
* Plugin URI: https://designmodo.com/
|
| 8 |
* Description: Adds a splash page to your site that lets visitors know your site is down for maintenance. It's perfect for a coming soon page.
|
| 9 |
+
* Version: 2.2
|
| 10 |
* Author: Designmodo
|
| 11 |
* Author URI: https://designmodo.com/
|
| 12 |
* Twitter: designmodo
|
