moved filter:users.search before pagination

v1.18.x
barisusakli 10 years ago
parent 73d65dd123
commit b561c49de5

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

Loading…
Cancel
Save