diff options
author | ArthurHoaro <arthur@hoa.ro> | 2016-11-28 18:24:15 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2016-12-12 03:03:12 +0100 |
commit | d592daea8343bb4dfecff5d97e93699581ccc58c (patch) | |
tree | d508b902b3aba45795fafe16e0b921ac5ea7c4c4 /application/LinkDB.php | |
parent | c3dfd8995921083ff7250c25d0b6ab1184b91aff (diff) | |
download | Shaarli-d592daea8343bb4dfecff5d97e93699581ccc58c.tar.gz Shaarli-d592daea8343bb4dfecff5d97e93699581ccc58c.tar.zst Shaarli-d592daea8343bb4dfecff5d97e93699581ccc58c.zip |
Add a persistent 'shorturl' key to all links
All existing link will keep their permalinks.
New links will have smallhash generated with date+id.
The purpose of this is to avoid collision between links due to their creation date.
Diffstat (limited to 'application/LinkDB.php')
-rw-r--r-- | application/LinkDB.php | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/application/LinkDB.php b/application/LinkDB.php index e429ab4f..1e13286a 100644 --- a/application/LinkDB.php +++ b/application/LinkDB.php | |||
@@ -22,6 +22,7 @@ | |||
22 | * Can be absolute or relative. | 22 | * Can be absolute or relative. |
23 | * Relative URLs are permalinks (e.g.'?m-ukcw') | 23 | * Relative URLs are permalinks (e.g.'?m-ukcw') |
24 | * - real_url Absolute processed URL. | 24 | * - real_url Absolute processed URL. |
25 | * - shorturl Permalink smallhash | ||
25 | * | 26 | * |
26 | * Implements 3 interfaces: | 27 | * Implements 3 interfaces: |
27 | * - ArrayAccess: behaves like an associative array; | 28 | * - ArrayAccess: behaves like an associative array; |
@@ -264,6 +265,7 @@ You use the community supported version of the original Shaarli project, by Seba | |||
264 | 'created'=> new DateTime(), | 265 | 'created'=> new DateTime(), |
265 | 'tags'=>'opensource software' | 266 | 'tags'=>'opensource software' |
266 | ); | 267 | ); |
268 | $link['shorturl'] = link_small_hash($link['created'], $link['id']); | ||
267 | $this->links[1] = $link; | 269 | $this->links[1] = $link; |
268 | 270 | ||
269 | $link = array( | 271 | $link = array( |
@@ -273,8 +275,9 @@ You use the community supported version of the original Shaarli project, by Seba | |||
273 | 'description'=>'Shhhh! I\'m a private link only YOU can see. You can delete me too.', | 275 | 'description'=>'Shhhh! I\'m a private link only YOU can see. You can delete me too.', |
274 | 'private'=>1, | 276 | 'private'=>1, |
275 | 'created'=> new DateTime('1 minute ago'), | 277 | 'created'=> new DateTime('1 minute ago'), |
276 | 'tags'=>'secretstuff' | 278 | 'tags'=>'secretstuff', |
277 | ); | 279 | ); |
280 | $link['shorturl'] = link_small_hash($link['created'], $link['id']); | ||
278 | $this->links[0] = $link; | 281 | $this->links[0] = $link; |
279 | 282 | ||
280 | // Write database to disk | 283 | // Write database to disk |
@@ -335,10 +338,11 @@ You use the community supported version of the original Shaarli project, by Seba | |||
335 | // To be able to load links before running the update, and prepare the update | 338 | // To be able to load links before running the update, and prepare the update |
336 | if (! isset($link['created'])) { | 339 | if (! isset($link['created'])) { |
337 | $link['id'] = $link['linkdate']; | 340 | $link['id'] = $link['linkdate']; |
338 | $link['created'] = DateTime::createFromFormat('Ymd_His', $link['linkdate']); | 341 | $link['created'] = DateTime::createFromFormat(self::LINK_DATE_FORMAT, $link['linkdate']); |
339 | if (! empty($link['updated'])) { | 342 | if (! empty($link['updated'])) { |
340 | $link['updated'] = DateTime::createFromFormat('Ymd_His', $link['updated']); | 343 | $link['updated'] = DateTime::createFromFormat(self::LINK_DATE_FORMAT, $link['updated']); |
341 | } | 344 | } |
345 | $link['shorturl'] = smallHash($link['linkdate']); | ||
342 | } | 346 | } |
343 | } | 347 | } |
344 | 348 | ||
@@ -558,7 +562,7 @@ You use the community supported version of the original Shaarli project, by Seba | |||
558 | * | 562 | * |
559 | * @param int $id Persistent ID of a link. | 563 | * @param int $id Persistent ID of a link. |
560 | * | 564 | * |
561 | * @return int Real offset in local array, or null if doesn't exists. | 565 | * @return int Real offset in local array, or null if doesn't exist. |
562 | */ | 566 | */ |
563 | protected function getLinkOffset($id) | 567 | protected function getLinkOffset($id) |
564 | { | 568 | { |