Merge branch 'master' of github.com:designcreateplay/NodeBB

v1.18.x
Julian Lam 12 years ago
commit be4d6761b1

@ -25,9 +25,9 @@ define(['taskbar'], function(taskbar) {
socket.emit('api:user.isOnline', chatModal.touid, function(data) { socket.emit('api:user.isOnline', chatModal.touid, function(data) {
if(data.online !== chatModal.online) { if(data.online !== chatModal.online) {
if(data.online) { if(data.online) {
module.appendChatMessage(chatModal, chatModal.username + ' has come online.\n', data.timestamp); module.appendChatMessage(chatModal, chatModal.username + ' is currently online.\n', data.timestamp);
} else { } else {
module.appendChatMessage(chatModal, chatModal.username + ' has gone offline.\n', data.timestamp); module.appendChatMessage(chatModal, chatModal.username + ' is currently offline.\n', data.timestamp);
} }
chatModal.online = data.online; chatModal.online = data.online;
} }
@ -38,7 +38,7 @@ define(['taskbar'], function(taskbar) {
function checkOnlineStatus(chatModal) { function checkOnlineStatus(chatModal) {
if(chatModal.intervalId === 0) { if(chatModal.intervalId === 0) {
chatModal.intervalId = setInterval(function(){ chatModal.intervalId = setInterval(function() {
checkStatus(chatModal); checkStatus(chatModal);
}, 1000); }, 1000);
} }
@ -77,11 +77,8 @@ define(['taskbar'], function(taskbar) {
addSendHandler(chatModal); addSendHandler(chatModal);
checkStatus(chatModal, function(online) { getChatMessages(chatModal, function() {
chatModal.online = online; checkOnlineStatus(chatModal);
getChatMessages(chatModal, function() {
checkOnlineStatus(chatModal);
});
}); });
taskbar.push('chat', chatModal.attr('UUID'), {title:'chat with ' + username}); taskbar.push('chat', chatModal.attr('UUID'), {title:'chat with ' + username});

@ -67,6 +67,37 @@ function upgradeUser(uid, callback) {
}); });
} }
function upgradeUserHash(uid, callback) {
user.getUserFields(uid, ['username', 'userslug', 'email'], function(err, userData) {
if(err)
return callback(err);
async.parallel([
function(next) {
if(userData.username)
RDB.hset('username:uid', userData.username, uid, next);
else
next(null);
},
function(next) {
if(userData.userslug)
RDB.hset('userslug:uid', userData.userslug, uid, next);
else
next(null);
},
function(next) {
if(userData.email)
RDB.hset('email:uid', userData.email, uid, next);
else
next(null);
}
], function(err, result) {
callback(err);
});
});
}
function upgradeAdmins(callback) { function upgradeAdmins(callback) {
Groups.getGidFromName('Administrators', function(err, gid) { Groups.getGidFromName('Administrators', function(err, gid) {
if (!err && !gid) { if (!err && !gid) {
@ -80,7 +111,7 @@ function upgradeAdmins(callback) {
Groups.create('Administrators', 'Forum Administrators', next); Groups.create('Administrators', 'Forum Administrators', next);
} }
], function(err, results) { ], function(err, results) {
var gid = results[1].gid; var gid = results[1].gid;
async.each(results[0], function(uid, next) { async.each(results[0], function(uid, next) {
Groups.join(gid, uid, next); Groups.join(gid, uid, next);
@ -130,6 +161,24 @@ exports.upgrade = function() {
}); });
}, },
function upgradeUserHashes(next) {
winston.info('upgrading user hashes');
RDB.zrange('users:joindate', 0, -1, function(err, uids) {
if(err)
return next(err);
async.each(uids, upgradeUserHash, function(err) {
if(!err) {
winston.info('upgraded user hashes');
next(null, null);
} else {
next(err, null);
}
});
});
},
upgradeAdmins upgradeAdmins
]; ];

@ -76,11 +76,11 @@ var utils = require('./../public/src/utils.js'),
'showemail': 0 'showemail': 0
}); });
RDB.set('username:' + username + ':uid', uid); RDB.hset('username:uid', username, uid);
RDB.set('userslug:'+ userslug +':uid', uid); RDB.hset('userslug:uid', userslug, uid);
if (email !== undefined) { if (email !== undefined) {
RDB.set('email:' + email +':uid', uid); RDB.hset('email:uid', email, uid);
User.sendConfirmationEmail(email); User.sendConfirmationEmail(email);
} }
@ -114,9 +114,10 @@ var utils = require('./../public/src/utils.js'),
console.log('deleting uid ' + uid); console.log('deleting uid ' + uid);
User.getUserData(uid, function(err, data) { User.getUserData(uid, function(err, data) {
RDB.del('username:' + data['username'] + ':uid');
RDB.del('email:' + data['email'] +':uid'); RDB.hdel('username:uid', data['username']);
RDB.del('userslug:'+ data['userslug'] +':uid'); RDB.hdel('email:uid', data['email']);
RDB.hdel('userslug:uid', data['userslug']);
RDB.del('user:' + uid); RDB.del('user:' + uid);
RDB.del('followers:' + uid); RDB.del('followers:' + uid);
@ -250,8 +251,8 @@ var utils = require('./../public/src/utils.js'),
if(err) if(err)
return next(err); return next(err);
RDB.del('email:' + userData['email'] + ':uid'); RDB.hdel('email:uid', userData['email']);
RDB.set('email:' + data['email'] + ':uid', uid); RDB.hset('email:uid', data['email'], uid);
User.setUserField(uid, field, data[field]); User.setUserField(uid, field, data[field]);
if(userData.picture !== userData.uploadedpicture) { if(userData.picture !== userData.uploadedpicture) {
returnData.picture = gravatarpicture; returnData.picture = gravatarpicture;
@ -275,7 +276,7 @@ var utils = require('./../public/src/utils.js'),
} }
User.isEmailAvailable = function(email, callback) { User.isEmailAvailable = function(email, callback) {
RDB.exists('email:' + email + ':uid' , function(err, exists) { RDB.hexists('email:uid', email, function(err, exists) {
callback(err, !exists); callback(err, !exists);
}); });
} }
@ -627,7 +628,7 @@ var utils = require('./../public/src/utils.js'),
} }
User.get_uid_by_username = function(username, callback) { User.get_uid_by_username = function(username, callback) {
RDB.get('username:' + username + ':uid', function(err, data) { RDB.hget('username::uid', username, function(err, data) {
if (err) { if (err) {
RDB.handle(err); RDB.handle(err);
} }
@ -636,7 +637,7 @@ var utils = require('./../public/src/utils.js'),
}; };
User.get_uid_by_userslug = function(userslug, callback) { User.get_uid_by_userslug = function(userslug, callback) {
RDB.get('userslug:' + userslug + ':uid', function(err, data) { RDB.hget('userslug:uid', userslug, function(err, data) {
if (err) { if (err) {
RDB.handle(err); RDB.handle(err);
} }
@ -683,7 +684,7 @@ var utils = require('./../public/src/utils.js'),
} }
User.get_uid_by_email = function(email, callback) { User.get_uid_by_email = function(email, callback) {
RDB.get('email:' + email + ':uid', function(err, data) { RDB.hget('email:uid', email, function(err, data) {
if (err) { if (err) {
RDB.handle(err); RDB.handle(err);
} }

Loading…
Cancel
Save