diff --git a/images/lock.svg b/images/lock.svg new file mode 100644 index 0000000..7d0e70b --- /dev/null +++ b/images/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/unlock.svg b/images/unlock.svg new file mode 100644 index 0000000..0b2258a --- /dev/null +++ b/images/unlock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/js/scripts.js b/js/scripts.js index f776318..f1bae34 100644 --- a/js/scripts.js +++ b/js/scripts.js @@ -28,7 +28,6 @@ $(document).ready(function(){ dateFormat: "Y-m-d H:i:ss", }); - }); diff --git a/messages.php b/messages.php index 8ef5a6b..e846f3b 100644 --- a/messages.php +++ b/messages.php @@ -29,6 +29,7 @@
+
diff --git a/package-lock.json b/package-lock.json index 89b9683..b15758c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,19 +4,6 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@fortawesome/fontawesome": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome/-/fontawesome-1.1.5.tgz", - "integrity": "sha512-WAgbcVs7/YTxq7RK/dhyoJPzaIZpOQnStyO5s1sj0rZa0J1ScXYoGPmsP1ec6qM/BhDjRVB228xr2DiCPTHRCA==", - "requires": { - "@fortawesome/fontawesome-common-types": "0.1.3" - } - }, - "@fortawesome/fontawesome-common-types": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.1.3.tgz", - "integrity": "sha512-jJXUoNkmHozqlcXzNiYytcmEe3eNxn7Vh8hmnIoRi0TmT3ChQ0osuSApuIObIomnIcvqlA24FCpnamKvfZ7F5g==" - }, "bootstrap": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.0.0.tgz", @@ -45,6 +32,11 @@ "jquery": "3.3.1" } }, + "nosleep.js": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.7.0.tgz", + "integrity": "sha1-z9kZwlUjyg0PSmn7MwXAg62u4ok=" + }, "popper.js": { "version": "1.12.9", "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.9.tgz", diff --git a/package.json b/package.json index 374db4f..72b598e 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "font-awesome": "^4.7.0", "jquery": "^3.3.1", "jquery-colorbox": "^1.6.4", + "nosleep.js": "^0.7.0", "popper.js": "^1.12.9", "tinymce": "^4.7.9" }, diff --git a/sessions.php b/sessions.php index 320c31d..15e555e 100644 --- a/sessions.php +++ b/sessions.php @@ -36,7 +36,7 @@ " : "";?> - + diff --git a/socket/index.js b/socket/index.js index 4acb2b3..8205c9e 100644 --- a/socket/index.js +++ b/socket/index.js @@ -8,6 +8,7 @@ app.use(express.static(__dirname + '/public')); function onConnection(socket){ socket.on('message', (data) => socket.broadcast.emit('message', data)); + socket.on('pushMessage', (data) => socket.broadcast.emit('pushMessage', data)); } io.on('connection', onConnection); diff --git a/socket/package-lock.json b/socket/package-lock.json index fb5ad09..69ca97d 100644 --- a/socket/package-lock.json +++ b/socket/package-lock.json @@ -627,6 +627,11 @@ "is-stream": "1.1.0" } }, + "nosleep.js": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.7.0.tgz", + "integrity": "sha1-z9kZwlUjyg0PSmn7MwXAg62u4ok=" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", diff --git a/socket/package.json b/socket/package.json index 36e9ca5..38762c9 100644 --- a/socket/package.json +++ b/socket/package.json @@ -11,6 +11,7 @@ "font-awesome": "latest", "jquery": "^3.3.1", "ms": "github:zeit/ms", + "nosleep.js": "^0.7.0", "pillarjs": "latest", "send": "github:pillarjs/send", "socket.io": "latest", diff --git a/socket/public/NoSleep.min.js b/socket/public/NoSleep.min.js new file mode 100644 index 0000000..3768ef7 --- /dev/null +++ b/socket/public/NoSleep.min.js @@ -0,0 +1,2 @@ +/*! NoSleep.min.js v0.7.0 - git.io/vfn01 - Rich Tibbett - MIT license */ +!function(A,B){"object"==typeof exports&&"object"==typeof module?module.exports=B():"function"==typeof define&&define.amd?define([],B):"object"==typeof exports?exports.NoSleep=B():A.NoSleep=B()}(this,function(){return function(A){function B(e){if(Q[e])return Q[e].exports;var o=Q[e]={i:e,l:!1,exports:{}};return A[e].call(o.exports,o,o.exports,B),o.l=!0,o.exports}var Q={};return B.m=A,B.c=Q,B.d=function(A,Q,e){B.o(A,Q)||Object.defineProperty(A,Q,{configurable:!1,enumerable:!0,get:e})},B.n=function(A){var Q=A&&A.__esModule?function(){return A.default}:function(){return A};return B.d(Q,"a",Q),Q},B.o=function(A,B){return Object.prototype.hasOwnProperty.call(A,B)},B.p="",B(B.s=0)}([function(A,B,Q){"use strict";function e(A,B){if(!(A instanceof B))throw new TypeError("Cannot call a class as a function")}var o=function(){function A(A,B){for(var Q=0;Q.5&&(this.noSleepVideo.currentTime=Math.random())}.bind(this)))}return o(A,[{key:"enable",value:function(){n?(this.disable(),this.noSleepTimer=window.setInterval(function(){window.location.href="/",window.setTimeout(window.stop,0)},15e3)):this.noSleepVideo.play()}},{key:"disable",value:function(){n?this.noSleepTimer&&(window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause()}}]),A}();A.exports=E},function(A,B,Q){"use strict";A.exports="data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQAD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"}])}); \ No newline at end of file diff --git a/socket/public/css/styles.css b/socket/public/css/styles.css index c2a2744..93e485f 100644 --- a/socket/public/css/styles.css +++ b/socket/public/css/styles.css @@ -4213,8 +4213,26 @@ a:hover { transform: translateY(-50%); -webkit-transform: translateY(-50%); } +/* line 178, main.scss */ +.header .lock-toggle { + border: none; + padding: 0; + margin: 0; + background: none; + height: 40px; + width: 40px; + position: absolute; + right: 20px; + top: 50%; + transform: translateY(-50%); + -webkit-transform: translateY(-50%); +} +/* line 191, main.scss */ +.header .lock-toggle img { + width: 50%; +} -/* line 180, main.scss */ +/* line 198, main.scss */ .iframeGET { display: none; } diff --git a/socket/public/device.html b/socket/public/device.html index 0f39f9a..2ed1f1d 100644 --- a/socket/public/device.html +++ b/socket/public/device.html @@ -11,6 +11,7 @@
+
@@ -22,6 +23,8 @@ + + diff --git a/socket/public/device.js b/socket/public/device.js index ad1328e..ebe84c7 100644 --- a/socket/public/device.js +++ b/socket/public/device.js @@ -2,21 +2,17 @@ $(document).ready( function(){ var socket = io(); socket.on('message', getMessage); + socket.on('pushMessage', pushMessage); var baseUrl = 'http://' + window.location.hostname; var content = $('.content'); var urlString = window.location.href; - //var url = new URL(urlString); var sid = getParameterByName("sid", urlString); $.getJSON( baseUrl + '/apis/getMessages.php', { sid: sid }).done( function(session){ - - //var session = {"name":"Test session 1","start":"2018-04-28 15:20:00","stop":"2018-04-28 17:00:00","enabled":1,"progress_n":"0","progress_max":"0","duration":6000,"step_duration":6000,"messages":[{"id":"51","title":"1_welcome","short_text":"

Benvenuti in COZe<\/strong>, il vostro assistente teorico per discutere ancora meglio il caso.<\/p>\r\nOgni 3 minuti controllate il vostro cellulare.","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:20:20"},{"id":"52","title":"2_perf","short_text":"

gruppi --> output --> indicatori<\/strong><\/p>\r\n

Non dimenticatevi di tenere sotto controllo:<\/p>\r\n

Efficacia <\/strong><\/p>\r\n

Efficienza<\/strong><\/p>\r\n

Apprendimento<\/strong><\/p>\r\n

Durata<\/strong><\/p>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:22:00"},{"id":"53","title":"3_indicatori","short_text":"

Efficacia <\/strong>è la capacità da parte del team di raggiungere l’obiettivo stabilito<\/p>\r\n

Efficienza<\/strong> è la capacità di raggiungere l’obiettivo nel rispetto delle risorse a disposizione, tempi, budget, risorse materiali<\/p>\r\n

Apprendimento<\/strong> è la capacità degli individui di aver sviluppato maggiore conoscenza derivante dalla interazione con gli altri membri<\/p>\r\n

Durata<\/strong> è la capacità del team di creare un contesto in cui è possibile generare valore aggiunto dall’interazione di membri che hanno già lavorato insieme<\/p>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:23:00"},{"id":"54","title":"4_status","short_text":"

gruppi --> input --> status<\/strong><\/p>\r\n

Ricordate:<\/p>\r\n

Status:<\/strong> l’esplicita o implicita posizione gerarchica di ciascun individuo all’interno del team in relazione a quella degli altri membri (dovuto a esperienza, anzianità aziendale, posizione gerarchica, competenze)<\/p>\r\n

Gruppi composti da membri con status differenti tendono a sviluppare processi meno efficaci<\/p>\r\nAd esempio: mancanza di rappresentatività delle idee di tutti","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:24:00"},{"id":"55","title":"5_ruoli","short_text":"

gruppi --> input --> ruoli<\/strong><\/p>\r\n

Ricordate:<\/p>\r\n

Il ruolo<\/strong> costituisce un’aspettativa di comportamento che i membri del team nutrono nei confronti di ciascuno dei membri del team stesso.<\/p>\r\n

La definizione dei ruoli all’interno del team è un’attività fondamentale poiché fornisce i punti di riferimento relativi alle varie tipologie di attività che devono essere svolte<\/p>\r\n

Ruolo definito in base:<\/p>\r\n

all’orientamento a relazioni<\/strong> interne o esterne al gruppo<\/p>\r\n

all’orientamento al compito<\/strong> (dove devo andare, come arrivo all’obiettivo)<\/p>\r\nOccorre presidiale la diversity<\/strong> dei ruoli per avere prestazioni positive in un team","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:26:00"},{"id":"56","title":"6_comunicazione","short_text":"

gruppi --> processi --> compito<\/strong><\/p>\r\n

Ricordate: input eccellenti non necessariamente portano a risultati eccellenti. È necessario che i processi<\/strong> tra i membri siano a loro volta efficaci nel trasformare gli input in output.<\/p>\r\n

Processi orientati al compito<\/strong>: interazioni finalizzate a contribuire direttamente al raggiungimento dell’obiettivo<\/p>\r\n

Processo 1: comunicazione<\/strong><\/p>\r\nCostituisce il mezzo attraverso cui i membri di un team si scambiano informazioni rilevanti per lo svolgimento del compito (osservate frequenza e formalizzazione<\/strong>)","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:28:00"},{"id":"57","title":"7_coordinamento","short_text":"

gruppi --> processi --> compito<\/strong><\/p>\r\n

Processo 2: coordinamento<\/strong><\/p>\r\n

I membri di un team devono armonizzare e sincronizzare le proprie attività individuali finalizzandole al raggiungimento di un obiettivo comune.<\/p>\r\nRicordatevi della team awareness.","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:29:00"},{"id":"58","title":"8_bilanciamento","short_text":"

gruppi --> processi --> compito<\/strong><\/p>\r\n

processo 3: bilanciamento dei contributi<\/strong><\/p>\r\n

un gruppo efficace deve mettere i propri membri nella condizione di contribuire al risultato di team al massimo del proprio potenziale<\/p>\r\n

mancanza di bilanciamento --> social loafing e eccessiva influenza del contesto<\/p>\r\n","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:31:00"},{"id":"59","title":"9_supporto","short_text":"

gruppi --> processi --> relazione<\/strong><\/p>\r\n

processi orientati alle relazioni: interazioni aventi lo scopo di gestire la dimensione interpersonale tra i membri del team<\/p>\r\n

processo 4: supporto reciproco<\/strong><\/p>\r\n

il supporto reciproco all’interno del team fa riferimento alla modalità attraverso cui i membri del team gestiscono il conflitto (in modo cooperativo o competitivo) e supportano gli altri componenti in caso di necessità<\/p>\r\n

influenza del contesto (cultura e meccanismi valutaz)<\/p>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:33:00"},{"id":"60","title":"10_coesione","short_text":"

gruppi --> processi --> relazione<\/strong><\/p>\r\n

processo 5: coesione<\/strong><\/p>\r\n

la coesione si riferisce al grado di attrazione interpersonale tra i membri del team. Un team coeso si sente una vera e propria squadra e la coesione rappresenta un vero e proprio collante per il team<\/p>\r\nrelazione tra coesione e prestazione a U-rovesciata","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:35:00"},{"id":"61","title":"11_warning_ruoli","short_text":"Warning: state facendo attenzione ai ruoli nel vostro team?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:36:00"},{"id":"62","title":"12_warning_coordinamento","short_text":"Warning: state facendo attenzione al coordinamento dei vari sottogruppi di cui il vostro team è composto?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:38:00"},{"id":"63","title":"13_warning_comunicazione","short_text":"Warning: state prestando attenzione alla trasparenza della comuncazione tra membri del team?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:40:00"},{"id":"64","title":"14_efficienza","short_text":"Warning: state prestando attenzione alla deadline?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:42:00"},{"id":"65","title":"15_warning_coesione","short_text":"Warning: state prestando attenzione alla coesione del vostro gruppo?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:43:00"},{"id":"66","title":"16_warning_bilanciamento","short_text":"Warning: state prestando attenzione al bilanciamento dei contributi?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:44:00"},{"id":"67","title":"17_warning_contributi","short_text":"Warning: state prestando attenzione alla analisi critica dei contributi di tutti i membri?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:46:00"},{"id":"68","title":"18_warning_efficacia","short_text":"Warning: avete trovato una soluzione efficace o è necessario ridiscutere alcune cose da zero?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:48:00"},{"id":"69","title":"19_end","short_text":"

Cari, <\/p>\r\n

non ci saranno ulteriori messaggi da parte di COZe.<\/strong><\/p>\r\n

Buon lavoro!<\/p>\r\n","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:49:00"}]}; - - if(session.enabled){ var currentDate = new Date(); var timezoneOffset = (currentDate.getTimezoneOffset() * 60000); @@ -136,11 +132,35 @@ $(document).ready( function(){ function getMessage(message){ - showCloud(message.title, [message.short_text, message.long_text], message.image, '', ''); - notify(true); + if(sid == message.sid){ + showCloud(message.title, [message.short_text, message.long_text], message.image, '', ''); + notify(true); + } } + function pushMessage(mid) { + + var urlString = window.location.href; + var sid = getParameterByName("sid", urlString); + $.getJSON( baseUrl + '/apis/getMessages.php', { + sid: sid + }).done( function(session){ + + if(session.enabled){ + + var allMessages = session.messages; + + $.each(allMessages, function(index, value){ + if(value.id == mid){ + showCloud(value.title, [value.short_text, value.long_text], value.image, value.actions, session.messages); + notify(true); + } + }); + } + }); + } + function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); @@ -151,6 +171,24 @@ $(document).ready( function(){ return decodeURIComponent(results[2].replace(/\+/g, " ")); } + + var noSleep = new NoSleep(); + var wakeLockEnabled = false; + + var toggleEl = document.querySelector(".lock-toggle"); + toggleEl.addEventListener('click', function() { + if (!wakeLockEnabled) { + noSleep.enable(); + wakeLockEnabled = true; + $(".lock-toggle img").attr('src', '/images/lock.svg'); + toggleEl + } else { + noSleep.disable(); + wakeLockEnabled = false; + $(".lock-toggle img").attr('src', '/images/unlock.svg'); + } + }, false); + }); diff --git a/socket/public/images/lock.svg b/socket/public/images/lock.svg new file mode 100644 index 0000000..d376904 --- /dev/null +++ b/socket/public/images/lock.svg @@ -0,0 +1,52 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/socket/public/images/unlock.svg b/socket/public/images/unlock.svg new file mode 100644 index 0000000..aea4657 --- /dev/null +++ b/socket/public/images/unlock.svg @@ -0,0 +1,52 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/socket/public/pushMessage.html b/socket/public/pushMessage.html new file mode 100644 index 0000000..912c160 --- /dev/null +++ b/socket/public/pushMessage.html @@ -0,0 +1,28 @@ + + + + + COZe + + + + + +

+
+
+
+ Do you want to send this message to the whole session? +
+
+ +
+
+
+
+ + + + + + diff --git a/socket/public/pushMessage.js b/socket/public/pushMessage.js new file mode 100644 index 0000000..d3c66e8 --- /dev/null +++ b/socket/public/pushMessage.js @@ -0,0 +1,33 @@ +$(document).ready(()=>{ + + var socket = io(); + var baseUrl = 'http://' + window.location.hostname; + var urlString = window.location.href; + var mid = getParameterByName("mid", urlString); + + var form = $('.send_message_form'); + + form.on('submit', function(e){ + e.preventDefault(); + + var title = form.find('.title').val(); + //var mid = form.find('.mid').val(); + + socket.emit('pushMessage', mid); + parent.postMessage("cbClose", baseUrl); + + }); + + + function getParameterByName(name, url) { + if (!url) url = window.location.href; + name = name.replace(/[\[\]]/g, "\\$&"); + var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, " ")); + } + +}); + diff --git a/socket/public/scss/main.scss b/socket/public/scss/main.scss index b2dca0b..7ed6aa0 100644 --- a/socket/public/scss/main.scss +++ b/socket/public/scss/main.scss @@ -174,6 +174,24 @@ a{ transform: translateY(-50%); -webkit-transform: translateY(-50%); } + + .lock-toggle{ + border: none; + padding: 0; + margin: 0; + background: none; + height: 40px; + width: 40px; + position: absolute; + right: 20px; + top: 50%; + transform: translateY(-50%); + -webkit-transform: translateY(-50%); + + img { + width: 50%; + } + } } diff --git a/socket/public/setMessage.js b/socket/public/setMessage.js index 0469d8e..7031ec9 100644 --- a/socket/public/setMessage.js +++ b/socket/public/setMessage.js @@ -1,7 +1,9 @@ $(document).ready(()=>{ - const socket = io(); - const baseUrl = 'http://' + window.location.hostname; + var socket = io(); + var baseUrl = 'http://' + window.location.hostname; + var urlString = window.location.href; + var sid = getParameterByName("sid", urlString); tinymce.init({ selector: '.mce', @@ -21,19 +23,20 @@ $(document).ready(()=>{ ] }); - const form = $('.send_message_form'); + var form = $('.send_message_form'); form.on('submit', function(e){ e.preventDefault(); - const title = form.find('.title').val(); - const text = form.find('.text').val().split('%break%'); + var title = form.find('.title').val(); + var text = form.find('.text').val().split('%break%'); - const fullMessage = { + var fullMessage = { 'title': title, 'short_text': text[0], 'long_text': text[1], 'image': '', + 'sid': sid, }; socket.emit('message', fullMessage); @@ -41,5 +44,16 @@ $(document).ready(()=>{ }); + + function getParameterByName(name, url) { + if (!url) url = window.location.href; + name = name.replace(/[\[\]]/g, "\\$&"); + var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, " ")); + } + });