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 --- .../templates/pages/abstract/mainsite.html.twig | 1 - .../sprinkles/core/templates/pages/index.html.twig | 20 +--- .../core/templates/pages/partials/chat.js.twig | 123 +++++++++++++++++++++ 3 files changed, 129 insertions(+), 15 deletions(-) create mode 100644 main/app/sprinkles/core/templates/pages/partials/chat.js.twig (limited to 'main/app/sprinkles/core/templates/pages') 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 @@
- + {{ translate("TAB_CAPTIONS.FEED") }}

@@ -26,7 +26,7 @@
- + {{ translate("TAB_CAPTIONS.EXPLORE") }}

@@ -37,7 +37,7 @@
- + {{ translate("TAB_CAPTIONS.CHAT") }}

@@ -57,7 +57,7 @@
- + {{ translate("TAB_CAPTIONS.FRIENDS") }}

@@ -68,7 +68,7 @@
- + {{ translate("TAB_CAPTIONS.PERSONAL") }}

@@ -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