diff options
author | Benjamin Brahmer <info@b-brahmer.de> | 2023-01-11 16:43:27 +0100 |
---|---|---|
committer | Benjamin Brahmer <info@b-brahmer.de> | 2023-01-12 18:27:32 +0100 |
commit | 502e4b923e3805e7b2f172255e24a51a52a15c96 (patch) | |
tree | bfd33baafd226a94e509794182a26b198067f748 /lib/Fetcher | |
parent | 41264586eadac4c26c6e2644a2c0b06023c4d6df (diff) |
don't process link if it's null
don't process body of feed if it's null
Co-authored-by: Sean Molenaar <SMillerDev@users.noreply.github.com>
Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
Diffstat (limited to 'lib/Fetcher')
-rwxr-xr-x | lib/Fetcher/FeedFetcher.php | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/lib/Fetcher/FeedFetcher.php b/lib/Fetcher/FeedFetcher.php index 86e0edd18..c79d40685 100755 --- a/lib/Fetcher/FeedFetcher.php +++ b/lib/Fetcher/FeedFetcher.php @@ -301,22 +301,24 @@ class FeedFetcher implements IFeedFetcher } // purification is done in the service layer - $body = mb_convert_encoding( - $body, - 'HTML-ENTITIES', - mb_detect_encoding($body) - ); - if (strpos($body, 'CDATA') !== false) { - libxml_use_internal_errors(true); - $data = simplexml_load_string( - "<?xml version=\"1.0\"?><item>$body</item>", - SimpleXMLElement::class, - LIBXML_NOCDATA + if (!is_null($body)) { + $body = mb_convert_encoding( + $body, + 'HTML-ENTITIES', + mb_detect_encoding($body) ); - if ($data !== false && libxml_get_last_error() === false) { - $body = (string) $data; + if (strpos($body, 'CDATA') !== false) { + libxml_use_internal_errors(true); + $data = simplexml_load_string( + "<?xml version=\"1.0\"?><item>$body</item>", + SimpleXMLElement::class, + LIBXML_NOCDATA + ); + if ($data !== false && libxml_get_last_error() === false) { + $body = (string) $data; + } + libxml_clear_errors(); } - libxml_clear_errors(); } $item->setBody($body); |