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

51 lines
1.3 KiB
PHP

<?php
class Chat
{
public function index()
{
if (!isset($_SESSION['user_id'])) {
header("Location: /projekte/htdocs/login.php");
exit;
}
$currentUserId = $_SESSION['user_id'];
$chatModel = Factory::createChatModel();
$userModel = Factory::createBenutzerModel();
$allUsers = $userModel->getAllUsersExcept($currentUserId);
$currentUser = $userModel->getUserById( $currentUserId);
$unreadCounts = $chatModel->getUnreadCounts($currentUserId);
// Unread in Kontakte einfügen
foreach ($allUsers as &$user) {
$user['unread'] = $unreadCounts[$user['id']] ?? 0;
}
// View laden
require __DIR__ . "/../view/chat/index.php";
}
// Nachrichten zwischen zwei Usern per AJAX laden
public function loadMessages()
{
if (!isset($_SESSION['user_id'])) exit;
$current = $_SESSION['user_id'];
$other = (int)$_POST['user_id'];
$chatModel = new ChatModel();
$messages = $chatModel->getMessagesBetweenUsers($current, $other);
// Direkt lesen markieren
$chatModel->markAsRead($other, $current);
header('Content-Type: application/json');
echo json_encode($messages);
}
}