PluginProbe
LoginPress | wp-login Custom Login Page Customizer / 3.0.2
LoginPress | wp-login Custom Login Page Customizer v3.0.2
6.2.5 6.2.4 6.2.3 6.2.2 6.2.1 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.2 1.0.20 1.0.21 1.0.22 1.0.23 1.0.3 1.0.4 All 118 releases
loginpress / include / deactivate_modal.php

deactivate_modal.php in LoginPress | wp-login Custom Login Page Customizer 3.0.2, at include/deactivate_modal.php

484 lines 15.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * LoginPress deactivation Content.
4 * @package LoginPress
5 * @version 1.1.14
6 */
7
8 $loginpress_deactivate_nonce = wp_create_nonce( 'loginpress-deactivate-nonce' ); ?>
9 <style>
10 .loginpress-hidden{
11 overflow: hidden;
12 }
13
14 .loginpress-popup-overlay .loginpress-internal-message{
15 margin: 3px 0 3px 22px;
16 display: none;
17 }
18
19 .loginpress-reason-input{
20 margin: 3px 0 3px 28px;
21 display: none;
22 }
23
24 .loginpress-reason-input input[type="text"]{
25 width: 100%;
26 display: block;
27 }
28
29 .loginpress-popup-overlay{
30 background: rgba(0,0,0, .8);
31 position: fixed;
32 top:0;
33 left: 0;
34 height: 100%;
35 width: 100%;
36 z-index: 1000;
37 overflow: auto;
38 visibility: hidden;
39 opacity: 0;
40 transition: opacity 0.3s ease-in-out;
41 display: flex;
42 justify-content: center;
43 align-items: center;
44 }
45
46 .loginpress-popup-overlay.loginpress-active{
47 opacity: 1;
48 visibility: visible;
49 }
50
51 .loginpress-survey-panel{
52 width: calc(100% - 40px);
53 background: #fff;
54 margin: 0 auto 0;
55 border-radius: 3px;
56 max-width: 600px;
57 }
58
59 #loginpress-deactivate-form .loginpress-popup-header{
60 background: #ffffff;
61 box-shadow: none;
62 border-bottom: 2px solid #D2DDF2;
63 padding: 15px;
64 }
65
66 .loginpress-popup-header h2{
67 margin: 0;
68 font-size: 20px;
69 line-height: 26px;
70 font-family: "Poppins", sans-serif;
71 color: #516885;
72 text-transform: none;
73 font-weight: 600;
74 }
75
76 .loginpress-popup-body{
77 padding: 15px;
78 }
79
80 .loginpress-popup-footer{
81 background: #f9f3f3;
82 padding: 10px 20px;
83 border-top: 1px solid #ccc;
84 }
85
86 .loginpress-popup-footer:after{
87 content:"";
88 display: table;
89 clear: both;
90 }
91
92 .action-btns{
93 float: right;
94 }
95
96 .loginpress-anonymous{
97 display: none;
98 }
99
100 .attention, .error-message {
101 color: red;
102 font-weight: 600;
103 display: none;
104 }
105
106 .loginpress-spinner{
107 display: none;
108 }
109
110 .loginpress-spinner img{
111 margin-top: 3px;
112 }
113
114 .loginpress-pro-message{
115 padding-left: 24px;
116 color: red;
117 font-weight: 600;
118 display: none;
119 }
120
121 .loginpress-popup-header{
122 background: none;
123 padding: 18px 15px;
124 -webkit-box-shadow: 0 0 8px rgba(0,0,0,.1);
125 box-shadow: 0 0 8px rgba(0,0,0,.1);
126 border: 0;
127 }
128
129 .loginpress-popup-body h3{
130 margin-top: 0;
131 margin-bottom: 30px;
132 font-size: 16px;
133 line-height: 20px;
134 font-family: "Poppins", sans-serif;
135 color: #516885;
136 text-transform: none;
137 font-weight: 500;
138 }
139
140 .loginpress-reason{
141 font-size: 13px;
142 color: #6d7882;
143 margin-bottom: 15px;
144 }
145
146 .loginpress-reason input[type="radio"]{
147 margin-right: 15px;
148 }
149
150 .loginpress-popup-body{
151 padding: 15px 15px 0;
152 }
153
154 .loginpress-popup-footer{
155 background: none;
156 border: 0;
157 padding: 29px 39px 39px;
158 }
159
160 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list label{
161 font-size: 14px;
162 line-height: 24px;
163 color: #2B3D54;
164 font-family: "Poppins", sans-serif;
165 font-weight: 400;
166 }
167
168 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type="radio"]{
169 border: 2px solid #D2DDF2;
170 height: 20px;
171 width: 20px;
172 outline: none !important;
173 margin-right: 5px;
174 }
175
176 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=radio]:checked::before {
177 content: "";
178 border-radius: 50%;
179 width: 10px;
180 height: 10px;
181 background-color: #526884;
182 line-height: 10px;
183 margin: 3px;
184 }
185
186 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=date],
187 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=datetime-local],
188 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=datetime],
189 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=email],
190 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=month],
191 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=number],
192 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=password],
193 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=search],
194 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=tel],
195 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=text],
196 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=time],
197 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=url],
198 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type=week],
199 #loginpress-deactivate-form .loginpress-popup-body #loginpress-reason-list input[type="file"] {
200 padding: 10px 15px;
201 min-height: 30px;
202 border: 2px solid #D2DDF2;
203 height: 50px;
204 width: 100%;
205 font-family: "Poppins", sans-serif;
206 max-width: 450px;
207 color: #2B3D54;
208 font-size: 14px;
209 line-height: 24px;
210 border-radius: 5px;
211 outline: none !important;
212 box-shadow: none !important;
213 background-color: #fff;
214 }
215
216 #loginpress-deactivate-form .loginpress-popup-footer{
217 border-top: 2px solid #D2DDF2;
218 padding: 20px 15px;
219 }
220
221 #loginpress-deactivate-form .loginpress-popup-skip-feedback,
222 #loginpress-deactivate-form .loginpress-popup-button-close,
223 #loginpress-deactivate-form .loginpress-popup-allow-deactivate[disabled="disabled"],
224 #loginpress-deactivate-form .loginpress-popup-allow-deactivate{
225 background-color: #2B3D54;
226 padding: 8px 15px;
227 font-size: 14px;
228 line-height: 22px;
229 font-weight: 500;
230 color: #fff;
231 font-family: "Poppins", sans-serif;
232 transition: all 0.3s;
233 border-radius: 5px;
234 cursor: pointer;
235 text-decoration: none;
236 display: inline-block;
237 text-align: center;
238 outline: none;
239 text-transform: normal;
240 border: 1px solid #2B3D54;
241 box-shadow: none;
242 }
243
244 #loginpress-deactivate-form .loginpress-popup-skip-feedback:hover{
245 background-color: #fff;
246 color: #2B3D54;
247 border: 1px solid #2B3D54
248 }
249
250 #loginpress-deactivate-form .loginpress-popup-button-close{
251 background-color: #f53069;
252 border: 1px solid #f53069;
253 }
254
255 #loginpress-deactivate-form .loginpress-popup-button-close:hover{
256 background-color: #fff;
257 color: #f53069;
258 border: 1px solid #f53069
259 }
260
261 #loginpress-deactivate-form .loginpress-popup-allow-deactivate{
262 background-color: #3C50E0 !important;
263 border: 1px solid #3C50E0 !important;
264 color: #ffffff !important;
265 }
266
267 #loginpress-deactivate-form .loginpress-popup-allow-deactivate:hover{
268 background-color: #2d369e !important;
269 border: 1px solid #2d369e !important;
270 }
271
272 #loginpress-deactivate-form .loginpress-popup-allow-deactivate[disabled="disabled"]{
273 background-color: #eaedf4 !important;
274 border: 1px solid #eaedf4 !important;
275 color: rgba(43,61,84,0.6) !important;
276 }
277
278 #loginpress-deactivate-form .loginpress-popup-allow-deactivate[disabled="disabled"]:hover{
279 background-color: #c2c7d2 !important;
280 border: 1px solid #c2c7d2 !important;
281 }
282
283 </style>
284 <div class="loginpress-popup-overlay">
285 <div class="loginpress-survey-panel">
286 <form action="#" method="post" id="loginpress-deactivate-form">
287 <div class="loginpress-popup-header">
288 <h2><?php _e( 'Quick feedback about LoginPress', 'loginpress' ); ?></h2>
289 </div>
290 <div class="loginpress-popup-body">
291 <h3><?php _e( 'If you have a moment, please let us know why you are deactivating:', 'loginpress' ); ?></h3>
292 <input type="hidden" class="loginpress_deactivate_nonce" name="loginpress_deactivate_nonce" value="<?php echo esc_attr( $loginpress_deactivate_nonce ); ?>">
293 <ul id="loginpress-reason-list">
294 <li class="loginpress-reason loginpress-reason-pro" data-input-type="" data-input-placeholder="">
295 <label>
296 <span>
297 <input type="radio" name="loginpress-selected-reason" value="pro">
298 </span>
299 <span><?php _e( " I upgraded to LoginPress Pro", 'loginpress' ); ?></span>
300 </label>
301 <div class="loginpress-pro-message"><?php _e( 'No need to deactivate this LoginPress Core version. Pro version works as an add-on with Core version.', 'loginpress' ); ?></div>
302 </li>
303 <li class="loginpress-reason" data-input-type="" data-input-placeholder="">
304 <label>
305 <span>
306 <input type="radio" name="loginpress-selected-reason" value="1">
307 </span>
308 <span><?php _e( 'I only needed the plugin for a short period', 'loginpress' ); ?></span>
309 </label>
310 <div class="loginpress-internal-message"></div>
311 </li>
312 <li class="loginpress-reason has-input" data-input-type="textfield">
313 <label>
314 <span>
315 <input type="radio" name="loginpress-selected-reason" value="2">
316 </span>
317 <span><?php _e( 'I found a better plugin', 'loginpress' ); ?></span>
318 </label>
319 <div class="loginpress-internal-message"></div>
320 <div class="loginpress-reason-input"><span class="message error-message "><?php _e( 'Kindly tell us the Plugin name.', 'loginpress' ); ?></span><input type="text" name="better_plugin" placeholder="What's the plugin's name?"></div>
321 </li>
322 <li class="loginpress-reason" data-input-type="" data-input-placeholder="">
323 <label>
324 <span>
325 <input type="radio" name="loginpress-selected-reason" value="3">
326 </span>
327 <span><?php _e( 'The plugin broke my site', 'loginpress' ); ?></span>
328 </label>
329 <div class="loginpress-internal-message"></div>
330 </li>
331 <li class="loginpress-reason" data-input-type="" data-input-placeholder="">
332 <label>
333 <span>
334 <input type="radio" name="loginpress-selected-reason" value="4">
335 </span>
336 <span><?php _e( 'The plugin suddenly stopped working', 'loginpress' ); ?></span>
337 </label>
338 <div class="loginpress-internal-message"></div>
339 </li>
340 <li class="loginpress-reason" data-input-type="" data-input-placeholder="">
341 <label>
342 <span>
343 <input type="radio" name="loginpress-selected-reason" value="5">
344 </span>
345 <span><?php _e( 'I no longer need the plugin', 'loginpress' ); ?></span>
346 </label>
347 <div class="loginpress-internal-message"></div>
348 </li>
349 <li class="loginpress-reason" data-input-type="" data-input-placeholder="">
350 <label>
351 <span>
352 <input type="radio" name="loginpress-selected-reason" value="6">
353 </span>
354 <span><?php _e( "It's a temporary deactivation. I'm just debugging an issue.", 'loginpress' ); ?></span>
355 </label>
356 <div class="loginpress-internal-message"></div>
357 </li>
358 <li class="loginpress-reason has-input" data-input-type="textfield" >
359 <label>
360 <span>
361 <input type="radio" name="loginpress-selected-reason" value="7">
362 </span>
363 <span><?php _e( 'Other', 'loginpress' ); ?></span>
364 </label>
365 <div class="loginpress-internal-message"></div>
366 <div class="loginpress-reason-input"><span class="message error-message "><?php _e( 'Kindly tell us the reason so we can improve.', 'loginpress' ); ?></span><input type="text" name="other_reason" placeholder="Kindly tell us the reason so we can improve."></div>
367 </li>
368 </ul>
369 </div>
370 <div class="loginpress-popup-footer">
371 <label class="loginpress-anonymous"><input type="checkbox" /><?php _e( 'Anonymous feedback', 'loginpress' ); ?></label>
372 <input type="button" class="button button-secondary button-skip loginpress-popup-skip-feedback" value="<?php _e( 'Skip & Deactivate', 'loginpress'); ?>" >
373 <div class="action-btns">
374 <span class="loginpress-spinner"><img src="<?php echo admin_url( '/images/spinner.gif' ); ?>" alt=""></span>
375 <input type="submit" class="button button-secondary button-deactivate loginpress-popup-allow-deactivate" value="<?php _e( 'Submit & Deactivate', 'loginpress'); ?>" disabled="disabled">
376 <a href="#" class="button button-primary loginpress-popup-button-close"><?php _e( 'Cancel', 'loginpress' ); ?></a>
377 </div>
378 </div>
379 </form>
380 </div>
381 </div>
382 <script>
383 (function( $ ) {
384
385 $(function() {
386
387 var pluginSlug = 'loginpress';
388
389 // Code to fire when the DOM is ready.
390 $(document).on('click', 'tr[data-slug="' + pluginSlug + '"] .deactivate', function(e){
391 e.preventDefault();
392 $('.loginpress-popup-overlay').addClass('loginpress-active');
393 $('body').addClass('loginpress-hidden');
394 });
395 $(document).on('click', '.loginpress-popup-button-close', function () {
396 close_popup();
397 });
398 $(document).on('click', ".loginpress-survey-panel,tr[data-slug='" + pluginSlug + "'] .deactivate",function(e){
399 e.stopPropagation();
400 });
401
402 $(document).click(function(){
403 close_popup();
404 });
405 $('.loginpress-reason label').on('click', function(){
406 if($(this).find('input[type="radio"]').is(':checked')){
407 //$('.loginpress-anonymous').show();
408 $(this).next().next('.loginpress-reason-input').show().end().end().parent().siblings().find('.loginpress-reason-input').hide();
409 }
410 });
411 $('input[type="radio"][name="loginpress-selected-reason"]').on('click', function(event) {
412 $(".loginpress-popup-allow-deactivate").removeAttr('disabled');
413 $(".loginpress-popup-skip-feedback").removeAttr('disabled');
414 $('.message.error-message').hide();
415 $('.loginpress-pro-message').hide();
416 });
417
418 $('.loginpress-reason-pro label').on('click', function(){
419 if($(this).find('input[type="radio"]').is(':checked')){
420 $(this).next('.loginpress-pro-message').show().end().end().parent().siblings().find('.loginpress-reason-input').hide();
421 $(this).next('.loginpress-pro-message').show()
422 $('.loginpress-popup-allow-deactivate').attr('disabled', 'disabled');
423 $('.loginpress-popup-skip-feedback').attr('disabled', 'disabled');
424 }
425 });
426 $(document).on('submit', '#loginpress-deactivate-form', function(event) {
427 event.preventDefault();
428
429 var _reason = $('input[type="radio"][name="loginpress-selected-reason"]:checked').val();
430 var _reason_details = '';
431
432 var deactivate_nonce = $('.loginpress_deactivate_nonce').val();
433
434 if ( _reason == 2 ) {
435 _reason_details = $("input[type='text'][name='better_plugin']").val();
436 } else if ( _reason == 7 ) {
437 _reason_details = $("input[type='text'][name='other_reason']").val();
438 }
439
440 if ( ( _reason == 7 || _reason == 2 ) && _reason_details == '' ) {
441 $('.message.error-message').show();
442 return ;
443 }
444 $.ajax({
445 url: ajaxurl,
446 type: 'POST',
447 data: {
448 action : 'loginpress_deactivate',
449 reason : _reason,
450 reason_detail : _reason_details,
451 security : deactivate_nonce
452 },
453 beforeSend: function(){
454 $(".loginpress-spinner").show();
455 $(".loginpress-popup-allow-deactivate").attr("disabled", "disabled");
456 }
457 })
458 .done(function() {
459 $(".loginpress-spinner").hide();
460 $(".loginpress-popup-allow-deactivate").removeAttr("disabled");
461 window.location.href = $("tr[data-slug='"+ pluginSlug +"'] .deactivate a").attr('href');
462 });
463
464 });
465
466 $('.loginpress-popup-skip-feedback').on('click', function(e){
467 // e.preventDefault();
468 window.location.href = $("tr[data-slug='"+ pluginSlug +"'] .deactivate a").attr('href');
469 })
470
471 function close_popup() {
472 $('.loginpress-popup-overlay').removeClass('loginpress-active');
473 $('#loginpress-deactivate-form').trigger("reset");
474 $(".loginpress-popup-allow-deactivate").attr('disabled', 'disabled');
475 $(".loginpress-reason-input").hide();
476 $('body').removeClass('loginpress-hidden');
477 $('.message.error-message').hide();
478 $('.loginpress-pro-message').hide();
479 }
480 });
481
482 })( jQuery ); // This invokes the function above and allows us to use '$' in place of 'jQuery' in our code.
483 </script>
484