namespace Shaarli\Bookmark;
use DateTime;
+use DateTimeInterface;
use Shaarli\Bookmark\Exception\InvalidBookmarkException;
/**
/** @var array List of bookmark's tags */
protected $tags;
- /** @var string Thumbnail's URL - false if no thumbnail could be found */
+ /** @var string|bool|null Thumbnail's URL - initialized at null, false if no thumbnail could be found */
protected $thumbnail;
/** @var bool Set to true if the bookmark is set as sticky */
protected $sticky;
- /** @var DateTime Creation datetime */
+ /** @var DateTimeInterface Creation datetime */
protected $created;
- /** @var DateTime Update datetime */
+ /** @var DateTimeInterface datetime */
protected $updated;
/** @var bool True if the bookmark can only be seen while logged in */
|| ! is_int($this->id)
|| empty($this->shortUrl)
|| empty($this->created)
- || ! $this->created instanceof DateTime
+ || ! $this->created instanceof DateTimeInterface
) {
throw new InvalidBookmarkException($this);
}
if (empty($this->url)) {
- $this->url = '?'. $this->shortUrl;
+ $this->url = '/shaare/'. $this->shortUrl;
}
if (empty($this->title)) {
$this->title = $this->url;
/**
* Get the Created.
*
- * @return DateTime
+ * @return DateTimeInterface
*/
public function getCreated()
{
/**
* Get the Updated.
*
- * @return DateTime
+ * @return DateTimeInterface
*/
public function getUpdated()
{
* Set the Created.
* Note: you shouldn't set this manually except for special cases (like bookmark import)
*
- * @param DateTime $created
+ * @param DateTimeInterface $created
*
* @return Bookmark
*/
/**
* Set the Updated.
*
- * @param DateTime $updated
+ * @param DateTimeInterface $updated
*
* @return Bookmark
*/
/**
* Get the Thumbnail.
*
- * @return string|bool
+ * @return string|bool|null Thumbnail's URL - initialized at null, false if no thumbnail could be found
*/
public function getThumbnail()
{
/**
* Set the Thumbnail.
*
- * @param string|bool $thumbnail
+ * @param string|bool $thumbnail Thumbnail's URL - false if no thumbnail could be found
*
* @return Bookmark
*/
public function isNote()
{
// We check empty value to get a valid result if the link has not been saved yet
- return empty($this->url) || $this->url[0] === '?';
+ return empty($this->url) || startsWith($this->url, '/shaare/') || $this->url[0] === '?';
}
/**