v1.18.x
Julian Lam 8 years ago
parent dcb6773782
commit f0936fcafb

@ -3,7 +3,9 @@
var nconf = require('nconf'); var nconf = require('nconf');
var url = require('url'); var url = require('url');
var winston = require('winston'); var winston = require('winston');
var S = require('string');
var meta = require('../meta');
var cache = require('./cache'); var cache = require('./cache');
var plugins = require('../plugins'); var plugins = require('../plugins');
var translator = require('../../public/src/modules/translator'); var translator = require('../../public/src/modules/translator');
@ -41,8 +43,7 @@ module.exports = function (Posts) {
}; };
Posts.parseSignature = function (userData, uid, callback) { Posts.parseSignature = function (userData, uid, callback) {
userData.signature = userData.signature || ''; userData.signature = sanitizeSignature(userData.signature || '');
plugins.fireHook('filter:parse.signature', {userData: userData, uid: uid}, callback); plugins.fireHook('filter:parse.signature', {userData: userData, uid: uid}, callback);
}; };
@ -73,4 +74,19 @@ module.exports = function (Posts) {
return content; return content;
}; };
function sanitizeSignature(signature) {
var string = S(signature),
tagsToStrip = [];
if (parseInt(meta.config['signatures:disableLinks'], 10) === 1) {
tagsToStrip.push('a');
}
if (parseInt(meta.config['signatures:disableImages'], 10) === 1) {
tagsToStrip.push('img');
}
return tagsToStrip.length ? string.stripTags.apply(string, tagsToStrip).s : signature;
}
}; };

@ -84,7 +84,6 @@ module.exports = function (Posts) {
} }
userData.custom_profile_info = results.customProfileInfo.profile; userData.custom_profile_info = results.customProfileInfo.profile;
userData.signature = sanitizeSignature(userData.signature);
plugins.fireHook('filter:posts.modifyUserInfo', userData, next); plugins.fireHook('filter:posts.modifyUserInfo', userData, next);
}); });
@ -128,19 +127,4 @@ module.exports = function (Posts) {
user.isModerator(uid, cids, callback); user.isModerator(uid, cids, callback);
}); });
}; };
}; };
function sanitizeSignature(signature) {
var string = require('string')(signature),
tagsToStrip = [];
if (parseInt(meta.config['signatures:disableLinks'], 10) === 1) {
tagsToStrip.push('a');
}
if (parseInt(meta.config['signatures:disableImages'], 10) === 1) {
tagsToStrip.push('img');
}
return tagsToStrip.length ? string.stripTags.apply(string, tagsToStrip).s : signature;
}
Loading…
Cancel
Save