Skip to content
Snippets Groups Projects
Commit a03e83d4 authored by Ron Lucke's avatar Ron Lucke Committed by David Siegfried
Browse files

DOMDocument::loadHTML(): Empty string supplied as input

Closes #3194

Merge request studip/studip!3303
parent a0f3af1a
No related branches found
No related tags found
No related merge requests found
...@@ -45,17 +45,19 @@ class Text extends BlockType ...@@ -45,17 +45,19 @@ class Text extends BlockType
{ {
$document = new \DOMDocument(); $document = new \DOMDocument();
$old_libxml_error = libxml_use_internal_errors(true); $old_libxml_error = libxml_use_internal_errors(true);
$document->loadHTML($payload['text']); if (!empty($payload['text'])) {
libxml_use_internal_errors($old_libxml_error); $document->loadHTML($payload['text']);
$imageElements = $document->getElementsByTagName('img'); libxml_use_internal_errors($old_libxml_error);
foreach ($imageElements as $element) { $imageElements = $document->getElementsByTagName('img');
if (!$element instanceof \DOMElement || !$element->hasAttribute('src')) { foreach ($imageElements as $element) {
continue; if (!$element instanceof \DOMElement || !$element->hasAttribute('src')) {
} continue;
$src = $element->getAttribute('src'); }
if (str_contains($src, 'sendfile.php') && !str_contains($src, $GLOBALS['ABSOLUTE_URI_STUDIP'])) { $src = $element->getAttribute('src');
$find = explode('sendfile.php', $src)[0]; if (str_contains($src, 'sendfile.php') && !str_contains($src, $GLOBALS['ABSOLUTE_URI_STUDIP'])) {
$payload['text'] = str_replace($find, $GLOBALS['ABSOLUTE_URI_STUDIP'], $payload['text']); $find = explode('sendfile.php', $src)[0];
$payload['text'] = str_replace($find, $GLOBALS['ABSOLUTE_URI_STUDIP'], $payload['text']);
}
} }
} }
$payload['text'] = \Studip\Markup::purifyHtml(\Studip\Markup::markAsHtml($payload['text'])); $payload['text'] = \Studip\Markup::purifyHtml(\Studip\Markup::markAsHtml($payload['text']));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment