70 |
70 |
71 var AJAX_STATUS_LOADING_KEY = 1; |
71 var AJAX_STATUS_LOADING_KEY = 1; |
72 var AJAX_STATUS_GENERATING_KEY = 2; |
72 var AJAX_STATUS_GENERATING_KEY = 2; |
73 var AJAX_STATUS_LOGGING_IN = 3; |
73 var AJAX_STATUS_LOGGING_IN = 3; |
74 var AJAX_STATUS_SUCCESS = 4; |
74 var AJAX_STATUS_SUCCESS = 4; |
|
75 var AJAX_STATUS_ERROR = 5; |
75 var AJAX_STATUS_DESTROY = 65535; |
76 var AJAX_STATUS_DESTROY = 65535; |
76 |
77 |
77 /** |
78 /** |
78 * State constants |
79 * State constants |
79 * @var int |
80 * @var int |
294 div.appendChild(img); |
295 div.appendChild(img); |
295 |
296 |
296 // Insert the entire message into the login window |
297 // Insert the entire message into the login window |
297 logindata.mb_inner.innerHTML = ''; |
298 logindata.mb_inner.innerHTML = ''; |
298 logindata.mb_inner.appendChild(div); |
299 logindata.mb_inner.appendChild(div); |
|
300 |
|
301 break; |
|
302 |
|
303 case AJAX_STATUS_ERROR: |
|
304 // Create the status div |
|
305 var div = document.createElement('div'); |
|
306 div.id = 'ajax_login_status'; |
|
307 div.style.marginTop = '10px'; |
|
308 div.style.textAlign = 'center'; |
|
309 |
|
310 // The circly ball ajaxy image + status message |
|
311 var status_msg = $lang.get('user_login_ajax_err_crypto'); |
|
312 |
|
313 // Insert the status message |
|
314 div.appendChild(document.createTextNode(status_msg)); |
|
315 |
|
316 // Append a br or two to space things properly |
|
317 div.appendChild(document.createElement('br')); |
|
318 div.appendChild(document.createElement('br')); |
|
319 |
|
320 var img = document.createElement('img'); |
|
321 img.src = ( ajax_login_successimg_path ) ? ajax_login_successimg_path : scriptPath + '/images/checkbad.png'; |
|
322 div.appendChild(img); |
|
323 |
|
324 // Append a br or two to space things properly |
|
325 div.appendChild(document.createElement('br')); |
|
326 div.appendChild(document.createElement('br')); |
|
327 |
|
328 // The circly ball ajaxy image + status message |
|
329 var detail_msg = $lang.get('user_login_ajax_err_crypto_details'); |
|
330 var full_link = $lang.get('user_login_ajax_err_crypto_link'); |
|
331 var link = document.createElement('a'); |
|
332 link.href = makeUrlNS('Special', 'Login/' + title); |
|
333 link.appendChild(document.createTextNode(full_link)); |
|
334 var span = document.createElement('span'); |
|
335 span.style.fontSize = 'smaller'; |
|
336 |
|
337 // Insert the message |
|
338 span.appendChild(document.createTextNode(detail_msg + ' ')); |
|
339 span.appendChild(link); |
|
340 div.appendChild(span); |
|
341 |
|
342 // Insert the entire message into the login window |
|
343 logindata.mb_inner.innerHTML = ''; |
|
344 logindata.mb_inner.appendChild(div); |
|
345 |
|
346 break; |
299 |
347 |
300 case AJAX_STATUS_DESTROY: |
348 case AJAX_STATUS_DESTROY: |
301 case null: |
349 case null: |
302 case undefined: |
350 case undefined: |
303 logindata.showing_status = false; |
351 logindata.showing_status = false; |
586 lbl_dh.style.display = 'block'; |
634 lbl_dh.style.display = 'block'; |
587 lbl_dh.style.textAlign = 'center'; |
635 lbl_dh.style.textAlign = 'center'; |
588 lbl_dh.innerHTML = $lang.get('user_login_ajax_check_dh_ie'); |
636 lbl_dh.innerHTML = $lang.get('user_login_ajax_check_dh_ie'); |
589 form.appendChild(lbl_dh); |
637 form.appendChild(lbl_dh); |
590 } |
638 } |
|
639 else if ( !data.allow_diffiehellman ) |
|
640 { |
|
641 // create hidden control - server requested that DiffieHellman be disabled (usually means not supported) |
|
642 var check_dh = document.createElement('input'); |
|
643 check_dh.type = 'hidden'; |
|
644 check_dh.id = 'ajax_login_field_dh'; |
|
645 form.appendChild(check_dh); |
|
646 } |
591 else |
647 else |
592 { |
648 { |
593 var lbl_dh = document.createElement('label'); |
649 var lbl_dh = document.createElement('label'); |
594 lbl_dh.style.fontSize = 'smaller'; |
650 lbl_dh.style.fontSize = 'smaller'; |
595 lbl_dh.style.display = 'block'; |
651 lbl_dh.style.display = 'block'; |
833 captcha_hash: captcha_hash, |
893 captcha_hash: captcha_hash, |
834 key_aes: hex_md5(crypt_key), |
894 key_aes: hex_md5(crypt_key), |
835 level: logindata.user_level, |
895 level: logindata.user_level, |
836 remember: remember_session |
896 remember: remember_session |
837 } |
897 } |
|
898 } |
|
899 } |
|
900 catch(e) |
|
901 { |
|
902 ajaxLoginSetStatus(AJAX_STATUS_ERROR); |
|
903 console.error('Exception caught in login process; backtrace follows'); |
|
904 console.debug(e); |
|
905 return false; |
838 } |
906 } |
839 ajaxLoginPerformRequest(json_packet); |
907 ajaxLoginPerformRequest(json_packet); |
840 } |
908 } |
841 |
909 |
842 window.ajaxLoginShowFriendlyError = function(response) |
910 window.ajaxLoginShowFriendlyError = function(response) |