summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan <mu.stefan@googlemail.com>2015-08-15 22:05:31 +0200
committerStefan <mu.stefan@googlemail.com>2015-08-15 22:05:31 +0200
commit94cb743ca8a772edde7383b0b0567eb8104817f8 (patch)
tree334894f165c8859915f4ead198c6d35a8f9b2586
parent02c022aab14f9087e22cebd4123336935cc089d8 (diff)
downloadetherpad-lite-94cb743ca8a772edde7383b0b0567eb8104817f8.zip
Fix API call appendChatMessage to send new message to all connected clients
-rw-r--r--src/node/db/API.js20
-rw-r--r--src/node/handler/PadMessageHandler.js11
2 files changed, 23 insertions, 8 deletions
diff --git a/src/node/db/API.js b/src/node/db/API.js
index 97d5162d..7b5a7b37 100644
--- a/src/node/db/API.js
+++ b/src/node/db/API.js
@@ -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();
}
/*****************/
diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js
index 248dc128..91fa37e4 100644
--- a/src/node/handler/PadMessageHandler.js
+++ b/src/node/handler/PadMessageHandler.js
@@ -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;