Disable Gravatar (#37)

* Disable Gravatar
* Lowercase emails
* Add migration
This commit is contained in:
Thomas Miceli
2023-05-26 09:15:37 +02:00
committed by GitHub
parent 7cc77d80dc
commit 4a75a50370
17 changed files with 138 additions and 17 deletions

View File

@@ -2,7 +2,6 @@ package web
import (
"context"
"crypto/md5"
"encoding/json"
"fmt"
"github.com/gorilla/sessions"
@@ -71,11 +70,16 @@ var fm = template.FuncMap{
"slug": func(s string) string {
return strings.Trim(re.ReplaceAllString(strings.ToLower(s), "-"), "-")
},
"avatarUrl": func(userHash string) string {
return "https://www.gravatar.com/avatar/" + userHash + "?d=identicon&s=200"
},
"emailToMD5": func(email string) string {
return fmt.Sprintf("%x", md5.Sum([]byte(strings.ToLower(strings.TrimSpace(email)))))
"avatarUrl": func(user *models.User, noGravatar bool) string {
if user.AvatarURL != "" {
return user.AvatarURL
}
if user.MD5Hash != "" && !noGravatar {
return "https://www.gravatar.com/avatar/" + user.MD5Hash + "?d=identicon&s=200"
}
return defaultAvatar()
},
"asset": func(jsfile string) string {
if dev {
@@ -83,6 +87,7 @@ var fm = template.FuncMap{
}
return "/" + manifestEntries[jsfile].File
},
"defaultAvatar": defaultAvatar,
}
var EmbedFS fs.FS
@@ -364,3 +369,10 @@ func parseManifestEntries() {
log.Fatal().Err(err).Msg("Failed to unmarshal manifest.json")
}
}
func defaultAvatar() string {
if dev {
return "http://localhost:16157/default.png"
}
return "/" + manifestEntries["default.png"].File
}