mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 11:05:54 +01:00 
			
		
		
		
	fixes #5225
This commit is contained in:
		| @@ -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); | ||||||
| 				}); | 				}); | ||||||
| @@ -129,18 +128,3 @@ module.exports = function (Posts) { | |||||||
| 		}); | 		}); | ||||||
| 	}; | 	}; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| 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; |  | ||||||
| } |  | ||||||
		Reference in New Issue
	
	Block a user