view_main_404_page.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package route
  2. import (
  3. "opennamu/route/tool"
  4. "path/filepath"
  5. )
  6. func View_main_404_page(config tool.Config, url string) string {
  7. db := tool.DB_connect()
  8. defer tool.DB_close(db)
  9. if url == "/" {
  10. frontpage := "FrontPage"
  11. tool.QueryRow_DB(
  12. db,
  13. `select data from other where name = "frontpage"`,
  14. []any{ &frontpage },
  15. )
  16. return tool.Get_redirect("/w/" + tool.Url_parser(frontpage))
  17. }
  18. page_404_set := ""
  19. tool.QueryRow_DB(
  20. db,
  21. `select data from other where name = "manage_404_page"`,
  22. []any{ &page_404_set },
  23. )
  24. data_html := ""
  25. page_404_dir := filepath.Join("..", "404.html")
  26. if tool.File_exist_check(page_404_dir) && page_404_set == "404_file" {
  27. data_html = tool.File_text_read(page_404_dir)
  28. } else {
  29. db_data := ""
  30. tool.QueryRow_DB(
  31. db,
  32. `select data from other where name = "manage_404_page_content"`,
  33. []any{ &db_data },
  34. )
  35. if db_data != "" {
  36. data_html = tool.Get_template(
  37. db,
  38. config,
  39. "404",
  40. db_data,
  41. []any{},
  42. [][]any{},
  43. map[string]string{},
  44. )
  45. } else {
  46. data_in := tool.Get_language(db, "func_404_error", true)
  47. data_in += "<hr class=\"main_hr\">"
  48. data_in += "Path : " + url
  49. data_html = tool.Get_template(
  50. db,
  51. config,
  52. "404",
  53. data_in,
  54. []any{},
  55. [][]any{},
  56. map[string]string{},
  57. )
  58. }
  59. }
  60. return data_html
  61. }