mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-16 10:46:14 +01:00
completed basic integration for #6463
This commit is contained in:
@@ -54,6 +54,12 @@ unreadController.get = function (req, res, next) {
|
|||||||
cutoff: cutoff,
|
cutoff: cutoff,
|
||||||
}, next);
|
}, next);
|
||||||
},
|
},
|
||||||
|
function (data, next) {
|
||||||
|
user.blocks.filter(req.uid, data.topics, function (err, filtered) {
|
||||||
|
data.topics = filtered;
|
||||||
|
next(err, data);
|
||||||
|
});
|
||||||
|
},
|
||||||
function (data) {
|
function (data) {
|
||||||
data.title = meta.config.homePageTitle || '[[pages:home]]';
|
data.title = meta.config.homePageTitle || '[[pages:home]]';
|
||||||
data.pageCount = Math.max(1, Math.ceil(data.topicCount / settings.topicsPerPage));
|
data.pageCount = Math.max(1, Math.ceil(data.topicCount / settings.topicsPerPage));
|
||||||
|
|||||||
@@ -219,6 +219,15 @@ Messaging.getTeaser = function (uid, roomId, callback) {
|
|||||||
}
|
}
|
||||||
Messaging.getMessageFields(mids[0], ['fromuid', 'content', 'timestamp'], next);
|
Messaging.getMessageFields(mids[0], ['fromuid', 'content', 'timestamp'], next);
|
||||||
},
|
},
|
||||||
|
function (teaser, next) {
|
||||||
|
user.blocks.is(teaser.fromuid, uid, function (err, blocked) {
|
||||||
|
if (err || blocked) {
|
||||||
|
return callback(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
next(null, teaser);
|
||||||
|
});
|
||||||
|
},
|
||||||
function (_teaser, next) {
|
function (_teaser, next) {
|
||||||
teaser = _teaser;
|
teaser = _teaser;
|
||||||
if (!teaser) {
|
if (!teaser) {
|
||||||
|
|||||||
@@ -77,10 +77,20 @@ module.exports = function (Topics) {
|
|||||||
user.getIgnoredCategories(uid, next);
|
user.getIgnoredCategories(uid, next);
|
||||||
},
|
},
|
||||||
topicData: function (next) {
|
topicData: function (next) {
|
||||||
Topics.getTopicsFields(tids, ['tid', 'cid'], next);
|
Topics.getTopicsFields(tids, ['uid', 'tid', 'cid'], next);
|
||||||
},
|
},
|
||||||
}, next);
|
}, next);
|
||||||
},
|
},
|
||||||
|
function (results, next) {
|
||||||
|
user.blocks.filter(uid, results.topicData, function (err, filtered) {
|
||||||
|
if (err) {
|
||||||
|
return next(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
results.topicData = filtered;
|
||||||
|
next(null, results);
|
||||||
|
});
|
||||||
|
},
|
||||||
function (results, next) {
|
function (results, next) {
|
||||||
cid = cid && cid.map(String);
|
cid = cid && cid.map(String);
|
||||||
tids = results.topicData.filter(function (topic) {
|
tids = results.topicData.filter(function (topic) {
|
||||||
|
|||||||
@@ -29,9 +29,6 @@ module.exports = function (User) {
|
|||||||
return callback(err);
|
return callback(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
// for debugging
|
|
||||||
// blocked = [2];
|
|
||||||
|
|
||||||
blocked = blocked.map(uid => parseInt(uid, 10)).filter(Boolean);
|
blocked = blocked.map(uid => parseInt(uid, 10)).filter(Boolean);
|
||||||
User.blocks._cache.set(uid, blocked);
|
User.blocks._cache.set(uid, blocked);
|
||||||
callback(null, blocked);
|
callback(null, blocked);
|
||||||
@@ -61,6 +58,7 @@ module.exports = function (User) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
User.blocks.filter = function (uid, property, set, callback) {
|
User.blocks.filter = function (uid, property, set, callback) {
|
||||||
|
// Given whatever is passed in, iterates through it, and removes entries made by blocked uids
|
||||||
// property is optional
|
// property is optional
|
||||||
if (Array.isArray(property) && typeof set === 'function' && !callback) {
|
if (Array.isArray(property) && typeof set === 'function' && !callback) {
|
||||||
callback = set;
|
callback = set;
|
||||||
@@ -68,7 +66,6 @@ module.exports = function (User) {
|
|||||||
property = 'uid';
|
property = 'uid';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Given whatever is passed in, iterates through it, and removes entries made by blocked uids
|
|
||||||
if (!Array.isArray(set) || !(set[0].hasOwnProperty(property) || typeof set[0] === 'number' || typeof set[0] === 'string')) {
|
if (!Array.isArray(set) || !(set[0].hasOwnProperty(property) || typeof set[0] === 'number' || typeof set[0] === 'string')) {
|
||||||
return callback(null, set);
|
return callback(null, set);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user