Browse Source

Merge pull request #2083 from ethantkoenig/check_err/org_avatar

Don't ignore gravatar error
for-closed-social
Andrey Nering 7 years ago
committed by GitHub
parent
commit
935b40fd8e
2 changed files with 13 additions and 6 deletions
  1. +2
    -3
      models/user.go
  2. +11
    -3
      modules/base/tool.go

+ 2
- 3
models/user.go View File

@ -333,15 +333,14 @@ func (u *User) generateRandomAvatar(e Engine) error {
// which includes app sub-url as prefix. However, it is possible // which includes app sub-url as prefix. However, it is possible
// to return full URL if user enables Gravatar-like service. // to return full URL if user enables Gravatar-like service.
func (u *User) RelAvatarLink() string { func (u *User) RelAvatarLink() string {
defaultImgURL := setting.AppSubURL + "/img/avatar_default.png"
if u.ID == -1 { if u.ID == -1 {
return defaultImgURL
return base.DefaultAvatarLink()
} }
switch { switch {
case u.UseCustomAvatar: case u.UseCustomAvatar:
if !com.IsFile(u.CustomAvatarPath()) { if !com.IsFile(u.CustomAvatarPath()) {
return defaultImgURL
return base.DefaultAvatarLink()
} }
return setting.AppSubURL + "/avatars/" + u.Avatar return setting.AppSubURL + "/avatars/" + u.Avatar
case setting.DisableGravatar, setting.OfflineMode: case setting.DisableGravatar, setting.OfflineMode:

+ 11
- 3
modules/base/tool.go View File

@ -192,13 +192,21 @@ func HashEmail(email string) string {
return EncodeMD5(strings.ToLower(strings.TrimSpace(email))) return EncodeMD5(strings.ToLower(strings.TrimSpace(email)))
} }
// DefaultAvatarLink the default avatar link
func DefaultAvatarLink() string {
return setting.AppSubURL + "/img/avatar_default.png"
}
// AvatarLink returns relative avatar link to the site domain by given email, // AvatarLink returns relative avatar link to the site domain by given email,
// which includes app sub-url as prefix. However, it is possible // which includes app sub-url as prefix. However, it is possible
// to return full URL if user enables Gravatar-like service. // to return full URL if user enables Gravatar-like service.
func AvatarLink(email string) string { func AvatarLink(email string) string {
if setting.EnableFederatedAvatar && setting.LibravatarService != nil { if setting.EnableFederatedAvatar && setting.LibravatarService != nil {
// TODO: This doesn't check any error. AvatarLink should return (string, error)
url, _ := setting.LibravatarService.FromEmail(email)
url, err := setting.LibravatarService.FromEmail(email)
if err != nil {
log.Error(4, "LibravatarService.FromEmail(email=%s): error %v", email, err)
return DefaultAvatarLink()
}
return url return url
} }
@ -206,7 +214,7 @@ func AvatarLink(email string) string {
return setting.GravatarSource + HashEmail(email) return setting.GravatarSource + HashEmail(email)
} }
return setting.AppSubURL + "/img/avatar_default.png"
return DefaultAvatarLink()
} }
// Seconds-based time units // Seconds-based time units

Loading…
Cancel
Save