diff --git a/index.php b/index.php new file mode 100644 index 0000000..df3e4a5 --- /dev/null +++ b/index.php @@ -0,0 +1,188 @@ + 0) ? $messages[count($messages) - 1]["id"] + 1 : 0; + $messages[] = [ "id" => $next_id, "time" => time(), "name" => $_POST["name"], "content" => $_POST["content"] ]; + + // Remove old messages if necessary to keep the buffer size + if (count($messages) > $messages_buffer_size) + $messages = array_slice($messages, count($messages) - $messages_buffer_size); + + // Rewrite and unlock the message file + ftruncate($buffer, 0); + rewind($buffer); + fwrite($buffer, json_encode($messages)); + flock($buffer, LOCK_UN); + fclose($buffer); + + // Optional: Append message to log file (file appends are atomic) + if ($enable_chatlog) + file_put_contents("chatlog.txt", date("Y-m-d H:i:s") . "\t" . strtr($_POST["name"], "\t", " ") . "\t" . strtr($_POST["content"], "\t", " ") . "\n", FILE_APPEND); + + exit(); +} + +?> + + + + +