dont update last online time if status is offline

v1.18.x
Baris Soner Usakli 11 years ago
parent b912dcb2f0
commit 1c14bcd1ed

@ -26,15 +26,7 @@ var path = require('path'),
app.all('*', function(req, res, next) {
if(req.user) {
user.getUserField(req.user.uid, 'status', function(err, status) {
if(err) {
return next(err);
}
if(status !== 'offline') {
user.setUserField(req.user.uid, 'lastonline', Date.now());
}
});
user.updateLastOnlineTime(req.user.uid);
}
next();

@ -139,7 +139,7 @@ Sockets.init = function(server) {
function callMethod(method) {
if(socket.uid) {
user.setUserField(socket.uid, 'lastonline', Date.now());
user.updateLastOnlineTime(socket.uid);
}
method.call(null, socket, payload.args.length ? payload.args[0] : null, function(err, result) {

@ -229,6 +229,22 @@ var bcrypt = require('bcryptjs'),
}, callback);
}
User.updateLastOnlineTime = function(uid, callback) {
User.getUserField(uid, 'status', function(err, status) {
function cb(err) {
if(typeof callback === 'function') {
callback(err);
}
}
if(err || status === 'offline') {
return cb(err);
}
User.setUserField(socket.uid, 'lastonline', Date.now(), cb);
});
};
User.updateProfile = function(uid, data, callback) {
var fields = ['username', 'email', 'fullname', 'website', 'location', 'birthday', 'signature'];
var returnData = {

Loading…
Cancel
Save