aboutsummaryrefslogtreecommitdiffhomepage
path: root/application/front/controller/visitor/BookmarkListController.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/front/controller/visitor/BookmarkListController.php')
-rw-r--r--application/front/controller/visitor/BookmarkListController.php32
1 files changed, 21 insertions, 11 deletions
diff --git a/application/front/controller/visitor/BookmarkListController.php b/application/front/controller/visitor/BookmarkListController.php
index a8019ead..78c474c9 100644
--- a/application/front/controller/visitor/BookmarkListController.php
+++ b/application/front/controller/visitor/BookmarkListController.php
@@ -137,8 +137,10 @@ class BookmarkListController extends ShaarliVisitorController
137 */ 137 */
138 public function permalink(Request $request, Response $response, array $args): Response 138 public function permalink(Request $request, Response $response, array $args): Response
139 { 139 {
140 $privateKey = $request->getParam('key');
141
140 try { 142 try {
141 $bookmark = $this->container->bookmarkService->findByHash($args['hash']); 143 $bookmark = $this->container->bookmarkService->findByHash($args['hash'], $privateKey);
142 } catch (BookmarkNotFoundException $e) { 144 } catch (BookmarkNotFoundException $e) {
143 $this->assignView('error_message', $e->getMessage()); 145 $this->assignView('error_message', $e->getMessage());
144 146
@@ -169,16 +171,24 @@ class BookmarkListController extends ShaarliVisitorController
169 */ 171 */
170 protected function updateThumbnail(Bookmark $bookmark, bool $writeDatastore = true): bool 172 protected function updateThumbnail(Bookmark $bookmark, bool $writeDatastore = true): bool
171 { 173 {
172 // Logged in, not async retrieval, thumbnails enabled, and thumbnail should be updated 174 if (false === $this->container->loginManager->isLoggedIn()) {
173 if ($this->container->loginManager->isLoggedIn() 175 return false;
174 && true !== $this->container->conf->get('general.enable_async_metadata', true) 176 }
175 && $this->container->conf->get('thumbnails.mode', Thumbnailer::MODE_NONE) !== Thumbnailer::MODE_NONE 177
176 && $bookmark->shouldUpdateThumbnail() 178 // If thumbnail should be updated, we reset it to null
177 ) { 179 if ($bookmark->shouldUpdateThumbnail()) {
178 $bookmark->setThumbnail($this->container->thumbnailer->get($bookmark->getUrl())); 180 $bookmark->setThumbnail(null);
179 $this->container->bookmarkService->set($bookmark, $writeDatastore); 181
180 182 // Requires an update, not async retrieval, thumbnails enabled
181 return true; 183 if ($bookmark->shouldUpdateThumbnail()
184 && true !== $this->container->conf->get('general.enable_async_metadata', true)
185 && $this->container->conf->get('thumbnails.mode', Thumbnailer::MODE_NONE) !== Thumbnailer::MODE_NONE
186 ) {
187 $bookmark->setThumbnail($this->container->thumbnailer->get($bookmark->getUrl()));
188 $this->container->bookmarkService->set($bookmark, $writeDatastore);
189
190 return true;
191 }
182 } 192 }
183 193
184 return false; 194 return false;