mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 19:15:58 +01:00 
			
		
		
		
	closes #4717
This commit is contained in:
		| @@ -1,7 +1,8 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| var nconf = require('nconf'), | ||||
| 	url = require('url'); | ||||
| var nconf = require('nconf'); | ||||
| var url = require('url'); | ||||
| var winston = require('winston'); | ||||
|  | ||||
| var cache = require('./cache'); | ||||
| var plugins = require('../plugins'); | ||||
| @@ -50,20 +51,23 @@ module.exports = function(Posts) { | ||||
| 		// Turns relative links in post body to absolute urls | ||||
| 		var parsed, current, absolute; | ||||
|  | ||||
| 		while ((current=urlRegex.exec(content)) !== null) { | ||||
| 		while ((current = urlRegex.exec(content)) !== null) { | ||||
| 			if (current[1]) { | ||||
| 				parsed = url.parse(current[1]); | ||||
| 				try { | ||||
| 					parsed = url.parse(current[1]); | ||||
| 					if (!parsed.protocol) { | ||||
| 						if (current[1].startsWith('/')) { | ||||
| 							// Internal link | ||||
| 							absolute = nconf.get('url') + current[1]; | ||||
| 						} else { | ||||
| 							// External link | ||||
| 							absolute = '//' + current[1]; | ||||
| 						} | ||||
|  | ||||
| 				if (!parsed.protocol) { | ||||
| 					if (current[1].startsWith('/')) { | ||||
| 						// Internal link | ||||
| 						absolute = nconf.get('url') + current[1]; | ||||
| 					} else { | ||||
| 						// External link | ||||
| 						absolute = '//' + current[1]; | ||||
| 						content = content.slice(0, current.index + 6) + absolute + content.slice(current.index + 6 + current[1].length); | ||||
| 					} | ||||
|  | ||||
| 					content = content.slice(0, current.index + 6) + absolute + content.slice(current.index + 6 + current[1].length); | ||||
| 				} catch(err) { | ||||
| 					winston.verbose(err.messsage);					 | ||||
| 				}				 | ||||
| 			} | ||||
| 		} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user