diff options
author | Sheogorath | 2018-06-23 23:40:46 +0200 |
---|---|---|
committer | Sheogorath | 2018-06-23 23:40:55 +0200 |
commit | 318b2d378f54805e99b7022db15136df7c920083 (patch) | |
tree | 2f7ea603b4b8c5423ebc07cdc9cc226c62aa1553 /lib/models | |
parent | a2608c319a8c31f9b173dbb5d00221d3ad96739b (diff) |
Allow to disable gravatar
Since Gravatar is an external image source and not perfect from a
privacy perspective, forbidding it allows to improve privacy.
This commit also simplifies and optimizes the avatar code.
Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
Diffstat (limited to '')
-rw-r--r-- | lib/models/user.js | 30 |
1 files changed, 5 insertions, 25 deletions
diff --git a/lib/models/user.js b/lib/models/user.js index 5dd13869..1bd8c745 100644 --- a/lib/models/user.js +++ b/lib/models/user.js @@ -1,6 +1,5 @@ 'use strict' // external modules -var md5 = require('blueimp-md5') var Sequelize = require('sequelize') var scrypt = require('scrypt') @@ -128,10 +127,7 @@ module.exports = function (sequelize, DataTypes) { } break case 'dropbox': - // no image api provided, use gravatar - photo = 'https://www.gravatar.com/avatar/' + md5(profile.emails[0].value) - if (bigger) photo += '?s=400' - else photo += '?s=96' + photo = generateAvatarURL('', profile.emails[0].value, bigger) break case 'google': photo = profile.photos[0].value @@ -139,35 +135,19 @@ module.exports = function (sequelize, DataTypes) { else photo = photo.replace(/(\?sz=)\d*$/i, '$196') break case 'ldap': - // no image api provided, - // use gravatar if email exists, - // otherwise generate a letter avatar - if (profile.emails[0]) { - photo = 'https://www.gravatar.com/avatar/' + md5(profile.emails[0]) - if (bigger) photo += '?s=400' - else photo += '?s=96' - } else { - photo = generateAvatarURL(profile.username) - } + photo = generateAvatarURL(profile.username, profile.emails[0], bigger) break case 'saml': - if (profile.emails[0]) { - photo = 'https://www.gravatar.com/avatar/' + md5(profile.emails[0]) - if (bigger) photo += '?s=400' - else photo += '?s=96' - } else { - photo = generateAvatarURL(profile.username) - } + photo = generateAvatarURL(profile.username, profile.emails[0], bigger) break } return photo }, parseProfileByEmail: function (email) { - var photoUrl = 'https://www.gravatar.com/avatar/' + md5(email) return { name: email.substring(0, email.lastIndexOf('@')), - photo: photoUrl + '?s=96', - biggerphoto: photoUrl + '?s=400' + photo: generateAvatarURL('', email, false), + biggerphoto: generateAvatarURL('', email, true) } } } |