Skip to content

Commit

Permalink
feat: replace relative urls to absolute before sending email notifs
Browse files Browse the repository at this point in the history
  • Loading branch information
barisusakli committed Sep 3, 2020
1 parent c495aac commit 1e5981c
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
7 changes: 5 additions & 2 deletions src/notifications.js
Expand Up @@ -8,6 +8,7 @@ const _ = require('lodash');

const db = require('./database');
const User = require('./user');
const posts = require('./posts');
const groups = require('./groups');
const meta = require('./meta');
const batch = require('./batch');
Expand Down Expand Up @@ -172,14 +173,16 @@ async function pushToUids(uids, notification) {
if (['new-reply', 'new-chat'].includes(notification.type)) {
notification['cta-type'] = notification.type;
}

let body = notification.bodyLong || '';
body = posts.relativeToAbsolute(body, posts.urlRegex);
body = posts.relativeToAbsolute(body, posts.imgRegex);
await async.eachLimit(uids, 3, function (uid, next) {
emailer.send('notification', uid, {
path: notification.path,
notification_url: notification.path.startsWith('http') ? notification.path : nconf.get('url') + notification.path,
subject: utils.stripHTMLTags(notification.subject || '[[notifications:new_notification]]'),
intro: utils.stripHTMLTags(notification.bodyShort),
body: notification.bodyLong || '',
body: body,
notification: notification,
showUnsubscribe: true,
}, next);
Expand Down
5 changes: 4 additions & 1 deletion src/posts/parse.js
Expand Up @@ -77,7 +77,10 @@ module.exports = function (Posts) {
};

Posts.relativeToAbsolute = function (content, regex) {
// Turns relative links in post body to absolute urls
// Turns relative links in content to absolute urls
if (!content) {
return content;
}
var parsed;
var current = regex.regex.exec(content);
var absolute;
Expand Down
4 changes: 0 additions & 4 deletions src/topics/follow.js
Expand Up @@ -2,7 +2,6 @@
'use strict';

const db = require('../database');
const posts = require('../posts');
const notifications = require('../notifications');
const privileges = require('../privileges');
const plugins = require('../plugins');
Expand Down Expand Up @@ -163,9 +162,6 @@ module.exports = function (Topics) {
title = utils.decodeHTMLEntities(title);
}

postData.content = posts.relativeToAbsolute(postData.content, posts.urlRegex);
postData.content = posts.relativeToAbsolute(postData.content, posts.imgRegex);

const notification = await notifications.create({
subject: title,
bodyLong: postData.content,
Expand Down

0 comments on commit 1e5981c

Please sign in to comment.