2014-03-12 21:41:53 -04:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
|
var async = require('async'),
|
|
|
|
|
db = require('./../database'),
|
|
|
|
|
posts = require('./../posts'),
|
|
|
|
|
topics = require('./../topics');
|
|
|
|
|
|
|
|
|
|
module.exports = function(Categories) {
|
|
|
|
|
|
2014-04-24 18:59:19 -04:00
|
|
|
Categories.getActiveUsers = function(cid, callback) {
|
|
|
|
|
db.getSortedSetRevRange('categories:recent_posts:cid:' + cid, 0, 99, function(err, pids) {
|
|
|
|
|
var keys = pids.map(function(pid) {
|
|
|
|
|
return 'post:' + pid;
|
|
|
|
|
});
|
2014-03-12 21:41:53 -04:00
|
|
|
|
2014-04-24 18:59:19 -04:00
|
|
|
db.getObjectsFields(keys, ['uid'], function(err, users) {
|
|
|
|
|
if (err) {
|
|
|
|
|
return callback(err);
|
2014-03-12 21:41:53 -04:00
|
|
|
}
|
|
|
|
|
|
2014-04-24 18:59:19 -04:00
|
|
|
var uids = users.map(function(user) {
|
|
|
|
|
return user.uid;
|
|
|
|
|
}).filter(function(value, index, array) {
|
|
|
|
|
return parseInt(value, 10) !== 0 && array.indexOf(value) === index;
|
|
|
|
|
}).slice(0, 24);
|
2014-03-12 21:41:53 -04:00
|
|
|
|
2014-04-24 18:59:19 -04:00
|
|
|
callback(null, uids);
|
2014-03-12 21:41:53 -04:00
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
};
|
2014-04-10 20:31:57 +01:00
|
|
|
};
|