func (p *socialAuther) LoginUser(ctx *context.Context, uid int) (string, error) { user := models.User{Id: uid} if user.Read() == nil { auth.LoginUser(&user, ctx, true) } return auth.GetLoginRedirect(ctx), nil }
func LoginUserFromRememberCookie(user *models.User, ctx *context.Context) (success bool) { userName := ctx.GetCookie(setting.CookieUserName) if len(userName) == 0 { return false } defer func() { if !success { DeleteRememberCookie(ctx) } }() user.UserName = userName if err := user.Read("UserName"); err != nil { return false } secret := utils.EncodeMd5(user.Rands + user.Password) value, _ := ctx.GetSecureCookie(secret, setting.CookieRememberName) if value != userName { return false } LoginUser(user, ctx, true) return true }
func UserFollow(user *models.User, theUser *models.User) { if theUser.Read() == nil { var mutual bool tFollow := models.Follow{User: theUser, FollowUser: user} if err := tFollow.Read("User", "FollowUser"); err == nil { mutual = true } follow := models.Follow{User: user, FollowUser: theUser, Mutual: mutual} if err := follow.Insert(); err == nil && mutual { tFollow.Mutual = mutual tFollow.Update("Mutual") } if nums, err := user.FollowingUsers().Count(); err == nil { user.Following = int(nums) user.Update("Following") } if nums, err := theUser.FollowerUsers().Count(); err == nil { theUser.Followers = int(nums) theUser.Update("Followers") } } }
func (form *CommentAdminForm) Valid(v *validation.Validation) { user := models.User{Id: form.User} if user.Read() != nil { v.SetError("User", "admin.not_found_by_id") } post := models.Post{Id: form.Post} if post.Read() != nil { v.SetError("Post", "admin.not_found_by_id") } }
// get user if key exist in session func GetUserFromSession(user *models.User, sess session.Store) bool { id := GetUserIdFromSession(sess) if id > 0 { u := models.User{Id: id} if u.Read() == nil { *user = u return true } } return false }
// get user by erify code func getVerifyUser(user *models.User, code string) bool { if len(code) <= utils.TimeLimitCodeLength { return false } // use tail hex username query user hexStr := code[utils.TimeLimitCodeLength:] if b, err := hex.DecodeString(hexStr); err == nil { user.UserName = string(b) if user.Read("UserName") == nil { return true } } return false }
func (form *PostAdminForm) Valid(v *validation.Validation) { user := models.User{Id: form.User} if user.Read() != nil { v.SetError("User", "admin.not_found_by_id") } user.Id = form.LastReply if user.Read() != nil { v.SetError("LastReply", "admin.not_found_by_id") } user.Id = form.LastAuthor if user.Read() != nil { v.SetError("LastReply", "admin.not_found_by_id") } topic := models.Topic{Id: form.Topic} if topic.Read() != nil { v.SetError("Topic", "admin.not_found_by_id") } cat := models.Category{Id: form.Category} if cat.Read() != nil { v.SetError("Category", "admin.not_found_by_id") } if len(i18n.GetLangByIndex(form.Lang)) == 0 { v.SetError("Lang", "Not Found") } }
func (this *UserRouter) getUser(user *models.User) bool { username := this.GetString(":username") user.UserName = username err := user.Read("UserName") if err != nil { this.Abort("404") return true } IsFollowed := false if this.IsLogin { if this.User.Id != user.Id { IsFollowed = this.User.FollowingUsers().Filter("FollowUser", user.Id).Exist() } } this.Data["TheUser"] = &user this.Data["IsFollowed"] = IsFollowed return false }
func (form *PageAdminForm) Valid(v *validation.Validation) { user := models.User{Id: form.User} if user.Read() != nil { v.SetError("User", "admin.not_found_by_id") } }