Просмотр исходного кода

Feature: customizable default gravatar

Rafał Pitoń 11 лет назад
Родитель
Сommit
08f454cb05
2 измененных файлов с 14 добавлено и 1 удалено
  1. 9 1
      misago/models/usermodel.py
  2. 5 0
      misago/settings_base.py

+ 9 - 1
misago/models/usermodel.py

@@ -448,7 +448,15 @@ class User(models.Model):
         # No avatar found, get gravatar
         if not image_size:
             image_size = settings.AVATAR_SIZES[0]
-        return 'http://www.gravatar.com/avatar/%s?s=%s' % (hashlib.md5(self.email).hexdigest(), image_size)
+
+        # Decide on default gravatar
+        gravatar_default = ''
+        if (settings.GRAVATAR_DEFAULT
+                and not '&' in settings.GRAVATAR_DEFAULT
+                and not '?' in settings.GRAVATAR_DEFAULT):
+            gravatar_default = '&d=%s' % settings.GRAVATAR_DEFAULT
+
+        return 'http://www.gravatar.com/avatar/%s?s=%s%s' % (hashlib.md5(self.email).hexdigest(), image_size, gravatar_default)
 
     def get_ranking(self):
         if not self.ranking:

+ 5 - 0
misago/settings_base.py

@@ -24,6 +24,11 @@ OUTPUT_FORMAT = 'html5'
 # Remember to run "genavatars" command when you change this setting!
 AVATAR_SIZES = (125, 100, 80, 60, 40, 24)
 
+# Default Gravatar
+# See for explanation: https://gravatar.com/site/implement/images/
+# Leave empty for classic blue "G" av
+GRAVATAR_DEFAULT = ''
+
 # Allow usernames to contain diacritics
 UNICODE_USERNAMES = True