Skip to content

Commit

Permalink
Merge pull request #2 from yariplus/master
Browse files Browse the repository at this point in the history
Avatar extended
  • Loading branch information
julianlam committed Nov 27, 2015
2 parents 92d525e + bce03a1 commit 829199c
Showing 1 changed file with 22 additions and 12 deletions.
34 changes: 22 additions & 12 deletions library.js
Expand Up @@ -45,10 +45,10 @@ plugin.addAdminNavigation = function(header, callback) {
};

plugin.list = function(data, callback) {
user.getUserField(data.uid, 'email', function(err, email) {
user.getUserFields(data.uid, ['email', 'username'], function(err, userData) {
data.pictures.push({
type: 'gravatar',
url: getGravatarUrl(email),
url: getGravatarUrl(userData),
text: 'Gravatar'
});

Expand All @@ -58,8 +58,8 @@ plugin.list = function(data, callback) {

plugin.get = function(data, callback) {
if (data.type === 'gravatar') {
user.getUserField(data.uid, 'email', function(err, email) {
data.picture = getGravatarUrl(email);
user.getUserFields(data.uid, ['email', 'username'], function(err, userData) {
data.picture = getGravatarUrl(userData);
callback(null, data);
});
} else {
Expand All @@ -70,7 +70,7 @@ plugin.get = function(data, callback) {
plugin.updateUser = function(data, callback) {
if (plugin.settings.default === 'on') {
winston.verbose('[plugin/gravatar] Updating uid ' + data.user.uid + ' to use gravatar');
data.user.picture = getGravatarUrl(data.user.email);
data.user.picture = getGravatarUrl(data.user);
callback(null, data);
} else {
// No transformation
Expand All @@ -83,11 +83,11 @@ plugin.onForceEnabled = function(users, callback) {
async.map(users, function(userObj, next) {
if (!userObj.email) {
db.getObjectField('user:' + userObj.uid, 'email', function(err, email) {
userObj.picture = getGravatarUrl(email);
userObj.picture = getGravatarUrl(userObj);
next(null, userObj);
});
} else {
userObj.picture = getGravatarUrl(userObj.email);
userObj.picture = getGravatarUrl(userObj);
next(null, userObj);
}
}, callback);
Expand All @@ -97,11 +97,21 @@ plugin.onForceEnabled = function(users, callback) {
}
}

function getGravatarUrl(email) {
var baseUrl = 'https://www.gravatar.com/avatar/' + sum(email || '') + '?size=192';

if (plugin.settings.customDefault) {
baseUrl += '&d=' + encodeURIComponent(plugin.settings.customDefault);
function getGravatarUrl(userData) {
var email = userData.email,
size = parseInt(meta.config.profileImageDimension, 10) || 128,
username = userData.username,
baseUrl = 'https://www.gravatar.com/avatar/' + sum(email || '') + '?size=192',
customDefault = plugin.settings.customDefault;

if (customDefault && !customDefault.indexOf('http')) {
customDefault = customDefault.replace(/%md5/i, sum(email));
customDefault = customDefault.replace(/%email/i, email);
customDefault = customDefault.replace(/%user/i, username);
customDefault = customDefault.replace(/%size/i, size);
baseUrl = customDefault;
} else if (customDefault) {
baseUrl += '&d=' + encodeURIComponent(plugin.settings.customDefault) + '&f=y';
} else if (plugin.settings.iconDefault) {
baseUrl += '&d=' + plugin.settings.iconDefault;
}
Expand Down

0 comments on commit 829199c

Please sign in to comment.