diff --git a/public/src/forum/topic.js b/public/src/forum/topic.js
index 8f07b2cac3..3aa8ba5f68 100644
--- a/public/src/forum/topic.js
+++ b/public/src/forum/topic.js
@@ -383,6 +383,18 @@
this.innerHTML = data.content;
$(this).fadeIn(250);
});
+
+ if(data.uploadedImages && data.uploadedImages.length) {
+ $('#images_'+data.pid).html('');
+ for(var i=0; i< data.uploadedImages.length; ++i) {
+ var img = $(' '+data.uploadedImages[i].name+'
');
+ $('#images_' + data.pid).append(img);
+ }
+ } else {
+ $('#images_'+data.pid).html('');
+ }
+
+ console.log('time to recreate images', data);
});
socket.on('api:posts.favourite', function(data) {
diff --git a/public/src/modules/composer.js b/public/src/modules/composer.js
index 1e9e46a885..d93b63f3da 100644
--- a/public/src/modules/composer.js
+++ b/public/src/modules/composer.js
@@ -8,7 +8,8 @@ define(['taskbar'], function(taskbar) {
};
function createImageLabel(img, postImages) {
- var imageLabel = $('
'+ img.name +'
');
+// var imageLabel = $(''+ img.name +'
');
+ var imageLabel = $('' + img.name +'');
var closeButton = $('');
closeButton.on('click', function(e) {
diff --git a/src/postTools.js b/src/postTools.js
index edef132e4c..8f0aaaf6d5 100644
--- a/src/postTools.js
+++ b/src/postTools.js
@@ -55,7 +55,7 @@ var RDB = require('./redis.js'),
});
}
- PostTools.edit = function(uid, pid, title, content) {
+ PostTools.edit = function(uid, pid, title, content, images) {
var success = function() {
posts.setPostField(pid, 'content', content);
posts.setPostField(pid, 'edited', Date.now());
@@ -66,6 +66,11 @@ var RDB = require('./redis.js'),
});
async.parallel([
+ function(next) {
+ posts.uploadPostImages(pid, images, function(err, uploadedImages) {
+ next(err, uploadedImages);
+ });
+ },
function(next) {
posts.getPostField(pid, 'tid', function(tid) {
PostTools.isMain(pid, tid, function(isMainPost) {
@@ -76,7 +81,7 @@ var RDB = require('./redis.js'),
});
}
- next(null, tid);
+ next(null, {tid:tid, isMainPost:isMainPost});
});
});
},
@@ -84,10 +89,12 @@ var RDB = require('./redis.js'),
PostTools.toHTML(content, next);
}
], function(err, results) {
- io.sockets.in('topic_' + results[0]).emit('event:post_edited', {
+ io.sockets.in('topic_' + results[1].tid).emit('event:post_edited', {
pid: pid,
title: title,
- content: results[1]
+ isMainPost: results[1].isMainPost,
+ content: results[2],
+ uploadedImages:results[0]
});
});
};
diff --git a/src/posts.js b/src/posts.js
index d292f86523..ccced14a70 100644
--- a/src/posts.js
+++ b/src/posts.js
@@ -332,7 +332,7 @@ var RDB = require('./redis.js'),
async.parallel({
uploadedImages: function(next) {
- uploadPostImages(postData, images, function(err, uploadedImages) {
+ Posts.uploadPostImages(postData.pid, images, function(err, uploadedImages) {
if(err) {
winston.error('Uploading images failed!', err.stack);
next(null, []);
@@ -350,7 +350,6 @@ var RDB = require('./redis.js'),
}
}, function(err, results) {
postData.uploadedImages = results.uploadedImages;
- Posts.setPostField(pid, 'uploadedImages', JSON.stringify(postData.uploadedImages));
postData.content = results.content;
callback(postData);
});
@@ -366,7 +365,7 @@ var RDB = require('./redis.js'),
});
}
- function uploadPostImages(postData, images, callback) {
+ Posts.uploadPostImages = function(pid, images, callback) {
var imgur = require('./imgur');
imgur.setClientID(meta.config.imgurClientID);
@@ -394,6 +393,7 @@ var RDB = require('./redis.js'),
} else {
async.each(images, uploadImage, function(err) {
if(!err) {
+ Posts.setPostField(pid, 'uploadedImages', JSON.stringify(uploadedImages));
callback(null, uploadedImages);
} else {
console.log(err);
diff --git a/src/websockets.js b/src/websockets.js
index 39f47ffa4d..f007ec127d 100644
--- a/src/websockets.js
+++ b/src/websockets.js
@@ -476,7 +476,7 @@ var SocketIO = require('socket.io').listen(global.server, { log:false }),
posts.emitContentTooShortAlert(socket);
return;
}
- postTools.edit(uid, data.pid, data.title, data.content);
+ postTools.edit(uid, data.pid, data.title, data.content, data.images);
});
socket.on('api:posts.delete', function(data) {