getLoginUrl()); exit; } // ======================= // Callback nach erfolgreichem Login // ======================= if (isset($_GET['code'])) { $user = $graph->handleCallback($_GET['code']); $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['displayName']; $_SESSION['user_email'] = $user['email']; header('Location: test.php'); exit; } // ======================= // Logout // ======================= if (isset($_GET['logout'])) { session_destroy(); header('Location: test.php'); exit; } // ======================= // Wenn eingeloggt → Access Token automatisch prüfen/erneuern // ======================= if (isset($_SESSION['user_id'])) { try { // Automatische Prüfung + Refresh, falls nötig $accessToken = $graph->getValidAccessToken($_SESSION['user_id']); echo "
Email: {$_SESSION['user_email']}
"; echo ''; echo 'Zugriffstoken:' . htmlspecialchars($accessToken) . '
Neuer Termin: "; echo json_encode($newEvent); echo ""; // Termin löschen (Event-ID aus $events oder $newEvent) $deleted = $graph->deleteCalendarEvent($newEvent['id'] ?? ''); echo $deleted ? "Termin gelöscht" : "Löschen fehlgeschlagen"; } catch (Exception $e) { echo "
Fehler: {$e->getMessage()}
"; echo ''; } } else { // Wenn kein Benutzer eingeloggt ist → Login-Link anzeigen echo 'Mit Microsoft anmelden'; } ?>