mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: urls in posts and announces
This commit is contained in:
@@ -25,6 +25,7 @@ module.exports = function (utils, Benchpress, relative_path) {
|
|||||||
userAgentIcons,
|
userAgentIcons,
|
||||||
buildAvatar,
|
buildAvatar,
|
||||||
increment,
|
increment,
|
||||||
|
generatePostUrl,
|
||||||
generateRepliedTo,
|
generateRepliedTo,
|
||||||
generateWrote,
|
generateWrote,
|
||||||
isoTimeToLocaleString,
|
isoTimeToLocaleString,
|
||||||
@@ -329,18 +330,24 @@ module.exports = function (utils, Benchpress, relative_path) {
|
|||||||
return String(value + parseInt(inc, 10));
|
return String(value + parseInt(inc, 10));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function generatePostUrl(post, property = 'pid') {
|
||||||
|
return utils.isNumber(post[property]) ? `${relative_path}/post/${post[property]}` : post[property];
|
||||||
|
}
|
||||||
|
|
||||||
function generateRepliedTo(post, timeagoCutoff) {
|
function generateRepliedTo(post, timeagoCutoff) {
|
||||||
const displayname = post.parent && post.parent.displayname ?
|
const displayname = post.parent && post.parent.displayname ?
|
||||||
post.parent.displayname : '[[global:guest]]';
|
post.parent.displayname : '[[global:guest]]';
|
||||||
const isBeforeCutoff = post.timestamp < (Date.now() - (timeagoCutoff * oneDayInMs));
|
const isBeforeCutoff = post.timestamp < (Date.now() - (timeagoCutoff * oneDayInMs));
|
||||||
const langSuffix = isBeforeCutoff ? 'on' : 'ago';
|
const langSuffix = isBeforeCutoff ? 'on' : 'ago';
|
||||||
return `[[topic:replied-to-user-${langSuffix}, ${post.toPid}, ${relative_path}/post/${post.toPid}, ${displayname}, ${relative_path}/post/${post.pid}, ${post.timestampISO}]]`;
|
const url = generatePostUrl(post, 'toPid');
|
||||||
|
return `[[topic:replied-to-user-${langSuffix}, ${post.toPid}, ${url}, ${displayname}, ${relative_path}/post/${post.pid}, ${post.timestampISO}]]`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateWrote(post, timeagoCutoff) {
|
function generateWrote(post, timeagoCutoff) {
|
||||||
const isBeforeCutoff = post.timestamp < (Date.now() - (timeagoCutoff * oneDayInMs));
|
const isBeforeCutoff = post.timestamp < (Date.now() - (timeagoCutoff * oneDayInMs));
|
||||||
const langSuffix = isBeforeCutoff ? 'on' : 'ago';
|
const langSuffix = isBeforeCutoff ? 'on' : 'ago';
|
||||||
return `[[topic:wrote-${langSuffix}, ${relative_path}/post/${post.pid}, ${post.timestampISO}]]`;
|
const url = generatePostUrl(post);
|
||||||
|
return `[[topic:wrote-${langSuffix}, ${url}, ${post.timestampISO}]]`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function isoTimeToLocaleString(isoTime, locale = 'en-GB') {
|
function isoTimeToLocaleString(isoTime, locale = 'en-GB') {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ const user = require('../user');
|
|||||||
const posts = require('../posts');
|
const posts = require('../posts');
|
||||||
const topics = require('../topics');
|
const topics = require('../topics');
|
||||||
const categories = require('../categories');
|
const categories = require('../categories');
|
||||||
|
const utils = require('../utils');
|
||||||
const activitypub = require('.');
|
const activitypub = require('.');
|
||||||
|
|
||||||
const helpers = require('./helpers');
|
const helpers = require('./helpers');
|
||||||
@@ -115,7 +116,7 @@ inbox.announce = async (req) => {
|
|||||||
await topics.events.log(tid, {
|
await topics.events.log(tid, {
|
||||||
type: 'announce',
|
type: 'announce',
|
||||||
uid: actor,
|
uid: actor,
|
||||||
href: `/post/${pid}`,
|
href: utils.isNumber(pid) ? `/post/${pid}` : pid,
|
||||||
pid,
|
pid,
|
||||||
timestamp,
|
timestamp,
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user