WP Maintenance Mode - Version 2.2

Version Description

(25/05/2018) = * added GDPR feature

Download this release

Release Info

Developer Designmodo
Plugin Icon 128x128 WP Maintenance Mode
Version 2.2
Comparing to
See all releases

Code changes from version 2.1.2 to 2.2

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
- .wrap form.subscribe_form {
121
  box-sizing: border-box;
122
  width: 450px;
123
- margin: 0 0 75px;
124
  display: inline-block;
125
- border: 3px solid #e0e0e0;
 
 
 
 
 
 
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, .contact .form textarea {
 
 
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{-webkit-appearance:none;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 form.subscribe_form{-webkit-box-sizing:border-box;box-sizing:border-box;width:450px;margin:0 0 75px;display:inline-block;border:3px solid #e0e0e0;overflow:hidden;text-align:center}.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,.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 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%}}
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 assets/js/
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.1.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']['status_data'];
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.1.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.4
10
- Stable tag: 2.1.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
- <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" />
73
- <input type="submit" value="<?php _e('Subscribe', $this->plugin_slug); ?>" />
 
 
 
 
 
 
 
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
- <a href="<?php echo admin_url(); ?>"><?php _e('Dashboard', $this->plugin_slug); ?></a>
 
 
 
 
 
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.1.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