From a0f0c6d5229b2405b65bff971f58b945731fb961 Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Fri, 9 Feb 2024 11:49:00 +0000
Subject: [PATCH] fixes #3735

Closes #3735

Merge request studip/studip!2596
---
 lib/classes/exportdocument/ExportPDF.class.php | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/classes/exportdocument/ExportPDF.class.php b/lib/classes/exportdocument/ExportPDF.class.php
index 5fe1c99e22f..8645f5b0395 100644
--- a/lib/classes/exportdocument/ExportPDF.class.php
+++ b/lib/classes/exportdocument/ExportPDF.class.php
@@ -117,7 +117,7 @@ class ExportPDF extends TCPDF implements ExportDocument
                 $headers = get_headers($url, true, get_default_http_stream_context($url));
                 list(, $status) = explode(' ', $headers[0]);
 
-                $url = $headers['Location'] ?: $headers['location'] ?: $url;
+                $url = $headers['Location'] ?? $headers['location'] ?? $url;
             } while (in_array($status, [300, 301, 302, 303, 305, 307]));
 
             $status = $status ?: 404;
@@ -299,7 +299,10 @@ class ExportPDF extends TCPDF implements ExportDocument
     {
         $convurl = $url;
         $url_elements = @parse_url($url);
-        $url = $url_elements['path'].'?'.$url_elements['query'];
+        $url = $url_elements['path'];
+        if (isset($url_elements['query'])) {
+            $url .= "?{$url_elements['query']}";
+        }
         if (mb_strpos(implode('#', $this->domains), $url_elements['host']) !== false) {
             if (mb_strpos($url, 'dispatch.php/media_proxy?url=') !== false) {
                 $targeturl = urldecode(mb_substr($url, 4));
-- 
GitLab