summaryrefslogtreecommitdiff
path: root/handler.go
diff options
context:
space:
mode:
Diffstat (limited to 'handler.go')
-rw-r--r--handler.go24
1 files changed, 21 insertions, 3 deletions
diff --git a/handler.go b/handler.go
index 9035f87..021a852 100644
--- a/handler.go
+++ b/handler.go
@@ -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)
}