aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Dessaux2021-09-16 10:39:47 +0200
committerJulien Dessaux2021-09-16 10:39:47 +0200
commit54d846c6c8d3b9a0466bfd6085d61f079f25f23a (patch)
treeb2e83b6f232490d2996b150e3221edbb423723ff
parentAdded autofocus to the search field (diff)
downloadwww-54d846c6c8d3b9a0466bfd6085d61f079f25f23a.tar.gz
www-54d846c6c8d3b9a0466bfd6085d61f079f25f23a.tar.bz2
www-54d846c6c8d3b9a0466bfd6085d61f079f25f23a.zip
Updated search functionality to limit form interactions
-rw-r--r--search/search.go6
-rw-r--r--search/search.html2
2 files changed, 4 insertions, 4 deletions
diff --git a/search/search.go b/search/search.go
index 4b49843..3643cf5 100644
--- a/search/search.go
+++ b/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
diff --git a/search/search.html b/search/search.html
index edd598a..e2e24f5 100644
--- a/search/search.html
+++ b/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>