insert_user_info.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. "use strict";
  2. function do_insert_user_info_sub(name, lang_data_list, lang_data = {}, for_a = 0) {
  3. if(lang_data_list[for_a]) {
  4. fetch("/api/lang/" + lang_data_list[for_a]).then(function(res) {
  5. return res.json();
  6. }).then(function(data) {
  7. lang_data[lang_data_list[for_a]] = data['data'];
  8. do_insert_user_info_sub(name, lang_data_list, lang_data, for_a + 1);
  9. });
  10. } else {
  11. fetch("/api/user_info/" + opennamu_do_url_encode(name)).then(function(res) {
  12. return res.json();
  13. }).then(function(data) {
  14. let get_data_auth = data['data']['auth'];
  15. if(get_data_auth === '0') {
  16. get_data_auth = lang_data['ip'];
  17. } else if(get_data_auth === '1') {
  18. get_data_auth = lang_data['member'];
  19. } else {
  20. get_data_auth = data['data']['auth'];
  21. }
  22. let get_data_auth_date = data['data']['auth_date'];
  23. if(get_data_auth_date !== '0') {
  24. get_data_auth += ' (~' + get_data_auth_date + ')'
  25. }
  26. let get_data_ban = data['data']['ban'];
  27. if(get_data_ban === '0') {
  28. get_data_ban = lang_data['normal'];
  29. } else {
  30. get_data_ban = lang_data['ban'];
  31. get_data_ban += '<br>';
  32. get_data_ban += lang_data['type'] + ' : ';
  33. if(data['data']['ban']['type'] === 'normal') {
  34. get_data_ban += '<a href="/block_log/user/' + opennamu_do_url_encode(name) + '">' + lang_data['normal'] + '</a>';
  35. } else {
  36. get_data_ban += '<a href="/block_log/regex">' + lang_data['regex'] + '</a>';
  37. }
  38. get_data_ban += '<br>';
  39. get_data_ban += lang_data['period'] + ' : ';
  40. if(data['data']['ban']['period'] === '0') {
  41. get_data_ban += lang_data['limitless'];
  42. } else {
  43. get_data_ban += data['data']['ban']['period'];
  44. }
  45. get_data_ban += '<br>';
  46. get_data_ban += lang_data['login_able'] + ' : ';
  47. if(data['data']['ban']['login_able'] === '1') {
  48. get_data_ban += 'O';
  49. } else {
  50. get_data_ban += 'X';
  51. }
  52. get_data_ban += '<br>';
  53. if(data['data']['ban']['reason'] === 'edit filter') {
  54. get_data_ban += lang_data['why'] + ' : <a href="/edit_filter/' + opennamu_do_url_encode(name) + '">' + data['data']['ban']['reason'] + '</a>';
  55. } else {
  56. get_data_ban += lang_data['why'] + ' : ' + data['data']['ban']['reason'];
  57. }
  58. }
  59. let level = '0';
  60. let exp = '0';
  61. let max_exp = '0';
  62. if(get_data_auth !== lang_data['ip']) {
  63. level = data['data']['level'];
  64. exp = data['data']['exp'];
  65. max_exp = String(500 + (Number(data['data']['level']) * 50));
  66. }
  67. let end_data = '' +
  68. '<table class="user_info_table">' +
  69. '<tr>' +
  70. '<td>' + lang_data['user_name'] + '</td>' +
  71. '<td>' + data['data']['render'] + '</td>' +
  72. '</tr>' +
  73. '<tr>' +
  74. '<td>' + lang_data['authority'] + '</td>' +
  75. '<td>' + get_data_auth + '</td>' +
  76. '</tr>' +
  77. '<tr>' +
  78. '<td>' + lang_data['state'] + '</td>' +
  79. '<td>' + get_data_ban + '</td>' +
  80. '</tr>' +
  81. '<tr>' +
  82. '<td>' + lang_data['level'] + '</td>' +
  83. '<td>' + level + ' (' + exp + ' / ' + max_exp + ')</td>' +
  84. '</tr>' +
  85. '</table>' +
  86. '';
  87. document.getElementById('opennamu_get_user_info').innerHTML = end_data;
  88. });
  89. }
  90. }
  91. function do_insert_user_info() {
  92. if(document.getElementById('opennamu_get_user_info')) {
  93. let name = document.getElementById('opennamu_get_user_info').innerHTML;
  94. let lang_data_list = [
  95. 'user_name',
  96. 'authority',
  97. 'state',
  98. 'member',
  99. 'normal',
  100. 'blocked',
  101. 'type',
  102. 'regex',
  103. 'period',
  104. 'limitless',
  105. 'login_able',
  106. 'why',
  107. 'band_blocked',
  108. 'ip',
  109. 'ban',
  110. 'level'
  111. ];
  112. do_insert_user_info_sub(name, lang_data_list);
  113. }
  114. }
  115. do_insert_user_info();