init Abgabe

This commit is contained in:
WummerMIB
2025-12-04 23:37:05 +01:00
parent dda70db0be
commit 4db823c14a
534 changed files with 72693 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
<?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");
}
}
+63
View File
@@ -0,0 +1,63 @@
<?php
class Login {
public function index() {
$errors = [];
if (isset($_POST['submit'])) {
// LoginModel erstellen
$loginModel = Factory::createLoginModel();
// Werte aus POST setzen
$loginModel->setEmail($_POST['email']);
$loginModel->setPasswort($_POST['passwort']);
// Login versuchen
if ($loginModel->login()) {
// Erfolgreicher Login → Weiterleitung zur Chat-Seite
header("Location: " . PROJEKT_URL . "/chat");
exit;
} else {
// Login fehlgeschlagen → Fehler abholen
$errors = $loginModel->getErrors();
}
}
// View einbinden
require_once(PROJEKT_VIEW_DIR . "/login/index.php");
}
public function logout() {
// Session leeren
$_SESSION = [];
// Session-Cookie löschen
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params['path'], $params['domain'],
$params['secure'], $params['httponly']
);
}
// Session zerstören
session_destroy();
// Zur Login-Seite weiterleiten
header("Location: " . PROJEKT_URL . "/Login");
exit;
}
public function registrieren() {
if (isset($_POST['submit'])) {
$userObj = Factory::createBenutzerModel();
$userObj->setValues($_POST);
$userObj->insert();
}
require_once(PROJEKT_VIEW_DIR . "/login/registrieren.php");
}
}