Views which contain many occurrences of the same email address (e.g. shortlog view) benefit from not having to recalculate the MD5 of the email address every time. --- gitweb/gitweb.perl | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 6e807fe..10ca0fe 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -3249,6 +3249,17 @@ sub git_print_header_div { "\n</div>\n"; } +our %gravatar_url_cache = (); + +sub gravatar_url { + my $email = lc shift; + my $size = shift; + $gravatar_url_cache{$email} ||= + "http://www.gravatar.com/avatar.php?gravatar_id=" . + Digest::MD5::md5_hex($email) . "&size="; + return $gravatar_url_cache{$email} . $size; +} + # Insert an avatar for the given $email at the given $size if the feature # is enabled. sub git_get_avatar { @@ -3258,8 +3269,7 @@ sub git_get_avatar { my $size = $avatar_size{$params{'size'}} || $avatar_size{'default'}; my $url = ""; if ($git_gravatar_enabled) { - $url = "http://www.gravatar.com/avatar.php?gravatar_id=" . - Digest::MD5::md5_hex(lc $email) . "&size=$size"; + $url = gravatar_url($email, $size); } # Currently only gravatars are supported, but other forms such as # picons can be added by putting an else up here and defining $url -- 1.6.3.rc1.192.gdbfcb -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html