|
|
|
@ -3,7 +3,6 @@
|
|
|
|
|
|
|
|
|
|
var async = require('async'),
|
|
|
|
|
meta = require('../meta'),
|
|
|
|
|
pagination = require('../pagination'),
|
|
|
|
|
plugins = require('../plugins'),
|
|
|
|
|
db = require('../database');
|
|
|
|
|
|
|
|
|
@ -42,9 +41,11 @@ module.exports = function(User) {
|
|
|
|
|
searchResult.matchCount = uids.length;
|
|
|
|
|
|
|
|
|
|
if (paginate) {
|
|
|
|
|
var pagination = User.paginate(page, uids);
|
|
|
|
|
uids = pagination.data;
|
|
|
|
|
searchResult.pagination = pagination.pagination;
|
|
|
|
|
var resultsPerPage = parseInt(meta.config.userSearchResultsPerPage, 10) || 20;
|
|
|
|
|
var start = Math.max(0, page - 1) * resultsPerPage;
|
|
|
|
|
var stop = start + resultsPerPage;
|
|
|
|
|
searchResult.pageCount = Math.ceil(uids.length / resultsPerPage);
|
|
|
|
|
uids = uids.slice(start, stop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
User.getUsers(uids, uid, next);
|
|
|
|
@ -57,21 +58,6 @@ module.exports = function(User) {
|
|
|
|
|
], callback);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
User.paginate = function(page, data) {
|
|
|
|
|
var resultsPerPage = parseInt(meta.config.userSearchResultsPerPage, 10) || 20;
|
|
|
|
|
var start = Math.max(0, page - 1) * resultsPerPage;
|
|
|
|
|
var stop = start + resultsPerPage;
|
|
|
|
|
|
|
|
|
|
var pageCount = Math.ceil(data.length / resultsPerPage);
|
|
|
|
|
var currentPage = Math.max(1, Math.ceil((start + 1) / resultsPerPage));
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
pagination: pagination.create(currentPage, pageCount),
|
|
|
|
|
pageCount: pageCount,
|
|
|
|
|
data: data.slice(start, stop)
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function findUids(query, searchBy, callback) {
|
|
|
|
|
if (!query) {
|
|
|
|
|
return callback(null, []);
|
|
|
|
|