bbs_set.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. "use strict";
  2. function opennamu_bbs_set_post() {
  3. let acl_set_list = [
  4. "bbs_view_acl_all",
  5. "bbs_acl_all",
  6. "bbs_edit_acl_all",
  7. "bbs_comment_acl_all"
  8. ];
  9. for(let for_a = 0; for_a < acl_set_list.length; for_a++) {
  10. let post_data = new FormData();
  11. post_data.append('data', document.getElementById('opennamu_' + acl_set_list[for_a]).value);
  12. fetch('/api/v2/setting/' + acl_set_list[for_a], {
  13. method : 'PUT',
  14. body : post_data,
  15. }).then(function(res) {
  16. return res.json();
  17. }).then(function(data) {
  18. history.go(0);
  19. });
  20. }
  21. }
  22. function opennamu_bbs_set() {
  23. let acl_set_list = ["bbs_view_acl_all", "bbs_acl_all", "bbs_edit_acl_all", "bbs_comment_acl_all"];
  24. let acl_set_list_h = [2, 3, 4, 4];
  25. let lang_str = 'save reference';
  26. for(let for_a = 0; for_a < acl_set_list.length; for_a++) {
  27. lang_str += ' ' + acl_set_list[for_a];
  28. }
  29. let lang_data = new FormData();
  30. lang_data.append('data', lang_str);
  31. fetch('/api/v2/lang', {
  32. method : 'POST',
  33. body : lang_data,
  34. }).then(function(res) {
  35. return res.json();
  36. }).then(function(lang) {
  37. lang = lang["data"];
  38. fetch('/api/v2/list/acl/normal').then(function(res) {
  39. return res.json();
  40. }).then(function(acl_list) {
  41. acl_list = acl_list["data"];
  42. let acl_set_html = '<a href="/acl/TEST#exp">(' + lang['reference'] + ')</a>';
  43. for(let for_b = 0; for_b < acl_set_list.length; for_b++) {
  44. acl_set_html += '<h' + acl_set_list_h[for_b] + '>' + lang[acl_set_list[for_b]] + '</h' + acl_set_list_h[for_b] + '>';
  45. acl_set_html += '<select id="opennamu_' + acl_set_list[for_b] + '">';
  46. let select = '';
  47. for(let for_a = 0; for_a < acl_list.length; for_a++) {
  48. let acl_list_view = acl_list[for_a];
  49. acl_list_view = acl_list_view === "" ? "normal" : acl_list_view;
  50. select += '<option value="' + acl_list[for_a] + '">' + acl_list_view + '</option>';
  51. }
  52. acl_set_html += select;
  53. acl_set_html += '</select>';
  54. }
  55. document.getElementById('opennamu_bbs_set').innerHTML = renderSimpleSet('' +
  56. acl_set_html +
  57. '<hr class="main_hr">' +
  58. '<button onclick="opennamu_bbs_set_post();">' + lang['save'] + '</button>' +
  59. '');
  60. for(let for_a = 0; for_a < acl_set_list.length; for_a++) {
  61. fetch('/api/v2/setting/' + acl_set_list[for_a]).then(function(res) {
  62. return res.json();
  63. }).then(function(data) {
  64. data = data["data"][0];
  65. let select_element = document.getElementById('opennamu_' + acl_set_list[for_a]);
  66. select_element.querySelector('option[value="' + data + '"]').selected = true;
  67. });
  68. }
  69. });
  70. });
  71. }