aboutsummaryrefslogtreecommitdiffhomepage
path: root/application/bookmark
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2020-10-15 11:46:24 +0200
committerArthurHoaro <arthur@hoa.ro>2020-10-20 10:15:18 +0200
commit21e72da9ee34cec56b10c83ae0c75b4bf320dfcb (patch)
treeb6c0b8208f004e1b2b37b1af54e8d4c40310d56e /application/bookmark
parent9b3c1270bcbe4f8e30e0160da8badd43dd94871a (diff)
downloadShaarli-21e72da9ee34cec56b10c83ae0c75b4bf320dfcb.tar.gz
Shaarli-21e72da9ee34cec56b10c83ae0c75b4bf320dfcb.tar.zst
Shaarli-21e72da9ee34cec56b10c83ae0c75b4bf320dfcb.zip
Asynchronous retrieval of bookmark's thumbnails
This feature is based general.enable_async_metadata setting and works with existing metadata.js file. The script is compatible with any template: - the thumbnail div bloc must have attribute - the bookmark bloc must have attribute with the bookmark ID as value Fixes #1564
Diffstat (limited to 'application/bookmark')
-rw-r--r--application/bookmark/Bookmark.php18
1 files changed, 18 insertions, 0 deletions
diff --git a/application/bookmark/Bookmark.php b/application/bookmark/Bookmark.php
index ea565d1f..4810c5e6 100644
--- a/application/bookmark/Bookmark.php
+++ b/application/bookmark/Bookmark.php
@@ -378,6 +378,24 @@ class Bookmark
378 } 378 }
379 379
380 /** 380 /**
381 * Return true if:
382 * - the bookmark's thumbnail is not already set to false (= not found)
383 * - it's not a note
384 * - it's an HTTP(S) link
385 * - the thumbnail has not yet be retrieved (null) or its associated cache file doesn't exist anymore
386 *
387 * @return bool True if the bookmark's thumbnail needs to be retrieved.
388 */
389 public function shouldUpdateThumbnail(): bool
390 {
391 return $this->thumbnail !== false
392 && !$this->isNote()
393 && startsWith(strtolower($this->url), 'http')
394 && (null === $this->thumbnail || !is_file($this->thumbnail))
395 ;
396 }
397
398 /**
381 * Get the Sticky. 399 * Get the Sticky.
382 * 400 *
383 * @return bool 401 * @return bool