RUN npm install AFTER PULLING THIS COMMIT!

Added user label to header, gravatar support
This commit is contained in:
Julian Lam
2013-04-29 12:22:02 -04:00
parent 4730bc0f6f
commit cb9a110a5d
5 changed files with 69 additions and 3 deletions

View File

@@ -1,11 +1,50 @@
var config = require('../config.js'),
utils = require('../utils.js'),
RDB = require('./redis.js'),
crypto = require('crypto'),
emailjs = require('emailjs'),
emailjsServer = emailjs.server.connect(config.mailer);
(function(User) {
User.get = function(uid, fields) {
if (uid > 0) {
var keys = [],
returnData = {},
removeEmail = false;
if (!(fields instanceof Array)) fields = ['username', 'email'];
if (fields.indexOf('picture') !== -1 && fields.indexOf('email') === -1) {
fields.push('email');
removeEmail = true;
}
for(var f=0,numFields=fields.length;f<numFields;f++) {
keys.push('uid:' + uid + ':' + fields[f]);
}
RDB.mget(keys, function(data) {
for(var x=0,numData=data.length;x<numData;x++) {
returnData[fields[x]] = data[x];
}
console.log(returnData);
if (returnData.picture !== undefined) {
var md5sum = crypto.createHash('md5');
md5sum.update(returnData.email.toLowerCase());
returnData.picture = 'http://www.gravatar.com/avatar/' + md5sum.digest('hex') + '?s=24';
if (removeEmail) delete returnData.email;
}
socket.emit('api:user.get', returnData);
});
} else {
socket.emit('api:user.get', {
username: "Anonymous User",
email: '',
picture: 'http://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?s=24'
});
}
}
User.login = function(user) {
if (user.username == null || user.password == null) {
return global.socket.emit('user.login', {'status': 0, 'message': 'Missing fields'});