From 6c9fc1146f466230840d9177f5b0daf1f55a8313 Mon Sep 17 00:00:00 2001
From: marvin-borner@live.com
Date: Tue, 17 Apr 2018 18:35:48 +0200
Subject: Fixed translation issues - extended cms use
---
main/app/sprinkles/core/asset-bundles.json | 2 -
.../sprinkles/core/assets/SiteAssets/js/chat.js | 117 ----------------
main/app/sprinkles/core/config/default.php | 2 +-
main/app/sprinkles/core/locale/de_DE/main.php | 15 +++
main/app/sprinkles/core/locale/de_DE/messages.php | 150 ++++++++++-----------
main/app/sprinkles/core/locale/en_US/main.php | 15 +++
main/app/sprinkles/core/locale/fr_FR/main.php | 15 +++
.../templates/pages/abstract/mainsite.html.twig | 1 -
.../sprinkles/core/templates/pages/index.html.twig | 20 +--
.../core/templates/pages/partials/chat.js.twig | 123 +++++++++++++++++
10 files changed, 250 insertions(+), 210 deletions(-)
delete mode 100644 main/app/sprinkles/core/assets/SiteAssets/js/chat.js
create mode 100644 main/app/sprinkles/core/locale/de_DE/main.php
create mode 100644 main/app/sprinkles/core/locale/en_US/main.php
create mode 100644 main/app/sprinkles/core/locale/fr_FR/main.php
create mode 100644 main/app/sprinkles/core/templates/pages/partials/chat.js.twig
(limited to 'main')
diff --git a/main/app/sprinkles/core/asset-bundles.json b/main/app/sprinkles/core/asset-bundles.json
index 053fffe..caa5d7b 100755
--- a/main/app/sprinkles/core/asset-bundles.json
+++ b/main/app/sprinkles/core/asset-bundles.json
@@ -49,9 +49,7 @@
"SiteAssets/js/fontawesome.js",
"SiteAssets/js/modernizr.js",
"SiteAssets/js/linkify.js",
- "SiteAssets/js/language.js",
"SiteAssets/js/encryption.js",
- "SiteAssets/js/chat.js",
"SiteAssets/js/slick.js",
"SiteAssets/js/main.js"
],
diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/chat.js b/main/app/sprinkles/core/assets/SiteAssets/js/chat.js
deleted file mode 100644
index bcb910b..0000000
--- a/main/app/sprinkles/core/assets/SiteAssets/js/chat.js
+++ /dev/null
@@ -1,117 +0,0 @@
-/************
- GENERATE KEYS
- ************/
-if (localStorage.getItem('KeysGenerated') === null || localStorage.getItem('KeysGenerated') !== "true") {
- // GENERATE -- LATER ON LOGIN!
- var EncryptionPhrase = "PASSWORD 123"; // THE USERS PASSWORD
- var RSABitLength = 1024;
- var PrivateKeyString = cryptico.generateRSAKey(EncryptionPhrase, RSABitLength);
- var PublicKeyString = cryptico.publicKeyString(PrivateKeyString);
- // SAVE TO DATABASE
- $.ajax({
- type: "POST",
- url: "assets/php/SavePublicKey.php",
- data: {
- UserID: "1", // TEMPORARY
- PublicKeyString: PublicKeyString
- },
- async: true,
- error: function () {
- console.error("Error while saving public key to database!");
- },
- success: function () {
- localStorage.setItem('KeysGenerated', "true");
- }
- });
-}
-
-
-/******
- GENERAL
- ******/
-
-var ChatTextInput = $("#ChatTextInput");
-var SubscribeTextInput = $("#SubscribeTextInput");
-var ChatMessages = $("#ChatMessages");
-
-var WebSocket = new WebSocket('wss://marvinborner.ddnss.de:1337');
-
-WebSocket.onopen = function () {
- console.log("Chat connection established!");
-};
-
-WebSocket.onmessage = function (e) {
- var LastMessage = $(".ChatMessage:last");
- var MessageObject = JSON.parse(e.data);
- if (MessageObject.ServerMessage === false) {
- if (MessageObject.WasHimself === true) { //MessageObject.Username
- if (!LastMessage.hasClass("MessageSent")) {
- ChatMessages.append("
" + MessageObject.Message + "
");
- } else if (LastMessage.hasClass("MessageSent")) {
- if (LastMessage.hasClass("AloneMessage")) {
- LastMessage.removeClass("AloneMessage");
- LastMessage.addClass("TopMessage");
- } else if (LastMessage.hasClass("BottomMessage")) {
- LastMessage.removeClass("BottomMessage");
- LastMessage.addClass("MiddleMessage");
- }
- ChatMessages.append("" + MessageObject.Message + "
");
- }
- $('.MessageSent').linkify({
- target: "_blank"
- });
- } else if (MessageObject.WasHimself === false) {
- if (!LastMessage.hasClass("MessageReceived")) {
- ChatMessages.append("" + MessageObject.Message + "
");
- } else if (LastMessage.hasClass("MessageReceived")) {
- if (LastMessage.hasClass("AloneMessage")) {
- LastMessage.removeClass("AloneMessage");
- LastMessage.addClass("TopMessage");
- } else if (LastMessage.hasClass("BottomMessage")) {
- LastMessage.removeClass("BottomMessage");
- LastMessage.addClass("MiddleMessage");
- }
- ChatMessages.append("" + MessageObject.Message + "
");
- }
- $('.MessageReceived').linkify({
- target: "_blank"
- });
- }
- } else if (MessageObject.ServerMessage === true) {
- if (MessageObject.ServerMessageType === "GroupJoin") {
- if (MessageObject.WasHimself === false) {
- ChatMessages.append("" + MessageObject.Username + " .
");
- } else if (MessageObject.WasHimself === true) {
- ChatMessages.empty();
- ChatMessages.append(" " + MessageObject.GroupName + ".
");
- }
- } else if (MessageObject.ServerMessageType === "UserDisconnect") {
- ChatMessages.append("" + MessageObject.Username + " .
");
- }
- }
- initiateLanguage(); // need further work (performance)
-};
-
-ChatTextInput.keyup(function (e) {
- if (e.keyCode === 13) {
- sendMessage(ChatTextInput.val());
- ChatTextInput.val("");
- }
-});
-
-SubscribeTextInput.keyup(function (e) {
- if (e.keyCode === 13) {
- subscribe(SubscribeTextInput.val());
- }
-});
-
-function subscribe(channel) {
- WebSocket.send(JSON.stringify({ClientMessageType: "Subscribe", Channel: channel}));
- SubscribeTextInput.hide();
- ChatTextInput.show();
-}
-
-function sendMessage(msg) {
- WebSocket.send(JSON.stringify({ClientMessageType: "Message", Message: msg}));
- ChatTextInput.val("");
-}
diff --git a/main/app/sprinkles/core/config/default.php b/main/app/sprinkles/core/config/default.php
index 2e62fd1..134b5d4 100755
--- a/main/app/sprinkles/core/config/default.php
+++ b/main/app/sprinkles/core/config/default.php
@@ -154,7 +154,7 @@
// This can be a comma-separated list, to load multiple fallback locales
'default' => 'en_US'
],
- 'title' => 'SocialNetwork',
+ 'title' => 'BEAM-Messenger',
// Global ufTable settings
'uf_table' => [
'use_loading_transition' => true
diff --git a/main/app/sprinkles/core/locale/de_DE/main.php b/main/app/sprinkles/core/locale/de_DE/main.php
new file mode 100644
index 0000000..250e038
--- /dev/null
+++ b/main/app/sprinkles/core/locale/de_DE/main.php
@@ -0,0 +1,15 @@
+ [
+ "FEED" => "Neues",
+ "EXPLORE" => "Entdecken",
+ "CHAT" => "Nachrichten",
+ "FRIENDS" => "Freunde",
+ "PERSONAL" => "Persönliche Daten"
+ ],
+ "CHAT_MESSAGES" => [
+ "USER_GROUP_JOIN" => "{{user}} ist der Gruppe beigetreten",
+ "YOU_GROUP_JOIN" => "Du bist der Gruppe beigetreten",
+ "USER_DISCONNECT" => "{{user}} hat sich vom Server getrennt"
+ ]
+];
\ No newline at end of file
diff --git a/main/app/sprinkles/core/locale/de_DE/messages.php b/main/app/sprinkles/core/locale/de_DE/messages.php
index e254c65..999947d 100755
--- a/main/app/sprinkles/core/locale/de_DE/messages.php
+++ b/main/app/sprinkles/core/locale/de_DE/messages.php
@@ -16,108 +16,108 @@
return [
"@PLURAL_RULE" => 1,
- "ABOUT" => "Über",
+ "ABOUT" => "Über",
"CAPTCHA" => [
- "@TRANSLATION" => "Sicherheitscode",
- "FAIL" => "Sie haben den Sicherheitscode nicht korrekt eingegeben.",
- "SPECIFY" => "Geben Sie den Sicherheitscode ein",
- "VERIFY" => "Überprüfen Sie den Sicherheitscode"
+ "@TRANSLATION" => "Sicherheitscode",
+ "FAIL" => "Sie haben den Sicherheitscode nicht korrekt eingegeben.",
+ "SPECIFY" => "Geben Sie den Sicherheitscode ein",
+ "VERIFY" => "Überprüfen Sie den Sicherheitscode"
],
- "CSRF_MISSING" => "Fehlender CSRF-Token. Versuchen, die Seite zu aktualisieren und erneut zu senden?",
+ "CSRF_MISSING" => "Fehlender CSRF-Token. Versuchen, die Seite zu aktualisieren und erneut zu senden?",
- "DB_INVALID" => "Keine Verbindung zur Datenbank möglich. Wenn Sie ein Administrator sind, überprüfen Sie bitte Ihr Fehlerprotokoll.",
- "DESCRIPTION" => "Beschreibung",
+ "DB_INVALID" => "Keine Verbindung zur Datenbank möglich. Wenn Sie ein Administrator sind, überprüfen Sie bitte Ihr Fehlerprotokoll.",
+ "DESCRIPTION" => "Beschreibung",
"DOWNLOAD" => [
- "@TRANSLATION" => "Herunterladen",
- "CSV" => "CSV herunterladen"
+ "@TRANSLATION" => "Herunterladen",
+ "CSV" => "CSV herunterladen"
],
"EMAIL" => [
- "@TRANSLATION" => "E-Mail",
- "YOUR" => "Ihre E-Mail-Adresse"
+ "@TRANSLATION" => "E-Mail",
+ "YOUR" => "Ihre E-Mail-Adresse"
],
- "HOME" => "Startseite",
+ "HOME" => "Startseite",
"LEGAL" => [
- "@TRANSLATION" => "Rechtsgrundsatz",
- "DESCRIPTION" => "Unser Rechtsgrundsatz gilt für die Benutzung dieser Internetseite und unserer Dienste."
+ "@TRANSLATION" => "Rechtsgrundsatz",
+ "DESCRIPTION" => "Unser Rechtsgrundsatz gilt für die Benutzung dieser Internetseite und unserer Dienste."
],
"LOCALE" => [
- "@TRANSLATION" => "Sprache"
+ "@TRANSLATION" => "Sprache"
],
- "NAME" => "Name",
- "NAVIGATION" => "Navigation",
- "NO_RESULTS" => "Sorry, hier gibt es bisher nichts zu sehen.",
+ "NAME" => "Name",
+ "NAVIGATION" => "Navigation",
+ "NO_RESULTS" => "Sorry, hier gibt es bisher nichts zu sehen.",
"PAGINATION" => [
- "GOTO" => "Gehe zu Seite",
- "SHOW" => "Anzeigen",
-
- // Paginator
- // possible variables: {size}, {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
- // also {page:input} & {startRow:input} will add a modifiable input in place of the value
- "OUTPUT" => "{startRow} bis {endRow} von {filteredRows} ({totalRows})",
-
- "NEXT" => "Nächste Seite",
- "PREVIOUS" => "Vorherige Seite",
- "FIRST" => "Erste Seite",
- "LAST" => "Letzte Seite"
+ "GOTO" => "Gehe zu Seite",
+ "SHOW" => "Anzeigen",
+
+ // Paginator
+ // possible variables: {size}, {page}, {totalPages}, {filteredPages}, {startRow}, {endRow}, {filteredRows} and {totalRows}
+ // also {page:input} & {startRow:input} will add a modifiable input in place of the value
+ "OUTPUT" => "{startRow} bis {endRow} von {filteredRows} ({totalRows})",
+
+ "NEXT" => "Nächste Seite",
+ "PREVIOUS" => "Vorherige Seite",
+ "FIRST" => "Erste Seite",
+ "LAST" => "Letzte Seite"
],
"PRIVACY" => [
- "@TRANSLATION" => "Datenschutzbestimmungen",
- "DESCRIPTION" => "In unsere Datenschutzbestimmungen erklären wir Ihnen, welche Daten wir sammeln und wozu wir diese benutzen."
+ "@TRANSLATION" => "Datenschutzbestimmungen",
+ "DESCRIPTION" => "In unsere Datenschutzbestimmungen erklären wir Ihnen, welche Daten wir sammeln und wozu wir diese benutzen."
],
- "SLUG" => "Schnecke",
- "SLUG_CONDITION" => "Schnecke/Bedingungen",
- "SLUG_IN_USE" => "Die Schnecke {{slug}} existiert bereits",
- "STATUS" => "Status",
- "SUGGEST" => "Vorschlagen",
+ "SLUG" => "Schnecke",
+ "SLUG_CONDITION" => "Schnecke/Bedingungen",
+ "SLUG_IN_USE" => "Die Schnecke {{slug}} existiert bereits",
+ "STATUS" => "Status",
+ "SUGGEST" => "Vorschlagen",
- "UNKNOWN" => "Unbekannt",
+ "UNKNOWN" => "Unbekannt",
// Actions words
- "ACTIONS" => "Aktionen",
- "ACTIVATE" => "Aktivieren",
- "ACTIVE" => "Aktiv",
- "ADD" => "Hinzufügen",
- "CANCEL" => "Abbrechen",
- "CONFIRM" => "Bestätigen",
- "CREATE" => "Erstellen",
- "DELETE" => "Löschen",
- "DELETE_CONFIRM" => "Möchten Sie diese wirklich löschen?",
- "DELETE_CONFIRM_YES" => "Ja, löschen",
- "DELETE_CONFIRM_NAMED" => "Möchten Sie {{name}} wirklich löschen?",
- "DELETE_CONFIRM_YES_NAMED" => "Ja, {{name}} löschen",
- "DELETE_CANNOT_UNDONE" => "Diese Aktion kann nicht rückgängig gemacht werden.",
- "DELETE_NAMED" => "{{name}} löschen",
- "DENY" => "Verweigern",
- "DISABLE" => "Deaktivieren",
- "DISABLED" => "Deaktiviert",
- "EDIT" => "Bearbeiten",
- "ENABLE" => "Aktivieren",
- "ENABLED" => "Aktiviert",
- "OVERRIDE" => "Überschreiben",
- "RESET" => "Zurücksetzen",
- "SAVE" => "Speichern",
- "SEARCH" => "Suchen",
- "SORT" => "Sortieren",
- "SUBMIT" => "Einreichen",
- "PRINT" => "Drucken",
- "REMOVE" => "Entfernen",
- "UNACTIVATED" => "Unaktiviert",
- "UPDATE" => "Aktualisieren",
- "YES" => "Ja",
- "NO" => "Nein",
- "OPTIONAL" => "Optional",
+ "ACTIONS" => "Aktionen",
+ "ACTIVATE" => "Aktivieren",
+ "ACTIVE" => "Aktiv",
+ "ADD" => "Hinzufügen",
+ "CANCEL" => "Abbrechen",
+ "CONFIRM" => "Bestätigen",
+ "CREATE" => "Erstellen",
+ "DELETE" => "Löschen",
+ "DELETE_CONFIRM" => "Möchten Sie diese wirklich löschen?",
+ "DELETE_CONFIRM_YES" => "Ja, löschen",
+ "DELETE_CONFIRM_NAMED" => "Möchten Sie {{name}} wirklich löschen?",
+ "DELETE_CONFIRM_YES_NAMED" => "Ja, {{name}} löschen",
+ "DELETE_CANNOT_UNDONE" => "Diese Aktion kann nicht rückgängig gemacht werden.",
+ "DELETE_NAMED" => "{{name}} löschen",
+ "DENY" => "Verweigern",
+ "DISABLE" => "Deaktivieren",
+ "DISABLED" => "Deaktiviert",
+ "EDIT" => "Bearbeiten",
+ "ENABLE" => "Aktivieren",
+ "ENABLED" => "Aktiviert",
+ "OVERRIDE" => "Überschreiben",
+ "RESET" => "Zurücksetzen",
+ "SAVE" => "Speichern",
+ "SEARCH" => "Suchen",
+ "SORT" => "Sortieren",
+ "SUBMIT" => "Einreichen",
+ "PRINT" => "Drucken",
+ "REMOVE" => "Entfernen",
+ "UNACTIVATED" => "Unaktiviert",
+ "UPDATE" => "Aktualisieren",
+ "YES" => "Ja",
+ "NO" => "Nein",
+ "OPTIONAL" => "Optional",
// Misc.
- "BUILT_WITH_UF" => "Errichtet mit UserFrosting",
- "ADMINLTE_THEME_BY" => "Theme von Almsaeed Studio. Alle Rechte vorbehalten",
- "WELCOME_TO" => "Willkommen auf {{title}}!"
+ "BUILT_WITH_UF" => "Errichtet mit UserFrosting",
+ "ADMINLTE_THEME_BY" => "Theme von Almsaeed Studio. Alle Rechte vorbehalten",
+ "WELCOME_TO" => "Willkommen auf {{title}}!"
];
diff --git a/main/app/sprinkles/core/locale/en_US/main.php b/main/app/sprinkles/core/locale/en_US/main.php
new file mode 100644
index 0000000..99933b1
--- /dev/null
+++ b/main/app/sprinkles/core/locale/en_US/main.php
@@ -0,0 +1,15 @@
+ [
+ "FEED" => "New",
+ "EXPLORE" => "Explore",
+ "CHAT" => "Chat",
+ "FRIENDS" => "Friends",
+ "PERSONAL" => "Personal"
+ ],
+ "CHAT_MESSAGES" => [
+ "USER_GROUP_JOIN" => "{{user}} joined the group",
+ "YOU_GROUP_JOIN" => "You joined the group",
+ "USER_DISCONNECT" => "{{user}} has disconnected from the server"
+ ]
+];
\ No newline at end of file
diff --git a/main/app/sprinkles/core/locale/fr_FR/main.php b/main/app/sprinkles/core/locale/fr_FR/main.php
new file mode 100644
index 0000000..df913dc
--- /dev/null
+++ b/main/app/sprinkles/core/locale/fr_FR/main.php
@@ -0,0 +1,15 @@
+ [
+ "FEED" => "D'actualités",
+ "EXPLORE" => "Dépister",
+ "CHAT" => "Message",
+ "FRIENDS" => "Camarades",
+ "PERSONAL" => "Personnelles"
+ ],
+ "CHAT_MESSAGES" => [
+ "USER_GROUP_JOIN" => "{{user}} s'est joint au groupe",
+ "YOU_GROUP_JOIN" => "Vous avez rejoint le groupe",
+ "USER_DISCONNECT" => "{{user}} s'est déconnecté du serveur"
+ ]
+];
diff --git a/main/app/sprinkles/core/templates/pages/abstract/mainsite.html.twig b/main/app/sprinkles/core/templates/pages/abstract/mainsite.html.twig
index d12ccde..fe21d34 100644
--- a/main/app/sprinkles/core/templates/pages/abstract/mainsite.html.twig
+++ b/main/app/sprinkles/core/templates/pages/abstract/mainsite.html.twig
@@ -8,7 +8,6 @@
-
diff --git a/main/app/sprinkles/core/templates/pages/index.html.twig b/main/app/sprinkles/core/templates/pages/index.html.twig
index 4c7c838..5de2d30 100755
--- a/main/app/sprinkles/core/templates/pages/index.html.twig
+++ b/main/app/sprinkles/core/templates/pages/index.html.twig
@@ -15,7 +15,7 @@
@@ -26,7 +26,7 @@
@@ -37,7 +37,7 @@
@@ -57,7 +57,7 @@
@@ -68,7 +68,7 @@
@@ -97,16 +97,8 @@
{% endblock %}
-
-
{% block scripts_page %}
-
{% endblock %}
diff --git a/main/app/sprinkles/core/templates/pages/partials/chat.js.twig b/main/app/sprinkles/core/templates/pages/partials/chat.js.twig
new file mode 100644
index 0000000..779008f
--- /dev/null
+++ b/main/app/sprinkles/core/templates/pages/partials/chat.js.twig
@@ -0,0 +1,123 @@
+{% autoescape 'js' %}
+
+/************
+ GENERATE KEYS
+ ************/
+if (localStorage.getItem('KeysGenerated') === null || localStorage.getItem('KeysGenerated') !== "true") {
+ // GENERATE -- LATER ON LOGIN!
+ var EncryptionPhrase = "PASSWORD 123"; // THE USERS PASSWORD -- needs to generate on login!
+ var RSABitLength = 1024;
+ var PrivateKeyString = cryptico.generateRSAKey(EncryptionPhrase, RSABitLength);
+ var PublicKeyString = cryptico.publicKeyString(PrivateKeyString);
+ // SAVE TO DATABASE
+ $.ajax({
+ type: "POST",
+ url: "assets/php/SavePublicKey.php",
+ data: {
+ UserID: "1", // TEMPORARY
+ PublicKeyString: PublicKeyString
+ },
+ async: true,
+ error: function () {
+ console.error("Error while saving public key to database!");
+ },
+ success: function () {
+ localStorage.setItem('KeysGenerated', "true");
+ }
+ });
+}
+
+
+/******
+ GENERAL
+ ******/
+
+var ChatTextInput = $("#ChatTextInput");
+var SubscribeTextInput = $("#SubscribeTextInput");
+var ChatMessages = $("#ChatMessages");
+
+var WebSocket = new WebSocket('wss://marvinborner.ddnss.de:1337');
+
+WebSocket.onopen = function () {
+ console.log("Chat connection established!");
+};
+
+WebSocket.onmessage = function (e) {
+ var LastMessage = $(".ChatMessage:last");
+ var MessageObject = JSON.parse(e.data);
+ if (MessageObject.ServerMessage === false) {
+ if (MessageObject.WasHimself === true) { //MessageObject.Username
+ if (!LastMessage.hasClass("MessageSent")) {
+ ChatMessages.append("" + MessageObject.Message + "
");
+ } else if (LastMessage.hasClass("MessageSent")) {
+ if (LastMessage.hasClass("AloneMessage")) {
+ LastMessage.removeClass("AloneMessage");
+ LastMessage.addClass("TopMessage");
+ } else if (LastMessage.hasClass("BottomMessage")) {
+ LastMessage.removeClass("BottomMessage");
+ LastMessage.addClass("MiddleMessage");
+ }
+ ChatMessages.append("" + MessageObject.Message + "
");
+ }
+ $('.MessageSent').linkify({
+ target: "_blank"
+ });
+ } else if (MessageObject.WasHimself === false) {
+ if (!LastMessage.hasClass("MessageReceived")) {
+ ChatMessages.append("" + MessageObject.Message + "
");
+ } else if (LastMessage.hasClass("MessageReceived")) {
+ if (LastMessage.hasClass("AloneMessage")) {
+ LastMessage.removeClass("AloneMessage");
+ LastMessage.addClass("TopMessage");
+ } else if (LastMessage.hasClass("BottomMessage")) {
+ LastMessage.removeClass("BottomMessage");
+ LastMessage.addClass("MiddleMessage");
+ }
+ ChatMessages.append("" + MessageObject.Message + "
");
+ }
+ $('.MessageReceived').linkify({
+ target: "_blank"
+ });
+ }
+ } else if (MessageObject.ServerMessage === true) {
+ if (MessageObject.ServerMessageType === "GroupJoin") {
+ if (MessageObject.WasHimself === false) {
+ var TempJoinMessage = "{{ translate("CHAT_MESSAGES.USER_GROUP_JOIN", {user: "ConvertTranslatedMessageWithUsername"}) }}";
+ var GeneratedJoinMessage = TempJoinMessage.replace("ConvertTranslatedMessageWithUsername", MessageObject.Username);
+ ChatMessages.append("" + GeneratedJoinMessage + ".
");
+ } else if (MessageObject.WasHimself === true) {
+ ChatMessages.empty();
+ ChatMessages.append("{{ translate("CHAT_MESSAGES.YOU_GROUP_JOIN") }} " + MessageObject.GroupName + ".
");
+ }
+ } else if (MessageObject.ServerMessageType === "UserDisconnect") {
+ var TempDisconnectMessage = "{{ translate("CHAT_MESSAGES.USER_DISCONNECT", {user: "ConvertTranslatedMessageWithUsername"}) }}";
+ var GeneratedDisconnectMessage = TempDisconnectMessage.replace("ConvertTranslatedMessageWithUsername", MessageObject.Username);
+ ChatMessages.append("" + GeneratedDisconnectMessage + ".
");
+ }
+ }
+};
+
+ChatTextInput.keyup(function (e) {
+ if (e.keyCode === 13) {
+ sendMessage(ChatTextInput.val());
+ ChatTextInput.val("");
+ }
+});
+
+SubscribeTextInput.keyup(function (e) {
+ if (e.keyCode === 13) {
+ subscribe(SubscribeTextInput.val());
+ }
+});
+
+function subscribe(channel) {
+ WebSocket.send(JSON.stringify({ClientMessageType: "Subscribe", Channel: channel}));
+ SubscribeTextInput.hide();
+ ChatTextInput.show();
+}
+
+function sendMessage(msg) {
+ WebSocket.send(JSON.stringify({ClientMessageType: "Message", Message: msg}));
+ ChatTextInput.val("");
+}
+{% endautoescape %}
\ No newline at end of file
--
cgit v1.2.3