view_bbs_in_w.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package route
  2. import (
  3. "opennamu/route/tool"
  4. "github.com/gin-gonic/gin"
  5. )
  6. func View_bbs_in_w(c *gin.Context, config tool.Config, set_id string, set_code string) string {
  7. db := tool.DB_connect()
  8. defer tool.DB_close(db)
  9. if !tool.Check_acl(db, set_id, "", "bbs_view", config.IP) {
  10. return tool.Get_error_page(db, config, "auth")
  11. }
  12. bbs_name := Api_bbs_num_to_name(db, set_id)
  13. data_api := Api_bbs_w(config, set_id, set_code)
  14. data_api_in := data_api["data"].(map[string]string)
  15. if len(data_api_in) == 0 {
  16. return tool.Get_redirect("/bbs/main")
  17. }
  18. data_html := `
  19. <div class="opennamu_bbs_w_post_tab">
  20. <big><big><big>` + tool.HTML_escape(data_api_in["title"]) + `</big></big></big>
  21. <hr class="main_hr">
  22. ` + data_api_in["user_id_render"] + ` <span style="float: right;">` + data_api_in["date"] + `</span>
  23. <hr>
  24. <div class="opennamu_bbs_w_post_tab_content">
  25. ` + tool.HTML_escape(data_api_in["data"]) + `
  26. </div>
  27. </div>
  28. `
  29. Api_bbs_w_page_view_post(config, set_id, set_code)
  30. view_count_api := Api_bbs_w_page_view(config, set_id, set_code)
  31. view_count_api_data := view_count_api["data"].(int)
  32. data_html += View_bbs_in_w_comment(db, config, data_api_in["user_id"], set_id, set_code)
  33. out := tool.Get_template(
  34. db,
  35. config,
  36. bbs_name,
  37. data_html,
  38. []any{ "(" + tool.Get_language(db, "bbs", true) + ")", data_api_in["date"], 0, 0, view_count_api_data},
  39. [][]any{
  40. { "bbs/in/" + tool.Url_parser(set_id), tool.Get_language(db, "return", true) },
  41. { "bbs/edit/" + tool.Url_parser(set_id) + "/" + tool.Url_parser(set_code), tool.Get_language(db, "edit", true) },
  42. { "bbs/tool/" + tool.Url_parser(set_id) + "/" + tool.Url_parser(set_code), tool.Get_language(db, "tool", true) },
  43. },
  44. map[string]string{
  45. "path" : c.Request.URL.Path,
  46. },
  47. )
  48. return out
  49. }