package route
import (
"opennamu/route/tool"
"strings"
)
func View_main_search(config tool.Config, keyword string, num string, search_type string) string {
db := tool.DB_connect()
defer tool.DB_close(db)
if keyword == "" {
return tool.Get_redirect("/")
}
data_html := `
(` + tool.Get_language(db, "search_document_name", true) + `)
(` + tool.Get_language(db, "search_document_data", true) + `)
`
name_new := ""
if strings.HasPrefix(keyword, "분류:") {
name_new = strings.ReplaceAll(keyword, "분류:", "category:")
} else if strings.HasPrefix(keyword, "사용자:") {
name_new = strings.ReplaceAll(keyword, "사용자:", "user:")
} else if strings.HasPrefix(keyword, "파일:") {
name_new = strings.ReplaceAll(keyword, "파일:", "file:")
}
if name_new != "" {
data_html += ` (` + tool.HTML_escape(name_new) + `)`
}
data_api_exist := Api_w_raw(config, keyword, "true", "")
data_api_exist_in := data_api_exist["data"].(string)
main_document_name := keyword
link_id := `class="opennamu_not_exist_link"`
if data_api_exist_in != "" {
link_id = ""
main_document_name = data_api_exist_in
}
data_html += `
`
data_api := Api_func_search(config, keyword, num, search_type)
data_api_in := data_api["data"].([]string)
data_html += ""
num_int := tool.Str_to_int(num)
if search_type == "title" {
data_html += tool.Get_page_control(
db,
num_int,
len(data_api_in),
50,
"/search_page/{}/" + tool.Url_parser(keyword),
)
} else {
data_html += tool.Get_page_control(
db,
num_int,
len(data_api_in),
50,
"/search_page/{}/" + tool.Url_parser(keyword),
)
}
out := tool.Get_template(
db,
config,
keyword,
data_html,
[]any{ "(" + tool.Get_language(db, "search", true) + ")" },
[][]any{
{ "other", tool.Get_language(db, "return", true) },
},
map[string]string{},
)
return out
}