mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 11:05:54 +01:00 
			
		
		
		
	can add and remove images from posts
This commit is contained in:
		| @@ -152,7 +152,7 @@ define(['taskbar'], function(taskbar) { | ||||
| 						pid: threadData.pid, | ||||
| 						title: threadData.title || '', | ||||
| 						body: threadData.body || '', | ||||
| 						images: [] | ||||
| 						images: threadData.uploadedImages | ||||
| 					}; | ||||
| 					composer.load(uuid); | ||||
| 				} else { | ||||
|   | ||||
							
								
								
									
										38
									
								
								src/posts.js
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								src/posts.js
									
									
									
									
									
								
							| @@ -369,38 +369,40 @@ var	RDB = require('./redis.js'), | ||||
| 		var imgur = require('./imgur'); | ||||
| 		imgur.setClientID(meta.config.imgurClientID); | ||||
|  | ||||
| 		var uploadedImages = []; | ||||
| 		if(!images) | ||||
| 			return callback(null, []); | ||||
|  | ||||
| 		var uploadedImages = images.filter(function(image) { return !!image.url; }); | ||||
|  | ||||
| 		function uploadImage(image, next) { | ||||
| 			if(!image.data) | ||||
| 				return next(null); | ||||
|  | ||||
| 		function uploadImage(image, callback) { | ||||
| 			imgur.upload(image.data, 'base64', function(err, data) { | ||||
| 				if(err) { | ||||
| 					callback(err); | ||||
| 					next(err); | ||||
| 				} else { | ||||
| 					if(data.success) { | ||||
| 						var img= {url:data.data.link, name:image.name}; | ||||
| 						uploadedImages.push(img); | ||||
| 						callback(null); | ||||
| 						next(null); | ||||
| 					} else { | ||||
| 						winston.error('Can\'t upload image, did you set imgurClientID?'); | ||||
| 						callback(data); | ||||
| 						next(data); | ||||
| 					} | ||||
| 				} | ||||
| 			}); | ||||
| 		} | ||||
|  | ||||
| 		if(!images) { | ||||
| 			callback(null, uploadedImages); | ||||
| 		} else { | ||||
| 			async.each(images, uploadImage, function(err) { | ||||
| 				if(!err) { | ||||
| 					Posts.setPostField(pid, 'uploadedImages', JSON.stringify(uploadedImages)); | ||||
| 					callback(null, uploadedImages); | ||||
| 				} else { | ||||
| 					console.log(err); | ||||
| 					callback(err, null); | ||||
| 				} | ||||
| 			}); | ||||
| 		} | ||||
| 		async.each(images, uploadImage, function(err) { | ||||
| 			if(!err) { | ||||
| 				Posts.setPostField(pid, 'uploadedImages', JSON.stringify(uploadedImages)); | ||||
| 				callback(null, uploadedImages); | ||||
| 			} else { | ||||
| 				console.log(err); | ||||
| 				callback(err, null); | ||||
| 			} | ||||
| 		}); | ||||
| 	} | ||||
|  | ||||
| 	Posts.getPostsByUid = function(uid, start, end, callback) { | ||||
|   | ||||
| @@ -583,7 +583,6 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }), | ||||
| 			if (uid > 0) { | ||||
| 				if (parseInt(data.tid) > 0) { | ||||
| 					topics.getTopicData(data.tid, function(topicData) { | ||||
|  | ||||
| 						if (data.body) | ||||
| 							topicData.body = data.body; | ||||
|  | ||||
| @@ -606,9 +605,17 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }), | ||||
| 						} | ||||
| 					}); | ||||
| 				} else if (parseInt(data.pid) > 0) { | ||||
|  | ||||
| 					async.parallel([ | ||||
| 						function(next) { | ||||
| 							posts.getPostField(data.pid, 'content', function(raw) { | ||||
| 							posts.getPostFields(data.pid, ['content', 'uploadedImages'], function(raw) { | ||||
| 								try { | ||||
| 									raw.uploadedImages = JSON.parse(raw.uploadedImages); | ||||
| 								} catch(e) { | ||||
| 									winston.err(e); | ||||
| 									raw.uploadedImages = []; | ||||
| 								} | ||||
|  | ||||
| 								next(null, raw); | ||||
| 							}); | ||||
| 						}, | ||||
| @@ -621,7 +628,8 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }), | ||||
| 						socket.emit('api:composer.push', { | ||||
| 							title: results[1], | ||||
| 							pid: data.pid, | ||||
| 							body: results[0] | ||||
| 							body: results[0].content, | ||||
| 							uploadedImages: results[0].uploadedImages | ||||
| 						}); | ||||
| 					}); | ||||
| 				} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user