Merge pull request #2756 from Gared/fix_append_chat_message_handle

Fix API call appendChatMessage to send new message to all connected clients
This commit is contained in:
Stefan 2015-08-30 18:15:35 +02:00
commit 9e68744ec9
2 changed files with 23 additions and 8 deletions

View File

@ -510,15 +510,19 @@ exports.appendChatMessage = function(padID, text, authorID, time, callback)
callback(new customError("text is no string","apierror"));
return;
}
//get the pad
getPadSafe(padID, true, function(err, pad)
// if time is not an integer value
if(time === undefined || !is_int(time))
{
if(ERR(err, callback)) return;
pad.appendChatMessage(text, authorID, parseInt(time));
callback();
});
// set time to current timestamp
time = new Date().getTime();
}
var padMessage = require("ep_etherpad-lite/node/handler/PadMessageHandler.js");
// save chat message to database and send message to all connected clients
padMessage.sendChatMessageToPadClients(parseInt(time), authorID, text, padID);
callback();
}
/*****************/

View File

@ -375,6 +375,17 @@ function handleChatMessage(client, message)
var text = message.data.text;
var padId = sessioninfos[client.id].padId;
exports.sendChatMessageToPadClients(time, userId, text, padId);
}
/**
* Sends a chat message to all clients of this pad
* @param time the timestamp of the chat message
* @param userId the author id of the chat message
* @param text the text of the chat message
* @param padId the padId to send the chat message to
*/
exports.sendChatMessageToPadClients = function (time, userId, text, padId) {
var pad;
var userName;