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