fix different whiteboard interference

This commit is contained in:
rofl256 2018-02-09 02:04:50 +01:00
parent 88a2fe0dda
commit f5311bcc97
2 changed files with 21 additions and 1 deletions

View File

@ -26,6 +26,8 @@ signaling_socket.on('connect', function () {
signaling_socket.on('refreshUserBadges', function () {
whiteboard.refreshUserBadges();
});
signaling_socket.emit('joinWhiteboard', whiteboardId);
});
$(document).ready(function() {

View File

@ -70,18 +70,36 @@ function progressUploadFormData(formData) {
});
}
var allUsers = {};
io.on('connection', function(socket){
socket.on('disconnect', function () {
delete allUsers[socket.id];
socket.broadcast.emit('refreshUserBadges', null);
});
socket.on('drawToWhiteboard', function(content) {
content = escapeAllContentStrings(content);
socket.broadcast.emit('drawToWhiteboard', content);
sendToAllUsersOfWhiteboard(content["wid"], content)
s_whiteboard.handleEventsAndData(content); //save whiteboardchanges on the server
});
socket.on('joinWhiteboard', function(wid) {
allUsers[socket.id] = {
"socket" : socket,
"wid" : wid
};
});
});
function sendToAllUsersOfWhiteboard(wid, content) {
for(var i in allUsers) {
if(allUsers[i]["wid"]==wid) {
allUsers[i]["socket"].emit('drawToWhiteboard', content);
}
}
}
//Prevent cross site scripting
function escapeAllContentStrings(content, cnt) {
if(!cnt)