mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 19:46:01 +01:00
gravatars in posts
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
<li class="row">
|
||||
<div class="span1 profile-image-block">
|
||||
<!--<i class="icon-spinner icon-spin icon-2x pull-left"></i>-->
|
||||
<img src="https://en.gravatar.com/userimage/18452752/f59e713c717466d2f5ad2a6970769f32.png" align="left" />
|
||||
<img src="{posts.gravatar}" align="left" />
|
||||
<i class="icon-star"></i>2432
|
||||
</div>
|
||||
<div class="span11">
|
||||
|
||||
@@ -43,6 +43,7 @@ var RDB = require('./redis.js'),
|
||||
timestamp = replies[2];
|
||||
|
||||
user.get_usernames_by_uids(uid, function(userNames) {
|
||||
user.get_gravatars_by_uids(uid, 80, function(gravatars) {
|
||||
var posts = [];
|
||||
for (var i=0, ii=content.length; i<ii; i++) {
|
||||
posts.push({
|
||||
@@ -50,6 +51,7 @@ var RDB = require('./redis.js'),
|
||||
'content' : marked(content[i]),
|
||||
'uid' : uid[i],
|
||||
'userName' : userNames[i] || 'anonymous',
|
||||
'gravatar' : gravatars[i],
|
||||
'timestamp' : timestamp[i],
|
||||
'relativeTime': utils.relativeTime(timestamp[i])
|
||||
});
|
||||
@@ -58,6 +60,7 @@ var RDB = require('./redis.js'),
|
||||
callback({'topic_name':topic_name, 'topic_id': tid, 'posts': posts});
|
||||
});
|
||||
});
|
||||
});
|
||||
} else {
|
||||
callback({});
|
||||
}
|
||||
|
||||
27
src/user.js
27
src/user.js
@@ -48,6 +48,33 @@ var config = require('../config.js'),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
User.get_gravatars_by_uids = function(uids, size, callback) {
|
||||
var keys = [];
|
||||
for (var i = 0, ii= uids.length; i<ii; i++) {
|
||||
keys.push('uid:' + uids[i] + ':email');
|
||||
}
|
||||
|
||||
var gravatars = [];
|
||||
|
||||
|
||||
RDB.mget(keys, function(data) {
|
||||
for (var i=0, ii=data.length; i<ii; i++) {
|
||||
if (!data[i]) {
|
||||
gravatars.push("http://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?s=" + size);
|
||||
} else {
|
||||
var md5sum = crypto.createHash('md5');
|
||||
md5sum.update((data[i]).toLowerCase());
|
||||
gravatars.push('http://www.gravatar.com/avatar/' + md5sum.digest('hex') + '?s=' + size);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
callback(gravatars);
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
User.login = function(socket, user) {
|
||||
if (user.username == null || user.password == null) {
|
||||
return socket.emit('user.login', {'status': 0, 'message': 'Missing fields'});
|
||||
|
||||
Reference in New Issue
Block a user