summaryrefslogtreecommitdiff
path: root/src/node/handler
diff options
context:
space:
mode:
Diffstat (limited to 'src/node/handler')
-rw-r--r--src/node/handler/PadMessageHandler.js129
1 files changed, 64 insertions, 65 deletions
diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js
index a013f220..0b60e8fd 100644
--- a/src/node/handler/PadMessageHandler.js
+++ b/src/node/handler/PadMessageHandler.js
@@ -990,71 +990,7 @@ function handleClientReady(client, message)
//Saves in pad2sessions that this session belongs to this pad
pad2sessions[padIds.padId].push(client.id);
-
- //prepare all values for the wire
- var atext = Changeset.cloneAText(pad.atext);
- var attribsForWire = Changeset.prepareForWire(atext.attribs, pad.pool);
- var apool = attribsForWire.pool.toJsonable();
- atext.attribs = attribsForWire.translated;
-
- // Warning: never ever send padIds.padId to the client. If the
- // client is read only you would open a security hole 1 swedish
- // mile wide...
- var clientVars = {
- "accountPrivs": {
- "maxRevisions": 100
- },
- "initialRevisionList": [],
- "initialOptions": {
- "guestPolicy": "deny"
- },
- "savedRevisions": pad.getSavedRevisions(),
- "collab_client_vars": {
- "initialAttributedText": atext,
- "clientIp": "127.0.0.1",
- //"clientAgent": "Anonymous Agent",
- "padId": message.padId,
- "historicalAuthorData": historicalAuthorData,
- "apool": apool,
- "rev": pad.getHeadRevisionNumber(),
- "globalPadId": message.padId,
- "time": currentTime,
- },
- "colorPalette": ["#ffc7c7", "#fff1c7", "#e3ffc7", "#c7ffd5", "#c7ffff", "#c7d5ff", "#e3c7ff", "#ffc7f1", "#ff8f8f", "#ffe38f", "#c7ff8f", "#8fffab", "#8fffff", "#8fabff", "#c78fff", "#ff8fe3", "#d97979", "#d9c179", "#a9d979", "#79d991", "#79d9d9", "#7991d9", "#a979d9", "#d979c1", "#d9a9a9", "#d9cda9", "#c1d9a9", "#a9d9b5", "#a9d9d9", "#a9b5d9", "#c1a9d9", "#d9a9cd", "#4c9c82", "#12d1ad", "#2d8e80", "#7485c3", "#a091c7", "#3185ab", "#6818b4", "#e6e76d", "#a42c64", "#f386e5", "#4ecc0c", "#c0c236", "#693224", "#b5de6a", "#9b88fd", "#358f9b", "#496d2f", "#e267fe", "#d23056", "#1a1a64", "#5aa335", "#d722bb", "#86dc6c", "#b5a714", "#955b6a", "#9f2985", "#4b81c8", "#3d6a5b", "#434e16", "#d16084", "#af6a0e", "#8c8bd8"],
- "clientIp": "127.0.0.1",
- "userIsGuest": true,
- "userColor": authorColorId,
- "padId": message.padId,
- "initialTitle": "Pad: " + message.padId,
- "opts": {},
- // tell the client the number of the latest chat-message, which will be
- // used to request the latest 100 chat-messages later (GET_CHAT_MESSAGES)
- "chatHead": pad.chatHead,
- "numConnectedUsers": pad2sessions[padIds.padId].length,
- "isProPad": false,
- "readOnlyId": padIds.readOnlyPadId,
- "readonly": padIds.readonly,
- "serverTimestamp": new Date().getTime(),
- "globalPadId": message.padId,
- "userId": author,
- "cookiePrefsToSet": {
- "fullWidth": false,
- "hideSidebar": false
- },
- "abiwordAvailable": settings.abiwordAvailable(),
- "plugins": {
- "plugins": plugins.plugins,
- "parts": plugins.parts,
- },
- "initialChangesets": [] // FIXME: REMOVE THIS SHIT
- }
-
- //Add a username to the clientVars if one avaiable
- if(authorName != null)
- {
- clientVars.userName = authorName;
- }
-
+
//If this is a reconnect, we don't have to send the client the ClientVars again
if(message.reconnect == true)
{
@@ -1064,6 +1000,69 @@ function handleClientReady(client, message)
//This is a normal first connect
else
{
+ //prepare all values for the wire
+ var atext = Changeset.cloneAText(pad.atext);
+ var attribsForWire = Changeset.prepareForWire(atext.attribs, pad.pool);
+ var apool = attribsForWire.pool.toJsonable();
+ atext.attribs = attribsForWire.translated;
+
+ // Warning: never ever send padIds.padId to the client. If the
+ // client is read only you would open a security hole 1 swedish
+ // mile wide...
+ var clientVars = {
+ "accountPrivs": {
+ "maxRevisions": 100
+ },
+ "initialRevisionList": [],
+ "initialOptions": {
+ "guestPolicy": "deny"
+ },
+ "savedRevisions": pad.getSavedRevisions(),
+ "collab_client_vars": {
+ "initialAttributedText": atext,
+ "clientIp": "127.0.0.1",
+ "padId": message.padId,
+ "historicalAuthorData": historicalAuthorData,
+ "apool": apool,
+ "rev": pad.getHeadRevisionNumber(),
+ "globalPadId": message.padId,
+ "time": currentTime,
+ },
+ "colorPalette": ["#ffc7c7", "#fff1c7", "#e3ffc7", "#c7ffd5", "#c7ffff", "#c7d5ff", "#e3c7ff", "#ffc7f1", "#ff8f8f", "#ffe38f", "#c7ff8f", "#8fffab", "#8fffff", "#8fabff", "#c78fff", "#ff8fe3", "#d97979", "#d9c179", "#a9d979", "#79d991", "#79d9d9", "#7991d9", "#a979d9", "#d979c1", "#d9a9a9", "#d9cda9", "#c1d9a9", "#a9d9b5", "#a9d9d9", "#a9b5d9", "#c1a9d9", "#d9a9cd", "#4c9c82", "#12d1ad", "#2d8e80", "#7485c3", "#a091c7", "#3185ab", "#6818b4", "#e6e76d", "#a42c64", "#f386e5", "#4ecc0c", "#c0c236", "#693224", "#b5de6a", "#9b88fd", "#358f9b", "#496d2f", "#e267fe", "#d23056", "#1a1a64", "#5aa335", "#d722bb", "#86dc6c", "#b5a714", "#955b6a", "#9f2985", "#4b81c8", "#3d6a5b", "#434e16", "#d16084", "#af6a0e", "#8c8bd8"],
+ "clientIp": "127.0.0.1",
+ "userIsGuest": true,
+ "userColor": authorColorId,
+ "padId": message.padId,
+ "initialTitle": "Pad: " + message.padId,
+ "opts": {},
+ // tell the client the number of the latest chat-message, which will be
+ // used to request the latest 100 chat-messages later (GET_CHAT_MESSAGES)
+ "chatHead": pad.chatHead,
+ "numConnectedUsers": pad2sessions[padIds.padId].length,
+ "isProPad": false,
+ "readOnlyId": padIds.readOnlyPadId,
+ "readonly": padIds.readonly,
+ "serverTimestamp": new Date().getTime(),
+ "globalPadId": message.padId,
+ "userId": author,
+ "cookiePrefsToSet": {
+ "fullWidth": false,
+ "hideSidebar": false
+ },
+ "abiwordAvailable": settings.abiwordAvailable(),
+ "plugins": {
+ "plugins": plugins.plugins,
+ "parts": plugins.parts,
+ },
+ "initialChangesets": [] // FIXME: REMOVE THIS SHIT
+ }
+
+ //Add a username to the clientVars if one avaiable
+ if(authorName != null)
+ {
+ clientVars.userName = authorName;
+ }
+
//Send the clientVars to the Client
client.json.send({type: "CLIENT_VARS", data: clientVars});
//Save the current revision in sessioninfos, should be the same as in clientVars