diff options
author | Kevin Decherf <kevin@kdecherf.com> | 2019-05-26 17:47:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-26 17:47:44 +0200 |
commit | 5c0701ba41fd64ba471addb4a84af062277ab559 (patch) | |
tree | 230c6bf7455bd5a8a7f3cf487bc08efdb9b7e16e /src/Wallabag/CoreBundle/Helper/ContentProxy.php | |
parent | cc9731bf2bc59c4a3802ac546ac3f76afb4aa5d6 (diff) | |
parent | d99e6423f4bd54595a8a805dd1efd0bd94e8bb09 (diff) | |
download | wallabag-5c0701ba41fd64ba471addb4a84af062277ab559.tar.gz wallabag-5c0701ba41fd64ba471addb4a84af062277ab559.tar.zst wallabag-5c0701ba41fd64ba471addb4a84af062277ab559.zip |
Merge pull request #3965 from nicofrand/previewPic
Preview picture: use the 1st pic retrieved if no og:image set
Diffstat (limited to 'src/Wallabag/CoreBundle/Helper/ContentProxy.php')
-rw-r--r-- | src/Wallabag/CoreBundle/Helper/ContentProxy.php | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/Wallabag/CoreBundle/Helper/ContentProxy.php b/src/Wallabag/CoreBundle/Helper/ContentProxy.php index bc257ffb..ca01dec8 100644 --- a/src/Wallabag/CoreBundle/Helper/ContentProxy.php +++ b/src/Wallabag/CoreBundle/Helper/ContentProxy.php | |||
@@ -12,8 +12,8 @@ use Wallabag\CoreBundle\Entity\Entry; | |||
12 | use Wallabag\CoreBundle\Tools\Utils; | 12 | use Wallabag\CoreBundle\Tools\Utils; |
13 | 13 | ||
14 | /** | 14 | /** |
15 | * This kind of proxy class take care of getting the content from an url | 15 | * This kind of proxy class takes care of getting the content from an url |
16 | * and update the entry with what it found. | 16 | * and updates the entry with what it found. |
17 | */ | 17 | */ |
18 | class ContentProxy | 18 | class ContentProxy |
19 | { | 19 | { |
@@ -289,13 +289,25 @@ class ContentProxy | |||
289 | $this->updateLanguage($entry, $content['language']); | 289 | $this->updateLanguage($entry, $content['language']); |
290 | } | 290 | } |
291 | 291 | ||
292 | $previewPictureUrl = ''; | ||
292 | if (!empty($content['open_graph']['og_image'])) { | 293 | if (!empty($content['open_graph']['og_image'])) { |
293 | $this->updatePreviewPicture($entry, $content['open_graph']['og_image']); | 294 | $previewPictureUrl = $content['open_graph']['og_image']; |
294 | } | 295 | } |
295 | 296 | ||
296 | // if content is an image, define it as a preview too | 297 | // if content is an image, define it as a preview too |
297 | if (!empty($content['content_type']) && \in_array($this->mimeGuesser->guess($content['content_type']), ['jpeg', 'jpg', 'gif', 'png'], true)) { | 298 | if (!empty($content['content_type']) && \in_array($this->mimeGuesser->guess($content['content_type']), ['jpeg', 'jpg', 'gif', 'png'], true)) { |
298 | $this->updatePreviewPicture($entry, $content['url']); | 299 | $previewPictureUrl = $content['url']; |
300 | } elseif (empty($previewPictureUrl)) { | ||
301 | $this->logger->debug('Extracting images from content to provide a default preview picture'); | ||
302 | $imagesUrls = DownloadImages::extractImagesUrlsFromHtml($content['html']); | ||
303 | $this->logger->debug(\count($imagesUrls) . ' pictures found'); | ||
304 | if (!empty($imagesUrls)) { | ||
305 | $previewPictureUrl = $imagesUrls[0]; | ||
306 | } | ||
307 | } | ||
308 | |||
309 | if (!empty($previewPictureUrl)) { | ||
310 | $this->updatePreviewPicture($entry, $previewPictureUrl); | ||
299 | } | 311 | } |
300 | 312 | ||
301 | if (!empty($content['content_type'])) { | 313 | if (!empty($content['content_type'])) { |