Skip to content
Snippets Groups Projects
Commit 037e7c8a authored by Ron Lucke's avatar Ron Lucke
Browse files

fix #2699

Closes #2699

Merge request studip/studip!2074
parent e00a7ed5
No related branches found
No related tags found
No related merge requests found
...@@ -46,6 +46,21 @@ class Text extends BlockType ...@@ -46,6 +46,21 @@ class Text extends BlockType
public function setPayload($payload): void public function setPayload($payload): void
{ {
$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']);
}
}
$payload['text'] = \Studip\Markup::purifyHtml(\Studip\Markup::markAsHtml($payload['text'])); $payload['text'] = \Studip\Markup::purifyHtml(\Studip\Markup::markAsHtml($payload['text']));
parent::setPayload($payload); parent::setPayload($payload);
......
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