performLogin($username, $password, $code2fa, $remember); } } $loginController = new PwaLoginController(); $username = $_POST['Username'] ?? ''; $password = $_POST['Password'] ?? ''; $twoFactorCode = isset($_POST['TwofactorCode']) && is_numeric($_POST['TwofactorCode']) ? (int)$_POST['TwofactorCode'] : 'unset'; $remember = isset($_POST['Remember']) && $_POST['Remember'] === 'true'; $result = $loginController->apiLogin($username, $password, $twoFactorCode, $remember); $response = ['status' => 'error', 'message' => 'Anmeldung fehlgeschlagen.']; if ($result === true) { $response = ['status' => 'success']; } elseif ($result === '2fa') { $response = ['status' => '2fa_required']; } elseif ($result === 'false2fa') { $response = ['status' => 'invalid_2fa', 'message' => 'Verifizierungscode falsch oder abgelaufen.']; } else { $response['message'] = 'Benutzername oder Passwort ist falsch.'; } echo json_encode($response); exit; // Stop execution to prevent rendering the full HTML page. } // --- HTML & Vue App Rendering --- ?> Workorders