mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-27 09:06:15 +01:00
fix: show locally captured remote posts when browsing remote profiles
This commit is contained in:
@@ -177,21 +177,27 @@ async function getPostsFromUserSet(template, req, res) {
|
|||||||
const data = templateToData[template];
|
const data = templateToData[template];
|
||||||
const page = Math.max(1, parseInt(req.query.page, 10) || 1);
|
const page = Math.max(1, parseInt(req.query.page, 10) || 1);
|
||||||
|
|
||||||
|
// exposeUid returns -2 for all remote users for ease of processing, restoring uid
|
||||||
|
let { uid } = res.locals;
|
||||||
|
if (uid === -2) {
|
||||||
|
uid = await db.getObjectField('handle:uid', req.params.userslug);
|
||||||
|
}
|
||||||
|
|
||||||
const [{ username, userslug }, settings] = await Promise.all([
|
const [{ username, userslug }, settings] = await Promise.all([
|
||||||
user.getUserFields(res.locals.uid, ['username', 'userslug']),
|
user.getUserFields(uid, ['username', 'userslug']),
|
||||||
user.getSettings(req.uid),
|
user.getSettings(req.uid),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const itemsPerPage = data.type === 'topics' ? settings.topicsPerPage : settings.postsPerPage;
|
const itemsPerPage = data.type === 'topics' ? settings.topicsPerPage : settings.postsPerPage;
|
||||||
const start = (page - 1) * itemsPerPage;
|
const start = (page - 1) * itemsPerPage;
|
||||||
const stop = start + itemsPerPage - 1;
|
const stop = start + itemsPerPage - 1;
|
||||||
const sets = await data.getSets(req.uid, { uid: res.locals.uid, username, userslug });
|
const sets = await data.getSets(req.uid, { uid, username, userslug });
|
||||||
let result;
|
let result;
|
||||||
if (plugins.hooks.hasListeners('filter:account.getPostsFromUserSet')) {
|
if (plugins.hooks.hasListeners('filter:account.getPostsFromUserSet')) {
|
||||||
result = await plugins.hooks.fire('filter:account.getPostsFromUserSet', {
|
result = await plugins.hooks.fire('filter:account.getPostsFromUserSet', {
|
||||||
req: req,
|
req: req,
|
||||||
template: template,
|
template: template,
|
||||||
userData: { uid: res.locals.uid, username, userslug },
|
userData: { uid, username, userslug },
|
||||||
settings: settings,
|
settings: settings,
|
||||||
data: data,
|
data: data,
|
||||||
start: start,
|
start: start,
|
||||||
|
|||||||
Reference in New Issue
Block a user