api_user_setting_skin_set_main_post.go 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. package route
  2. import (
  3. "database/sql"
  4. "opennamu/route/tool"
  5. )
  6. func Get_main_skin_set_list(db *sql.DB) map[string][][]string {
  7. need_keys := []string{
  8. "default", "off", "change_to_normal", "delete", "use",
  9. "bottom", "top", "normal", "spread", "popup", "not_working", "popover",
  10. "change_to_link", "click_load", "all_off", "in_content",
  11. "self_tab", "all", "only_number",
  12. }
  13. lang := make(map[string]string, len(need_keys))
  14. for _, k := range need_keys {
  15. lang[k] = tool.Get_language(db, k, true)
  16. }
  17. popup_not_working := lang["popup"] + " (" + lang["not_working"] + ")"
  18. set_list := map[string][][]string{
  19. "main_css_strike": {
  20. { "default", lang["default"] },
  21. { "normal", lang["off"] },
  22. { "change", lang["change_to_normal"] },
  23. { "delete", lang["delete"] },
  24. },
  25. "main_css_bold": {
  26. { "default", lang["default"] },
  27. { "normal", lang["off"] },
  28. { "change", lang["change_to_normal"] },
  29. { "delete", lang["delete"] },
  30. },
  31. "main_css_include_link": {
  32. { "default", lang["default"] },
  33. { "normal", lang["off"] },
  34. { "use", lang["use"] },
  35. },
  36. "main_css_category_set": {
  37. { "default", lang["default"] },
  38. { "bottom", lang["bottom"] },
  39. { "top", lang["top"] },
  40. },
  41. "main_css_footnote_set": {
  42. { "default", lang["default"] },
  43. { "normal", lang["normal"] },
  44. { "spread", lang["spread"] },
  45. { "popup", popup_not_working },
  46. { "popover", lang["popover"] },
  47. },
  48. "main_css_image_set": {
  49. { "default", lang["default"] },
  50. { "normal", lang["normal"] },
  51. { "click", lang["change_to_link"] },
  52. { "new_click", lang["click_load"] },
  53. },
  54. "main_css_toc_set": {
  55. { "default", lang["default"] },
  56. { "normal", lang["normal"] },
  57. { "off", lang["all_off"] },
  58. { "half_off", lang["in_content"] },
  59. },
  60. "main_css_monaco": {
  61. { "default", lang["default"] },
  62. { "normal", lang["off"] },
  63. { "use", lang["use"] },
  64. },
  65. "main_css_exter_link": {
  66. { "default", lang["default"] },
  67. { "blank", lang["normal"] },
  68. { "self", lang["self_tab"] },
  69. },
  70. "main_css_link_delimiter": {
  71. { "default", lang["default"] },
  72. { "normal", lang["off"] },
  73. { "use", lang["use"] },
  74. },
  75. "main_css_darkmode": {
  76. { "default", lang["default"] },
  77. { "0", lang["off"] },
  78. { "1", lang["use"] },
  79. },
  80. "main_css_footnote_number": {
  81. { "default", lang["default"] },
  82. { "all", lang["all"] },
  83. { "only_number", lang["only_number"] },
  84. },
  85. "main_css_view_real_footnote_num": {
  86. { "default", lang["default"] },
  87. { "off", lang["off"] },
  88. { "on", lang["use"] },
  89. },
  90. "main_css_table_scroll": {
  91. { "default", lang["default"] },
  92. { "off", lang["off"] },
  93. { "on", lang["use"] },
  94. },
  95. "main_css_category_change_title": {
  96. { "default", lang["default"] },
  97. { "off", lang["off"] },
  98. { "on", lang["use"] },
  99. },
  100. "main_css_list_view_change": {
  101. { "default", lang["default"] },
  102. { "off", lang["off"] },
  103. { "on", lang["use"] },
  104. },
  105. "main_css_view_joke": {
  106. { "default", lang["default"] },
  107. { "on", lang["use"] },
  108. { "off", lang["off"] },
  109. },
  110. "main_css_math_scroll": {
  111. { "default", lang["default"] },
  112. { "off", lang["off"] },
  113. { "on", lang["use"] },
  114. },
  115. "main_css_view_history": {
  116. { "default", lang["default"] },
  117. { "off", lang["off"] },
  118. { "on", lang["use"] },
  119. },
  120. "main_css_table_transparent": {
  121. { "default", lang["default"] },
  122. { "off", lang["off"] },
  123. { "on", lang["use"] },
  124. },
  125. "main_css_font_size": {
  126. { "default", lang["default"] },
  127. { "10", "10" },
  128. { "12", "12" },
  129. { "14", "14" },
  130. { "16", "16" },
  131. { "18", "18" },
  132. { "20", "20" },
  133. { "22", "22" },
  134. },
  135. }
  136. return set_list
  137. }
  138. func Api_user_setting_skin_set_main_post(config tool.Config, user_set_list map[string]string) map[string]any {
  139. db := tool.DB_connect()
  140. defer tool.DB_close(db)
  141. return_data := make(map[string]any)
  142. if tool.IP_or_user(config.IP) {
  143. return_data["response"] = "require auth"
  144. return return_data
  145. }
  146. return_data["response"] = "ok"
  147. set_list := Get_main_skin_set_list(db)
  148. for k := range set_list {
  149. if val, ok := user_set_list[k]; ok {
  150. tool.Exec_DB(
  151. db,
  152. "delete from user_set where id = ? and name = ? and data = ?",
  153. config.IP,
  154. k,
  155. val,
  156. )
  157. tool.Exec_DB(
  158. db,
  159. "insert into user_set (name, id, data) values (?, ?, ?)",
  160. k,
  161. config.IP,
  162. val,
  163. )
  164. }
  165. }
  166. return return_data
  167. }