|
|
|
@ -3,7 +3,6 @@
|
|
|
|
|
|
|
|
|
|
var async = require('async'),
|
|
|
|
|
meta = require('../meta'),
|
|
|
|
|
user = require('../user'),
|
|
|
|
|
pagination = require('../pagination'),
|
|
|
|
|
plugins = require('../plugins'),
|
|
|
|
|
db = require('../database');
|
|
|
|
@ -38,10 +37,14 @@ module.exports = function(User) {
|
|
|
|
|
filterAndSortUids(uids, filterBy, data.sortBy, next);
|
|
|
|
|
},
|
|
|
|
|
function(uids, next) {
|
|
|
|
|
plugins.fireHook('filter:users.search', {uids: uids, uid: uid}, next);
|
|
|
|
|
},
|
|
|
|
|
function(data, next) {
|
|
|
|
|
var uids = data.uids;
|
|
|
|
|
searchResult.matchCount = uids.length;
|
|
|
|
|
|
|
|
|
|
if (paginate) {
|
|
|
|
|
var pagination = user.paginate(page, uids);
|
|
|
|
|
var pagination = User.paginate(page, uids);
|
|
|
|
|
uids = pagination.data;
|
|
|
|
|
searchResult.pagination = pagination.pagination;
|
|
|
|
|
searchResult.pageCount = pagination.pageCount;
|
|
|
|
@ -52,11 +55,7 @@ module.exports = function(User) {
|
|
|
|
|
function(userData, next) {
|
|
|
|
|
searchResult.timing = (process.elapsedTimeSince(startTime) / 1000).toFixed(2);
|
|
|
|
|
searchResult.users = userData;
|
|
|
|
|
|
|
|
|
|
plugins.fireHook('filter:users.search', {result: searchResult, uid: uid}, next);
|
|
|
|
|
},
|
|
|
|
|
function(data, next) {
|
|
|
|
|
next(null, data.result);
|
|
|
|
|
next(null, searchResult);
|
|
|
|
|
}
|
|
|
|
|
], callback);
|
|
|
|
|
};
|
|
|
|
@ -134,7 +133,7 @@ module.exports = function(User) {
|
|
|
|
|
|
|
|
|
|
async.parallel({
|
|
|
|
|
userData: function(next) {
|
|
|
|
|
user.getMultipleUserFields(uids, fields, next);
|
|
|
|
|
User.getMultipleUserFields(uids, fields, next);
|
|
|
|
|
},
|
|
|
|
|
isOnline: function(next) {
|
|
|
|
|
if (fields.indexOf('status') !== -1) {
|
|
|
|
@ -151,7 +150,7 @@ module.exports = function(User) {
|
|
|
|
|
|
|
|
|
|
if (results.isOnline) {
|
|
|
|
|
userData.forEach(function(userData, index) {
|
|
|
|
|
userData.status = user.getStatus(userData.status, results.isOnline[index]);
|
|
|
|
|
userData.status = User.getStatus(userData.status, results.isOnline[index]);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|