diff options
Diffstat (limited to 'application/bookmark/Bookmark.php')
-rw-r--r-- | application/bookmark/Bookmark.php | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/application/bookmark/Bookmark.php b/application/bookmark/Bookmark.php index f9b21d3d..1beb8be2 100644 --- a/application/bookmark/Bookmark.php +++ b/application/bookmark/Bookmark.php | |||
@@ -3,6 +3,7 @@ | |||
3 | namespace Shaarli\Bookmark; | 3 | namespace Shaarli\Bookmark; |
4 | 4 | ||
5 | use DateTime; | 5 | use DateTime; |
6 | use DateTimeInterface; | ||
6 | use Shaarli\Bookmark\Exception\InvalidBookmarkException; | 7 | use Shaarli\Bookmark\Exception\InvalidBookmarkException; |
7 | 8 | ||
8 | /** | 9 | /** |
@@ -36,16 +37,16 @@ class Bookmark | |||
36 | /** @var array List of bookmark's tags */ | 37 | /** @var array List of bookmark's tags */ |
37 | protected $tags; | 38 | protected $tags; |
38 | 39 | ||
39 | /** @var string Thumbnail's URL - false if no thumbnail could be found */ | 40 | /** @var string|bool|null Thumbnail's URL - initialized at null, false if no thumbnail could be found */ |
40 | protected $thumbnail; | 41 | protected $thumbnail; |
41 | 42 | ||
42 | /** @var bool Set to true if the bookmark is set as sticky */ | 43 | /** @var bool Set to true if the bookmark is set as sticky */ |
43 | protected $sticky; | 44 | protected $sticky; |
44 | 45 | ||
45 | /** @var DateTime Creation datetime */ | 46 | /** @var DateTimeInterface Creation datetime */ |
46 | protected $created; | 47 | protected $created; |
47 | 48 | ||
48 | /** @var DateTime Update datetime */ | 49 | /** @var DateTimeInterface datetime */ |
49 | protected $updated; | 50 | protected $updated; |
50 | 51 | ||
51 | /** @var bool True if the bookmark can only be seen while logged in */ | 52 | /** @var bool True if the bookmark can only be seen while logged in */ |
@@ -100,12 +101,12 @@ class Bookmark | |||
100 | || ! is_int($this->id) | 101 | || ! is_int($this->id) |
101 | || empty($this->shortUrl) | 102 | || empty($this->shortUrl) |
102 | || empty($this->created) | 103 | || empty($this->created) |
103 | || ! $this->created instanceof DateTime | 104 | || ! $this->created instanceof DateTimeInterface |
104 | ) { | 105 | ) { |
105 | throw new InvalidBookmarkException($this); | 106 | throw new InvalidBookmarkException($this); |
106 | } | 107 | } |
107 | if (empty($this->url)) { | 108 | if (empty($this->url)) { |
108 | $this->url = '?'. $this->shortUrl; | 109 | $this->url = '/shaare/'. $this->shortUrl; |
109 | } | 110 | } |
110 | if (empty($this->title)) { | 111 | if (empty($this->title)) { |
111 | $this->title = $this->url; | 112 | $this->title = $this->url; |
@@ -188,7 +189,7 @@ class Bookmark | |||
188 | /** | 189 | /** |
189 | * Get the Created. | 190 | * Get the Created. |
190 | * | 191 | * |
191 | * @return DateTime | 192 | * @return DateTimeInterface |
192 | */ | 193 | */ |
193 | public function getCreated() | 194 | public function getCreated() |
194 | { | 195 | { |
@@ -198,7 +199,7 @@ class Bookmark | |||
198 | /** | 199 | /** |
199 | * Get the Updated. | 200 | * Get the Updated. |
200 | * | 201 | * |
201 | * @return DateTime | 202 | * @return DateTimeInterface |
202 | */ | 203 | */ |
203 | public function getUpdated() | 204 | public function getUpdated() |
204 | { | 205 | { |
@@ -270,7 +271,7 @@ class Bookmark | |||
270 | * Set the Created. | 271 | * Set the Created. |
271 | * Note: you shouldn't set this manually except for special cases (like bookmark import) | 272 | * Note: you shouldn't set this manually except for special cases (like bookmark import) |
272 | * | 273 | * |
273 | * @param DateTime $created | 274 | * @param DateTimeInterface $created |
274 | * | 275 | * |
275 | * @return Bookmark | 276 | * @return Bookmark |
276 | */ | 277 | */ |
@@ -284,7 +285,7 @@ class Bookmark | |||
284 | /** | 285 | /** |
285 | * Set the Updated. | 286 | * Set the Updated. |
286 | * | 287 | * |
287 | * @param DateTime $updated | 288 | * @param DateTimeInterface $updated |
288 | * | 289 | * |
289 | * @return Bookmark | 290 | * @return Bookmark |
290 | */ | 291 | */ |
@@ -346,7 +347,7 @@ class Bookmark | |||
346 | /** | 347 | /** |
347 | * Get the Thumbnail. | 348 | * Get the Thumbnail. |
348 | * | 349 | * |
349 | * @return string|bool | 350 | * @return string|bool|null Thumbnail's URL - initialized at null, false if no thumbnail could be found |
350 | */ | 351 | */ |
351 | public function getThumbnail() | 352 | public function getThumbnail() |
352 | { | 353 | { |
@@ -356,7 +357,7 @@ class Bookmark | |||
356 | /** | 357 | /** |
357 | * Set the Thumbnail. | 358 | * Set the Thumbnail. |
358 | * | 359 | * |
359 | * @param string|bool $thumbnail | 360 | * @param string|bool $thumbnail Thumbnail's URL - false if no thumbnail could be found |
360 | * | 361 | * |
361 | * @return Bookmark | 362 | * @return Bookmark |
362 | */ | 363 | */ |
@@ -405,7 +406,7 @@ class Bookmark | |||
405 | public function isNote() | 406 | public function isNote() |
406 | { | 407 | { |
407 | // We check empty value to get a valid result if the link has not been saved yet | 408 | // We check empty value to get a valid result if the link has not been saved yet |
408 | return empty($this->url) || $this->url[0] === '?'; | 409 | return empty($this->url) || startsWith($this->url, '/shaare/') || $this->url[0] === '?'; |
409 | } | 410 | } |
410 | 411 | ||
411 | /** | 412 | /** |