From: Dan Brown Date: Sun, 3 Dec 2023 18:57:07 +0000 (+0000) Subject: Merge branch 'v23-10' into development X-Git-Tag: v23.12~1^2~18 X-Git-Url: http://source.bookstackapp.com/bookstack/commitdiff_plain/596f7314cdaa6cf6bb1b5ba582523ba3d3eef7e1 Merge branch 'v23-10' into development --- 596f7314cdaa6cf6bb1b5ba582523ba3d3eef7e1 diff --cc app/Entities/Tools/PageContent.php index 99070ae89,1bde7b6ce..552427f46 --- a/app/Entities/Tools/PageContent.php +++ b/app/Entities/Tools/PageContent.php @@@ -9,9 -9,10 +9,11 @@@ use BookStack\Facades\Theme use BookStack\Theming\ThemeEvents; use BookStack\Uploads\ImageRepo; use BookStack\Uploads\ImageService; + use BookStack\Users\Models\User; use BookStack\Util\HtmlContentFilter; +use BookStack\Util\HtmlDocument; + use BookStack\Util\WebSafeMimeSniffer; -use DOMDocument; +use Closure; use DOMElement; use DOMNode; use DOMNodeList; @@@ -56,13 -58,17 +58,13 @@@ class PageConten return $htmlText; } - $doc = $this->loadDocumentFromHtml($htmlText); - $container = $doc->documentElement; - $body = $container->childNodes->item(0); - $childNodes = $body->childNodes; - $xPath = new DOMXPath($doc); + $doc = new HtmlDocument($htmlText); // Get all img elements with image data blobs - $imageNodes = $xPath->query('//img[contains(@src, \'data:image\')]'); + $imageNodes = $doc->queryXPath('//img[contains(@src, \'data:image\')]'); foreach ($imageNodes as $imageNode) { $imageSrc = $imageNode->getAttribute('src'); - $newUrl = $this->base64ImageUriToUploadedImageUrl($imageSrc); + $newUrl = $this->base64ImageUriToUploadedImageUrl($imageSrc, $updater); $imageNode->setAttribute('src', $newUrl); }