From 485392e772f64ca488c56e483412b1cddff2b0a8 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 4 Sep 2024 08:48:10 +0200 Subject: [PATCH] Optimisation de l'export --- core/module/course/course.php | 66 ++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 25 deletions(-) diff --git a/core/module/course/course.php b/core/module/course/course.php index da0868b..833f9ab 100644 --- a/core/module/course/course.php +++ b/core/module/course/course.php @@ -1749,7 +1749,7 @@ class course extends common ]); } } - + // Soumission du formulaire if ($this->isPost()) { $datas = ''; @@ -1759,21 +1759,25 @@ class course extends common if ($this->getInput('courseManageExport' . $pageId, helper::FILTER_BOOLEAN) === true) { $pageContent = $this->getPage($pageId, $courseId); - // Extraction des URLs des ressources (images, fichiers, etc.) - preg_match_all('/]+src=["\'](.*?)["\']/i', $pageContent, $imgMatches); - preg_match_all('/]+href=["\'](.*?)["\']/i', $pageContent, $linkMatches); + // Extraction des URLs des ressources (images, vidéos, fichiers, etc.) + preg_match_all('/]+src=["\'](.*?)["\']/i', $pageContent, $imgMatches); // Images + preg_match_all('/]+href=["\'](.*?)["\']/i', $pageContent, $linkMatches); // Liens + preg_match_all('/]+src=["\'](.*?)["\']/i', $pageContent, $videoMatches); // Vidéos directes + preg_match_all('/]+src=["\'](.*?)["\']/i', $pageContent, $sourceMatches); // Vidéos dans balises - if (!empty($imgMatches[1])) { - $resources = array_merge($resources, $imgMatches[1]); + // Traitement des images + $this->processResources($pageContent, '/]+src=["\'](.*?)["\']/i', $resources); - // Remplacement des chemins pour les images dans $pageContent - foreach ($imgMatches[1] as $resourceUrl) { - $resourcePath = parse_url($resourceUrl, PHP_URL_PATH); - $resourceFile = basename($resourcePath); - $pageContent = str_replace($resourceUrl, $resourceFile, $pageContent); - } - } + // Traitement des vidéos directes via