bbs_set.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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 = [
  24. "bbs_view_acl_all",
  25. "bbs_acl_all",
  26. "bbs_edit_acl_all",
  27. "bbs_comment_acl_all"
  28. ];
  29. let lang_str = 'save';
  30. for(let for_a = 0; for_a < acl_set_list.length; for_a++) {
  31. lang_str += ' ' + acl_set_list[for_a];
  32. }
  33. let lang_data = new FormData();
  34. lang_data.append('data', lang_str);
  35. fetch('/api/v2/lang', {
  36. method : 'post',
  37. body : lang_data,
  38. }).then(function(res) {
  39. return res.json();
  40. }).then(function(lang) {
  41. lang = lang["data"];
  42. fetch('/api/v2/acl_list/normal').then(function(res) {
  43. return res.json();
  44. }).then(function(acl_list) {
  45. acl_list = acl_list["data"];
  46. let acl_set_html = '';
  47. for(let for_b = 0; for_b < acl_set_list.length; for_b++) {
  48. acl_set_html += '<h2>' + lang[acl_set_list[for_b]] + '</h2>';
  49. acl_set_html += '<select id="opennamu_' + acl_set_list[for_b] + '">';
  50. let select = '';
  51. for(let for_a = 0; for_a < acl_list.length; for_a++) {
  52. let acl_list_view = acl_list[for_a];
  53. acl_list_view = acl_list_view == "" ? "normal" : acl_list_view;
  54. select += '<option value="' + acl_list[for_a] + '">' + acl_list_view + '</option>';
  55. }
  56. acl_set_html += select;
  57. acl_set_html += '</select>';
  58. }
  59. document.getElementById('opennamu_bbs_set').innerHTML = '' +
  60. acl_set_html +
  61. '<hr class="main_hr">' +
  62. '<button onclick="opennamu_bbs_set_post();">' + lang['save'] + '</button>' +
  63. '';
  64. for(let for_a = 0; for_a < acl_set_list.length; for_a++) {
  65. fetch('/api/v2/setting/' + acl_set_list[for_a]).then(function(res) {
  66. return res.json();
  67. }).then(function(data) {
  68. data = data["data"];
  69. let select_element = document.getElementById('opennamu_' + acl_set_list[for_a]);
  70. select_element.querySelector('option[value="' + data + '"]').selected = true;
  71. });
  72. }
  73. });
  74. });
  75. }