PluginProbe
LoginPress | wp-login Custom Login Page Customizer / 1.3.1
LoginPress | wp-login Custom Login Page Customizer v1.3.1
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 1.3.1, at include/deactivate_modal.php

338 lines 11.9 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
12 overflow: hidden;
13 }
14 .loginpress-popup-overlay .loginpress-internal-message{
15 margin: 3px 0 3px 22px;
16 display: none;
17 }
18 .loginpress-reason-input{
19 margin: 3px 0 3px 22px;
20 display: none;
21 }
22 .loginpress-reason-input input[type="text"]{
23
24 width: 100%;
25 display: block;
26 }
27 .loginpress-popup-overlay{
28
29 background: rgba(0,0,0, .8);
30 position: fixed;
31 top:0;
32 left: 0;
33 height: 100%;
34 width: 100%;
35 z-index: 1000;
36 overflow: auto;
37 visibility: hidden;
38 opacity: 0;
39 transition: opacity 0.3s ease-in-out;
40 display: flex;
41 justify-content: center;
42 align-items: center;
43 }
44 .loginpress-popup-overlay.loginpress-active{
45 opacity: 1;
46 visibility: visible;
47 }
48 .loginpress-serveypanel{
49 width: 600px;
50 background: #fff;
51 margin: 0 auto 0;
52 border-radius: 3px;
53 }
54 .loginpress-popup-header{
55 background: #f1f1f1;
56 padding: 20px;
57 border-bottom: 1px solid #ccc;
58 }
59 .loginpress-popup-header h2{
60 margin: 0;
61 text-transform: uppercase;
62 }
63 .loginpress-popup-body{
64 padding: 10px 20px;
65 }
66 .loginpress-popup-footer{
67 background: #f9f3f3;
68 padding: 10px 20px;
69 border-top: 1px solid #ccc;
70 }
71 .loginpress-popup-footer:after{
72
73 content:"";
74 display: table;
75 clear: both;
76 }
77 .action-btns{
78 float: right;
79 }
80 .loginpress-anonymous{
81
82 display: none;
83 }
84 .attention, .error-message {
85 color: red;
86 font-weight: 600;
87 display: none;
88 }
89 .loginpress-spinner{
90 display: none;
91 }
92 .loginpress-spinner img{
93 margin-top: 3px;
94 }
95 .loginpress-pro-message{
96 padding-left: 24px;
97 color: red;
98 font-weight: 600;
99 display: none;
100 }
101 .loginpress-popup-header{
102 background: none;
103 padding: 18px 15px;
104 -webkit-box-shadow: 0 0 8px rgba(0,0,0,.1);
105 box-shadow: 0 0 8px rgba(0,0,0,.1);
106 border: 0;
107 }
108 .loginpress-popup-body h3{
109 margin-top: 0;
110 margin-bottom: 30px;
111 font-weight: 700;
112 font-size: 15px;
113 color: #495157;
114 line-height: 1.4;
115 text-tranform: uppercase;
116 }
117 .loginpress-reason{
118 font-size: 13px;
119 color: #6d7882;
120 margin-bottom: 15px;
121 }
122 .loginpress-reason input[type="radio"]{
123 margin-right: 15px;
124 }
125 .loginpress-popup-body{
126 padding: 30px 30px 0;
127
128 }
129 .loginpress-popup-footer{
130 background: none;
131 border: 0;
132 padding: 29px 39px 39px;
133 }
134 </style>
135 <div class="loginpress-popup-overlay">
136 <div class="loginpress-serveypanel">
137 <form action="#" method="post" id="loginpress-deactivate-form">
138 <div class="loginpress-popup-header">
139 <h2><?php _e( 'Quick feedback about LoginPress', 'loginpress' ); ?></h2>
140 </div>
141 <div class="loginpress-popup-body">
142 <h3><?php _e( 'If you have a moment, please let us know why you are deactivating:', 'loginpress' ); ?></h3>
143 <input type="hidden" class="loginpress_deactivate_nonce" name="loginpress_deactivate_nonce" value="<?php echo $loginpress_deactivate_nonce; ?>">
144 <ul id="loginpress-reason-list">
145 <li class="loginpress-reason loginpress-reason-pro" data-input-type="" data-input-placeholder="">
146 <label>
147 <span>
148 <input type="radio" name="loginpress-selected-reason" value="pro">
149 </span>
150 <span><?php _e( " I upgraded to LoginPress Pro", 'loginpress' ); ?></span>
151 </label>
152 <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>
153 </li>
154 <li class="loginpress-reason" data-input-type="" data-input-placeholder="">
155 <label>
156 <span>
157 <input type="radio" name="loginpress-selected-reason" value="1">
158 </span>
159 <span><?php _e( 'I only needed the plugin for a short period', 'loginpress' ); ?></span>
160 </label>
161 <div class="loginpress-internal-message"></div>
162 </li>
163 <li class="loginpress-reason has-input" data-input-type="textfield">
164 <label>
165 <span>
166 <input type="radio" name="loginpress-selected-reason" value="2">
167 </span>
168 <span><?php _e( 'I found a better plugin', 'loginpress' ); ?></span>
169 </label>
170 <div class="loginpress-internal-message"></div>
171 <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>
172 </li>
173 <li class="loginpress-reason" data-input-type="" data-input-placeholder="">
174 <label>
175 <span>
176 <input type="radio" name="loginpress-selected-reason" value="3">
177 </span>
178 <span><?php _e( 'The plugin broke my site', 'loginpress' ); ?></span>
179 </label>
180 <div class="loginpress-internal-message"></div>
181 </li>
182 <li class="loginpress-reason" data-input-type="" data-input-placeholder="">
183 <label>
184 <span>
185 <input type="radio" name="loginpress-selected-reason" value="4">
186 </span>
187 <span><?php _e( 'The plugin suddenly stopped working', 'loginpress' ); ?></span>
188 </label>
189 <div class="loginpress-internal-message"></div>
190 </li>
191 <li class="loginpress-reason" data-input-type="" data-input-placeholder="">
192 <label>
193 <span>
194 <input type="radio" name="loginpress-selected-reason" value="5">
195 </span>
196 <span><?php _e( 'I no longer need the plugin', 'loginpress' ); ?></span>
197 </label>
198 <div class="loginpress-internal-message"></div>
199 </li>
200 <li class="loginpress-reason" data-input-type="" data-input-placeholder="">
201 <label>
202 <span>
203 <input type="radio" name="loginpress-selected-reason" value="6">
204 </span>
205 <span><?php _e( "It's a temporary deactivation. I'm just debugging an issue.", 'loginpress' ); ?></span>
206 </label>
207 <div class="loginpress-internal-message"></div>
208 </li>
209 <li class="loginpress-reason has-input" data-input-type="textfield" >
210 <label>
211 <span>
212 <input type="radio" name="loginpress-selected-reason" value="7">
213 </span>
214 <span><?php _e( 'Other', 'loginpress' ); ?></span>
215 </label>
216 <div class="loginpress-internal-message"></div>
217 <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>
218 </li>
219 </ul>
220 </div>
221 <div class="loginpress-popup-footer">
222 <label class="loginpress-anonymous"><input type="checkbox" /><?php _e( 'Anonymous feedback', 'loginpress' ); ?></label>
223 <input type="button" class="button button-secondary button-skip loginpress-popup-skip-feedback" value="<?php _e( 'Skip & Deactivate', 'loginpress'); ?>" >
224 <div class="action-btns">
225 <span class="loginpress-spinner"><img src="<?php echo admin_url( '/images/spinner.gif' ); ?>" alt=""></span>
226 <input type="submit" class="button button-secondary button-deactivate loginpress-popup-allow-deactivate" value="<?php _e( 'Submit & Deactivate', 'loginpress'); ?>" disabled="disabled">
227 <a href="#" class="button button-primary loginpress-popup-button-close"><?php _e( 'Cancel', 'loginpress' ); ?></a>
228
229 </div>
230 </div>
231 </form>
232 </div>
233 </div>
234
235
236 <script>
237 (function( $ ) {
238
239 $(function() {
240
241 var pluginSlug = 'loginpress';
242 // Code to fire when the DOM is ready.
243
244 $(document).on('click', 'tr[data-slug="' + pluginSlug + '"] .deactivate', function(e){
245 e.preventDefault();
246 $('.loginpress-popup-overlay').addClass('loginpress-active');
247 $('body').addClass('loginpress-hidden');
248 });
249 $(document).on('click', '.loginpress-popup-button-close', function () {
250 close_popup();
251 });
252 $(document).on('click', ".loginpress-serveypanel,tr[data-slug='" + pluginSlug + "'] .deactivate",function(e){
253 e.stopPropagation();
254 });
255
256 $(document).click(function(){
257 close_popup();
258 });
259 $('.loginpress-reason label').on('click', function(){
260 if($(this).find('input[type="radio"]').is(':checked')){
261 //$('.loginpress-anonymous').show();
262 $(this).next().next('.loginpress-reason-input').show().end().end().parent().siblings().find('.loginpress-reason-input').hide();
263 }
264 });
265 $('input[type="radio"][name="loginpress-selected-reason"]').on('click', function(event) {
266 $(".loginpress-popup-allow-deactivate").removeAttr('disabled');
267 $(".loginpress-popup-skip-feedback").removeAttr('disabled');
268 $('.message.error-message').hide();
269 $('.loginpress-pro-message').hide();
270 });
271
272 $('.loginpress-reason-pro label').on('click', function(){
273 if($(this).find('input[type="radio"]').is(':checked')){
274 $(this).next('.loginpress-pro-message').show().end().end().parent().siblings().find('.loginpress-reason-input').hide();
275 $(this).next('.loginpress-pro-message').show()
276 $('.loginpress-popup-allow-deactivate').attr('disabled', 'disabled');
277 $('.loginpress-popup-skip-feedback').attr('disabled', 'disabled');
278 }
279 });
280 $(document).on('submit', '#loginpress-deactivate-form', function(event) {
281 event.preventDefault();
282
283 var _reason = $('input[type="radio"][name="loginpress-selected-reason"]:checked').val();
284 var _reason_details = '';
285
286 var deactivate_nonce = $('.loginpress_deactivate_nonce').val();
287
288 if ( _reason == 2 ) {
289 _reason_details = $("input[type='text'][name='better_plugin']").val();
290 } else if ( _reason == 7 ) {
291 _reason_details = $("input[type='text'][name='other_reason']").val();
292 }
293
294 if ( ( _reason == 7 || _reason == 2 ) && _reason_details == '' ) {
295 $('.message.error-message').show();
296 return ;
297 }
298 $.ajax({
299 url: ajaxurl,
300 type: 'POST',
301 data: {
302 action : 'loginpress_deactivate',
303 reason : _reason,
304 reason_detail : _reason_details,
305 security : deactivate_nonce
306 },
307 beforeSend: function(){
308 $(".loginpress-spinner").show();
309 $(".loginpress-popup-allow-deactivate").attr("disabled", "disabled");
310 }
311 })
312 .done(function() {
313 $(".loginpress-spinner").hide();
314 $(".loginpress-popup-allow-deactivate").removeAttr("disabled");
315 window.location.href = $("tr[data-slug='"+ pluginSlug +"'] .deactivate a").attr('href');
316 });
317
318 });
319
320 $('.loginpress-popup-skip-feedback').on('click', function(e){
321 // e.preventDefault();
322 window.location.href = $("tr[data-slug='"+ pluginSlug +"'] .deactivate a").attr('href');
323 })
324
325 function close_popup() {
326 $('.loginpress-popup-overlay').removeClass('loginpress-active');
327 $('#loginpress-deactivate-form').trigger("reset");
328 $(".loginpress-popup-allow-deactivate").attr('disabled', 'disabled');
329 $(".loginpress-reason-input").hide();
330 $('body').removeClass('loginpress-hidden');
331 $('.message.error-message').hide();
332 $('.loginpress-pro-message').hide();
333 }
334 });
335
336 })( jQuery ); // This invokes the function above and allows us to use '$' in place of 'jQuery' in our code.
337 </script>
338