Version Description
(09/09/2016)
Download this release
Release Info
Developer | GeorgeJipa |
Plugin | WP Maintenance Mode |
Version | 2.0.8 |
Comparing to | |
See all releases |
Code changes from version 2.0.7 to 2.0.8
- assets/css/style.css +1 -0
- assets/css/style.min.css +1 -1
- assets/images/resources/themify.jpg +0 -0
- includes/classes/wp-maintenance-mode.php +774 -773
- includes/functions/helpers.php +90 -56
- languages/wp-maintenance-mode-de_DE.mo +0 -0
- languages/wp-maintenance-mode-de_DE.po +1 -1
- languages/wp-maintenance-mode-en_US.mo +0 -0
- languages/wp-maintenance-mode-en_US.po +2 -2
- languages/wp-maintenance-mode-es_ES.mo +0 -0
- languages/wp-maintenance-mode-es_ES.po +26 -26
- languages/wp-maintenance-mode-fa_IR.mo +0 -0
- languages/wp-maintenance-mode-fa_IR.po +26 -26
- languages/wp-maintenance-mode-fr_FR.mo +0 -0
- languages/wp-maintenance-mode-fr_FR.po +26 -26
- languages/wp-maintenance-mode-it_IT.mo +0 -0
- languages/wp-maintenance-mode-it_IT.po +26 -26
- languages/wp-maintenance-mode-nb_NO.mo +0 -0
- languages/wp-maintenance-mode-nb_NO.po +26 -26
- languages/wp-maintenance-mode-nl_NL.mo +0 -0
- languages/wp-maintenance-mode-nl_NL.po +26 -26
- languages/wp-maintenance-mode-pl_PL.mo +0 -0
- languages/wp-maintenance-mode-pl_PL.po +26 -26
- languages/wp-maintenance-mode-pt_BR.mo +0 -0
- languages/wp-maintenance-mode-pt_BR.po +26 -26
- languages/wp-maintenance-mode-pt_PT.mo +0 -0
- languages/wp-maintenance-mode-pt_PT.po +72 -81
- languages/wp-maintenance-mode-ro_RO.mo +0 -0
- languages/wp-maintenance-mode-ro_RO.po +26 -26
- languages/wp-maintenance-mode-ru_RU.mo +0 -0
- languages/wp-maintenance-mode-ru_RU.po +26 -26
- languages/wp-maintenance-mode-sv_SE.mo +0 -0
- languages/wp-maintenance-mode-sv_SE.po +26 -26
- readme.md +1 -1
- readme.txt +10 -2
- views/sidebar.php +46 -38
- wp-maintenance-mode.php +1 -1
assets/css/style.css
CHANGED
@@ -436,6 +436,7 @@ body {
|
|
436 |
.wrap form.subscribe_form input[type="submit"] {
|
437 |
padding-left: 0;
|
438 |
padding-right: 0;
|
|
|
439 |
}
|
440 |
.wrap .contact_us {
|
441 |
margin: 0 0 50px;
|
436 |
.wrap form.subscribe_form input[type="submit"] {
|
437 |
padding-left: 0;
|
438 |
padding-right: 0;
|
439 |
+
border-left: none;
|
440 |
}
|
441 |
.wrap .contact_us {
|
442 |
margin: 0 0 50px;
|
assets/css/style.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,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:after,blockquote:before,q:after,q:before{content:'"';content:none}button,input{-webkit-appearance:none;border-radius:0}table{border-collapse:collapse;border-spacing:0}em,i{font-style:italic}del{text-decoration:line-through}b,strong{font-weight:700}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{line-height:45px;margin:0 0 80px}.wrap h2,.wrap h3{font-size:24px;font-weight:400}.wrap h3{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{box-sizing:border-box;width:465px;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;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}.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:700;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}.wrap .social .git{background-position:0 0}.wrap .social .fb{background-position:-240px 0}.wrap .social .tw{background-position:-162px 0}.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{position:fixed;display:none;top:0;bottom:0;left:0;right:0;background:rgba(27,31,35,.95)}.contact label.error{color:red;float:left;font-size:11px;padding-top:10px}.contact .form{width:520px;text-align:center;padding:40px;background:#f9f9f9;box-sizing:border-box;margin:100px auto;transition:transform .2s 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;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{transform:perspective(1000px) translateY(-200px)}.contact .move_bottom{transform:perspective(1000px) translateY(0)}.contact .zoom{transform:perspective(1000px) scale(.5);transition:transform .3s ease-in-out}.contact .zoomed{transform:perspective(1000px) scale(1)}.contact .fold{transform:perspective(1000px) rotateY(90deg)}.contact .unfold{transform:perspective(1000px) rotateY(0)}.background{background:url(../images/backgrounds/bg1.jpg) no-repeat 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{box-sizing:border-box;width:100%}.wrap form.subscribe_form input{box-sizing:border-box}.wrap form input[type=submit],.wrap form input[type=text]{width:100%}.wrap form.subscribe_form input[type=submit]{padding-left:0;padding-right:0}.wrap .contact_us{margin:0 0 50px}.contact .form{width:90%}.contact .form input[type=submit],.contact .form p.col{width:100%}.wrap form.login_form{width:90%}.wrap form.login_form input{width:100%;margin:0 0 10px}.wrap form.login_form input[type=submit]{margin:10px 0 0}ol,ul{width:80%}blockquote,q{width:70%}}
|
1 |
+
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,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:after,blockquote:before,q:after,q:before{content:'"';content:none}button,input{-webkit-appearance:none;border-radius:0}table{border-collapse:collapse;border-spacing:0}em,i{font-style:italic}del{text-decoration:line-through}b,strong{font-weight:700}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{line-height:45px;margin:0 0 80px}.wrap h2,.wrap h3{font-size:24px;font-weight:400}.wrap h3{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{box-sizing:border-box;width:465px;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;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}.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:700;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}.wrap .social .git{background-position:0 0}.wrap .social .fb{background-position:-240px 0}.wrap .social .tw{background-position:-162px 0}.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{position:fixed;display:none;top:0;bottom:0;left:0;right:0;background:rgba(27,31,35,.95)}.contact label.error{color:red;float:left;font-size:11px;padding-top:10px}.contact .form{width:520px;text-align:center;padding:40px;background:#f9f9f9;box-sizing:border-box;margin:100px auto;transition:transform .2s 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;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{transform:perspective(1000px) translateY(-200px)}.contact .move_bottom{transform:perspective(1000px) translateY(0)}.contact .zoom{transform:perspective(1000px) scale(.5);transition:transform .3s ease-in-out}.contact .zoomed{transform:perspective(1000px) scale(1)}.contact .fold{transform:perspective(1000px) rotateY(90deg)}.contact .unfold{transform:perspective(1000px) rotateY(0)}.background{background:url(../images/backgrounds/bg1.jpg) no-repeat 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{box-sizing:border-box;width:100%}.wrap form.subscribe_form input{box-sizing:border-box}.wrap form input[type=submit],.wrap form input[type=text]{width:100%}.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 input[type=submit],.contact .form p.col{width:100%}.wrap form.login_form{width:90%}.wrap form.login_form input{width:100%;margin:0 0 10px}.wrap form.login_form input[type=submit]{margin:10px 0 0}ol,ul{width:80%}blockquote,q{width:70%}}
|
assets/images/resources/themify.jpg
ADDED
Binary file
|
includes/classes/wp-maintenance-mode.php
CHANGED
@@ -2,784 +2,785 @@
|
|
2 |
|
3 |
if (!class_exists('WP_Maintenance_Mode')) {
|
4 |
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
`id_subscriber` bigint(20) NOT NULL AUTO_INCREMENT,
|
241 |
`email` varchar(50) NOT NULL,
|
242 |
`insert_date` datetime NOT NULL,
|
243 |
PRIMARY KEY (`id_subscriber`)
|
244 |
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;";
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
// !strstr($_SERVER['PHP_SELF'], 'wp-admin/') &&
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
//
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
|
783 |
-
|
|
|
784 |
|
785 |
}
|
2 |
|
3 |
if (!class_exists('WP_Maintenance_Mode')) {
|
4 |
|
5 |
+
class WP_Maintenance_Mode {
|
6 |
+
|
7 |
+
const VERSION = '2.0.8';
|
8 |
+
|
9 |
+
protected $plugin_slug = 'wp-maintenance-mode';
|
10 |
+
protected $plugin_settings;
|
11 |
+
protected $plugin_basename;
|
12 |
+
protected static $instance = null;
|
13 |
+
|
14 |
+
private function __construct() {
|
15 |
+
$this->plugin_settings = get_option('wpmm_settings');
|
16 |
+
$this->plugin_basename = plugin_basename(WPMM_PATH . $this->plugin_slug . '.php');
|
17 |
+
|
18 |
+
// Load plugin text domain
|
19 |
+
add_action('init', array($this, 'load_plugin_textdomain'));
|
20 |
+
|
21 |
+
// Add shortcodes
|
22 |
+
add_action('init', array('WP_Maintenance_Mode_Shortcodes', 'init'));
|
23 |
+
|
24 |
+
// Activate plugin when new blog is added
|
25 |
+
add_action('wpmu_new_blog', array($this, 'activate_new_site'));
|
26 |
+
|
27 |
+
// Check update
|
28 |
+
add_action('admin_init', array($this, 'check_update'));
|
29 |
+
|
30 |
+
if (!empty($this->plugin_settings['general']['status']) && $this->plugin_settings['general']['status'] == 1) {
|
31 |
+
// INIT
|
32 |
+
add_action('init', array($this, 'init'));
|
33 |
+
|
34 |
+
// Add ajax methods
|
35 |
+
add_action('wp_ajax_nopriv_wpmm_add_subscriber', array($this, 'add_subscriber'));
|
36 |
+
add_action('wp_ajax_wpmm_add_subscriber', array($this, 'add_subscriber'));
|
37 |
+
add_action('wp_ajax_nopriv_wpmm_send_contact', array($this, 'send_contact'));
|
38 |
+
add_action('wp_ajax_wpmm_send_contact', array($this, 'send_contact'));
|
39 |
+
|
40 |
+
// Redirect
|
41 |
+
add_action('init', array($this, 'redirect'), 9);
|
42 |
+
|
43 |
+
// Google Analytics tracking script
|
44 |
+
add_action('wpmm_head', array($this, 'google_analytics_code'));
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
public static function get_instance() {
|
49 |
+
if (null == self::$instance) {
|
50 |
+
self::$instance = new self;
|
51 |
+
}
|
52 |
+
|
53 |
+
return self::$instance;
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Return plugin slug
|
58 |
+
*
|
59 |
+
* @since 2.0.0
|
60 |
+
* @return string
|
61 |
+
*/
|
62 |
+
public function get_plugin_slug() {
|
63 |
+
return $this->plugin_slug;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Return plugin settings
|
68 |
+
*
|
69 |
+
* @since 2.0.0
|
70 |
+
* @return array
|
71 |
+
*/
|
72 |
+
public function get_plugin_settings() {
|
73 |
+
return $this->plugin_settings;
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Return plugin default settings
|
78 |
+
*
|
79 |
+
* @since 2.0.0
|
80 |
+
* @return array
|
81 |
+
*/
|
82 |
+
public function default_settings() {
|
83 |
+
return array(
|
84 |
+
'general' => array(
|
85 |
+
'status' => 0,
|
86 |
+
'status_date' => '',
|
87 |
+
'bypass_bots' => 0,
|
88 |
+
'backend_role' => array(),
|
89 |
+
'frontend_role' => array(),
|
90 |
+
'meta_robots' => 0,
|
91 |
+
'redirection' => '',
|
92 |
+
'exclude' => array(
|
93 |
+
0 => 'feed',
|
94 |
+
1 => 'wp-login',
|
95 |
+
2 => 'login'
|
96 |
+
),
|
97 |
+
'notice' => 1,
|
98 |
+
'admin_link' => 0
|
99 |
+
),
|
100 |
+
'design' => array(
|
101 |
+
'title' => __('Maintenance mode', $this->plugin_slug),
|
102 |
+
'heading' => __('Maintenance mode', $this->plugin_slug),
|
103 |
+
'heading_color' => '',
|
104 |
+
'text' => __('<p>Sorry for the inconvenience.<br />Our website is currently undergoing scheduled maintenance.<br />Thank you for your understanding.</p>', $this->plugin_slug),
|
105 |
+
'text_color' => '',
|
106 |
+
'bg_type' => 'color',
|
107 |
+
'bg_color' => '',
|
108 |
+
'bg_custom' => '',
|
109 |
+
'bg_predefined' => 'bg1.jpg',
|
110 |
+
'custom_css' => array()
|
111 |
+
),
|
112 |
+
'modules' => array(
|
113 |
+
'countdown_status' => 0,
|
114 |
+
'countdown_start' => date('Y-m-d H:i:s'),
|
115 |
+
'countdown_details' => array(
|
116 |
+
'days' => 0,
|
117 |
+
'hours' => 1,
|
118 |
+
'minutes' => 0
|
119 |
+
),
|
120 |
+
'countdown_color' => '',
|
121 |
+
'subscribe_status' => 0,
|
122 |
+
'subscribe_text' => __('Notify me when it\'s ready', $this->plugin_slug),
|
123 |
+
'subscribe_text_color' => '',
|
124 |
+
'social_status' => 0,
|
125 |
+
'social_target' => 1,
|
126 |
+
'social_github' => '',
|
127 |
+
'social_dribbble' => '',
|
128 |
+
'social_twitter' => '',
|
129 |
+
'social_facebook' => '',
|
130 |
+
'social_pinterest' => '',
|
131 |
+
'social_google+' => '',
|
132 |
+
'social_linkedin' => '',
|
133 |
+
'contact_status' => 0,
|
134 |
+
'contact_email' => get_option('admin_email') ? get_option('admin_email') : '',
|
135 |
+
'contact_effects' => 'move_top|move_bottom',
|
136 |
+
'ga_status' => 0,
|
137 |
+
'ga_code' => '',
|
138 |
+
'custom_css' => array()
|
139 |
+
)
|
140 |
+
);
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* What to do when the plugin is activated
|
145 |
+
*
|
146 |
+
* @since 2.0.0
|
147 |
+
* @param boolean $network_wide
|
148 |
+
*/
|
149 |
+
public static function activate($network_wide) {
|
150 |
+
// because we need translated items when activate :)
|
151 |
+
load_plugin_textdomain(self::get_instance()->plugin_slug, FALSE, WPMM_LANGUAGES_PATH);
|
152 |
+
|
153 |
+
// do the job
|
154 |
+
if (function_exists('is_multisite') && is_multisite()) {
|
155 |
+
if ($network_wide) {
|
156 |
+
// Get all blog ids
|
157 |
+
$blog_ids = self::get_blog_ids();
|
158 |
+
foreach ($blog_ids as $blog_id) {
|
159 |
+
switch_to_blog($blog_id);
|
160 |
+
self::single_activate($network_wide);
|
161 |
+
restore_current_blog();
|
162 |
+
}
|
163 |
+
} else {
|
164 |
+
self::single_activate();
|
165 |
+
}
|
166 |
+
} else {
|
167 |
+
self::single_activate();
|
168 |
+
}
|
169 |
+
|
170 |
+
// delete old options
|
171 |
+
delete_option('wp-maintenance-mode');
|
172 |
+
delete_option('wp-maintenance-mode-msqld');
|
173 |
+
}
|
174 |
+
|
175 |
+
/**
|
176 |
+
* Check plugin version for updating process
|
177 |
+
*
|
178 |
+
* @since 2.0.3
|
179 |
+
*/
|
180 |
+
public function check_update() {
|
181 |
+
$version = get_option('wpmm_version', '0');
|
182 |
+
|
183 |
+
if (!version_compare($version, WP_Maintenance_Mode::VERSION, '=')) {
|
184 |
+
self::activate(is_multisite() && is_plugin_active_for_network($this->plugin_basename) ? true : false);
|
185 |
+
}
|
186 |
+
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* What to do when the plugin is deactivated
|
190 |
+
*
|
191 |
+
* @since 2.0.0
|
192 |
+
* @param boolean $network_wide
|
193 |
+
*/
|
194 |
+
public static function deactivate($network_wide) {
|
195 |
+
if (function_exists('is_multisite') && is_multisite()) {
|
196 |
+
if ($network_wide) {
|
197 |
+
// Get all blog ids
|
198 |
+
$blog_ids = self::get_blog_ids();
|
199 |
+
foreach ($blog_ids as $blog_id) {
|
200 |
+
switch_to_blog($blog_id);
|
201 |
+
self::single_deactivate();
|
202 |
+
restore_current_blog();
|
203 |
+
}
|
204 |
+
} else {
|
205 |
+
self::single_deactivate();
|
206 |
+
}
|
207 |
+
} else {
|
208 |
+
self::single_deactivate();
|
209 |
+
}
|
210 |
+
}
|
211 |
+
|
212 |
+
/**
|
213 |
+
* What to do when a new site is activated (multisite env)
|
214 |
+
*
|
215 |
+
* @since 2.0.0
|
216 |
+
* @param int $blog_id.
|
217 |
+
*/
|
218 |
+
public function activate_new_site($blog_id) {
|
219 |
+
if (1 !== did_action('wpmu_new_blog')) {
|
220 |
+
return;
|
221 |
+
}
|
222 |
+
|
223 |
+
switch_to_blog($blog_id);
|
224 |
+
self::single_activate();
|
225 |
+
restore_current_blog();
|
226 |
+
}
|
227 |
+
|
228 |
+
/**
|
229 |
+
* What to do on single activate
|
230 |
+
*
|
231 |
+
* @since 2.0.0
|
232 |
+
* @global object $wpdb
|
233 |
+
* @param boolean $network_wide
|
234 |
+
*/
|
235 |
+
public static function single_activate($network_wide = false) {
|
236 |
+
global $wpdb;
|
237 |
+
|
238 |
+
// create wpmm_subscribers table
|
239 |
+
$sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}wpmm_subscribers (
|
240 |
`id_subscriber` bigint(20) NOT NULL AUTO_INCREMENT,
|
241 |
`email` varchar(50) NOT NULL,
|
242 |
`insert_date` datetime NOT NULL,
|
243 |
PRIMARY KEY (`id_subscriber`)
|
244 |
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;";
|
245 |
+
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
246 |
+
dbDelta($sql);
|
247 |
+
|
248 |
+
// get all options for different versions of the plugin
|
249 |
+
$v2_options = get_option('wpmm_settings');
|
250 |
+
$old_options = (is_multisite() && $network_wide) ? get_site_option('wp-maintenance-mode') : get_option('wp-maintenance-mode');
|
251 |
+
$default_options = self::get_instance()->default_settings();
|
252 |
+
|
253 |
+
/**
|
254 |
+
* Update from v1.8 to v2.x
|
255 |
+
*
|
256 |
+
* - set notice if the plugin was installed before & set default settings
|
257 |
+
*/
|
258 |
+
if (!empty($old_options) && empty($v2_options)) {
|
259 |
+
add_option('wpmm_notice', array(
|
260 |
+
'class' => 'updated notice',
|
261 |
+
'msg' => sprintf(__('WP Maintenance Mode plugin was relaunched and you MUST revise <a href="%s">settings</a>.', self::get_instance()->plugin_slug), admin_url('options-general.php?page=' . self::get_instance()->plugin_slug))
|
262 |
+
));
|
263 |
+
|
264 |
+
// import old options
|
265 |
+
if (isset($old_options['active'])) {
|
266 |
+
$default_options['general']['status'] = $old_options['active'];
|
267 |
+
}
|
268 |
+
if (isset($old_options['bypass'])) {
|
269 |
+
$default_options['general']['bypass_bots'] = $old_options['bypass'];
|
270 |
+
}
|
271 |
+
|
272 |
+
if (!empty($old_options['role'][0])) {
|
273 |
+
$default_options['general']['backend_role'] = $old_options['role'][0] == 'administrator' ? array() : $old_options['role'];
|
274 |
+
}
|
275 |
+
|
276 |
+
if (!empty($old_options['role_frontend'][0])) {
|
277 |
+
$default_options['general']['frontend_role'] = $old_options['role_frontend'][0] == 'administrator' ? array() : $old_options['role_frontend'];
|
278 |
+
}
|
279 |
+
|
280 |
+
if (isset($old_options['index'])) {
|
281 |
+
$default_options['general']['meta_robots'] = $old_options['index'];
|
282 |
+
}
|
283 |
+
|
284 |
+
if (!empty($old_options['rewrite'])) {
|
285 |
+
$default_options['general']['redirection'] = $old_options['rewrite'];
|
286 |
+
}
|
287 |
+
|
288 |
+
if (!empty($old_options['exclude'][0])) {
|
289 |
+
$default_options['general']['exclude'] = array_unique(array_merge($default_options['general']['exclude'], $old_options['exclude']));
|
290 |
+
}
|
291 |
+
|
292 |
+
if (isset($old_options['notice'])) {
|
293 |
+
$default_options['general']['notice'] = $old_options['notice'];
|
294 |
+
}
|
295 |
+
|
296 |
+
if (isset($old_options['admin_link'])) {
|
297 |
+
$default_options['general']['admin_link'] = $old_options['admin_link'];
|
298 |
+
}
|
299 |
+
|
300 |
+
if (!empty($old_options['title'])) {
|
301 |
+
$default_options['design']['title'] = $old_options['title'];
|
302 |
+
}
|
303 |
+
|
304 |
+
if (!empty($old_options['heading'])) {
|
305 |
+
$default_options['design']['heading'] = $old_options['heading'];
|
306 |
+
}
|
307 |
+
|
308 |
+
if (!empty($old_options['text'])) {
|
309 |
+
$default_options['design']['text'] = $old_options['text'];
|
310 |
+
}
|
311 |
+
|
312 |
+
if (isset($old_options['radio'])) {
|
313 |
+
$default_options['modules']['countdown_status'] = $old_options['radio'];
|
314 |
+
}
|
315 |
+
|
316 |
+
if (!empty($old_options['date'])) {
|
317 |
+
$default_options['modules']['countdown_start'] = $old_options['date'];
|
318 |
+
}
|
319 |
+
|
320 |
+
if (isset($old_options['time']) && isset($old_options['unit'])) {
|
321 |
+
switch ($old_options['unit']) {
|
322 |
+
case 0: // seconds
|
323 |
+
$default_options['modules']['countdown_details'] = array(
|
324 |
+
'days' => 0,
|
325 |
+
'hours' => 0,
|
326 |
+
'minutes' => floor($old_options['time'] / 60)
|
327 |
+
);
|
328 |
+
break;
|
329 |
+
case 1: // minutes
|
330 |
+
$default_options['modules']['countdown_details'] = array(
|
331 |
+
'days' => 0,
|
332 |
+
'hours' => 0,
|
333 |
+
'minutes' => $old_options['time']
|
334 |
+
);
|
335 |
+
break;
|
336 |
+
case 2: // hours
|
337 |
+
$default_options['modules']['countdown_details'] = array(
|
338 |
+
'days' => 0,
|
339 |
+
'hours' => $old_options['time'],
|
340 |
+
'minutes' => 0
|
341 |
+
);
|
342 |
+
case 3: // days
|
343 |
+
$default_options['modules']['countdown_details'] = array(
|
344 |
+
'days' => $old_options['time'],
|
345 |
+
'hours' => 0,
|
346 |
+
'minutes' => 0
|
347 |
+
);
|
348 |
+
break;
|
349 |
+
case 4: // weeks
|
350 |
+
$default_options['modules']['countdown_details'] = array(
|
351 |
+
'days' => $old_options['time'] * 7,
|
352 |
+
'hours' => 0,
|
353 |
+
'minutes' => 0
|
354 |
+
);
|
355 |
+
break;
|
356 |
+
case 5: // months
|
357 |
+
$default_options['modules']['countdown_details'] = array(
|
358 |
+
'days' => $old_options['time'] * 30,
|
359 |
+
'hours' => 0,
|
360 |
+
'minutes' => 0
|
361 |
+
);
|
362 |
+
break;
|
363 |
+
case 6: // years
|
364 |
+
$default_options['modules']['countdown_details'] = array(
|
365 |
+
'days' => $old_options['time'] * 365,
|
366 |
+
'hours' => 0,
|
367 |
+
'minutes' => 0
|
368 |
+
);
|
369 |
+
break;
|
370 |
+
default:
|
371 |
+
break;
|
372 |
+
}
|
373 |
+
}
|
374 |
+
}
|
375 |
+
|
376 |
+
if (empty($v2_options)) {
|
377 |
+
// set options
|
378 |
+
add_option('wpmm_settings', $default_options);
|
379 |
+
}
|
380 |
+
|
381 |
+
/**
|
382 |
+
* Update from <= v2.0.6 to v2.0.7
|
383 |
+
*/
|
384 |
+
if (!empty($v2_options['modules']['ga_code'])) {
|
385 |
+
$v2_options['modules']['ga_code'] = wpmm_sanitize_ga_code($v2_options['modules']['ga_code']);
|
386 |
+
|
387 |
+
// update options
|
388 |
+
update_option('wpmm_settings', $v2_options);
|
389 |
+
}
|
390 |
+
|
391 |
+
// set current version
|
392 |
+
update_option('wpmm_version', WP_Maintenance_Mode::VERSION);
|
393 |
+
}
|
394 |
+
|
395 |
+
/**
|
396 |
+
* What to do on single deactivate
|
397 |
+
*
|
398 |
+
* @since 2.0.0
|
399 |
+
*/
|
400 |
+
public static function single_deactivate() {
|
401 |
+
// nothing
|
402 |
+
}
|
403 |
+
|
404 |
+
/**
|
405 |
+
* Get all blog ids of blogs in the current network
|
406 |
+
*
|
407 |
+
* @since 2.0.0
|
408 |
+
* @return array / false
|
409 |
+
*/
|
410 |
+
private static function get_blog_ids() {
|
411 |
+
global $wpdb;
|
412 |
+
|
413 |
+
return $wpdb->get_col($wpdb->prepare("SELECT blog_id FROM {$wpdb->blogs} WHERE archived = %d AND spam = %d AND deleted = %d", array(0, 0, 0)));
|
414 |
+
}
|
415 |
+
|
416 |
+
/**
|
417 |
+
* Load languages files
|
418 |
+
*
|
419 |
+
* @since 2.0.0
|
420 |
+
*/
|
421 |
+
public function load_plugin_textdomain() {
|
422 |
+
$domain = $this->plugin_slug;
|
423 |
+
$locale = apply_filters('plugin_locale', get_locale(), $domain);
|
424 |
+
|
425 |
+
load_textdomain($domain, trailingslashit(WP_LANG_DIR) . $domain . '/' . $domain . '-' . $locale . '.mo');
|
426 |
+
load_plugin_textdomain($domain, FALSE, WPMM_LANGUAGES_PATH);
|
427 |
+
}
|
428 |
+
|
429 |
+
/**
|
430 |
+
* Initialize when plugin is activated
|
431 |
+
*
|
432 |
+
* @since 2.0.0
|
433 |
+
*/
|
434 |
+
public function init() {
|
435 |
+
/**
|
436 |
+
* CHECKS
|
437 |
+
*/
|
438 |
+
if (
|
439 |
+
(!$this->check_user_role()) &&
|
440 |
+
!strstr($_SERVER['PHP_SELF'], 'wp-cron.php') &&
|
441 |
+
!strstr($_SERVER['PHP_SELF'], 'wp-login.php') &&
|
442 |
+
// wp-admin/ is available to everyone only if the user is not loggedin, otherwise.. check_user_role decides
|
443 |
+
!(strstr($_SERVER['PHP_SELF'], 'wp-admin/') && !is_user_logged_in()) &&
|
444 |
// !strstr($_SERVER['PHP_SELF'], 'wp-admin/') &&
|
445 |
+
!strstr($_SERVER['PHP_SELF'], 'wp-admin/admin-ajax.php') &&
|
446 |
+
!strstr($_SERVER['PHP_SELF'], 'async-upload.php') &&
|
447 |
+
!(strstr($_SERVER['PHP_SELF'], 'upgrade.php') && $this->check_user_role()) &&
|
448 |
+
!strstr($_SERVER['PHP_SELF'], '/plugins/') &&
|
449 |
+
!strstr($_SERVER['PHP_SELF'], '/xmlrpc.php') &&
|
450 |
+
!$this->check_exclude() &&
|
451 |
+
!$this->check_search_bots() &&
|
452 |
+
!(defined('WP_CLI') && WP_CLI)
|
453 |
+
) {
|
454 |
+
// HEADER STUFF
|
455 |
+
$protocol = !empty($_SERVER['SERVER_PROTOCOL']) && in_array($_SERVER['SERVER_PROTOCOL'], array('HTTP/1.1', 'HTTP/1.0')) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0';
|
456 |
+
$charset = get_bloginfo('charset') ? get_bloginfo('charset') : 'UTF-8';
|
457 |
+
$status_code = (int) apply_filters('wp_maintenance_mode_status_code', 503); // this hook will be removed in the next versions
|
458 |
+
$status_code = (int) apply_filters('wpmm_status_code', 503);
|
459 |
+
$backtime_seconds = $this->calculate_backtime();
|
460 |
+
$backtime = (int) apply_filters('wpmm_backtime', $backtime_seconds);
|
461 |
+
|
462 |
+
// META STUFF
|
463 |
+
$title = !empty($this->plugin_settings['design']['title']) ? $this->plugin_settings['design']['title'] : get_bloginfo('name') . ' - ' . __('Maintenance Mode', $this->plugin_slug);
|
464 |
+
$title = apply_filters('wm_title', $title); // this hook will be removed in the next versions
|
465 |
+
$title = apply_filters('wpmm_meta_title', $title);
|
466 |
+
|
467 |
+
$robots = $this->plugin_settings['general']['meta_robots'] == 1 ? 'noindex, nofollow' : 'index, follow';
|
468 |
+
$robots = apply_filters('wpmm_meta_robots', $robots);
|
469 |
+
|
470 |
+
$author = apply_filters('wm_meta_author', get_bloginfo('name')); // this hook will be removed in the next versions
|
471 |
+
$author = apply_filters('wpmm_meta_author', get_bloginfo('name'));
|
472 |
+
|
473 |
+
$description = get_bloginfo('name') . ' - ' . get_bloginfo('description');
|
474 |
+
$description = apply_filters('wm_meta_description', $description); // this hook will be removed in the next versions
|
475 |
+
$description = apply_filters('wpmm_meta_description', $description);
|
476 |
+
|
477 |
+
$keywords = __('Maintenance Mode', $this->plugin_slug);
|
478 |
+
$keywords = apply_filters('wm_meta_keywords', $keywords); // this hook will be removed in the next versions
|
479 |
+
$keywords = apply_filters('wpmm_meta_keywords', $keywords);
|
480 |
+
|
481 |
+
// CSS STUFF
|
482 |
+
$body_classes = !empty($this->plugin_settings['design']['bg_type']) && $this->plugin_settings['design']['bg_type'] != 'color' ? 'background' : '';
|
483 |
+
$custom_css_design = !empty($this->plugin_settings['design']['custom_css']) && is_array($this->plugin_settings['design']['custom_css']) ? $this->plugin_settings['design']['custom_css'] : array();
|
484 |
+
$custom_css_modules = !empty($this->plugin_settings['modules']['custom_css']) && is_array($this->plugin_settings['modules']['custom_css']) ? $this->plugin_settings['modules']['custom_css'] : array();
|
485 |
+
$custom_css = array_merge($custom_css_design, $custom_css_modules);
|
486 |
+
|
487 |
+
// CONTENT
|
488 |
+
$heading = !empty($this->plugin_settings['design']['heading']) ? $this->plugin_settings['design']['heading'] : '';
|
489 |
+
$heading = apply_filters('wm_heading', $heading); // this hook will be removed in the next versions
|
490 |
+
$heading = apply_filters('wpmm_heading', $heading);
|
491 |
+
|
492 |
+
$text = !empty($this->plugin_settings['design']['text']) ? $this->plugin_settings['design']['text'] : '';
|
493 |
+
$text = apply_filters('wpmm_text', do_shortcode($text));
|
494 |
+
|
495 |
+
// COUNTDOWN
|
496 |
+
$countdown_start = !empty($this->plugin_settings['modules']['countdown_start']) ? $this->plugin_settings['modules']['countdown_start'] : $this->plugin_settings['general']['status_data'];
|
497 |
+
$countdown_end = strtotime($countdown_start . ' +' . $backtime_seconds . ' seconds');
|
498 |
+
|
499 |
+
// JS FILES
|
500 |
+
$wp_scripts = wp_scripts();
|
501 |
+
|
502 |
+
$scripts = array(
|
503 |
+
'jquery' => !empty($wp_scripts->registered['jquery-core']) ? site_url($wp_scripts->registered['jquery-core']->src) : '//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery' . WPMM_ASSETS_SUFFIX . '.js',
|
504 |
+
'frontend' => WPMM_JS_URL . 'scripts' . WPMM_ASSETS_SUFFIX . '.js'
|
505 |
+
);
|
506 |
+
if (!empty($this->plugin_settings['modules']['countdown_status']) && $this->plugin_settings['modules']['countdown_status'] == 1) {
|
507 |
+
$scripts['countdown-dependency'] = WPMM_JS_URL . 'jquery.plugin' . WPMM_ASSETS_SUFFIX . '.js';
|
508 |
+
$scripts['countdown'] = WPMM_JS_URL . 'jquery.countdown' . WPMM_ASSETS_SUFFIX . '.js';
|
509 |
+
}
|
510 |
+
if ((!empty($this->plugin_settings['modules']['contact_status']) && $this->plugin_settings['modules']['contact_status'] == 1) || (!empty($this->plugin_settings['modules']['subscribe_status']) && $this->plugin_settings['modules']['subscribe_status'] == 1)) {
|
511 |
+
$scripts['validate'] = WPMM_JS_URL . 'jquery.validate' . WPMM_ASSETS_SUFFIX . '.js';
|
512 |
+
}
|
513 |
+
$scripts = apply_filters('wpmm_scripts', $scripts);
|
514 |
+
|
515 |
+
// CSS FILES
|
516 |
+
$styles = array(
|
517 |
+
'frontend' => WPMM_CSS_URL . 'style' . WPMM_ASSETS_SUFFIX . '.css'
|
518 |
+
);
|
519 |
+
$styles = apply_filters('wpmm_styles', $styles);
|
520 |
+
|
521 |
+
nocache_headers();
|
522 |
+
ob_start();
|
523 |
+
header("Content-type: text/html; charset=$charset");
|
524 |
+
header("$protocol $status_code Service Unavailable", TRUE, $status_code);
|
525 |
+
header("Retry-After: $backtime");
|
526 |
+
|
527 |
+
if (file_exists(WP_CONTENT_DIR . '/wp-maintenance-mode.php')) {
|
528 |
+
include_once(WP_CONTENT_DIR . '/wp-maintenance-mode.php');
|
529 |
+
} else {
|
530 |
+
include_once(WPMM_VIEWS_PATH . 'maintenance.php');
|
531 |
+
}
|
532 |
+
ob_flush();
|
533 |
+
|
534 |
+
exit();
|
535 |
+
}
|
536 |
+
}
|
537 |
+
|
538 |
+
/**
|
539 |
+
* Check if the current user has access to backend / frontend based on his role compared with role from settings (refactor @ 2.0.4)
|
540 |
+
*
|
541 |
+
* @since 2.0.0
|
542 |
+
* @return boolean
|
543 |
+
*/
|
544 |
+
public function check_user_role() {
|
545 |
+
// check super admin (when multisite is activated) / check admin (when multisite is not activated)
|
546 |
+
if (is_super_admin()) {
|
547 |
+
return true;
|
548 |
+
}
|
549 |
+
|
550 |
+
$user = wp_get_current_user();
|
551 |
+
$user_roles = !empty($user->roles) && is_array($user->roles) ? $user->roles : array();
|
552 |
+
$allowed_roles = is_admin() ? (array) $this->plugin_settings['general']['backend_role'] : (array) $this->plugin_settings['general']['frontend_role'];
|
553 |
+
|
554 |
+
// add `administrator` role when multisite is activated and the admin of a blog is trying to access his blog
|
555 |
+
if (is_multisite()) {
|
556 |
+
array_push($allowed_roles, 'administrator');
|
557 |
+
}
|
558 |
+
|
559 |
+
$is_allowed = (bool) array_intersect($user_roles, $allowed_roles);
|
560 |
+
|
561 |
+
return $is_allowed;
|
562 |
+
}
|
563 |
+
|
564 |
+
/**
|
565 |
+
* Calculate backtime based on countdown remaining time if it is activated
|
566 |
+
*
|
567 |
+
* @since 2.0.0
|
568 |
+
* @return int
|
569 |
+
*/
|
570 |
+
public function calculate_backtime() {
|
571 |
+
$backtime = 3600;
|
572 |
+
|
573 |
+
if (!empty($this->plugin_settings['modules']['countdown_status']) && $this->plugin_settings['modules']['countdown_status'] == 1) {
|
574 |
+
$backtime = ($this->plugin_settings['modules']['countdown_details']['days'] * DAY_IN_SECONDS) + ($this->plugin_settings['modules']['countdown_details']['hours'] * HOUR_IN_SECONDS) + ($this->plugin_settings['modules']['countdown_details']['minutes'] * MINUTE_IN_SECONDS);
|
575 |
+
}
|
576 |
+
|
577 |
+
return $backtime;
|
578 |
+
}
|
579 |
+
|
580 |
+
/**
|
581 |
+
* Check if the visitor is a bot (using useragent)
|
582 |
+
*
|
583 |
+
* @since 2.0.0
|
584 |
+
* @return boolean
|
585 |
+
*/
|
586 |
+
public function check_search_bots() {
|
587 |
+
$is_search_bots = false;
|
588 |
+
|
589 |
+
if (!empty($this->plugin_settings['general']['bypass_bots']) && $this->plugin_settings['general']['bypass_bots'] == 1) {
|
590 |
+
$bots = apply_filters('wpmm_search_bots', array(
|
591 |
+
'Abacho' => 'AbachoBOT',
|
592 |
+
'Accoona' => 'Acoon',
|
593 |
+
'AcoiRobot' => 'AcoiRobot',
|
594 |
+
'Adidxbot' => 'adidxbot',
|
595 |
+
'AltaVista robot' => 'Altavista',
|
596 |
+
'Altavista robot' => 'Scooter',
|
597 |
+
'ASPSeek' => 'ASPSeek',
|
598 |
+
'Atomz' => 'Atomz',
|
599 |
+
'Bing' => 'bingbot',
|
600 |
+
'BingPreview' => 'BingPreview',
|
601 |
+
'CrocCrawler' => 'CrocCrawler',
|
602 |
+
'Dumbot' => 'Dumbot',
|
603 |
+
'eStyle Bot' => 'eStyle',
|
604 |
+
'FAST-WebCrawler' => 'FAST-WebCrawler',
|
605 |
+
'GeonaBot' => 'GeonaBot',
|
606 |
+
'Gigabot' => 'Gigabot',
|
607 |
+
'Google' => 'Googlebot',
|
608 |
+
'ID-Search Bot' => 'IDBot',
|
609 |
+
'Lycos spider' => 'Lycos',
|
610 |
+
'MSN' => 'msnbot',
|
611 |
+
'MSRBOT' => 'MSRBOT',
|
612 |
+
'Rambler' => 'Rambler',
|
613 |
+
'Scrubby robot' => 'Scrubby',
|
614 |
+
'Yahoo' => 'Yahoo'
|
615 |
+
));
|
616 |
+
|
617 |
+
$is_search_bots = (bool) preg_match('~(' . implode('|', array_values($bots)) . ')~i', $_SERVER['HTTP_USER_AGENT']);
|
618 |
+
}
|
619 |
+
|
620 |
+
return $is_search_bots;
|
621 |
+
}
|
622 |
+
|
623 |
+
/**
|
624 |
+
* Check if slug / ip address exists in exclude list
|
625 |
+
*
|
626 |
+
* @since 2.0.0
|
627 |
+
* @return boolean
|
628 |
+
*/
|
629 |
+
public function check_exclude() {
|
630 |
+
$is_excluded = false;
|
631 |
+
$excluded_list = array();
|
632 |
+
|
633 |
+
if (!empty($this->plugin_settings['general']['exclude']) && is_array($this->plugin_settings['general']['exclude'])) {
|
634 |
+
$excluded_list = $this->plugin_settings['general']['exclude'];
|
635 |
+
|
636 |
+
foreach ($excluded_list as $item) {
|
637 |
+
if (empty($item)) { // just to be sure :-)
|
638 |
+
continue;
|
639 |
+
}
|
640 |
+
|
641 |
+
if ((!empty($_SERVER['REMOTE_ADDR']) && strstr($_SERVER['REMOTE_ADDR'], $item)) || (!empty($_SERVER['REQUEST_URI']) && strstr($_SERVER['REQUEST_URI'], $item))) {
|
642 |
+
$is_excluded = true;
|
643 |
+
break;
|
644 |
+
}
|
645 |
+
}
|
646 |
+
}
|
647 |
+
|
648 |
+
$is_excluded = apply_filters('wpmm_is_excluded', $is_excluded, $excluded_list);
|
649 |
+
|
650 |
+
return $is_excluded;
|
651 |
+
}
|
652 |
+
|
653 |
+
/**
|
654 |
+
* Redirect if "Redirection" option is used and users don't have access to WordPress dashboard
|
655 |
+
*
|
656 |
+
* @since 2.0.0
|
657 |
+
* @return null
|
658 |
+
*/
|
659 |
+
public function redirect() {
|
660 |
+
// we do not redirect if there's nothing saved in "redirect" input
|
661 |
+
if (empty($this->plugin_settings['general']['redirection'])) {
|
662 |
+
return NULL;
|
663 |
+
}
|
664 |
+
|
665 |
+
// we do not redirect ajax calls
|
666 |
+
if ((defined('DOING_AJAX') && DOING_AJAX)) {
|
667 |
+
return NULL;
|
668 |
+
}
|
669 |
+
|
670 |
+
// we do not redirect visitors or logged-in users that are not using /wp-admin/
|
671 |
+
if (!is_user_logged_in() || !is_admin()) {
|
672 |
+
return NULL;
|
673 |
+
}
|
674 |
+
|
675 |
+
// we do not redirect users that have access to backend
|
676 |
+
if ($this->check_user_role()) {
|
677 |
+
return NULL;
|
678 |
+
}
|
679 |
+
|
680 |
+
$redirect_to = stripslashes($this->plugin_settings['general']['redirection']);
|
681 |
+
wp_redirect($redirect_to);
|
682 |
+
exit;
|
683 |
+
}
|
684 |
+
|
685 |
+
/**
|
686 |
+
* Google Analytics code
|
687 |
+
*
|
688 |
+
* @since 2.0.7
|
689 |
+
*/
|
690 |
+
public function google_analytics_code() {
|
691 |
+
// check if module is activated and code exists
|
692 |
+
if (
|
693 |
+
empty($this->plugin_settings['modules']['ga_status']) ||
|
694 |
+
$this->plugin_settings['modules']['ga_status'] != 1 ||
|
695 |
+
empty($this->plugin_settings['modules']['ga_code'])
|
696 |
+
) {
|
697 |
+
return false;
|
698 |
+
}
|
699 |
+
|
700 |
+
// sanitize code
|
701 |
+
$ga_code = wpmm_sanitize_ga_code($this->plugin_settings['modules']['ga_code']);
|
702 |
+
if (empty($ga_code)) {
|
703 |
+
return false;
|
704 |
+
}
|
705 |
+
|
706 |
+
// show google analytics javascript snippet
|
707 |
+
include_once(WPMM_VIEWS_PATH . 'google-analytics.php');
|
708 |
+
}
|
709 |
+
|
710 |
+
/**
|
711 |
+
* Save subscriber into database (refactor @ 2.0.4)
|
712 |
+
*
|
713 |
+
* @since 2.0.0
|
714 |
+
* @global object $wpdb
|
715 |
+
* @throws Exception
|
716 |
+
*/
|
717 |
+
public function add_subscriber() {
|
718 |
+
global $wpdb;
|
719 |
+
|
720 |
+
try {
|
721 |
+
$_POST = array_map('trim', $_POST);
|
722 |
+
|
723 |
+
// checks
|
724 |
+
if (empty($_POST['email']) || !is_email($_POST['email'])) {
|
725 |
+
throw new Exception(__('Please enter a valid email address.', $this->plugin_slug));
|
726 |
+
}
|
727 |
+
|
728 |
+
// save
|
729 |
+
$exists = $wpdb->get_row($wpdb->prepare("SELECT id_subscriber FROM {$wpdb->prefix}wpmm_subscribers WHERE email = %s", sanitize_text_field($_POST['email'])), ARRAY_A);
|
730 |
+
if (empty($exists)) {
|
731 |
+
$wpdb->insert($wpdb->prefix . 'wpmm_subscribers', array(
|
732 |
+
'email' => sanitize_text_field($_POST['email']),
|
733 |
+
'insert_date' => date('Y-m-d H:i:s')
|
734 |
+
), array('%s', '%s'));
|
735 |
+
}
|
736 |
+
|
737 |
+
wp_send_json_success(__('You successfully subscribed. Thanks!', $this->plugin_slug));
|
738 |
+
} catch (Exception $ex) {
|
739 |
+
wp_send_json_error($ex->getMessage());
|
740 |
+
}
|
741 |
+
}
|
742 |
+
|
743 |
+
/**
|
744 |
+
* Send email via contact form (refactor @ 2.0.4)
|
745 |
+
*
|
746 |
+
* @since 2.0.0
|
747 |
+
* @throws Exception
|
748 |
+
*/
|
749 |
+
public function send_contact() {
|
750 |
+
try {
|
751 |
+
$_POST = array_map('trim', $_POST);
|
752 |
+
|
753 |
+
// checks
|
754 |
+
if (empty($_POST['name']) || empty($_POST['email']) || empty($_POST['content'])) {
|
755 |
+
throw new Exception(__('All fields required.', $this->plugin_slug));
|
756 |
+
}
|
757 |
+
|
758 |
+
if (!is_email($_POST['email'])) {
|
759 |
+
throw new Exception(__('Please enter a valid email address.', $this->plugin_slug));
|
760 |
+
}
|
761 |
+
|
762 |
+
// vars
|
763 |
+
$send_to = !empty($this->plugin_settings['modules']['contact_email']) ? stripslashes($this->plugin_settings['modules']['contact_email']) : get_option('admin_email');
|
764 |
+
$subject = apply_filters('wpmm_contact_subject', __('Message via contact', $this->plugin_slug));
|
765 |
+
$headers = apply_filters('wpmm_contact_headers', array('Reply-To: ' . sanitize_text_field($_POST['email'])));
|
766 |
+
$template_path = apply_filters('wpmm_contact_template', WPMM_VIEWS_PATH . 'contact.php');
|
767 |
+
|
768 |
+
ob_start();
|
769 |
+
include_once($template_path);
|
770 |
+
$message = ob_get_clean();
|
771 |
+
|
772 |
+
// filters
|
773 |
+
add_filter('wp_mail_content_type', create_function('', 'return "text/html";'));
|
774 |
+
add_filter('wp_mail_from_name', create_function('', 'return sanitize_text_field($_POST["name"]);'));
|
775 |
+
|
776 |
+
// send email
|
777 |
+
@wp_mail($send_to, $subject, $message, $headers);
|
778 |
+
wp_send_json_success(__('Your email was sent to the website administrator. Thanks!', $this->plugin_slug));
|
779 |
+
} catch (Exception $ex) {
|
780 |
+
wp_send_json_error($ex->getMessage());
|
781 |
+
}
|
782 |
+
}
|
783 |
+
|
784 |
+
}
|
785 |
|
786 |
}
|
includes/functions/helpers.php
CHANGED
@@ -8,10 +8,10 @@
|
|
8 |
* @return array
|
9 |
*/
|
10 |
function wpmm_plugin_info($plugin_slug) {
|
11 |
-
|
12 |
-
|
13 |
|
14 |
-
|
15 |
}
|
16 |
|
17 |
/**
|
@@ -26,21 +26,21 @@ function wpmm_plugin_info($plugin_slug) {
|
|
26 |
* @param array $where eg: array('id_subscriber = %d' => 12)
|
27 |
*/
|
28 |
function wpmm_count_where($table, $field = 'ID', $where = array()) {
|
29 |
-
|
30 |
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
|
41 |
-
|
42 |
|
43 |
-
|
44 |
}
|
45 |
|
46 |
/**
|
@@ -53,13 +53,13 @@ function wpmm_count_where($table, $field = 'ID', $where = array()) {
|
|
53 |
* @return string html attribute or empty string
|
54 |
*/
|
55 |
function wpmm_multiselect($values, $current) {
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
}
|
64 |
|
65 |
/**
|
@@ -69,39 +69,50 @@ function wpmm_multiselect($values, $current) {
|
|
69 |
* @return array
|
70 |
*/
|
71 |
function wpmm_get_banners() {
|
72 |
-
|
73 |
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
}
|
106 |
|
107 |
/**
|
@@ -116,7 +127,30 @@ function wpmm_get_banners() {
|
|
116 |
* @return string
|
117 |
*/
|
118 |
function wpmm_sanitize_ga_code($string) {
|
119 |
-
|
120 |
-
|
121 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
8 |
* @return array
|
9 |
*/
|
10 |
function wpmm_plugin_info($plugin_slug) {
|
11 |
+
add_filter('extra_plugin_headers', create_function('', 'return array("GitHub Plugin URI","Twitter");'));
|
12 |
+
$plugin_data = get_plugin_data(WPMM_PATH . $plugin_slug . '.php');
|
13 |
|
14 |
+
return $plugin_data;
|
15 |
}
|
16 |
|
17 |
/**
|
26 |
* @param array $where eg: array('id_subscriber = %d' => 12)
|
27 |
*/
|
28 |
function wpmm_count_where($table, $field = 'ID', $where = array()) {
|
29 |
+
global $wpdb;
|
30 |
|
31 |
+
$table = $wpdb->prefix . $table;
|
32 |
+
$where_keys = array_keys($where);
|
33 |
+
$where_values = array_values($where);
|
34 |
|
35 |
+
if (!empty($where)) {
|
36 |
+
$query = $wpdb->prepare("SELECT COUNT({$field}) FROM {$table} WHERE " . implode(' AND ', $where_keys), $where_values);
|
37 |
+
} else {
|
38 |
+
$query = "SELECT COUNT({$field}) FROM {$table}";
|
39 |
+
}
|
40 |
|
41 |
+
$count = $wpdb->get_var($query);
|
42 |
|
43 |
+
return intval($count);
|
44 |
}
|
45 |
|
46 |
/**
|
53 |
* @return string html attribute or empty string
|
54 |
*/
|
55 |
function wpmm_multiselect($values, $current) {
|
56 |
+
foreach ($values as $k => $role) {
|
57 |
+
$is_selected = __checked_selected_helper($role, $current, false, 'selected');
|
58 |
+
if (!empty($is_selected)) {
|
59 |
+
return $is_selected;
|
60 |
+
break;
|
61 |
+
}
|
62 |
+
}
|
63 |
}
|
64 |
|
65 |
/**
|
69 |
* @return array
|
70 |
*/
|
71 |
function wpmm_get_banners() {
|
72 |
+
$banners_path = WPMM_URL . 'assets/images/resources/';
|
73 |
|
74 |
+
return array(
|
75 |
+
'product' => array(
|
76 |
+
array(
|
77 |
+
'title' => 'Themify Builder',
|
78 |
+
'link' => 'https://themify.me/member/aff/go/maintenance_mode_ad/?cr=aHR0cHM6Ly90aGVtaWZ5Lm1lL2J1aWxkZXI=',
|
79 |
+
'image' => $banners_path . 'themify.jpg',
|
80 |
+
'utm' => false
|
81 |
+
),
|
82 |
+
array(
|
83 |
+
'title' => 'Slides',
|
84 |
+
'link' => 'http://designmodo.com/slides/',
|
85 |
+
'image' => $banners_path . 'slides.jpg',
|
86 |
+
'utm' => true
|
87 |
+
),
|
88 |
+
array(
|
89 |
+
'title' => 'Qards',
|
90 |
+
'link' => 'http://designmodo.com/qards/',
|
91 |
+
'image' => $banners_path . 'qards.jpg',
|
92 |
+
'utm' => true
|
93 |
+
)
|
94 |
+
),
|
95 |
+
'resource' => array(
|
96 |
+
array(
|
97 |
+
'title' => 'Free WordPress Theme',
|
98 |
+
'link' => 'http://designmodo.com/free-wordpress-theme/',
|
99 |
+
'image' => $banners_path . 'ayoshop.jpg',
|
100 |
+
'utm' => true
|
101 |
+
),
|
102 |
+
array(
|
103 |
+
'title' => 'Linecons',
|
104 |
+
'link' => 'http://designmodo.com/linecons-free/',
|
105 |
+
'image' => $banners_path . 'linecons.jpg',
|
106 |
+
'utm' => true
|
107 |
+
),
|
108 |
+
array(
|
109 |
+
'title' => 'Flat UI Free',
|
110 |
+
'link' => 'http://designmodo.com/flat-free/',
|
111 |
+
'image' => $banners_path . 'flatui.jpg',
|
112 |
+
'utm' => true
|
113 |
+
)
|
114 |
+
)
|
115 |
+
);
|
116 |
}
|
117 |
|
118 |
/**
|
127 |
* @return string
|
128 |
*/
|
129 |
function wpmm_sanitize_ga_code($string) {
|
130 |
+
preg_match('/UA-\d{4,10}(-\d{1,4})?/', $string, $matches);
|
131 |
+
|
132 |
+
return isset($matches[0]) ? $matches[0] : '';
|
133 |
+
}
|
134 |
+
|
135 |
+
if (!function_exists('wp_scripts')) {
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Initialize $wp_scripts if it has not been set.
|
139 |
+
*
|
140 |
+
* (to maintain backward compatibility for those with WP < 4.2.0)
|
141 |
+
*
|
142 |
+
* @since 2.0.8
|
143 |
+
* @global WP_Scripts $wp_scripts
|
144 |
+
* @return WP_Scripts instance
|
145 |
+
*/
|
146 |
+
function wp_scripts() {
|
147 |
+
global $wp_scripts;
|
148 |
+
|
149 |
+
if (!( $wp_scripts instanceof WP_Scripts )) {
|
150 |
+
$wp_scripts = new WP_Scripts();
|
151 |
+
}
|
152 |
+
|
153 |
+
return $wp_scripts;
|
154 |
+
}
|
155 |
+
|
156 |
}
|
languages/wp-maintenance-mode-de_DE.mo
CHANGED
Binary file
|
languages/wp-maintenance-mode-de_DE.po
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: WP Maintenance Mode 2.0.
|
4 |
"POT-Creation-Date: 2016-07-06 14:07+0300\n"
|
5 |
"PO-Revision-Date: \n"
|
6 |
"Last-Translator: \n"
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: WP Maintenance Mode 2.0.8\n"
|
4 |
"POT-Creation-Date: 2016-07-06 14:07+0300\n"
|
5 |
"PO-Revision-Date: \n"
|
6 |
"Last-Translator: \n"
|
languages/wp-maintenance-mode-en_US.mo
CHANGED
Binary file
|
languages/wp-maintenance-mode-en_US.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: WP Maintenance Mode 2.0.
|
4 |
"POT-Creation-Date: 2016-07-06 14:07+0300\n"
|
5 |
-
"PO-Revision-Date: 2016-
|
6 |
"Last-Translator: Maciej Gryniuk <maciejka45@gmail.com>\n"
|
7 |
"Language-Team: Designmodo <info@designmodo.com>\n"
|
8 |
"Language: en\n"
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: WP Maintenance Mode 2.0.8\n"
|
4 |
"POT-Creation-Date: 2016-07-06 14:07+0300\n"
|
5 |
+
"PO-Revision-Date: 2016-09-09 18:21+0300\n"
|
6 |
"Last-Translator: Maciej Gryniuk <maciejka45@gmail.com>\n"
|
7 |
"Language-Team: Designmodo <info@designmodo.com>\n"
|
8 |
"Language: en\n"
|
languages/wp-maintenance-mode-es_ES.mo
CHANGED
Binary file
|
languages/wp-maintenance-mode-es_ES.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: WP Maintenance Mode 2.0.
|
4 |
-
"POT-Creation-Date: 2016-
|
5 |
-
"PO-Revision-Date: 2016-
|
6 |
"Last-Translator: Erick Ruiz de Chavez <erick@erch.co>\n"
|
7 |
"Language-Team: Designmodo <info@designmodo.com>\n"
|
8 |
"Language: es_ES\n"
|
@@ -20,43 +20,43 @@ msgstr ""
|
|
20 |
"X-Poedit-SearchPath-1: includes/classes\n"
|
21 |
"X-Poedit-SearchPath-2: views\n"
|
22 |
|
23 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
24 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
25 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
26 |
msgid "You do not have access to this resource."
|
27 |
msgstr ""
|
28 |
|
29 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
30 |
#, php-format
|
31 |
msgid "You have %d subscriber(s)"
|
32 |
msgstr "Hay %d suscriptor(es)"
|
33 |
|
34 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
35 |
msgid "The nonce field must not be empty."
|
36 |
msgstr ""
|
37 |
|
38 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
39 |
msgid "The tab slug must not be empty."
|
40 |
msgstr ""
|
41 |
|
42 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
43 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
44 |
msgid "Security check."
|
45 |
msgstr ""
|
46 |
|
47 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
48 |
msgid "The tab slug must exist."
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
52 |
msgid "WP Maintenance Mode"
|
53 |
msgstr "Modo de Mantenimiento WP"
|
54 |
|
55 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
56 |
msgid "Settings"
|
57 |
msgstr "Ajustes"
|
58 |
|
59 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
60 |
#, php-format
|
61 |
msgid ""
|
62 |
"The Maintenance Mode is <strong>active</strong>. Please don't forget to <a "
|
@@ -65,11 +65,11 @@ msgstr ""
|
|
65 |
"El modo de mantenimiento está <strong>activo</strong>. Por favor no olvides "
|
66 |
"<a href=\"%s\">desactivarlo</a> tan pronto como termines."
|
67 |
|
68 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
69 |
msgid "Notice key cannot be empty."
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
73 |
#, php-format
|
74 |
msgid ""
|
75 |
"If you like <strong>WP Maintenance Mode</strong> please leave us a %s "
|
@@ -102,29 +102,29 @@ msgstr ""
|
|
102 |
"El plugin Modo de Mantenimiento WP fue reactivado y es NECESARIO que revises "
|
103 |
"los <a href=\"%s\">ajustes</a>."
|
104 |
|
105 |
-
#: includes/classes/wp-maintenance-mode.php:
|
106 |
-
#: includes/classes/wp-maintenance-mode.php:
|
107 |
msgid "Maintenance Mode"
|
108 |
msgstr "Modo de Mantenimiento"
|
109 |
|
110 |
-
#: includes/classes/wp-maintenance-mode.php:
|
111 |
-
#: includes/classes/wp-maintenance-mode.php:
|
112 |
msgid "Please enter a valid email address."
|
113 |
msgstr "Por favor usa una dirección de correo electrónico valida."
|
114 |
|
115 |
-
#: includes/classes/wp-maintenance-mode.php:
|
116 |
msgid "You successfully subscribed. Thanks!"
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: includes/classes/wp-maintenance-mode.php:
|
120 |
msgid "All fields required."
|
121 |
msgstr "Todos los campos son obligatorios."
|
122 |
|
123 |
-
#: includes/classes/wp-maintenance-mode.php:
|
124 |
msgid "Message via contact"
|
125 |
msgstr "Mensaje vía formulario de contacto."
|
126 |
|
127 |
-
#: includes/classes/wp-maintenance-mode.php:
|
128 |
msgid "Your email was sent to the website administrator. Thanks!"
|
129 |
msgstr "Tu mensaje ha sido enviado al administrador. ¡Muchas gracias!"
|
130 |
|
@@ -517,7 +517,7 @@ msgstr "GitHub"
|
|
517 |
msgid "Other products"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: views/sidebar.php:
|
521 |
msgid "Resources"
|
522 |
msgstr "Recursos"
|
523 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: WP Maintenance Mode 2.0.8\n"
|
4 |
+
"POT-Creation-Date: 2016-09-09 18:22+0300\n"
|
5 |
+
"PO-Revision-Date: 2016-09-09 18:22+0300\n"
|
6 |
"Last-Translator: Erick Ruiz de Chavez <erick@erch.co>\n"
|
7 |
"Language-Team: Designmodo <info@designmodo.com>\n"
|
8 |
"Language: es_ES\n"
|
20 |
"X-Poedit-SearchPath-1: includes/classes\n"
|
21 |
"X-Poedit-SearchPath-2: views\n"
|
22 |
|
23 |
+
#: includes/classes/wp-maintenance-mode-admin.php:121
|
24 |
+
#: includes/classes/wp-maintenance-mode-admin.php:159
|
25 |
+
#: includes/classes/wp-maintenance-mode-admin.php:181
|
26 |
msgid "You do not have access to this resource."
|
27 |
msgstr ""
|
28 |
|
29 |
+
#: includes/classes/wp-maintenance-mode-admin.php:165 views/settings.php:295
|
30 |
#, php-format
|
31 |
msgid "You have %d subscriber(s)"
|
32 |
msgstr "Hay %d suscriptor(es)"
|
33 |
|
34 |
+
#: includes/classes/wp-maintenance-mode-admin.php:186
|
35 |
msgid "The nonce field must not be empty."
|
36 |
msgstr ""
|
37 |
|
38 |
+
#: includes/classes/wp-maintenance-mode-admin.php:191
|
39 |
msgid "The tab slug must not be empty."
|
40 |
msgstr ""
|
41 |
|
42 |
+
#: includes/classes/wp-maintenance-mode-admin.php:196
|
43 |
+
#: includes/classes/wp-maintenance-mode-admin.php:250
|
44 |
msgid "Security check."
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: includes/classes/wp-maintenance-mode-admin.php:202
|
48 |
msgid "The tab slug must exist."
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: includes/classes/wp-maintenance-mode-admin.php:222
|
52 |
msgid "WP Maintenance Mode"
|
53 |
msgstr "Modo de Mantenimiento WP"
|
54 |
|
55 |
+
#: includes/classes/wp-maintenance-mode-admin.php:436
|
56 |
msgid "Settings"
|
57 |
msgstr "Ajustes"
|
58 |
|
59 |
+
#: includes/classes/wp-maintenance-mode-admin.php:455
|
60 |
#, php-format
|
61 |
msgid ""
|
62 |
"The Maintenance Mode is <strong>active</strong>. Please don't forget to <a "
|
65 |
"El modo de mantenimiento está <strong>activo</strong>. Por favor no olvides "
|
66 |
"<a href=\"%s\">desactivarlo</a> tan pronto como termines."
|
67 |
|
68 |
+
#: includes/classes/wp-maintenance-mode-admin.php:492
|
69 |
msgid "Notice key cannot be empty."
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: includes/classes/wp-maintenance-mode-admin.php:540
|
73 |
#, php-format
|
74 |
msgid ""
|
75 |
"If you like <strong>WP Maintenance Mode</strong> please leave us a %s "
|
102 |
"El plugin Modo de Mantenimiento WP fue reactivado y es NECESARIO que revises "
|
103 |
"los <a href=\"%s\">ajustes</a>."
|
104 |
|
105 |
+
#: includes/classes/wp-maintenance-mode.php:463
|
106 |
+
#: includes/classes/wp-maintenance-mode.php:477
|
107 |
msgid "Maintenance Mode"
|
108 |
msgstr "Modo de Mantenimiento"
|
109 |
|
110 |
+
#: includes/classes/wp-maintenance-mode.php:725
|
111 |
+
#: includes/classes/wp-maintenance-mode.php:759 views/maintenance.php:85
|
112 |
msgid "Please enter a valid email address."
|
113 |
msgstr "Por favor usa una dirección de correo electrónico valida."
|
114 |
|
115 |
+
#: includes/classes/wp-maintenance-mode.php:737
|
116 |
msgid "You successfully subscribed. Thanks!"
|
117 |
msgstr ""
|
118 |
|
119 |
+
#: includes/classes/wp-maintenance-mode.php:755
|
120 |
msgid "All fields required."
|
121 |
msgstr "Todos los campos son obligatorios."
|
122 |
|
123 |
+
#: includes/classes/wp-maintenance-mode.php:764
|
124 |
msgid "Message via contact"
|
125 |
msgstr "Mensaje vía formulario de contacto."
|
126 |
|
127 |
+
#: includes/classes/wp-maintenance-mode.php:778
|
128 |
msgid "Your email was sent to the website administrator. Thanks!"
|
129 |
msgstr "Tu mensaje ha sido enviado al administrador. ¡Muchas gracias!"
|
130 |
|
517 |
msgid "Other products"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: views/sidebar.php:48
|
521 |
msgid "Resources"
|
522 |
msgstr "Recursos"
|
523 |
|
languages/wp-maintenance-mode-fa_IR.mo
CHANGED
Binary file
|
languages/wp-maintenance-mode-fa_IR.po
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: WP Maintenance Mode 2.0.
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2016-
|
6 |
-
"PO-Revision-Date: 2016-
|
7 |
"Last-Translator: Milad Nekofar <milad@nekofar.com>\n"
|
8 |
"Language-Team: Milad Nekofar <milad@nekofar.com>\n"
|
9 |
"Language: fa\n"
|
@@ -23,43 +23,43 @@ msgstr ""
|
|
23 |
"X-Poedit-SearchPath-1: includes/classes\n"
|
24 |
"X-Poedit-SearchPath-2: views\n"
|
25 |
|
26 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
27 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
28 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
29 |
msgid "You do not have access to this resource."
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
33 |
#, php-format
|
34 |
msgid "You have %d subscriber(s)"
|
35 |
msgstr ""
|
36 |
|
37 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
38 |
msgid "The nonce field must not be empty."
|
39 |
msgstr ""
|
40 |
|
41 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
42 |
msgid "The tab slug must not be empty."
|
43 |
msgstr ""
|
44 |
|
45 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
46 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
47 |
msgid "Security check."
|
48 |
msgstr ""
|
49 |
|
50 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
51 |
msgid "The tab slug must exist."
|
52 |
msgstr ""
|
53 |
|
54 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
55 |
msgid "WP Maintenance Mode"
|
56 |
msgstr "حالت تعمیر و نگهداری"
|
57 |
|
58 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
59 |
msgid "Settings"
|
60 |
msgstr "تنظیمات"
|
61 |
|
62 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
63 |
#, php-format
|
64 |
msgid ""
|
65 |
"The Maintenance Mode is <strong>active</strong>. Please don't forget to <a "
|
@@ -68,11 +68,11 @@ msgstr ""
|
|
68 |
"حالت حالت تعمیر و نگهداری <strong>فعال</strong> است. فراموش نکنید که در "
|
69 |
"اولین فرصت ممکن ان را <a href=\"%s\">غیرفعال</a> کنید."
|
70 |
|
71 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
72 |
msgid "Notice key cannot be empty."
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
76 |
#, php-format
|
77 |
msgid ""
|
78 |
"If you like <strong>WP Maintenance Mode</strong> please leave us a %s "
|
@@ -101,29 +101,29 @@ msgid ""
|
|
101 |
"\">settings</a>."
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: includes/classes/wp-maintenance-mode.php:
|
105 |
-
#: includes/classes/wp-maintenance-mode.php:
|
106 |
msgid "Maintenance Mode"
|
107 |
msgstr "حالت تعمیر و نگهداری"
|
108 |
|
109 |
-
#: includes/classes/wp-maintenance-mode.php:
|
110 |
-
#: includes/classes/wp-maintenance-mode.php:
|
111 |
msgid "Please enter a valid email address."
|
112 |
msgstr "لطفا ایمیل آدرس معتبر وارد نمایید."
|
113 |
|
114 |
-
#: includes/classes/wp-maintenance-mode.php:
|
115 |
msgid "You successfully subscribed. Thanks!"
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: includes/classes/wp-maintenance-mode.php:
|
119 |
msgid "All fields required."
|
120 |
msgstr "تمام فیلد ها لازم است."
|
121 |
|
122 |
-
#: includes/classes/wp-maintenance-mode.php:
|
123 |
msgid "Message via contact"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: includes/classes/wp-maintenance-mode.php:
|
127 |
msgid "Your email was sent to the website administrator. Thanks!"
|
128 |
msgstr ""
|
129 |
|
@@ -511,7 +511,7 @@ msgstr "گیتهاب"
|
|
511 |
msgid "Other products"
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: views/sidebar.php:
|
515 |
msgid "Resources"
|
516 |
msgstr "منابع"
|
517 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: WP Maintenance Mode 2.0.8\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2016-09-09 18:22+0300\n"
|
6 |
+
"PO-Revision-Date: 2016-09-09 18:22+0300\n"
|
7 |
"Last-Translator: Milad Nekofar <milad@nekofar.com>\n"
|
8 |
"Language-Team: Milad Nekofar <milad@nekofar.com>\n"
|
9 |
"Language: fa\n"
|
23 |
"X-Poedit-SearchPath-1: includes/classes\n"
|
24 |
"X-Poedit-SearchPath-2: views\n"
|
25 |
|
26 |
+
#: includes/classes/wp-maintenance-mode-admin.php:121
|
27 |
+
#: includes/classes/wp-maintenance-mode-admin.php:159
|
28 |
+
#: includes/classes/wp-maintenance-mode-admin.php:181
|
29 |
msgid "You do not have access to this resource."
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: includes/classes/wp-maintenance-mode-admin.php:165 views/settings.php:295
|
33 |
#, php-format
|
34 |
msgid "You have %d subscriber(s)"
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: includes/classes/wp-maintenance-mode-admin.php:186
|
38 |
msgid "The nonce field must not be empty."
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: includes/classes/wp-maintenance-mode-admin.php:191
|
42 |
msgid "The tab slug must not be empty."
|
43 |
msgstr ""
|
44 |
|
45 |
+
#: includes/classes/wp-maintenance-mode-admin.php:196
|
46 |
+
#: includes/classes/wp-maintenance-mode-admin.php:250
|
47 |
msgid "Security check."
|
48 |
msgstr ""
|
49 |
|
50 |
+
#: includes/classes/wp-maintenance-mode-admin.php:202
|
51 |
msgid "The tab slug must exist."
|
52 |
msgstr ""
|
53 |
|
54 |
+
#: includes/classes/wp-maintenance-mode-admin.php:222
|
55 |
msgid "WP Maintenance Mode"
|
56 |
msgstr "حالت تعمیر و نگهداری"
|
57 |
|
58 |
+
#: includes/classes/wp-maintenance-mode-admin.php:436
|
59 |
msgid "Settings"
|
60 |
msgstr "تنظیمات"
|
61 |
|
62 |
+
#: includes/classes/wp-maintenance-mode-admin.php:455
|
63 |
#, php-format
|
64 |
msgid ""
|
65 |
"The Maintenance Mode is <strong>active</strong>. Please don't forget to <a "
|
68 |
"حالت حالت تعمیر و نگهداری <strong>فعال</strong> است. فراموش نکنید که در "
|
69 |
"اولین فرصت ممکن ان را <a href=\"%s\">غیرفعال</a> کنید."
|
70 |
|
71 |
+
#: includes/classes/wp-maintenance-mode-admin.php:492
|
72 |
msgid "Notice key cannot be empty."
|
73 |
msgstr ""
|
74 |
|
75 |
+
#: includes/classes/wp-maintenance-mode-admin.php:540
|
76 |
#, php-format
|
77 |
msgid ""
|
78 |
"If you like <strong>WP Maintenance Mode</strong> please leave us a %s "
|
101 |
"\">settings</a>."
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: includes/classes/wp-maintenance-mode.php:463
|
105 |
+
#: includes/classes/wp-maintenance-mode.php:477
|
106 |
msgid "Maintenance Mode"
|
107 |
msgstr "حالت تعمیر و نگهداری"
|
108 |
|
109 |
+
#: includes/classes/wp-maintenance-mode.php:725
|
110 |
+
#: includes/classes/wp-maintenance-mode.php:759 views/maintenance.php:85
|
111 |
msgid "Please enter a valid email address."
|
112 |
msgstr "لطفا ایمیل آدرس معتبر وارد نمایید."
|
113 |
|
114 |
+
#: includes/classes/wp-maintenance-mode.php:737
|
115 |
msgid "You successfully subscribed. Thanks!"
|
116 |
msgstr ""
|
117 |
|
118 |
+
#: includes/classes/wp-maintenance-mode.php:755
|
119 |
msgid "All fields required."
|
120 |
msgstr "تمام فیلد ها لازم است."
|
121 |
|
122 |
+
#: includes/classes/wp-maintenance-mode.php:764
|
123 |
msgid "Message via contact"
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: includes/classes/wp-maintenance-mode.php:778
|
127 |
msgid "Your email was sent to the website administrator. Thanks!"
|
128 |
msgstr ""
|
129 |
|
511 |
msgid "Other products"
|
512 |
msgstr ""
|
513 |
|
514 |
+
#: views/sidebar.php:48
|
515 |
msgid "Resources"
|
516 |
msgstr "منابع"
|
517 |
|
languages/wp-maintenance-mode-fr_FR.mo
CHANGED
Binary file
|
languages/wp-maintenance-mode-fr_FR.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: WP Maintenance Mode 2.0.
|
4 |
-
"POT-Creation-Date: 2016-
|
5 |
-
"PO-Revision-Date: 2016-
|
6 |
"Last-Translator: Florian TIAR <tflorian91@hotmail.fr>\n"
|
7 |
"Language-Team: Designmodo <info@designmodo.com>\n"
|
8 |
"Language: fr\n"
|
@@ -21,43 +21,43 @@ msgstr ""
|
|
21 |
"X-Poedit-SearchPath-1: includes/classes\n"
|
22 |
"X-Poedit-SearchPath-2: views\n"
|
23 |
|
24 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
25 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
26 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
27 |
msgid "You do not have access to this resource."
|
28 |
msgstr ""
|
29 |
|
30 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
31 |
#, php-format
|
32 |
msgid "You have %d subscriber(s)"
|
33 |
msgstr "Vous avez %d abonné(s)"
|
34 |
|
35 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
36 |
msgid "The nonce field must not be empty."
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
40 |
msgid "The tab slug must not be empty."
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
44 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
45 |
msgid "Security check."
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
49 |
msgid "The tab slug must exist."
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
53 |
msgid "WP Maintenance Mode"
|
54 |
msgstr "WP Maintenance Mode"
|
55 |
|
56 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
57 |
msgid "Settings"
|
58 |
msgstr "Options"
|
59 |
|
60 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
61 |
#, php-format
|
62 |
msgid ""
|
63 |
"The Maintenance Mode is <strong>active</strong>. Please don't forget to <a "
|
@@ -66,11 +66,11 @@ msgstr ""
|
|
66 |
"Le mode Maintenance est <strong>actif</strong>. N'oubliez pas de le <a href="
|
67 |
"\"%s\">désactiver</a> dès que vous avez terminé."
|
68 |
|
69 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
70 |
msgid "Notice key cannot be empty."
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
74 |
#, php-format
|
75 |
msgid ""
|
76 |
"If you like <strong>WP Maintenance Mode</strong> please leave us a %s "
|
@@ -103,29 +103,29 @@ msgstr ""
|
|
103 |
"Le plugin WP Maintenance Mode a été relancé et vous devez redéfinir les <a "
|
104 |
"href=\"%s\">options</a>."
|
105 |
|
106 |
-
#: includes/classes/wp-maintenance-mode.php:
|
107 |
-
#: includes/classes/wp-maintenance-mode.php:
|
108 |
msgid "Maintenance Mode"
|
109 |
msgstr "Maintenance Mode"
|
110 |
|
111 |
-
#: includes/classes/wp-maintenance-mode.php:
|
112 |
-
#: includes/classes/wp-maintenance-mode.php:
|
113 |
msgid "Please enter a valid email address."
|
114 |
msgstr "Veuillez entrer une adresse email valide s'il vous plait."
|
115 |
|
116 |
-
#: includes/classes/wp-maintenance-mode.php:
|
117 |
msgid "You successfully subscribed. Thanks!"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: includes/classes/wp-maintenance-mode.php:
|
121 |
msgid "All fields required."
|
122 |
msgstr "Tous les champs requis."
|
123 |
|
124 |
-
#: includes/classes/wp-maintenance-mode.php:
|
125 |
msgid "Message via contact"
|
126 |
msgstr "Message via contact"
|
127 |
|
128 |
-
#: includes/classes/wp-maintenance-mode.php:
|
129 |
msgid "Your email was sent to the website administrator. Thanks!"
|
130 |
msgstr "Merci ! Votre email a été envoyé au webmaster du site."
|
131 |
|
@@ -519,7 +519,7 @@ msgstr "GitHub"
|
|
519 |
msgid "Other products"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: views/sidebar.php:
|
523 |
msgid "Resources"
|
524 |
msgstr "Resources"
|
525 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: WP Maintenance Mode 2.0.8\n"
|
4 |
+
"POT-Creation-Date: 2016-09-09 18:22+0300\n"
|
5 |
+
"PO-Revision-Date: 2016-09-09 18:22+0300\n"
|
6 |
"Last-Translator: Florian TIAR <tflorian91@hotmail.fr>\n"
|
7 |
"Language-Team: Designmodo <info@designmodo.com>\n"
|
8 |
"Language: fr\n"
|
21 |
"X-Poedit-SearchPath-1: includes/classes\n"
|
22 |
"X-Poedit-SearchPath-2: views\n"
|
23 |
|
24 |
+
#: includes/classes/wp-maintenance-mode-admin.php:121
|
25 |
+
#: includes/classes/wp-maintenance-mode-admin.php:159
|
26 |
+
#: includes/classes/wp-maintenance-mode-admin.php:181
|
27 |
msgid "You do not have access to this resource."
|
28 |
msgstr ""
|
29 |
|
30 |
+
#: includes/classes/wp-maintenance-mode-admin.php:165 views/settings.php:295
|
31 |
#, php-format
|
32 |
msgid "You have %d subscriber(s)"
|
33 |
msgstr "Vous avez %d abonné(s)"
|
34 |
|
35 |
+
#: includes/classes/wp-maintenance-mode-admin.php:186
|
36 |
msgid "The nonce field must not be empty."
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: includes/classes/wp-maintenance-mode-admin.php:191
|
40 |
msgid "The tab slug must not be empty."
|
41 |
msgstr ""
|
42 |
|
43 |
+
#: includes/classes/wp-maintenance-mode-admin.php:196
|
44 |
+
#: includes/classes/wp-maintenance-mode-admin.php:250
|
45 |
msgid "Security check."
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: includes/classes/wp-maintenance-mode-admin.php:202
|
49 |
msgid "The tab slug must exist."
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: includes/classes/wp-maintenance-mode-admin.php:222
|
53 |
msgid "WP Maintenance Mode"
|
54 |
msgstr "WP Maintenance Mode"
|
55 |
|
56 |
+
#: includes/classes/wp-maintenance-mode-admin.php:436
|
57 |
msgid "Settings"
|
58 |
msgstr "Options"
|
59 |
|
60 |
+
#: includes/classes/wp-maintenance-mode-admin.php:455
|
61 |
#, php-format
|
62 |
msgid ""
|
63 |
"The Maintenance Mode is <strong>active</strong>. Please don't forget to <a "
|
66 |
"Le mode Maintenance est <strong>actif</strong>. N'oubliez pas de le <a href="
|
67 |
"\"%s\">désactiver</a> dès que vous avez terminé."
|
68 |
|
69 |
+
#: includes/classes/wp-maintenance-mode-admin.php:492
|
70 |
msgid "Notice key cannot be empty."
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: includes/classes/wp-maintenance-mode-admin.php:540
|
74 |
#, php-format
|
75 |
msgid ""
|
76 |
"If you like <strong>WP Maintenance Mode</strong> please leave us a %s "
|
103 |
"Le plugin WP Maintenance Mode a été relancé et vous devez redéfinir les <a "
|
104 |
"href=\"%s\">options</a>."
|
105 |
|
106 |
+
#: includes/classes/wp-maintenance-mode.php:463
|
107 |
+
#: includes/classes/wp-maintenance-mode.php:477
|
108 |
msgid "Maintenance Mode"
|
109 |
msgstr "Maintenance Mode"
|
110 |
|
111 |
+
#: includes/classes/wp-maintenance-mode.php:725
|
112 |
+
#: includes/classes/wp-maintenance-mode.php:759 views/maintenance.php:85
|
113 |
msgid "Please enter a valid email address."
|
114 |
msgstr "Veuillez entrer une adresse email valide s'il vous plait."
|
115 |
|
116 |
+
#: includes/classes/wp-maintenance-mode.php:737
|
117 |
msgid "You successfully subscribed. Thanks!"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: includes/classes/wp-maintenance-mode.php:755
|
121 |
msgid "All fields required."
|
122 |
msgstr "Tous les champs requis."
|
123 |
|
124 |
+
#: includes/classes/wp-maintenance-mode.php:764
|
125 |
msgid "Message via contact"
|
126 |
msgstr "Message via contact"
|
127 |
|
128 |
+
#: includes/classes/wp-maintenance-mode.php:778
|
129 |
msgid "Your email was sent to the website administrator. Thanks!"
|
130 |
msgstr "Merci ! Votre email a été envoyé au webmaster du site."
|
131 |
|
519 |
msgid "Other products"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: views/sidebar.php:48
|
523 |
msgid "Resources"
|
524 |
msgstr "Resources"
|
525 |
|
languages/wp-maintenance-mode-it_IT.mo
CHANGED
Binary file
|
languages/wp-maintenance-mode-it_IT.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: WP Maintenance Mode 2.0.
|
4 |
-
"POT-Creation-Date: 2016-
|
5 |
-
"PO-Revision-Date: 2016-
|
6 |
"Last-Translator: Massimiliano Losego <massimiliano@losego.it>\n"
|
7 |
"Language-Team: Losego Massimiliano <massimiliano@losego.it>\n"
|
8 |
"Language: it\n"
|
@@ -20,43 +20,43 @@ msgstr ""
|
|
20 |
"X-Poedit-SearchPath-1: includes/classes\n"
|
21 |
"X-Poedit-SearchPath-2: views\n"
|
22 |
|
23 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
24 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
25 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
26 |
msgid "You do not have access to this resource."
|
27 |
msgstr ""
|
28 |
|
29 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
30 |
#, php-format
|
31 |
msgid "You have %d subscriber(s)"
|
32 |
msgstr "Hai %d iscritti"
|
33 |
|
34 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
35 |
msgid "The nonce field must not be empty."
|
36 |
msgstr ""
|
37 |
|
38 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
39 |
msgid "The tab slug must not be empty."
|
40 |
msgstr ""
|
41 |
|
42 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
43 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
44 |
msgid "Security check."
|
45 |
msgstr ""
|
46 |
|
47 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
48 |
msgid "The tab slug must exist."
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
52 |
msgid "WP Maintenance Mode"
|
53 |
msgstr "WP Maintenance Mode"
|
54 |
|
55 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
56 |
msgid "Settings"
|
57 |
msgstr "Impotazioni"
|
58 |
|
59 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
60 |
#, php-format
|
61 |
msgid ""
|
62 |
"The Maintenance Mode is <strong>active</strong>. Please don't forget to <a "
|
@@ -65,11 +65,11 @@ msgstr ""
|
|
65 |
"La Modalità Manutenzione è <strong>attiva</strong>. Non dimenticarti di <a "
|
66 |
"href=\"%s\">disattivarla</a> appena avrai finito."
|
67 |
|
68 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
69 |
msgid "Notice key cannot be empty."
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
73 |
#, php-format
|
74 |
msgid ""
|
75 |
"If you like <strong>WP Maintenance Mode</strong> please leave us a %s "
|
@@ -102,29 +102,29 @@ msgstr ""
|
|
102 |
"WP Maintenance Mode plugin è stato ri-lanciato e DOVRAI rivedere le <a href="
|
103 |
"\"%s\">impostazioni</a>."
|
104 |
|
105 |
-
#: includes/classes/wp-maintenance-mode.php:
|
106 |
-
#: includes/classes/wp-maintenance-mode.php:
|
107 |
msgid "Maintenance Mode"
|
108 |
msgstr "Modalità Manutenzione"
|
109 |
|
110 |
-
#: includes/classes/wp-maintenance-mode.php:
|
111 |
-
#: includes/classes/wp-maintenance-mode.php:
|
112 |
msgid "Please enter a valid email address."
|
113 |
msgstr "Per favore inserisci in email corretta."
|
114 |
|
115 |
-
#: includes/classes/wp-maintenance-mode.php:
|
116 |
msgid "You successfully subscribed. Thanks!"
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: includes/classes/wp-maintenance-mode.php:
|
120 |
msgid "All fields required."
|
121 |
msgstr "Sono richiesti tutti i campi."
|
122 |
|
123 |
-
#: includes/classes/wp-maintenance-mode.php:
|
124 |
msgid "Message via contact"
|
125 |
msgstr "Messaggio via contatto"
|
126 |
|
127 |
-
#: includes/classes/wp-maintenance-mode.php:
|
128 |
msgid "Your email was sent to the website administrator. Thanks!"
|
129 |
msgstr "La tua email è stata spedita all'amministratore del sito. Grazie!"
|
130 |
|
@@ -520,7 +520,7 @@ msgstr "GitHub"
|
|
520 |
msgid "Other products"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: views/sidebar.php:
|
524 |
msgid "Resources"
|
525 |
msgstr "Risorse"
|
526 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: WP Maintenance Mode 2.0.8\n"
|
4 |
+
"POT-Creation-Date: 2016-09-09 18:22+0300\n"
|
5 |
+
"PO-Revision-Date: 2016-09-09 18:22+0300\n"
|
6 |
"Last-Translator: Massimiliano Losego <massimiliano@losego.it>\n"
|
7 |
"Language-Team: Losego Massimiliano <massimiliano@losego.it>\n"
|
8 |
"Language: it\n"
|
20 |
"X-Poedit-SearchPath-1: includes/classes\n"
|
21 |
"X-Poedit-SearchPath-2: views\n"
|
22 |
|
23 |
+
#: includes/classes/wp-maintenance-mode-admin.php:121
|
24 |
+
#: includes/classes/wp-maintenance-mode-admin.php:159
|
25 |
+
#: includes/classes/wp-maintenance-mode-admin.php:181
|
26 |
msgid "You do not have access to this resource."
|
27 |
msgstr ""
|
28 |
|
29 |
+
#: includes/classes/wp-maintenance-mode-admin.php:165 views/settings.php:295
|
30 |
#, php-format
|
31 |
msgid "You have %d subscriber(s)"
|
32 |
msgstr "Hai %d iscritti"
|
33 |
|
34 |
+
#: includes/classes/wp-maintenance-mode-admin.php:186
|
35 |
msgid "The nonce field must not be empty."
|
36 |
msgstr ""
|
37 |
|
38 |
+
#: includes/classes/wp-maintenance-mode-admin.php:191
|
39 |
msgid "The tab slug must not be empty."
|
40 |
msgstr ""
|
41 |
|
42 |
+
#: includes/classes/wp-maintenance-mode-admin.php:196
|
43 |
+
#: includes/classes/wp-maintenance-mode-admin.php:250
|
44 |
msgid "Security check."
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: includes/classes/wp-maintenance-mode-admin.php:202
|
48 |
msgid "The tab slug must exist."
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: includes/classes/wp-maintenance-mode-admin.php:222
|
52 |
msgid "WP Maintenance Mode"
|
53 |
msgstr "WP Maintenance Mode"
|
54 |
|
55 |
+
#: includes/classes/wp-maintenance-mode-admin.php:436
|
56 |
msgid "Settings"
|
57 |
msgstr "Impotazioni"
|
58 |
|
59 |
+
#: includes/classes/wp-maintenance-mode-admin.php:455
|
60 |
#, php-format
|
61 |
msgid ""
|
62 |
"The Maintenance Mode is <strong>active</strong>. Please don't forget to <a "
|
65 |
"La Modalità Manutenzione è <strong>attiva</strong>. Non dimenticarti di <a "
|
66 |
"href=\"%s\">disattivarla</a> appena avrai finito."
|
67 |
|
68 |
+
#: includes/classes/wp-maintenance-mode-admin.php:492
|
69 |
msgid "Notice key cannot be empty."
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: includes/classes/wp-maintenance-mode-admin.php:540
|
73 |
#, php-format
|
74 |
msgid ""
|
75 |
"If you like <strong>WP Maintenance Mode</strong> please leave us a %s "
|
102 |
"WP Maintenance Mode plugin è stato ri-lanciato e DOVRAI rivedere le <a href="
|
103 |
"\"%s\">impostazioni</a>."
|
104 |
|
105 |
+
#: includes/classes/wp-maintenance-mode.php:463
|
106 |
+
#: includes/classes/wp-maintenance-mode.php:477
|
107 |
msgid "Maintenance Mode"
|
108 |
msgstr "Modalità Manutenzione"
|
109 |
|
110 |
+
#: includes/classes/wp-maintenance-mode.php:725
|
111 |
+
#: includes/classes/wp-maintenance-mode.php:759 views/maintenance.php:85
|
112 |
msgid "Please enter a valid email address."
|
113 |
msgstr "Per favore inserisci in email corretta."
|
114 |
|
115 |
+
#: includes/classes/wp-maintenance-mode.php:737
|
116 |
msgid "You successfully subscribed. Thanks!"
|
117 |
msgstr ""
|
118 |
|
119 |
+
#: includes/classes/wp-maintenance-mode.php:755
|
120 |
msgid "All fields required."
|
121 |
msgstr "Sono richiesti tutti i campi."
|
122 |
|
123 |
+
#: includes/classes/wp-maintenance-mode.php:764
|
124 |
msgid "Message via contact"
|
125 |
msgstr "Messaggio via contatto"
|
126 |
|
127 |
+
#: includes/classes/wp-maintenance-mode.php:778
|
128 |
msgid "Your email was sent to the website administrator. Thanks!"
|
129 |
msgstr "La tua email è stata spedita all'amministratore del sito. Grazie!"
|
130 |
|
520 |
msgid "Other products"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: views/sidebar.php:48
|
524 |
msgid "Resources"
|
525 |
msgstr "Risorse"
|
526 |
|
languages/wp-maintenance-mode-nb_NO.mo
CHANGED
Binary file
|
languages/wp-maintenance-mode-nb_NO.po
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: WP Maintenance Mode 2.0.
|
4 |
-
"POT-Creation-Date: 2016-
|
5 |
-
"PO-Revision-Date: 2016-
|
6 |
"Last-Translator: Fredrik Hugås <fhugas@gmail.com>\n"
|
7 |
"Language-Team: Designmodo <info@designmodo.com>\n"
|
8 |
"Language: nb\n"
|
@@ -21,43 +21,43 @@ msgstr ""
|
|
21 |
"X-Poedit-SearchPath-1: includes/classes\n"
|
22 |
"X-Poedit-SearchPath-2: views\n"
|
23 |
|
24 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
25 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
26 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
27 |
msgid "You do not have access to this resource."
|
28 |
msgstr ""
|
29 |
|
30 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
31 |
#, php-format
|
32 |
msgid "You have %d subscriber(s)"
|
33 |
msgstr "Du har %d personer som ønsker oppdatering"
|
34 |
|
35 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
36 |
msgid "The nonce field must not be empty."
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
40 |
msgid "The tab slug must not be empty."
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
44 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
45 |
msgid "Security check."
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
49 |
msgid "The tab slug must exist."
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
53 |
msgid "WP Maintenance Mode"
|
54 |
msgstr "WP Vedlikeholdsmodus"
|
55 |
|
56 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
57 |
msgid "Settings"
|
58 |
msgstr "Innstillinger"
|
59 |
|
60 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
61 |
#, php-format
|
62 |
msgid ""
|
63 |
"The Maintenance Mode is <strong>active</strong>. Please don't forget to <a "
|
@@ -66,11 +66,11 @@ msgstr ""
|
|
66 |
"Vedlikeholdsmodus er <strong>aktivert</strong>. Husk å <a href=\"%s"
|
67 |
"\">deaktiver vedlikeholdsmodus</a> når du er ferdig."
|
68 |
|
69 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
70 |
msgid "Notice key cannot be empty."
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: includes/classes/wp-maintenance-mode-admin.php:
|
74 |
#, php-format
|
75 |
msgid ""
|
76 |
"If you like <strong>WP Maintenance Mode</strong> please leave us a %s "
|
@@ -103,29 +103,29 @@ msgstr ""
|
|
103 |
"Utvidelsen WP Maintanance Mode er oppdatert og du må <a href=\"%s\">se "
|
104 |
"igjennom innstillingene</a>"
|
105 |
|
106 |
-
#: includes/classes/wp-maintenance-mode.php:
|
107 |
-
#: includes/classes/wp-maintenance-mode.php:
|
108 |
msgid "Maintenance Mode"
|
109 |
msgstr "Vedlikehold pågår"
|
110 |
|
111 |
-
#: includes/classes/wp-maintenance-mode.php:
|
112 |
-
#: includes/classes/wp-maintenance-mode.php:
|
113 |
msgid "Please enter a valid email address."
|
114 |
msgstr "Vennligst oppgi en gyldig epostadresse."
|
115 |
|
116 |
-
#: includes/classes/wp-maintenance-mode.php:
|
117 |
msgid "You successfully subscribed. Thanks!"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: includes/classes/wp-maintenance-mode.php:
|
121 |
msgid "All fields required."
|
122 |
msgstr "Alle felt er påkrevd."
|
123 |
|
124 |
-
#: includes/classes/wp-maintenance-mode.php:
|
125 |
msgid "Message via contact"
|
126 |
msgstr "Melding via kontakt"
|
127 |
|
128 |
-
#: includes/classes/wp-maintenance-mode.php:
|
129 |
msgid "Your email was sent to the website administrator. Thanks!"
|
130 |
msgstr "Din epost ble sendt til administratoren for nettstedet. Takk!"
|
131 |
|
@@ -520,7 +520,7 @@ msgstr "GitHub"
|
|
520 |
msgid "Other products"
|
521 |
msgstr ""
|
522 |
|
523 |
|