diff options
author | ArthurHoaro <arthur@hoa.ro> | 2019-05-25 15:46:47 +0200 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2020-01-17 18:42:11 +0100 |
commit | 336a28fa4a09b968ce4705900bf57693e672f0bf (patch) | |
tree | b3773e674a59c441270a56441fbadfa619527940 /application/bookmark/BookmarkInitializer.php | |
parent | 796c4c57d085ae4589b53dfe8369ae9ba30ffdaf (diff) | |
download | Shaarli-336a28fa4a09b968ce4705900bf57693e672f0bf.tar.gz Shaarli-336a28fa4a09b968ce4705900bf57693e672f0bf.tar.zst Shaarli-336a28fa4a09b968ce4705900bf57693e672f0bf.zip |
Introduce Bookmark object and Service layer to retrieve them
See https://github.com/shaarli/Shaarli/issues/1307 for details
Diffstat (limited to 'application/bookmark/BookmarkInitializer.php')
-rw-r--r-- | application/bookmark/BookmarkInitializer.php | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/application/bookmark/BookmarkInitializer.php b/application/bookmark/BookmarkInitializer.php new file mode 100644 index 00000000..9eee9a35 --- /dev/null +++ b/application/bookmark/BookmarkInitializer.php | |||
@@ -0,0 +1,59 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Shaarli\Bookmark; | ||
4 | |||
5 | /** | ||
6 | * Class BookmarkInitializer | ||
7 | * | ||
8 | * This class is used to initialized default bookmarks after a fresh install of Shaarli. | ||
9 | * It is no longer call when the data store is empty, | ||
10 | * because user might want to delete default bookmarks after the install. | ||
11 | * | ||
12 | * To prevent data corruption, it does not overwrite existing bookmarks, | ||
13 | * even though there should not be any. | ||
14 | * | ||
15 | * @package Shaarli\Bookmark | ||
16 | */ | ||
17 | class BookmarkInitializer | ||
18 | { | ||
19 | /** @var BookmarkServiceInterface */ | ||
20 | protected $bookmarkService; | ||
21 | |||
22 | /** | ||
23 | * BookmarkInitializer constructor. | ||
24 | * | ||
25 | * @param BookmarkServiceInterface $bookmarkService | ||
26 | */ | ||
27 | public function __construct($bookmarkService) | ||
28 | { | ||
29 | $this->bookmarkService = $bookmarkService; | ||
30 | } | ||
31 | |||
32 | /** | ||
33 | * Initialize the data store with default bookmarks | ||
34 | */ | ||
35 | public function initialize() | ||
36 | { | ||
37 | $bookmark = new Bookmark(); | ||
38 | $bookmark->setTitle(t('My secret stuff... - Pastebin.com')); | ||
39 | $bookmark->setUrl('http://sebsauvage.net/paste/?8434b27936c09649#bR7XsXhoTiLcqCpQbmOpBi3rq2zzQUC5hBI7ZT1O3x8=', []); | ||
40 | $bookmark->setDescription(t('Shhhh! I\'m a private link only YOU can see. You can delete me too.')); | ||
41 | $bookmark->setTagsString('secretstuff'); | ||
42 | $bookmark->setPrivate(true); | ||
43 | $this->bookmarkService->add($bookmark); | ||
44 | |||
45 | $bookmark = new Bookmark(); | ||
46 | $bookmark->setTitle(t('The personal, minimalist, super-fast, database free, bookmarking service')); | ||
47 | $bookmark->setUrl('https://shaarli.readthedocs.io', []); | ||
48 | $bookmark->setDescription(t( | ||
49 | 'Welcome to Shaarli! This is your first public bookmark. ' | ||
50 | . 'To edit or delete me, you must first login. | ||
51 | |||
52 | To learn how to use Shaarli, consult the link "Documentation" at the bottom of this page. | ||
53 | |||
54 | You use the community supported version of the original Shaarli project, by Sebastien Sauvage.' | ||
55 | )); | ||
56 | $bookmark->setTagsString('opensource software'); | ||
57 | $this->bookmarkService->add($bookmark); | ||
58 | } | ||
59 | } | ||