Skip to content
Snippets Groups Projects
get-chat.php 2.08 KiB
Newer Older
<?php
// get-chat.php
session_start();
include_once "key/key.php"; // Include the configuration file
Suriya Ravichandran's avatar
Suriya Ravichandran committed

if (isset($_SESSION['unique_id'])) {
    include_once "config.php";
    $outgoing_id = mysqli_real_escape_string($conn, $_POST['outgoing_id']);
    $incoming_id = mysqli_real_escape_string($conn, $_POST['incoming_id']);
    $output = "";
Suriya Ravichandran's avatar
Suriya Ravichandran committed

    $sql = "SELECT * FROM messages
    LEFT JOIN users ON users.unique_id = messages.outgoing_msg_id 
    WHERE (outgoing_msg_id = {$outgoing_id} AND incoming_msg_id = {$incoming_id})
    OR (outgoing_msg_id = {$incoming_id} AND incoming_msg_id = {$outgoing_id}) ORDER BY msg_id ";//ASC";

    $query = mysqli_query($conn, $sql);
    if (mysqli_num_rows($query) > 0) {
        while ($row = mysqli_fetch_assoc($query)) {
            // Decrypt the message before displaying it
            $decrypted_message = decryptMessage($row['msg'], $encryptionKey);
            
            if ($row['outgoing_msg_id'] === $outgoing_id) {
                $output .= '<div class="chat-outgoing">
Suriya Ravichandran's avatar
Suriya Ravichandran committed
                                <div class="details">
                                    <p>' . $decrypted_message . '</p>
                                </div>
                            </div>';
            }
             else {
                // he is a message receiver
                $output .= '<div class="chat-incoming">
                               <img src="php/images/' . $row['img'] . '" alt="">
Suriya Ravichandran's avatar
Suriya Ravichandran committed
                               <div class="details">
                                   <p>' . $decrypted_message . '</p>
Suriya Ravichandran's avatar
Suriya Ravichandran committed
                               </div>
                           </div>';
Suriya Ravichandran's avatar
Suriya Ravichandran committed
            }
        }
        echo $output;
Suriya Ravichandran's avatar
Suriya Ravichandran committed
    }
} else {
    header("Location: ../login.php"); // Fix the header function call
}

// Function to decrypt a message using OpenSSL
function decryptMessage($encrypted_message, $encryptionKey)
{
    // Split IV and encrypted message
    $data = base64_decode($encrypted_message);
    $iv = substr($data, 0, 16);
    $encrypted_message = substr($data, 16);

    return openssl_decrypt($encrypted_message, 'aes-256-cbc', $encryptionKey, 0, $iv);
}
?>