Live chatting now shows up in the chat-history

This commit is contained in:
Lars van Hijfte
2017-01-18 14:34:15 +01:00
parent eb2a343d5f
commit 19f525d168
7 changed files with 132 additions and 47 deletions

View File

@@ -5,7 +5,7 @@
<style> <style>
@import url("styles/chat.css"); @import url("styles/chat.css");
</style> </style>
<script src="js/sendMessage.js"></script> <script src="js/chat.js"></script>
</head> </head>
<body> <body>
<?php <?php

50
website/public/js/chat.js Normal file
View File

@@ -0,0 +1,50 @@
$(document).ready(function() {
loadMessages();
});
function loadMessages() {
$.post(
"loadMessages.php",
$("#lastIDForm").serialize()
).done(function(data) {
if (data && data != "[]") {
console.log(data);
messages = JSON.parse(data);
addMessages(messages);
$("#lastID").val(messages[messages.length - 1].messageID);
}
});
setTimeout(loadMessages, 1000);
}
function sendMessage() {
console.log($("#sendMessageForm").serialize());
$.post(
"sendMessage.php",
$("#sendMessageForm").serialize()
).done(function( data ) {
console.log(data);
});
$("#newContent").val("");
}
function addMessages(messages) {
for(i in messages) {
if (messages[i].origin == 2) {
type = "chat-message-self";
} else {
type = "chat-message-other";
}
$("#chat-history").append('\
<div class="chat-message"> \
<div class="' + type + '">\
' + messages[i].content + '\
</div> \
</div>\
');
}
}

View File

@@ -1,14 +0,0 @@
// $("#sendMessageForm").submit(function(e) {
function sendMessage() {
console.log($("#sendMessageForm").serialize());
$.post(
"sendMessage.php",
$("#sendMessageForm").serialize()
).done(function( data ) {
alert( "Data Loaded: " + data );
});
}
function loadMessages() {
}

View File

@@ -5,7 +5,7 @@ include_once("../queries/private_message.php");
if (isset($_POST["destination"]) && if (isset($_POST["destination"]) &&
isset($_POST["content"])) { isset($_POST["content"])) {
if (sendMessage($db, $_POST["destination"], $_POST["content"])) { if (sendMessage($_POST["destination"], $_POST["content"])) {
echo $_POST["content"] . " is naar " . $_POST["destination"] . " gestuurd"; echo $_POST["content"] . " is naar " . $_POST["destination"] . " gestuurd";
} else { } else {
echo "YOU FAILED!!!"; echo "YOU FAILED!!!";

View File

@@ -1,7 +1,13 @@
<?php <?php
function get100ChatMessagesFromN($n, $user1ID, $user2ID) { include_once("connect.php");
session_start();
function getOldChatMessages($user2ID) {
$db = $GLOBALS["db"]; $db = $GLOBALS["db"];
$user1ID = 2;
$stmt = $db->prepare(" $stmt = $db->prepare("
SELECT SELECT
* *
@@ -13,16 +19,15 @@ function get100ChatMessagesFromN($n, $user1ID, $user2ID) {
`origin` = :user2 AND `origin` = :user2 AND
`destination` = :user1 `destination` = :user1
ORDER BY ORDER BY
`creationdate` DESC `messageID` ASC
LIMIT
:n, 100
"); ");
$stmt->bindParam(":user1", $user1ID); $stmt->bindParam(":user1", $user1ID);
$stmt->bindParam(":user2", $user2ID); $stmt->bindParam(":user2", $user2ID);
$stmt->bindParam(":n", $n);
return $stmt->execute(); $stmt->execute();
return json_encode($stmt->fetchAll());
} }
function sendMessage($destination, $content) { function sendMessage($destination, $content) {
@@ -48,4 +53,33 @@ function sendMessage($destination, $content) {
"destination" => $destination, "destination" => $destination,
"content" => $content "content" => $content
)); ));
}
function getNewChatMessages($lastID, $destination) {
$db = $GLOBALS["db"];
$origin = 2;
$stmt = $db->prepare("
SELECT
*
FROM
`private_message`
WHERE
(
`origin` = :user1 AND
`destination` = :user2 OR
`origin` = :user2 AND
`destination` = :user1) AND
`messageID` > :lastID
ORDER BY
`messageID` ASC
");
$stmt->bindParam(':user1', $origin);
$stmt->bindParam(':user2', $destination);
$stmt->bindParam(':lastID', $lastID);
$stmt->execute();
return json_encode($stmt->fetchAll());
} }

View File

@@ -10,32 +10,43 @@
</a> </a>
</nav> </nav>
<div class="chat-right right"> <div class="chat-right right">
<div class="chat-history platform"> <div id="chat-history" class="chat-history platform">
<div class="chat-message"> <!-- <div class="chat-message">-->
<div class="chat-message-self">Hi!</div> <!-- <div class="chat-message-self">Hi!</div>-->
</div> <!-- </div>-->
<div class="chat-message"> <!-- <div class="chat-message">-->
<div class="chat-message-other">Hi!</div> <!-- <div class="chat-message-other">Hi!</div>-->
</div> <!-- </div>-->
<div class="chat-message"> <!-- <div class="chat-message">-->
<div class="chat-message-self">How it's going?</div> <!-- <div class="chat-message-self">How it's going?</div>-->
</div> <!-- </div>-->
<div class="chat-message"> <!-- <div class="chat-message">-->
<div class="chat-message-self">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div> <!-- <div class="chat-message-self">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>-->
</div> <!-- </div>-->
<div class="chat-message"> <!-- <div class="chat-message">-->
<div class="chat-message-other">Hi!</div> <!-- <div class="chat-message-other">Hi!</div>-->
</div> <!-- </div>-->
<div class="chat-message"> <!-- <div class="chat-message">-->
<div class="chat-message-other">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div> <!-- <div class="chat-message-other">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>-->
</div> <!-- </div>-->
<div class="chat-message"> <!-- <div class="chat-message">-->
<div class="chat-message-other">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div> <!-- <div class="chat-message-other">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>-->
</div> <!-- </div>-->
<div class="chat-message"> <!-- <div class="chat-message">-->
<div class="chat-message-self">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div> <!-- <div class="chat-message-self">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>-->
</div> <!-- </div>-->
</div> </div>
<form id="lastIDForm">
<input type="hidden"
id="lastID"
name="lastID"
value=""
/>
<input type="hidden"
name="destination"
value="666"
/>
</form>
<div class="chat-field"> <div class="chat-field">
<form id="sendMessageForm" action="javascript:sendMessage();"> <form id="sendMessageForm" action="javascript:sendMessage();">
<input type="hidden" <input type="hidden"
@@ -48,7 +59,9 @@
<span> <span>
<input type="text" <input type="text"
name="content" name="content"
id="newContent"
placeholder="Reageer..." placeholder="Reageer..."
autofocus
required required
/> />
</span> </span>

View File

@@ -17,4 +17,6 @@
include_once("../queries/connect.php"); include_once("../queries/connect.php");
session_start();
?> ?>