mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 19:38:23 +00:00 
			
		
		
		
	Send size to /avatars if requested (#15459)
If an avatar is requested in a particular size ensure that /avatars also gets the size request Fix #15453 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		| @@ -81,7 +81,7 @@ func LibravatarURL(email string) (*url.URL, error) { | ||||
| } | ||||
|  | ||||
| // HashedAvatarLink returns an avatar link for a provided email | ||||
| func HashedAvatarLink(email string) string { | ||||
| func HashedAvatarLink(email string, size int) string { | ||||
| 	lowerEmail := strings.ToLower(strings.TrimSpace(email)) | ||||
| 	sum := fmt.Sprintf("%x", md5.Sum([]byte(lowerEmail))) | ||||
| 	_, _ = cache.GetString("Avatar:"+sum, func() (string, error) { | ||||
| @@ -108,6 +108,9 @@ func HashedAvatarLink(email string) string { | ||||
| 		} | ||||
| 		return lowerEmail, nil | ||||
| 	}) | ||||
| 	if size > 0 { | ||||
| 		return setting.AppSubURL + "/avatar/" + url.PathEscape(sum) + "?size=" + strconv.Itoa(size) | ||||
| 	} | ||||
| 	return setting.AppSubURL + "/avatar/" + url.PathEscape(sum) | ||||
| } | ||||
|  | ||||
| @@ -129,7 +132,7 @@ func SizedAvatarLink(email string, size int) string { | ||||
| 		// This is the slow path that would need to call LibravatarURL() which | ||||
| 		// does DNS lookups. Avoid it by issuing a redirect so we don't block | ||||
| 		// the template render with network requests. | ||||
| 		return HashedAvatarLink(email) | ||||
| 		return HashedAvatarLink(email, size) | ||||
| 	} else if !setting.DisableGravatar { | ||||
| 		// copy GravatarSourceURL, because we will modify its Path. | ||||
| 		copyOfGravatarSourceURL := *setting.GravatarSourceURL | ||||
|   | ||||
| @@ -82,6 +82,9 @@ func (u *User) RealSizedAvatarLink(size int) string { | ||||
| 		if u.Avatar == "" { | ||||
| 			return DefaultAvatarLink() | ||||
| 		} | ||||
| 		if size > 0 { | ||||
| 			return setting.AppSubURL + "/avatars/" + u.Avatar + "?size=" + strconv.Itoa(size) | ||||
| 		} | ||||
| 		return setting.AppSubURL + "/avatars/" + u.Avatar | ||||
| 	case setting.DisableGravatar, setting.OfflineMode: | ||||
| 		if u.Avatar == "" { | ||||
| @@ -89,7 +92,9 @@ func (u *User) RealSizedAvatarLink(size int) string { | ||||
| 				log.Error("GenerateRandomAvatar: %v", err) | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		if size > 0 { | ||||
| 			return setting.AppSubURL + "/avatars/" + u.Avatar + "?size=" + strconv.Itoa(size) | ||||
| 		} | ||||
| 		return setting.AppSubURL + "/avatars/" + u.Avatar | ||||
| 	} | ||||
| 	return SizedAvatarLink(u.AvatarEmail, size) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user