Files
12IT_Lernfeld12_2026/Abgabe_Mohr/controller/Chat.php
T
2025-12-04 23:37:05 +01:00

44 lines
1.5 KiB
PHP

<?php
class Chat {
public function index() {
if (!isset($_SESSION['user_id'])) {
header("Location: " . PROJEKT_URL . "/Login");
exit;
}
$userModel = Factory::createBenutzerModel();
$currentUser = $userModel->getUserById($_SESSION['user_id']);
$allUsers = $userModel->getAllUsers();
$selectedUser = null;
$messages = [];
// Prüfen, ob ein Kontakt ausgewählt wurde
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['contact_id'])) {
$contactId = (int)$_POST['contact_id'];
$selectedUser = $userModel->getUserById($contactId);
$chatModel = Factory::createChatModel();
$messages = $chatModel->getMessagesBetweenUsers($currentUser['id'], $selectedUser['id']);
}
// Prüfen, ob eine Nachricht gesendet wird
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['message']) && isset($_POST['receiver_id'])) {
$chatModel = Factory::createChatModel();
$chatModel->senderID = $currentUser['id'];
$chatModel->empfaengerID = (int)$_POST['receiver_id'];
$chatModel->nachricht = trim($_POST['message']);
$chatModel->insert();
// Nachricht nach dem Senden erneut laden
$selectedUser = $userModel->getUserById($_POST['receiver_id']);
$messages = $chatModel->getMessagesBetweenUsers($currentUser['id'], $selectedUser['id']);
}
require_once(PROJEKT_VIEW_DIR . "/chat/index.php");
}
}