insert_user_info.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. "use strict";
  2. function do_insert_user_info() {
  3. if(document.getElementById('opennamu_get_user_info')) {
  4. let name = document.getElementById('opennamu_get_user_info').innerHTML;
  5. let lang_data = new FormData();
  6. lang_data.append('data', ['normal', 'ban', 'ban', 'ban', 'type', 'user_name', 'authority', 'state', 'level', ].join(' '));
  7. fetch('/api/v2/lang', {
  8. method : 'POST',
  9. body : lang_data,
  10. }).then(function(res) {
  11. return res.json();
  12. }).then(function(lang) {
  13. lang_data = lang["data"];
  14. fetch("/api/user_info/" + opennamu_do_url_encode(name)).then(function(res) {
  15. return res.json();
  16. }).then(function(data) {
  17. let get_data_auth = data['data']['auth'];
  18. let get_data_auth_date = data['data']['auth_date'];
  19. if(get_data_auth_date !== '0') {
  20. get_data_auth += ' (~' + get_data_auth_date + ')';
  21. }
  22. let get_data_ban = data['data']['ban'];
  23. let ban_state = '';
  24. if(get_data_ban === '0') {
  25. ban_state = lang_data['normal'];
  26. } else {
  27. let get_ban_do_type = get_data_ban[1].replace(/[a-zA-Z]/g, '');
  28. let get_ban_range_type = get_data_ban[1].replace(/[0-9]/g, '');
  29. if(get_ban_range_type === 'a') {
  30. ban_state = '<a href="/recent_block/regex">' + lang_data['ban'] + '</a>';
  31. } else if(get_ban_range_type === 'b') {
  32. ban_state = '<a href="/recent_block/cidr">' + lang_data['ban'] + '</a>';
  33. } else if(get_ban_range_type === 'c') {
  34. ban_state = data['data']['auth'];
  35. } else {
  36. ban_state = '<a href="/recent_block/user/' + opennamu_do_url_encode(name) + '">' + lang_data['ban'] + '</a>';
  37. }
  38. if(get_data_ban[1] !== '') {
  39. ban_state += '<br>'
  40. ban_state += lang_data['type'] + ' : ' + get_data_ban[1];
  41. }
  42. }
  43. let end_data = '' +
  44. '<table class="user_info_table">' +
  45. '<tr>' +
  46. '<td>' + lang_data['user_name'] + '</td>' +
  47. '<td>' + data['data']['render'] + '</td>' +
  48. '</tr>' +
  49. '<tr>' +
  50. '<td>' + lang_data['authority'] + '</td>' +
  51. '<td>' + get_data_auth + '</td>' +
  52. '</tr>' +
  53. '<tr>' +
  54. '<td>' + lang_data['state'] + '</td>' +
  55. '<td>' + ban_state + '</td>' +
  56. '</tr>' +
  57. '<tr>' +
  58. '<td>' + lang_data['level'] + '</td>' +
  59. '<td>' + data['data']['level'] + ' (' + data['data']['exp'] + ' / ' + data['data']['max_exp'] + ')</td>' +
  60. '</tr>' +
  61. '</table>' +
  62. '';
  63. document.getElementById('opennamu_get_user_info').innerHTML = end_data;
  64. });
  65. });
  66. }
  67. }
  68. do_insert_user_info();