init Abgabe
This commit is contained in:
@@ -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");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user