Browse Source

Updated search functionality to limit form interactions

master
Julien Dessaux 4 months ago
parent
commit
54d846c6c8
  1. 6
      search/search.go
  2. 2
      search/search.html

6
search/search.go

@ -102,9 +102,9 @@ type SearchPage struct {
// The search handler of the webui
func searchHandler(w http.ResponseWriter, r *http.Request) error {
p := SearchPage{
Query: strings.ToLower(r.FormValue("query")),
Query: r.FormValue("query"),
}
if p.Query != "" {
if p.Query != "" && len(p.Query) >= 3 && len(p.Query) <= 64 {
log.Printf("searching for: %s", p.Query)
// First we reset the search options status
p.SearchTitle = r.FormValue("searchTitle") == "true"
@ -112,7 +112,7 @@ func searchHandler(w http.ResponseWriter, r *http.Request) error {
p.SearchDescription = r.FormValue("searchDescription") == "true"
p.SearchContent = r.FormValue("searchContent") == "true"
// Then we walk the index
words := normalizeWords(strings.Fields(p.Query))
words := normalizeWords(strings.Fields(strings.ToLower(p.Query)))
scores := make(Pairs, 0)
for i := 0; i < len(jsonIndex); i++ {
score := 0

2
search/search.html

@ -1,6 +1,6 @@
{{ define "search" }}
<form action="/search/" method="post">
<input class="fullwidth" type="text" placeholder="Enter your search terms here" name="query" value="{{ .Query }}" required autofocus><br>
<input class="fullwidth" type="text" placeholder="Enter your search terms here" name="query" value="{{ .Query }}" minlength="3" maxlength="64" required autofocus><br>
<input type="checkbox" id="searchTitle" name="searchTitle" value="true"{{ if .SearchTitle }} checked{{ end }}><label for="searchTitle">Titles</label>
<input type="checkbox" id="searchTags" name="searchTags" value="true"{{ if .SearchTags }} checked{{ end }}><label for="searchTags">Tags</label>
<input type="checkbox" id="searchDescription" name="searchDescription" value="true"{{ if .SearchDescription }} checked{{ end }}><label for="searchDescription">Descriptions</label>

Loading…
Cancel
Save