diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2024-10-25 06:15:21 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2024-10-25 06:15:21 +0000 |
| commit | 2ed3db16c437face7935f151d3859de3254eba3d (patch) | |
| tree | 66ea56b308ff57187769028060d1a1ad41db0e28 /lib/classes/exportdocument/ExportPDF.php | |
| parent | c05865d73955dd94d6866563b79f0fb463dcab0f (diff) | |
exportpdf no longer breaks when an embedded stud.ip file does not exist, fixes #4765
Closes #4765
Merge request studip/studip!3552
Diffstat (limited to 'lib/classes/exportdocument/ExportPDF.php')
| -rw-r--r-- | lib/classes/exportdocument/ExportPDF.php | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/lib/classes/exportdocument/ExportPDF.php b/lib/classes/exportdocument/ExportPDF.php index f676c45..1b2ec77 100644 --- a/lib/classes/exportdocument/ExportPDF.php +++ b/lib/classes/exportdocument/ExportPDF.php @@ -319,21 +319,19 @@ class ExportPDF extends TCPDF implements ExportDocument } catch (Exception $e) { $convurl = ''; } - } else if (mb_stripos($url, 'dispatch.php/document/download') !== false) { - if (preg_match('#([a-f0-9]{32})#', $url, $matches)) { - $file_ref = FileRef::find($matches[1]); - $folder = $file_ref->folder->getTypedFolder(); - if($folder->isFileDownloadable($file_ref->id, $GLOBALS['user']->id)) { - $convurl = $file_ref->file->getPath(); - } - } - } else if (mb_stripos($url, 'download') !== false - || mb_stripos($url, 'sendfile.php') !== false) { + } elseif ( + mb_stripos($url, 'dispatch.php/document/download') !== false + || mb_stripos($url, 'download') !== false + || mb_stripos($url, 'sendfile.php') !== false + ) { //// get file id if (preg_match('#([a-f0-9]{32})#', $url, $matches)) { $file_ref = FileRef::find($matches[1]); - $folder = $file_ref->folder->getTypedFolder(); - if($folder->isFileDownloadable($file_ref->id, $GLOBALS['user']->id)) { + $folder = isset($file_ref->folder) ? $file_ref->folder->getTypedFolder() : null; + if ( + isset($folder) + && $folder->isFileDownloadable($file_ref->id, $GLOBALS['user']->id) + ) { $convurl = $file_ref->file->getPath(); } else { $convurl = Assets::image_path('messagebox/exception.png'); |
