Fix API call appendChatMessage to send new message to all connected clients

This commit is contained in:
Stefan 2015-08-15 22:05:31 +02:00
parent 02c022aab1
commit 94cb743ca8
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")); callback(new customError("text is no string","apierror"));
return; return;
} }
//get the pad // if time is not an integer value
getPadSafe(padID, true, function(err, pad) if(time === undefined || !is_int(time))
{ {
if(ERR(err, callback)) return; // set time to current timestamp
time = new Date().getTime();
pad.appendChatMessage(text, authorID, parseInt(time)); }
callback();
}); 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 text = message.data.text;
var padId = sessioninfos[client.id].padId; 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 pad;
var userName; var userName;