setClientId($config['client_id']); $client->setClientSecret($config['client_secret']); $client->setRedirectUri($config['redirect_uri']); if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $token = $client->getAccessToken(); if (!isset($_SESSION['reference_id']) || $_SESSION['role'] !== 'praticien') { die("Utilisateur non connecté."); } $praticien_id = $_SESSION['reference_id']; // Vérifier si un token existe déjà $stmt = $pdo->prepare("SELECT id FROM google_tokens WHERE praticien_id = ?"); $stmt->execute([$praticien_id]); $data = [ 'access_token' => $token['access_token'], 'refresh_token' => $token['refresh_token'] ?? '', 'expires_at' => time() + $token['expires_in'] ]; if ($stmt->fetch()) { $stmt = $pdo->prepare("UPDATE google_tokens SET access_token = ?, refresh_token = ?, expires_at = ? WHERE praticien_id = ?"); } else { $stmt = $pdo->prepare("INSERT INTO google_tokens (access_token, refresh_token, expires_at, praticien_id) VALUES (?, ?, ?, ?)"); } $stmt->execute([$data['access_token'], $data['refresh_token'], $data['expires_at'], $praticien_id]); echo <<
✅

Подключение к Google Календарю выполнено успешно

Вы можете вернуться в календарь или запустить синхронизацию прямо сейчас.

HTML; } else { echo << HTML; } ?>