summaryrefslogtreecommitdiffstats
path: root/includes/chats.php
diff options
context:
space:
mode:
authorBlueRaja <BlueRaja.admin@gmail.com>2015-05-07 23:14:47 -0500
committerBlueRaja <BlueRaja.admin@gmail.com>2015-05-07 23:14:47 -0500
commit3dc3919ce1b5336861979cde56884842615c967b (patch)
treef0a2418290cecd15f20c834bb071ffa9f3694b09 /includes/chats.php
parent29e872fbc6c552ef02208fe9fa5416b69773aa38 (diff)
parentc517b645c8723b5f4d20cbb91cbc4b9f45579cbb (diff)
downloadpathery-3dc3919ce1b5336861979cde56884842615c967b.tar.xz
Merge branch 'master' of git.raylu.net:pathery
Diffstat (limited to 'includes/chats.php')
-rw-r--r--includes/chats.php44
1 files changed, 30 insertions, 14 deletions
diff --git a/includes/chats.php b/includes/chats.php
index 47ecd39..92bd90e 100644
--- a/includes/chats.php
+++ b/includes/chats.php
@@ -34,27 +34,27 @@ function muteUser($userID, $numMinutes) {
-function addChat($userID, $message) {
+function addChat($userID, $message, $channel = 1) {
global $mysqli;
if ($message == '') return;
$stmt = $mysqli->prepare("INSERT INTO `chat`
- (`userID`, `message`)
- VALUES (?, ?)");
- $stmt->bind_param('is', $userID, $message);
+ (`userID`, `message`, `channel`)
+ VALUES (?, ?, ?)");
+ $stmt->bind_param('isi', $userID, $message, $channel);
$stmt->execute();
$ID = $stmt->insert_id;
$stmt->close();
//Turnicate messages.
- $deleteFromID = $ID - CHAT_ROWS_TO_KEEP;
- $mysqli->query("DELETE FROM `chat` WHERE `ID` < $deleteFromID");
+ //$deleteFromID = $ID - CHAT_ROWS_TO_KEEP;
+ //$mysqli->query("DELETE FROM `chat` WHERE `ID` < $deleteFromID");
return $ID;
}
-function getChat($startID = 0) {
+function getChat($startID = 0, $channel = 1) {
global $mysqli;
if (!is_numeric($startID)) return false;
@@ -74,19 +74,22 @@ function getChat($startID = 0) {
LEFT JOIN `users`
ON chat.userID = users.ID
WHERE chat.ID > '$startID'
- ORDER BY chat.dateSent ASC, chat.ID ASC
- ")) {
- $array = array();
+ AND chat.channel = '$channel'
+ ORDER BY chat.dateSent DESC, chat.ID DESC
+ LIMIT " . CHAT_ROWS_TO_KEEP)
+ ) {
+ $chatData = array();
if ($res->num_rows == 0) {
$res->close();
return false;
}
while ($response = $res->fetch_assoc()) {
- $array[] = $response;
+ $chatData[] = $response;
}
$res->close();
- if (count($array) < 1) return false;
- return $array;
+ if (count($chatData) < 1) return false;
+ $chatData = array_reverse($chatData);
+ return $chatData;
} else {
printf("DError: %s\n", $mysqli->error);
return false;
@@ -108,6 +111,7 @@ function enterChannel($userID, $channel = 1) {
$stmt->bind_param('ii', $userID, $channel);
$stmt->execute();
$stmt->close();
+ cleanupChannel();
return;
}
@@ -122,6 +126,14 @@ function exitChannel($userID, $channel = 1) {
return;
}
+//User leaves the channel
+function cleanupChannel($channel = 1) {
+ global $mysqli;
+
+ $mysqli->query("DELETE FROM `chatUsers` WHERE TIME_TO_SEC(TIMEDIFF(NOW(), chatUsers.dateLastActive)) > 800");
+ return;
+}
+
function channelListUpdated($timeStamp) {
global $mysqli;
@@ -150,7 +162,9 @@ function getChannelList($channel = 1) {
chatUsers.userID as 'ID',
chatUsers.dateEntered,
- TIME_TO_SEC(TIMEDIFF(NOW(), chatUsers.dateLastActive)) as dateLastActive,
+ TIME_TO_SEC(TIMEDIFF(NOW(), chatUsers.dateLastActive)) as secFromLastActive,
+ TIME_TO_SEC(TIMEDIFF(NOW(), chatUsers.dateEntered)) as secFromEntered,
+ TIME_TO_SEC(TIMEDIFF(NOW(), users.dateChatGaggedUntil)) as secSinceGagged,
chatUsers.isAdmin,
chatUsers.isMod,
@@ -160,9 +174,11 @@ function getChannelList($channel = 1) {
users.wallColor,
users.wallEmblem,
users.wallOrientation
+
FROM `chatUsers`
LEFT JOIN `users`
ON chatUsers.userID = users.ID
+ WHERE TIME_TO_SEC(TIMEDIFF(NOW(), chatUsers.dateLastActive)) < 300
ORDER BY chatUsers.isMod DESC, chatUsers.dateEntered ASC
");