mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-31 19:15:58 +01:00
return offine status if user isnt online
This commit is contained in:
27
src/user.js
27
src/user.js
@@ -413,28 +413,39 @@ var bcrypt = require('bcryptjs'),
|
|||||||
};
|
};
|
||||||
|
|
||||||
User.getUsers = function(set, start, stop, callback) {
|
User.getUsers = function(set, start, stop, callback) {
|
||||||
var data = [];
|
|
||||||
|
|
||||||
db.getSortedSetRevRange(set, start, stop, function(err, uids) {
|
db.getSortedSetRevRange(set, start, stop, function(err, uids) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return callback(err, null);
|
return callback(err, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
function iterator(uid, callback) {
|
function getUserData(uid, callback) {
|
||||||
User.getUserData(uid, function(err, userData) {
|
User.getUserData(uid, function(err, userData) {
|
||||||
|
if(!userData.status) {
|
||||||
|
userData.status = 'offline';
|
||||||
|
}
|
||||||
|
|
||||||
User.isAdministrator(uid, function(err, isAdmin) {
|
User.isAdministrator(uid, function(err, isAdmin) {
|
||||||
if (userData) {
|
if (userData) {
|
||||||
userData.administrator = isAdmin?"1":"0";
|
userData.administrator = isAdmin ? '1':'0';
|
||||||
data.push(userData);
|
|
||||||
}
|
}
|
||||||
callback(null);
|
|
||||||
|
if(set === 'users:online') {
|
||||||
|
return callback(null, userData);
|
||||||
|
}
|
||||||
|
|
||||||
|
db.sortedSetScore('users:online', uid, function(err, score) {
|
||||||
|
if(!score) {
|
||||||
|
userData.status = 'offline';
|
||||||
|
}
|
||||||
|
|
||||||
|
callback(null, userData);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async.eachSeries(uids, iterator, function(err) {
|
async.map(uids, getUserData, callback);
|
||||||
callback(err, data);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user