1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package main
- import (
- "fmt"
- "html/template"
- "io"
- "net/http"
- "path/filepath"
- "strings"
- "redisdog/model"
- )
- func profile_logout(resp http.ResponseWriter, req *http.Request) {
- sess, ok := checkLogin(resp, req)
- if ok {
- SessPoll.Del(sess.Sess)
- }
- resp.Header().Set("Location", "/login")
- resp.WriteHeader(302)
- }
- func profile_passwd(resp http.ResponseWriter, req *http.Request) {
- sess, ok := checkLogin(resp, req)
- if !ok {
- return
- }
- if req.Method == "GET" {
- //视图输出
- files := []string{
- filepath.Join(Cfg.TmplDir, "profile", "passwd.tmpl"),
- filepath.Join(Cfg.TmplDir, "header.tmpl"),
- filepath.Join(Cfg.TmplDir, "navbar.tmpl"),
- }
- tmpl, err := template.New("passwd.tmpl").Funcs(TmplFuncMap).ParseFiles(files...)
- if err != nil {
- io.WriteString(resp, fmt.Sprintf("Error: %s\n", err.Error()))
- } else {
- tmpl.Execute(resp, struct {
- Sess *Session
- Req *http.Request
- Title string
- }{
- sess,
- req,
- "修改密码",
- })
- }
- } else {
- req.ParseForm()
- oldpwd := strings.TrimSpace(req.PostForm.Get("oldpwd"))
- newpwd := strings.TrimSpace(req.PostForm.Get("newpwd"))
- if oldpwd == "" {
- resp.Write(ERROR_RET(1, "旧密码不能为空!"))
- } else if len(oldpwd) < 6 {
- resp.Write(ERROR_RET(2, "旧密码格式不正确空!"))
- } else if newpwd == "" {
- resp.Write(ERROR_RET(3, "新密码不能为空!"))
- } else if len(newpwd) < 6 {
- resp.Write(ERROR_RET(4, "旧密码格式不正确空!"))
- } else if oldpwd == newpwd {
- resp.Write(ERROR_RET(5, "新密码不能与旧密码相同!"))
- } else {
- mdlAccounts := model.NewAccounts(Db)
- row, err := mdlAccounts.Login(sess.Account.Account, oldpwd)
- if err != nil {
- resp.Write(ERROR_RET(6, "旧密码不正确!"))
- } else {
- affected, err := mdlAccounts.UpdatePassword(row.Id, newpwd)
- if err != nil {
- resp.Write(ERROR_RET(7, err.Error()))
- } else if affected > 0 {
- resp.Write(ERROR_RET(0, ""))
- } else {
- resp.Write(ERROR_RET(7, "未知错误!"))
- }
- }
- }
- }
- }
|