api_bbs_w.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package route
  2. import (
  3. "opennamu/route/tool"
  4. )
  5. func Api_bbs_w(config tool.Config, set_id string, set_code string) map[string]any {
  6. db := tool.DB_connect()
  7. defer tool.DB_close(db)
  8. rows := tool.Query_DB(
  9. db,
  10. "select set_name, set_data from bbs_data where set_id = ? and set_code = ?",
  11. set_id,
  12. set_code,
  13. )
  14. defer rows.Close()
  15. data_list := map[string]string{}
  16. for rows.Next() {
  17. var set_name string
  18. var set_data string
  19. err := rows.Scan(&set_name, &set_data)
  20. if err != nil {
  21. panic(err)
  22. }
  23. if set_name == "user_id" {
  24. var ip_pre string
  25. var ip_render string
  26. ip_pre = tool.IP_preprocess(db, set_data, config.IP)[0]
  27. ip_render = tool.IP_parser(db, set_data, config.IP)
  28. data_list["user_id"] = ip_pre
  29. data_list["user_id_render"] = ip_render
  30. } else {
  31. data_list[set_name] = set_data
  32. }
  33. }
  34. return_data := make(map[string]any)
  35. if !tool.Check_acl(db, "", "", "bbs_view", config.IP) {
  36. return_data["response"] = "require auth"
  37. return_data["data"] = map[string]string{}
  38. } else {
  39. return_data["response"] = "ok"
  40. return_data["data"] = data_list
  41. }
  42. return return_data
  43. }