diff options
Diffstat (limited to 'web.go')
| -rw-r--r-- | web.go | 31 |
1 files changed, 19 insertions, 12 deletions
@@ -104,9 +104,17 @@ func (app *App) settings(w http.ResponseWriter, r *http.Request) { } if r.Method == "POST" { - _, err = app.DB.Exec("UPDATE users SET name=$1, email=$2, lfm_name=$3, lfm_password=$4 WHERE user_id=$5", - r.FormValue("name"), r.FormValue("email"), r.FormValue("lfm_name"), - md5hex(r.FormValue("lfm_password")), se.UserId) + if r.FormValue("lfm_password") == "" { + _, err = app.DB.Exec(`UPDATE users SET name=$1, email=$2, lfm_name=$3 + WHERE user_id=$4`, + r.FormValue("name"), r.FormValue("email"), r.FormValue("lfm_name"), + se.UserId) + } else { + _, err = app.DB.Exec(`UPDATE users SET name=$1, email=$2, lfm_name=$3, + lfm_password=$4 WHERE user_id=$5`, + r.FormValue("name"), r.FormValue("email"), r.FormValue("lfm_name"), + md5hex(r.FormValue("lfm_password")), se.UserId) + } if err != nil { log.Println(err) } @@ -114,15 +122,14 @@ func (app *App) settings(w http.ResponseWriter, r *http.Request) { app.SetCookie(w, "session", se, 86400*30) } - var userName, email, lfmName, lfmPassword string - row := app.DB.QueryRow("SELECT name, email, lfm_name, lfm_password FROM users WHERE user_id=$1", + var userName, email, lfmName string + row := app.DB.QueryRow("SELECT name, email, lfm_name FROM users WHERE user_id=$1", se.UserId) - row.Scan(&userName, &email, &lfmName, &lfmPassword) + row.Scan(&userName, &email, &lfmName) app.Template.ExecuteTemplate(w, "settings.tmpl", struct { - Session *UserSession - UserName string - Email string - LfmName string - LfmPassword string - }{se, userName, email, lfmName, lfmPassword}) + Session *UserSession + UserName string + Email string + LfmName string + }{se, userName, email, lfmName}) } |
