diff options
author | 无闻 <joe2010xtmf@163.com> | 2014-12-05 16:20:34 -0500 |
---|---|---|
committer | 无闻 <joe2010xtmf@163.com> | 2014-12-05 16:20:34 -0500 |
commit | 298ebc58c1bc79375248e4b0be173201b935b742 (patch) | |
tree | 4bb1798e08d2955f6cd2abc09f1d40975370e077 | |
parent | 3fd41d138cf8c349a1d38a5ed4bc1428f3d5d223 (diff) | |
parent | 35b02997f8599c8e260b70bc5b3239b0109c05cf (diff) |
Merge pull request #716 from ErebusBat/master
Fix Gravatar images in web view (like commit listing)
-rw-r--r-- | modules/avatar/avatar.go | 6 | ||||
-rw-r--r-- | modules/base/tool.go | 10 |
2 files changed, 12 insertions, 4 deletions
diff --git a/modules/avatar/avatar.go b/modules/avatar/avatar.go index 144fda38..225d6c81 100644 --- a/modules/avatar/avatar.go +++ b/modules/avatar/avatar.go @@ -48,8 +48,12 @@ func init() { // hash email to md5 string // keep this func in order to make this package indenpent func HashEmail(email string) string { + // https://en.gravatar.com/site/implement/hash/ + email = strings.TrimSpace(email) + email = strings.ToLower(email) + h := md5.New() - h.Write([]byte(strings.ToLower(email))) + h.Write([]byte(email)) return hex.EncodeToString(h.Sum(nil)) } diff --git a/modules/base/tool.go b/modules/base/tool.go index 0e083c8d..14c0e7d0 100644 --- a/modules/base/tool.go +++ b/modules/base/tool.go @@ -23,6 +23,7 @@ import ( "github.com/Unknwon/com" "github.com/Unknwon/i18n" + "github.com/gogits/gogs/modules/avatar" "github.com/gogits/gogs/modules/setting" ) @@ -177,10 +178,13 @@ func CreateTimeLimitCode(data string, minutes int, startInf interface{}) string func AvatarLink(email string) string { if setting.DisableGravatar { return setting.AppSubUrl + "/img/avatar_default.jpg" - } else if setting.Service.EnableCacheAvatar { - return setting.AppSubUrl + "/avatar/" + EncodeMd5(email) } - return setting.GravatarSource + EncodeMd5(email) + + gravatarHash := avatar.HashEmail(email) + if setting.Service.EnableCacheAvatar { + return setting.AppSubUrl + "/avatar/" + gravatarHash + } + return setting.GravatarSource + gravatarHash } // Seconds-based time units |