diff options
| author | Horus3 | 2015-05-17 00:56:57 +0200 |
|---|---|---|
| committer | Horus3 | 2015-05-17 00:56:57 +0200 |
| commit | feb97c32649dfaa7c98283423125283a53d5dd09 (patch) | |
| tree | 522ab758099d5cda742510c615af034b5ce5710c /handler.go | |
| parent | 5d48193b6988f20b4ed94331350262d07754bd4d (diff) | |
| download | freemail-feb97c32649dfaa7c98283423125283a53d5dd09.tar.gz | |
Improved UX, security and presentation.
Diffstat (limited to 'handler.go')
| -rw-r--r-- | handler.go | 24 |
1 files changed, 21 insertions, 3 deletions
@@ -10,6 +10,7 @@ func IndexHandler(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println("Info: ", err) } + session.Values["page"] = "/" flash := Flash{} flash.Error = session.Flashes("error") @@ -30,6 +31,7 @@ func RegisterHandler(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println("Info: ", err) } + session.Values["page"] = "/register" flash := Flash{} flash.Error = session.Flashes("error") @@ -99,6 +101,7 @@ func AboutHandler(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println("Info: ", err) } + session.Values["page"] = "/about" flash := Flash{} flash.Error = session.Flashes("error") @@ -119,6 +122,7 @@ func ServerHandler(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println("Info: ", err) } + session.Values["page"] = "/server" flash := Flash{} flash.Error = session.Flashes("error") @@ -139,6 +143,7 @@ func HowtoHandler(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println("Info: ", err) } + session.Values["page"] = "/howto" flash := Flash{} flash.Error = session.Flashes("error") @@ -159,6 +164,7 @@ func UserHandler(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println("Info: ", err) } + session.Values["page"] = "/user" flash := Flash{} flash.Error = session.Flashes("error") @@ -179,6 +185,7 @@ func PasswordHandler(w http.ResponseWriter, r *http.Request) { if err != nil { log.Println("Info: ", err) } + session.Values["page"] = "/password" flash := Flash{} flash.Error = session.Flashes("error") @@ -239,7 +246,11 @@ func ChangePasswordHandler(w http.ResponseWriter, r *http.Request) { } func ChangeLocaleHandler(w http.ResponseWriter, r *http.Request) { - err := r.ParseForm() + session, err := store.Get(r, "_SID") + if err != nil { + log.Println("Info: ", err) + } + err = r.ParseForm() if err != nil { log.Panic(err) http.Error(w, err.Error(), http.StatusInternalServerError) @@ -248,11 +259,18 @@ func ChangeLocaleHandler(w http.ResponseWriter, r *http.Request) { locale := r.URL.Query().Get("to") + var page string + if session.Values["page"] == "" { + page = "/" + } else { + page = session.Values["page"].(string) + } + if len(locale) == 0 { - http.Redirect(w, r, "/", 302) + http.Redirect(w, r, page, 302) return } cookie := http.Cookie{Name: "lang", Value: locale} http.SetCookie(w, &cookie) - http.Redirect(w, r, "/", 302) + http.Redirect(w, r, page, 302) } |
