diff --git a/src/user/search.js b/src/user/search.js index bba115dabd..5a0d60086c 100644 --- a/src/user/search.js +++ b/src/user/search.js @@ -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]); }); }