44 lines
1.5 KiB
PHP
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");
|
|
}
|
|
|
|
}
|