$videoData['uuid'], 'title' => $videoData['name'], 'url' => PEERTUBE_URL . '/videos/embed/' . $videoData['uuid'], 'description' => $videoData['description'] ?? '', 'channel' => $videoData['channel']['displayName'], 'channelId' => $videoData['channel']['id'], 'channelHandle' => $videoData['channel']['name'], 'views' => $videoData['views'], 'likes' => $videoData['likes'], 'date' => $videoData['publishedAt'], 'tags' => $videoData['tags'] ?? [] ]; // Récupérer l'image de la chaîne $channelAvatar = 'img/default-avatar.jpg'; if (isset($videoData['channel']['avatar']) && isset($videoData['channel']['avatar']['path'])) { $channelAvatar = PEERTUBE_URL . $videoData['channel']['avatar']['path']; } // Récupérer les vidéos suggérées (de la même chaîne) $channelVideos = callPeerTubeApi('video-channels/' . $video['channelHandle'] . '/videos', [ 'count' => 5, 'isLocal' => true ]); $suggestedVideos = []; if (!empty($channelVideos['data'])) { foreach ($channelVideos['data'] as $suggVid) { // Ne pas inclure la vidéo courante dans les suggestions if ($suggVid['uuid'] !== $videoId) { $suggestedVideos[] = [ 'id' => $suggVid['uuid'], 'title' => $suggVid['name'], 'thumbnail' => PEERTUBE_URL . $suggVid['thumbnailPath'], 'views' => $suggVid['views'], 'date' => $suggVid['publishedAt'], 'duration' => $suggVid['duration'], 'channel' => $suggVid['channel']['displayName'] ]; } } } // Si pas assez de vidéos de la même chaîne, ajouter des vidéos tendances if (count($suggestedVideos) < 5) { $trendingVideos = getTrendingVideos(10); foreach ($trendingVideos as $trendVid) { if ($trendVid['id'] !== $videoId && count($suggestedVideos) < 5) { // Vérifier que cette vidéo n'est pas déjà dans les suggestions $found = false; foreach ($suggestedVideos as $sv) { if ($sv['id'] === $trendVid['id']) { $found = true; break; } } if (!$found) { $suggestedVideos[] = $trendVid; } } } } } ?>
Commentaires
Les commentaires sont en cours de développement.