prepare("SELECT audio_file FROM episodes WHERE id = ?"); $stmt->execute([$id]); $file = $stmt->fetchColumn(); if ($file) { $filePath = "../assets/uploads/audio/" . $file; if (file_exists($filePath)) unlink($filePath); $stmt = $pdo->prepare("DELETE FROM episodes WHERE id = ?"); $stmt->execute([$id]); logActivity($_SESSION['admin_id'], 'EPISODE_DELETE', "Deleted episode ID: $id (File: $file)"); } header("Location: dashboard.php"); exit; } // Reset stats logic if (isset($_POST['reset_stats'])) { requireRole('admin'); $pdo->exec("TRUNCATE TABLE plays"); logActivity($_SESSION['admin_id'], 'ANALYTICS_RESET', "Reset all play statistics."); header("Location: dashboard.php?reset=success"); exit; } $sql = "SELECT e.*, COUNT(p.id) as play_count FROM episodes e LEFT JOIN plays p ON e.id = p.episode_id GROUP BY e.id ORDER BY release_date DESC"; $stmt = $pdo->query($sql); $episodes = $stmt->fetchAll(); // Calculate summary stats $totalPlays = $pdo->query("SELECT COUNT(*) FROM plays")->fetchColumn(); $totalDurationRaw = $pdo->query("SELECT SUM(duration) FROM plays")->fetchColumn(); $totalDurationMin = floor($totalDurationRaw / 60); $mostPopular = $pdo->query(" SELECT e.title, COUNT(p.id) as play_count FROM episodes e JOIN plays p ON e.id = p.episode_id GROUP BY e.id ORDER BY play_count DESC LIMIT 1 ")->fetch(); ?>