51 lines
1.4 KiB
PHP
51 lines
1.4 KiB
PHP
<?php
|
|
|
|
class ChatModel {
|
|
|
|
public $senderID;
|
|
public $empfaengerID;
|
|
public $nachricht;
|
|
|
|
// Nachricht in DB speichern
|
|
public function insert() {
|
|
$db = Database::getInstance()->getConnection();
|
|
|
|
$stmt = $db->prepare("
|
|
INSERT INTO chat (user_sender, user_empfaenger, nachricht)
|
|
VALUES (?, ?, ?)
|
|
");
|
|
if (!$stmt) {
|
|
throw new Exception("Fehler beim Vorbereiten der DB-Anfrage: " . $db->error);
|
|
}
|
|
|
|
$stmt->bind_param("iis", $this->senderID, $this->empfaengerID, $this->nachricht);
|
|
if (!$stmt->execute()) {
|
|
throw new Exception("Fehler beim Einfügen in die DB: " . $stmt->error);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
// Nachrichten zwischen zwei Usern abrufen
|
|
public function getMessagesBetweenUsers($user1, $user2) {
|
|
$db = Database::getInstance()->getConnection();
|
|
|
|
$stmt = $db->prepare("
|
|
SELECT * FROM chat
|
|
WHERE (user_sender = ? AND user_empfaenger = ?)
|
|
OR (user_sender = ? AND user_empfaenger = ?)
|
|
ORDER BY id ASC
|
|
");
|
|
|
|
if (!$stmt) {
|
|
throw new Exception("Fehler beim Vorbereiten der DB-Abfrage: " . $db->error);
|
|
}
|
|
|
|
$stmt->bind_param("iiii", $user1, $user2, $user2, $user1);
|
|
$stmt->execute();
|
|
$result = $stmt->get_result();
|
|
|
|
return $result->fetch_all(MYSQLI_ASSOC);
|
|
}
|
|
}
|