2
0

api_bbs_w_set.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package route
  2. import (
  3. "opennamu/route/tool"
  4. )
  5. func BBS_w_set_list() map[string]string {
  6. setting_acl := map[string]string{}
  7. setting_acl["bbs_view_acl"] = ""
  8. setting_acl["bbs_acl"] = ""
  9. setting_acl["bbs_edit_acl"] = ""
  10. setting_acl["bbs_comment_acl"] = ""
  11. setting_acl["bbs_markup"] = ""
  12. setting_acl["bbs_name"] = ""
  13. return setting_acl
  14. }
  15. func Api_bbs_w_set(config tool.Config) string {
  16. db := tool.DB_connect()
  17. defer tool.DB_close(db)
  18. other_set := map[string]string{}
  19. json.Unmarshal([]byte(config.Other_set), &other_set)
  20. setting_acl := BBS_w_set_list()
  21. if val, ok := setting_acl[other_set["set_name"]]; ok {
  22. if val != "" {
  23. if !tool.Check_acl(db, "", "", "owner_auth", config.IP) {
  24. return_data := make(map[string]any)
  25. return_data["response"] = "require auth"
  26. json_data, _ := json.Marshal(return_data)
  27. return string(json_data)
  28. }
  29. }
  30. rows := tool.Query_DB(
  31. db,
  32. "select set_data, set_code from bbs_set where set_name = ? and set_id = ?",
  33. other_set["set_name"], other_set["set_id"],
  34. )
  35. defer rows.Close()
  36. data_list := [][]string{}
  37. for rows.Next() {
  38. var set_data string
  39. var set_coverage string
  40. err := rows.Scan(&set_data, &set_coverage)
  41. if err != nil {
  42. panic(err)
  43. }
  44. data_list = append(data_list, []string{set_data, set_coverage})
  45. }
  46. return_data := make(map[string]any)
  47. return_data["response"] = "ok"
  48. return_data["data"] = data_list
  49. json_data, _ := json.Marshal(return_data)
  50. return string(json_data)
  51. } else {
  52. return_data := make(map[string]any)
  53. return_data["response"] = "not exist"
  54. json_data, _ := json.Marshal(return_data)
  55. return string(json_data)
  56. }
  57. }