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
{
$document = new \DOMDocument();
$old_libxml_error = libxml_use_internal_errors(true);
$document->loadHTML($payload['text']);
libxml_use_internal_errors($old_libxml_error);
$imageElements = $document->getElementsByTagName('img');
foreach ($imageElements as $element) {
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'])) {
$find = explode('sendfile.php', $src)[0];
$payload['text'] = str_replace($find, $GLOBALS['ABSOLUTE_URI_STUDIP'], $payload['text']);
if (!empty($payload['text'])) {
$document->loadHTML($payload['text']);
libxml_use_internal_errors($old_libxml_error);
$imageElements = $document->getElementsByTagName('img');
foreach ($imageElements as $element) {
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'])) {
$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']));
......
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