0) { try { // Check if this is a new session to log as "Listener Started" $checkStmt = $pdo->prepare("SELECT COUNT(*) FROM plays WHERE session_id = ?"); $checkStmt->execute([$session_id]); $isNewSession = ($checkStmt->fetchColumn() == 0); $sql = "INSERT INTO plays (episode_id, duration, session_id) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE duration = duration + VALUES(duration)"; $stmt = $pdo->prepare($sql); $stmt->execute([$episode_id, $duration, $session_id]); if ($isNewSession && $session_id) { $titleStmt = $pdo->prepare("SELECT title FROM episodes WHERE id = ?"); $titleStmt->execute([$episode_id]); $title = $titleStmt->fetchColumn(); logActivity(null, 'LISTENER_STARTED', "Episode: $title (Session: $session_id)"); } file_put_contents('debug.log', date('[Y-m-d H:i:s] ') . "SUCCESS: Logged play for episode $episode_id ($duration s, session: $session_id)" . PHP_EOL, FILE_APPEND); echo json_encode(['status' => 'success']); } catch (PDOException $e) { file_put_contents('debug.log', date('[Y-m-d H:i:s] ') . "DB ERROR: " . $e->getMessage() . PHP_EOL, FILE_APPEND); echo json_encode(['status' => 'error', 'message' => 'Database error']); } } else { file_put_contents('debug.log', date('[Y-m-d H:i:s] ') . "INVALID DATA: ID=$episode_id, DUR=$duration" . PHP_EOL, FILE_APPEND); echo json_encode(['status' => 'error', 'message' => 'Invalid episode ID']); } } ?>