refactor: use translator.compile which escapes % and ,

This commit is contained in:
Barış Soner Uşaklı
2026-02-05 19:34:24 -05:00
parent 381334f424
commit a2f4c185e5
3 changed files with 5 additions and 8 deletions

View File

@@ -18,6 +18,7 @@ const privileges = require('./privileges');
const plugins = require('./plugins');
const utils = require('./utils');
const batch = require('./batch');
const translator = require('./translator');
const Flags = module.exports;
@@ -747,7 +748,6 @@ Flags.update = async function (flagId, uid, changeset) {
const notifObj = await notifications.create({
type: 'my-flags',
bodyShort: `[[notifications:flag-assigned-to-you, ${flagId}]]`,
bodyLong: '',
path: `/flags/${flagId}`,
nid: `flags:assign:${flagId}:uid:${assigneeId}`,
from: uid,
@@ -929,11 +929,11 @@ Flags.notify = async function (flagObj, uid, notifySelf = false) {
]);
const modUids = await categories.getModeratorUids([cid]);
const titleEscaped = utils.decodeHTMLEntities(title).replace(/%/g, '%').replace(/,/g, ',');
const titleEscaped = utils.decodeHTMLEntities(title);
notifObj = await notifications.create({
type: 'new-post-flag',
bodyShort: `[[notifications:user-flagged-post-in, ${displayname}, ${titleEscaped}]]`,
bodyShort: translator.compile('notifications:user-flagged-post-in', displayname, titleEscaped),
bodyLong: String(flagObj.target?.content || ''),
pid: flagObj.targetId,
path: `/flags/${flagObj.flagId}`,

View File

@@ -66,7 +66,6 @@ module.exports = function (Groups) {
const notificationData = await Promise.all(uids.map(uid => notifications.create({
type: 'group-invite',
bodyShort: `[[groups:invited.notification-title, ${groupName}]]`,
bodyLong: '',
nid: `group:${groupName}:uid:${uid}:invite`,
path: `/groups/${slugify(groupName)}`,
icon: 'fa-users',

View File

@@ -113,8 +113,7 @@ SocketHelpers.sendNotificationToPostOwner = async function (pid, fromuid, comman
]);
const title = utils.decodeHTMLEntities(topicTitle);
const titleEscaped = title.replace(/%/g, '%').replace(/,/g, ',');
const bodyShort = translator.compile(notification, userData.displayname || userData.name, titleEscaped);
const bodyShort = translator.compile(notification, userData.displayname || userData.name, title);
const notifObj = await notifications.create({
type: command,
@@ -153,10 +152,9 @@ SocketHelpers.sendNotificationToTopicOwner = async function (tid, fromuid, comma
const ownerUid = topicData.uid;
const title = utils.decodeHTMLEntities(topicData.title);
const titleEscaped = title.replace(/%/g, '%').replace(/,/g, ',');
const notifObj = await notifications.create({
bodyShort: `[[${notification}, ${displayname}, ${titleEscaped}]]`,
bodyShort: translator.compile(notification, displayname, title),
path: `/topic/${topicData.slug}`,
nid: `${command}:tid:${tid}:uid:${fromuid}`,
from: fromuid,