From e0a0562c3f22eff48fc2d3e43a29bee6416edd5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Tue, 8 Apr 2025 16:33:56 +0400 Subject: [PATCH] fix load more on categories videos --- ajax/load-more-videos.php | 22 +++++++++++++++++++++- index.php | 2 +- js/main.js | 22 +++++++++++++++++++++- 3 files changed, 43 insertions(+), 3 deletions(-) diff --git a/ajax/load-more-videos.php b/ajax/load-more-videos.php index b10dd84..37a045f 100644 --- a/ajax/load-more-videos.php +++ b/ajax/load-more-videos.php @@ -12,14 +12,22 @@ if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQ // Récupérer les paramètres $type = isset($_GET['type']) ? $_GET['type'] : ''; $page = isset($_GET['page']) ? intval($_GET['page']) : 1; +$categoryId = isset($_GET['category']) ? intval($_GET['category']) : 0; // Vérifier que le type est valide -if (!in_array($type, ['recent', 'trending', 'independence'])) { +if (!in_array($type, ['recent', 'trending', 'independence', 'category'])) { http_response_code(400); // Requête incorrecte echo json_encode(['error' => 'Type de vidéos non valide']); exit; } +// Vérifier que la catégorie est fournie si le type est 'category' +if ($type === 'category' && $categoryId <= 0) { + http_response_code(400); // Requête incorrecte + echo json_encode(['error' => 'ID de catégorie manquant ou invalide']); + exit; +} + // Récupérer les vidéos en fonction du type $videos = []; $offset = $page * LOAD_MORE_COUNT; @@ -57,6 +65,18 @@ switch ($type) { ]); $videos = formatVideosData($data['data'] ?? []); break; + + case 'category': + // Récupérer les vidéos de la catégorie + $data = callPeerTubeApi('videos', [ + 'categoryOneOf' => $categoryId, + 'count' => LOAD_MORE_COUNT, + 'start' => $offset, + 'sort' => '-publishedAt', // Les plus récentes d'abord + 'isLocal' => true + ]); + $videos = formatVideosData($data['data'] ?? []); + break; } // Préparer la réponse HTML diff --git a/index.php b/index.php index e372342..3c3bb1f 100644 --- a/index.php +++ b/index.php @@ -275,7 +275,7 @@ if (!empty($category['videos'])): ?> -
+