PluginProbe ʕ •ᴥ•ʔ
Download Manager / 3.3.63
Download Manager v3.3.63
3.3.63 3.3.62 3.3.61 3.3.60 3.3.59 3.3.58 3.3.57 3.3.56 trunk 2.1.3 2.3.0 2.5.96 2.5.97 2.6.2 2.6.96 2.8.3 2.9.99 3.0.4 3.1.05 3.1.07 3.1.08 3.1.11 3.1.12 3.1.14 3.1.17 3.1.18 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.2.04 3.2.13 3.2.14 3.2.16 3.2.18 3.2.19 3.2.21 3.2.22 3.2.23 3.2.24 3.2.25 3.2.27 3.2.28 3.2.29 3.2.30 3.2.31 3.2.32 3.2.33 3.2.34 3.2.35 3.2.37 3.2.38 3.2.39 3.2.40 3.2.41 3.2.42 3.2.43 3.2.44 3.2.45 3.2.46 3.2.47 3.2.48 3.2.49 3.2.50 3.2.51 3.2.52 3.2.53 3.2.54 3.2.55 3.2.56 3.2.57 3.2.58 3.2.59 3.2.60 3.2.61 3.2.63 3.2.64 3.2.65 3.2.66 3.2.67 3.2.68 3.2.69 3.2.70 3.2.71 3.2.72 3.2.73 3.2.74 3.2.75 3.2.76 3.2.77 3.2.78 3.2.79 3.2.80 3.2.81 3.2.82 3.2.83 3.2.84 3.2.85 3.2.86 3.2.87 3.2.88 3.2.89 3.2.90 3.2.91 3.2.92 3.2.93 3.2.94 3.2.95 3.2.96 3.2.97 3.2.98 3.2.99 3.3.00 3.3.01 3.3.02 3.3.03 3.3.04 3.3.05 3.3.06 3.3.07 3.3.08 3.3.09 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.15 3.3.16 3.3.17 3.3.18 3.3.19 3.3.20 3.3.21 3.3.22 3.3.23 3.3.24 3.3.25 3.3.26 3.3.27 3.3.28 3.3.29 3.3.30 3.3.31 3.3.32 3.3.33 3.3.34 3.3.35 3.3.36 3.3.37 3.3.38 3.3.39 3.3.40 3.3.41 3.3.42 3.3.43 3.3.44 3.3.45 3.3.46 3.3.47 3.3.48 3.3.49 3.3.50 3.3.51 3.3.52 3.3.53 3.3.54 3.3.55
download-manager / src / User / views / modal-login-form.php
download-manager / src / User / views Last commit date
dashboard 5 months ago profile-cards 5 years ago profile-header 6 months ago already-logged-in.php 5 months ago auth-forms.css 5 months ago auth-forms.min.css 5 months ago clean.php 5 years ago login-form.php 5 months ago lost-password-form.php 5 months ago members.php 6 months ago modal-login-form.php 1 week ago public-profile.php 6 months ago reg-form.php 1 week ago reset-password-form.php 5 months ago review-user-status.php 1 week ago user-favourites.php 5 years ago
modal-login-form.php
396 lines
1 <?php use WPDM\__\__;
2 use WPDM\__\Session;
3
4 if(!defined('ABSPATH')) die();
5
6 wp_enqueue_style('wpdm-auth-forms', \WPDM\__\Template::locate_url('auth-forms.css', __DIR__), [], WPDM_VERSION);
7
8 $site_icon = get_site_icon_url();
9 $site_name = get_bloginfo('name');
10 ?>
11 <div class="w3eden">
12
13 <!-- Modal Login Form -->
14 <div class="wpdm-login-modal" id="wpdmloginmodal" role="dialog" aria-labelledby="wpdmloginmodal-title" aria-hidden="true">
15 <div class="wpdm-login-modal__backdrop"></div>
16 <div class="wpdm-login-modal__container">
17 <div class="wpdm-auth-split wpdm-login-modal__split">
18 <div class="wpdm-auth-panel wpdm-login-modal__panel">
19
20 <!-- Left decorative panel -->
21 <div class="wpdm-auth-left">
22 <div class="wpdm-auth-grid"></div>
23 <div class="wpdm-auth-circles">
24 <div class="wpdm-auth-circle"></div>
25 <div class="wpdm-auth-circle"></div>
26 <div class="wpdm-auth-circle"></div>
27 <div class="wpdm-auth-circle"></div>
28 </div>
29 <div class="wpdm-auth-brand">
30 <a href="<?php echo esc_url(home_url('/')); ?>">
31 <?php if ($site_icon): ?>
32 <img src="<?php echo esc_url($site_icon); ?>" alt="<?php echo esc_attr($site_name); ?>" id="wpdm_modal_login_logo" />
33 <?php else: ?>
34 <div class="wpdm-auth-brand-icon" id="wpdm_modal_login_logo">
35 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3" /></svg>
36 </div>
37 <?php endif; ?>
38 <?php echo esc_html($site_name); ?>
39 </a>
40 </div>
41 <div class="wpdm-auth-welcome">
42 <div class="wpdm-auth-welcome-sub"><?php _e('Welcome back', 'download-manager'); ?></div>
43 <div class="wpdm-auth-welcome-title"><?php _e('Sign In', 'download-manager'); ?></div>
44 <div class="wpdm-auth-welcome-line"></div>
45 <div class="wpdm-auth-welcome-text"><?php _e('Sign in to access your downloads, manage your account, and continue where you left off.', 'download-manager'); ?></div>
46 </div>
47 </div>
48
49 <!-- Right form panel -->
50 <div class="wpdm-auth-right">
51
52 <!-- Close button -->
53 <button type="button" class="wpdm-login-modal__close" id="wpdm-modal-close" aria-label="<?php esc_attr_e('Close', 'download-manager'); ?>">
54 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /></svg>
55 </button>
56
57 <div class="wpdm-auth-form-header">
58 <div class="wpdm-auth-form-title" id="wpdmloginmodal-title"><?php _e('Login Account', 'download-manager'); ?></div>
59 <div class="wpdm-auth-form-desc"><?php _e('Enter your credentials to access your account', 'download-manager'); ?></div>
60 </div>
61
62 <?php do_action("wpdm_before_login_form"); ?>
63
64 <form name="loginform" id="modalloginform" action="" method="post" class="login-form">
65
66 <input type="hidden" name="permalink" value="<?php the_permalink(); ?>" />
67
68 <?php echo WPDM()->user->login->formFields(); ?>
69
70 <?php if(isset($params['note_after'])) { ?>
71 <div class="wpdm-auth-alert info">
72 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z" /></svg>
73 <?php echo esc_html($params['note_after']); ?>
74 </div>
75 <?php } ?>
76
77 <?php do_action("wpdm_login_form"); ?>
78 <?php do_action("login_form"); ?>
79
80 <div class="wpdm-auth-meta">
81 <label class="wpdm-auth-remember">
82 <input name="rememberme" type="checkbox" id="rememberme" value="forever" />
83 <span class="wpdm-auth-check">
84 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" /></svg>
85 </span>
86 <?php _e('Remember Me', 'download-manager'); ?>
87 </label>
88 <a class="wpdm-auth-forgot" href="<?php echo esc_url(wpdm_lostpassword_url()); ?>"><?php _e('Forgot Password?', 'download-manager'); ?></a>
89 </div>
90
91 <input type="hidden" name="redirect_to" id="wpdm_modal_login_redirect_to" value="<?php echo esc_url(__::valueof($_SERVER, 'REQUEST_URI', ['validate' => 'escs'])); ?>" />
92
93 <button type="submit" name="wp-submit" id="wpdmloginmodal-submit" class="wpdm-auth-btn">
94 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15m3 0 3-3m0 0-3-3m3 3H9" /></svg>
95 <?php _e('Sign In', 'download-manager'); ?>
96 </button>
97
98 </form>
99
100 <?php do_action("wpdm_after_login_form"); ?>
101
102 <?php
103 $__wpdm_social_login = get_option('__wpdm_social_login');
104 $__wpdm_social_login = is_array($__wpdm_social_login) ? $__wpdm_social_login : array();
105 if(is_array($__wpdm_social_login) && count($__wpdm_social_login) > 1) { ?>
106
107 <div class="wpdm-auth-divider"><?php _e('or continue with', 'download-manager'); ?></div>
108
109 <div class="wpdm-auth-social">
110 <?php if(isset($__wpdm_social_login['google'])){ ?>
111 <button type="button" onclick="return _PopupCenter('<?php echo esc_url(home_url('/?sociallogin=google')); ?>', 'Google', 400,400);" title="Google" class="wpdm-auth-social-btn google">
112 <svg viewBox="0 0 24 24"><path fill="currentColor" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z"/><path fill="currentColor" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/><path fill="currentColor" d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"/><path fill="currentColor" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"/></svg>
113 </button>
114 <?php } ?>
115 <?php if(isset($__wpdm_social_login['facebook'])){ ?>
116 <button type="button" onclick="return _PopupCenter('<?php echo esc_url(home_url('/?sociallogin=facebook')); ?>', 'Facebook', 400,400);" title="Facebook" class="wpdm-auth-social-btn facebook">
117 <svg viewBox="0 0 24 24"><path fill="currentColor" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>
118 </button>
119 <?php } ?>
120 <?php if(isset($__wpdm_social_login['twitter'])){ ?>
121 <button type="button" onclick="return _PopupCenter('<?php echo esc_url(home_url('/?sociallogin=twitter')); ?>', 'Twitter', 400,400);" title="X" class="wpdm-auth-social-btn twitter">
122 <svg viewBox="0 0 24 24"><path fill="currentColor" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
123 </button>
124 <?php } ?>
125 <?php if(isset($__wpdm_social_login['linkedin'])){ ?>
126 <button type="button" onclick="return _PopupCenter('<?php echo esc_url(home_url('/?sociallogin=linkedin')); ?>', 'LinkedIn', 400,400);" title="LinkedIn" class="wpdm-auth-social-btn linkedin">
127 <svg viewBox="0 0 24 24"><path fill="currentColor" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
128 </button>
129 <?php } ?>
130 </div>
131
132 <?php } ?>
133
134 <?php if(isset($regurl) && $regurl != ''){ ?>
135 <div class="wpdm-auth-link">
136 <?php _e("Don't have an account?", 'download-manager'); ?>
137 <a href="<?php echo esc_url($regurl); ?>"><?php _e('Register Now', 'download-manager'); ?></a>
138 </div>
139 <?php } ?>
140
141 </div>
142
143 </div>
144 </div>
145 </div>
146 </div>
147
148 </div>
149
150 <style>
151 /* Modal overlay & container */
152 .wpdm-login-modal {
153 display: none;
154 position: fixed;
155 inset: 0;
156 z-index: 999999;
157 overflow-y: auto;
158 -webkit-overflow-scrolling: touch;
159 }
160
161 .wpdm-login-modal--open {
162 display: block;
163 }
164
165 .wpdm-login-modal__backdrop {
166 position: fixed;
167 inset: 0;
168 background: rgba(15, 23, 42, 0.6);
169 backdrop-filter: blur(4px);
170 -webkit-backdrop-filter: blur(4px);
171 opacity: 0;
172 transition: opacity 0.3s ease;
173 }
174
175 .wpdm-login-modal--open .wpdm-login-modal__backdrop {
176 opacity: 1;
177 }
178
179 .wpdm-login-modal__container {
180 display: flex;
181 align-items: center;
182 justify-content: center;
183 min-height: 100%;
184 padding: 24px;
185 }
186
187 .wpdm-login-modal__split {
188 position: relative;
189 z-index: 1;
190 padding: 0;
191 min-height: auto;
192 opacity: 0;
193 transform: scale(0.95) translateY(10px);
194 transition: opacity 0.3s ease, transform 0.3s ease;
195 }
196
197 .wpdm-login-modal--open .wpdm-login-modal__split {
198 opacity: 1;
199 transform: scale(1) translateY(0);
200 }
201
202 .wpdm-login-modal__panel {
203 max-width: 820px;
204 min-height: 480px;
205 }
206
207 /* Close button */
208 .wpdm-login-modal__close {
209 position: absolute;
210 top: 12px;
211 right: 12px;
212 width: 32px;
213 height: 32px;
214 border-radius: 8px;
215 border: 1px solid var(--auth-border, #e2e8f0);
216 background: var(--auth-bg, #ffffff);
217 color: var(--auth-text, #1e293b);
218 cursor: pointer;
219 display: flex;
220 align-items: center;
221 justify-content: center;
222 transition: all 0.15s ease;
223 z-index: 2;
224 padding: 0;
225 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
226 }
227
228 .wpdm-login-modal__close svg {
229 width: 16px;
230 height: 16px;
231 }
232
233 .wpdm-login-modal__close:hover {
234 background: var(--auth-input-bg, #f1f5f9);
235 border-color: var(--auth-text-muted, #94a3b8);
236 }
237
238 /* Body scroll lock */
239 body.wpdm-modal-open {
240 overflow: hidden;
241 }
242
243 /* Responsive */
244 @media (max-width: 768px) {
245 .wpdm-login-modal__container {
246 padding: 16px;
247 align-items: flex-start;
248 padding-top: 40px;
249 }
250
251 .wpdm-login-modal__panel {
252 max-width: 100%;
253 min-height: auto;
254 }
255 }
256
257 /* Dark mode */
258 .w3eden.dark-mode .wpdm-login-modal__close {
259 background: #1e293b;
260 border-color: #475569;
261 color: #f1f5f9;
262 }
263
264 .w3eden.dark-mode .wpdm-login-modal__close:hover {
265 background: #334155;
266 border-color: #64748b;
267 }
268
269 .w3eden.dark-mode .wpdm-login-modal__backdrop {
270 background: rgba(0, 0, 0, 0.7);
271 }
272
273 @media (prefers-color-scheme: dark) {
274 .w3eden:not(.light-mode) .wpdm-login-modal__close {
275 background: #1e293b;
276 border-color: #475569;
277 color: #f1f5f9;
278 }
279
280 .w3eden:not(.light-mode) .wpdm-login-modal__close:hover {
281 background: #334155;
282 border-color: #64748b;
283 }
284
285 .w3eden:not(.light-mode) .wpdm-login-modal__backdrop {
286 background: rgba(0, 0, 0, 0.7);
287 }
288 }
289 </style>
290
291 <script>
292 jQuery(function ($) {
293 var llbl = $('#wpdmloginmodal-submit').html();
294 var __lm_redirect_to = location.href;
295 var __lm_logo = "<?php echo esc_js(get_site_icon_url()); ?>";
296 var $body = $('body');
297 var $modal = $('#wpdmloginmodal');
298
299 function openModal() {
300 $modal.addClass('wpdm-login-modal--open');
301 $body.addClass('wpdm-modal-open');
302 setTimeout(function() {
303 $('#user_login').trigger('focus');
304 }, 300);
305 }
306
307 function closeModal() {
308 $modal.removeClass('wpdm-login-modal--open');
309 $body.removeClass('wpdm-modal-open');
310 }
311
312 // Form submit
313 $('#modalloginform').submit(function () {
314 var $btn = $('#wpdmloginmodal-submit');
315 $btn.html('<span class="wpdm-auth-spinner"></span> <?php _e("Signing In...", "download-manager"); ?>');
316 $btn.prop('disabled', true);
317 $(this).ajaxSubmit({
318 error: function(error) {
319 var msg = error.responseJSON ? error.responseJSON.messages : '<?php _e("Login failed. Please try again.", "download-manager"); ?>';
320 $('#modalloginform .wpdm-auth-alert').remove();
321 $('#modalloginform').prepend('<div class="wpdm-auth-alert error"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z" /></svg>' + msg + '</div>');
322 $btn.html(llbl).prop('disabled', false);
323 <?php if((int)get_option('__wpdm_recaptcha_loginform', 0) === 1 && get_option('_wpdm_recaptcha_site_key') != ''){ ?>
324 try { grecaptcha.reset(); } catch (e) {}
325 <?php } ?>
326 },
327 success: function (res) {
328 if (!res.success) {
329 $('#modalloginform .wpdm-auth-alert').remove();
330 $('#modalloginform').prepend('<div class="wpdm-auth-alert error"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z" /></svg>' + res.message + '</div>');
331 $btn.html(llbl).prop('disabled', false);
332 <?php if((int)get_option('__wpdm_recaptcha_loginform', 0) === 1 && get_option('_wpdm_recaptcha_site_key') != ''){ ?>
333 try { grecaptcha.reset(); } catch (e) {}
334 <?php } ?>
335 } else {
336 $btn.html('<span class="wpdm-auth-spinner"></span> ' + res.message);
337 location.href = __lm_redirect_to;
338 }
339 }
340 });
341 return false;
342 });
343
344 // Dismiss alerts on click
345 $body.on('click', '#modalloginform .wpdm-auth-alert', function(){
346 $(this).slideUp(200, function() { $(this).remove(); });
347 });
348
349 // Open modal triggers (data-target and class-based)
350 $body.on('click', 'a[data-target="#wpdmloginmodal"], .wpdmloginmodal-trigger', function (e) {
351 e.preventDefault();
352 if($(this).data('redirect') !== undefined) {
353 __lm_redirect_to = $(this).data('redirect');
354 }
355 if($(this).data('logo') !== undefined) {
356 __lm_logo = $(this).data('logo');
357 }
358 if(__lm_logo !== "") {
359 var $logo = $('#wpdm_modal_login_logo');
360 if ($logo.is('img')) {
361 $logo.attr('src', __lm_logo);
362 } else {
363 $logo.replaceWith(WPDM.el('img', {src: __lm_logo, alt: "Logo", id: "wpdm_modal_login_logo", style: "width:36px;height:36px;border-radius:8px;object-fit:cover"}));
364 }
365 }
366 openModal();
367 });
368
369 // Close modal
370 $body.on('click', '#wpdm-modal-close, .wpdm-login-modal__backdrop', function () {
371 closeModal();
372 });
373
374 // Close on Escape key
375 $(document).on('keydown', function(e) {
376 if (e.key === 'Escape' && $modal.hasClass('wpdm-login-modal--open')) {
377 closeModal();
378 }
379 });
380
381 // Ctrl+L shortcut to open
382 $(window).keydown(function(event) {
383 if(event.ctrlKey && event.keyCode === 76) {
384 openModal();
385 event.preventDefault();
386 }
387 });
388
389 // Backwards compatibility: support .modal('show') calls
390 $modal.modal = function(action) {
391 if (action === 'show') openModal();
392 else if (action === 'hide') closeModal();
393 };
394 });
395 </script>
396