aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--main/app/sprinkles/admin/src/Controller/PostController.php3
-rw-r--r--main/app/sprinkles/core/assets/SiteAssets/js/chat.js40
-rw-r--r--main/app/sprinkles/core/assets/SiteAssets/js/main.js8
-rw-r--r--main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php2
-rw-r--r--main/app/sprinkles/core/templates/pages/index.html.twig2
5 files changed, 31 insertions, 24 deletions
diff --git a/main/app/sprinkles/admin/src/Controller/PostController.php b/main/app/sprinkles/admin/src/Controller/PostController.php
index 06d205d..d6a049f 100644
--- a/main/app/sprinkles/admin/src/Controller/PostController.php
+++ b/main/app/sprinkles/admin/src/Controller/PostController.php
@@ -59,7 +59,8 @@ class PostController extends SimpleController
->get();
$ImagesFromFriends = DB::table('image_posts')
- ->where('UserID', '=', $UsersFriendInformation[0]->id)
+ ->where('UserID', '=', $UsersFriendInformation[0]->id) // IMAGES FROM FRIENDS
+ ->orWhere('UserId', '=', $user->id) // IMAGES FROM THE USER HIMSELF
->select('PostID as image_id')
->get();
diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/chat.js b/main/app/sprinkles/core/assets/SiteAssets/js/chat.js
index 016332b..668745d 100644
--- a/main/app/sprinkles/core/assets/SiteAssets/js/chat.js
+++ b/main/app/sprinkles/core/assets/SiteAssets/js/chat.js
@@ -1,7 +1,8 @@
/**
* GLOBAL DECLARATIONS
*/
-let LastMessage, Username, ReceiversUsername, ReceiversId, options, EncryptedMessage, DecryptedMessage;
+let LastMessage, Username, ReceiversUsername, CurrentChatMessagesWindow, ReceiversId, options, EncryptedMessage,
+ DecryptedMessage;
/**
* INITIAL ENCRYPTION CONFIGURATION
@@ -35,7 +36,7 @@ function InitializeChatServer() {
ChatSocket.onopen = function () {
// CONNECTION SUCCESSFUL!
const WebSocketConnectTimerEnd = performance.now(); // END CONNECTION EXECUTION TIMER
- console.log("%c[CHATSOCKET LOGGER] Chat connection established! (Took " + +(WebSocketConnectTimerEnd - WebSocketConnectTimerStart) + " milliseconds)", "color: darkorange");
+ console.log(`%c[CHATSOCKET LOGGER] Chat connection established! (Took ${+(WebSocketConnectTimerEnd - WebSocketConnectTimerStart)} milliseconds)`, "color: darkorange");
// START VERIFICATION
ChatSocket.send(JSON.stringify({
ClientMessageType: "Verify",
@@ -47,7 +48,6 @@ function InitializeChatServer() {
ChatSocket.onmessage = function (e) {
// DECLARATIONS
const TypingIndicatorMessage = $(".TypingIndicatorMessage").parent();
- const CurrentChatMessagesWindow = $(".SelectedReceiver #ChatMessages[data-username=" + ReceiversUsername + "]");
const MessageObject = JSON.parse(e.data);
const Message = MessageObject.Message; // ENCRYPTED MESSAGE (NOT ENCRYPTED ON SERVER MESSAGES)
const MessageId = MessageObject.MessageId;
@@ -63,6 +63,7 @@ function InitializeChatServer() {
// GLOBAL OVERWRITES
LastMessage = $(".MessageWrapper.Normal:last .ChatMessage");
+ CurrentChatMessagesWindow = $("#ChatMessages[data-username=" + ReceiversUsername + "]");
Username = MessageObject.Username;
// GET OWN PUBLIC KEY FIRST
@@ -134,19 +135,20 @@ function InitializeChatServer() {
} else if (ServerMessageType === "SetReceiver") { // TYPE: SERVER CHECKED ACCESS -- MOSTLY HANDLED IN BACKEND
if (Success) {
console.log("%c[CHATSOCKET LOGGER] Setting receiver succeeded!", "color: green");
- SelectReceiver.hide();
- ChatMessages.hide();
- $(".SelectedReceiver > *").addClass("animated slideInRight");
+
+ // CHANGE HEADER TAB CAPTION
$(".ChatTab .headerWrap .header .HeaderCaption.TabCaption").hide();
- if ($(".HeaderCaption#" + ReceiversUsername).length) {
- $(".HeaderCaption#" + ReceiversUsername).show();
- } else {
- $(".ChatTab .headerWrap .header > .LeftButtonHeader").after("<span id='" + ReceiversUsername + "' class='HeaderCaption'>" + ReceiversUsername + "</span>");
- }
+ $(".HeaderCaption#" + ReceiversUsername).length
+ ? $(".HeaderCaption#" + ReceiversUsername).show()
+ : $(".ChatTab .headerWrap .header > .LeftButtonHeader").after("<span id='" + ReceiversUsername + "' class='HeaderCaption'>" + ReceiversUsername + "</span>");
$(".ChatTab .headerWrap .LeftButtonHeader").html("<i id='BackToChatSelectorButton' class='fas fa-caret-left'></i>"); // REPLACE MENU BUTTON WITH BACK BUTTON
- SelectedReceiver.prepend("<div id='ChatMessages' class='ChatMessages' data-username='" + ReceiversUsername + "'></div>");
- SelectedReceiver.show();
- CurrentChatMessagesWindow.show();
+
+ SelectReceiver.hide();
+ SelectedReceiver.show(); // SHOW PARENT DIV
+ $(".SelectedReceiver > #ChatMessages").hide(); // HIDE EVERY CHAT INSTANCE
+ $(".SelectedReceiver > *").addClass("animated slideInRight");
+ ChatTextInput.show(); // SHOW CHAT INPUT
+ CurrentChatMessagesWindow.show(); // ONLY SHOW SELECTED CHAT INSTANCE
} else {
console.log("%c[CHATSOCKET LOGGER] Setting receiver failed!", "color: red");
}
@@ -243,12 +245,12 @@ function InitializeChatServer() {
if (ChatSocket.readyState === 1) {
if (e.keyCode === 13 && ChatTextInput.val().length > 0) {
const ChatTextInputText = ChatTextInput.val();
- ChatTextInput.val("");
const LastMessage = $(".MessageWrapper.Normal:last .ChatMessage");
+ ChatTextInput.val("");
if (!LastMessage.hasClass("MessageSent")) { // CHECK IF PREVIOUS MESSAGE WAS FROM HIMSELF TOO -> IF NOT, CREATE NEW 'ALONE' MESSAGE
- ChatMessages.append("<div class='MessageWrapper Normal'><div class='ChatMessage MessageSent AloneMessage animated fadeInRight'>" + ChatTextInputText + "</div></div>");
+ CurrentChatMessagesWindow.append("<div class='MessageWrapper Normal'><div class='ChatMessage MessageSent AloneMessage animated fadeInRight'>" + ChatTextInputText + "</div></div>");
} else if (LastMessage.hasClass("MessageSent")) { // IF PREVIOUS MESSAGE WAS FROM HIMSELF TOO -> CREATE WITH CORRESPONDING CLASSES FOR DESIGN
- ChatMessages.append("<div class='MessageWrapper Normal'><div class='ChatMessage MessageSent BottomMessage animated fadeInRight'>" + ChatTextInputText + "</div></div>");
+ CurrentChatMessagesWindow.append("<div class='MessageWrapper Normal'><div class='ChatMessage MessageSent BottomMessage animated fadeInRight'>" + ChatTextInputText + "</div></div>");
if (LastMessage.hasClass("AloneMessage")) {
LastMessage.removeClass("AloneMessage");
LastMessage.addClass("TopMessage");
@@ -313,7 +315,9 @@ function InitializeChatServer() {
}));
});
- // SEVERAL THINGS WHICH DON'T MATCH ANY OTHER SECTION
+ /**
+ * SEVERAL THINGS WHICH DON'T MATCH ANY OTHER SECTION
+ */
function NotConnectedAnymore() {
console.log("%c[CHATSOCKET LOGGER] Not connected to Websocket anymore! Trying to connect again...", "color: red");
InitializeChatServer();
diff --git a/main/app/sprinkles/core/assets/SiteAssets/js/main.js b/main/app/sprinkles/core/assets/SiteAssets/js/main.js
index 4b89a59..b7ebd1f 100644
--- a/main/app/sprinkles/core/assets/SiteAssets/js/main.js
+++ b/main/app/sprinkles/core/assets/SiteAssets/js/main.js
@@ -6,6 +6,7 @@ const NavbarLine = $(".NavbarLine");
const UserSearchBar = $("#UserSearchBar");
const SearchResults = $(".SearchResults");
const SelectReceiver = $(".SelectReceiver");
+const SelectedReceiver = $(".SelectedReceiver");
const FriendList = $(".FriendList");
const alerts = $("#alerts-page");
const ExploreData = $("#ExploreData");
@@ -167,13 +168,14 @@ UserSearchBar.keyup(function () {
/**
* SEVERAL API REQUESTS/REFRESHES
*/
-// CHAT RECEIVERS -- more in chat.js
$(document).ready(function () {
- $.ajax({
+ $.ajax({ // CHAT RECEIVERS -- more in chat.js
url: site.uri.public + "/api/users/u/" + current_username + "/friends",
success: function (receivers) {
receivers.forEach(function (receiversInfo) {
SelectReceiver.append("<div class='ReceiverSelector' data-username='" + receiversInfo.username + "' data-id='" + receiversInfo.id + "'><img class='Avatar' src='" + receiversInfo.avatar + "'/><div class='UsersFullName'>" + receiversInfo.full_name + "</div></div>");
+ SelectedReceiver.prepend("<div style='display: none;' id='ChatMessages' class='ChatMessages' data-username='" + receiversInfo.username + "'></div>");
+
FriendList.append("<img class='Avatar' src='" + receiversInfo.avatar + "'><a class='FriendName' href='" + site.uri.public + "/users/u/" + receiversInfo.username + "'>" + receiversInfo.full_name + "</a><br>");
})
},
@@ -183,7 +185,7 @@ $(document).ready(function () {
alerts.ufAlerts().ufAlerts('fetch');
}
});
- $.ajax({
+ $.ajax({ // INITIALIZE IMAGE FEED
url: site.uri.public + "/api/feed/" + current_username,
success: function (images) {
images.forEach(function (imageInfo) {
diff --git a/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php b/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php
index 90ed22e..6d3a9b6 100644
--- a/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php
+++ b/main/app/sprinkles/core/assets/SiteAssets/php/Chatserver/src/ChatProcessor.php
@@ -215,7 +215,7 @@ class ChatProcessor implements MessageComponentInterface
}
}
- public function onClose(ConnectionInterface $conn) {
+ public function onClose(ConnectionInterface $conn) { // TODO: Prevent crashing because window is closed with ALT F4 and TypingState is sent but no data is available
$this->clients->detach($conn);
foreach ($this->clients as $client) {
if (isset($this->channels[$conn->resourceId])) {
diff --git a/main/app/sprinkles/core/templates/pages/index.html.twig b/main/app/sprinkles/core/templates/pages/index.html.twig
index 5f8fe76..c77fa4d 100644
--- a/main/app/sprinkles/core/templates/pages/index.html.twig
+++ b/main/app/sprinkles/core/templates/pages/index.html.twig
@@ -42,7 +42,7 @@
title="{{ translate("EXPLORE_TAB.USER_SEARCH_PH") }}"
placeholder="{{ translate("EXPLORE_TAB.USER_SEARCH_PH") }}">
<br>
- <div id="alerts-page"></div>
+ {#<div id="alerts-page"></div>#}
<div class="SearchResults">
</div>
<div id="ExploreData">