This mod fixes problem with initial avatar autogeneration and
avatar autogneration after deleting previous avatar.
Related: https://github.com/go-gitea/gitea/issues/13159
Fixes: 80a6b0f5bce15a641fc75f5f1ef6e42ef54424bc
Author-Change-Id: IB#
1105243
if len(u.AvatarEmail) == 0 {
u.AvatarEmail = u.Email
}
- if len(u.AvatarEmail) > 0 && u.Avatar == "" {
- u.Avatar = base.HashEmail(u.AvatarEmail)
- }
}
u.LowerName = strings.ToLower(u.Name)
u.LowerName = strings.ToLower(u.Name)
u.AvatarEmail = u.Email
- u.Avatar = base.HashEmail(u.AvatarEmail)
if u.Rands, err = GetUserSalt(); err != nil {
return err
}
if err != nil {
return fmt.Errorf("RandomImage: %v", err)
}
- // NOTICE for random avatar, it still uses id as avatar name, but custom avatar use md5
- // since random image is not a user's photo, there is no security for enumable
+
if u.Avatar == "" {
- u.Avatar = fmt.Sprintf("%d", u.ID)
+ u.Avatar = base.HashEmail(u.AvatarEmail)
}
if err := storage.SaveFrom(storage.Avatars, u.CustomAvatarRelativePath(), func(w io.Writer) error {
func UpdateAvatarSetting(ctx *context.Context, form auth.AvatarForm, ctxUser *models.User) error {
ctxUser.UseCustomAvatar = form.Source == auth.AvatarLocal
if len(form.Gravatar) > 0 {
- ctxUser.Avatar = base.EncodeMD5(form.Gravatar)
+ if form.Avatar != nil {
+ ctxUser.Avatar = base.EncodeMD5(form.Gravatar)
+ } else {
+ ctxUser.Avatar = ""
+ }
ctxUser.AvatarEmail = form.Gravatar
}