3 namespace Wallabag\CoreBundle\DataFixtures
;
5 use Doctrine\Bundle\FixturesBundle\Fixture
;
6 use Doctrine\Common\DataFixtures\DependentFixtureInterface
;
7 use Doctrine\Common\Persistence\ObjectManager
;
8 use Wallabag\CoreBundle\Entity\Entry
;
9 use Wallabag\UserBundle\DataFixtures\UserFixtures
;
11 class EntryFixtures
extends Fixture
implements DependentFixtureInterface
16 public function load(ObjectManager
$manager)
20 'user' => 'admin-user',
21 'url' => 'http://0.0.0.0/entry1',
23 'domain' => 'domain.io',
24 'mime' => 'text/html',
25 'title' => 'test title entry1',
26 'content' => 'This is my content /o/',
27 'created_at' => '2020-04-26 10:00:00',
29 'tags' => ['foo-tag', 'baz-tag'],
32 'user' => 'admin-user',
33 'url' => 'http://0.0.0.0/entry2',
35 'domain' => 'domain.io',
36 'mime' => 'text/html',
37 'title' => 'test title entry2',
38 'content' => 'This is my content /o/',
39 'created_at' => '2020-04-26 10:01:00',
40 'origin' => 'ftp://oneftp.tld',
45 'url' => 'http://0.0.0.0/entry3',
47 'domain' => 'domain.io',
48 'mime' => 'text/html',
49 'title' => 'test title entry3',
50 'content' => 'This is my content /o/',
51 'created_at' => '2020-04-26 10:02:00',
53 'tags' => ['foo-tag', 'bar-tag', 'bob-tag'],
56 'user' => 'admin-user',
57 'url' => 'http://0.0.0.0/entry4',
59 'domain' => 'domain.io',
60 'mime' => 'text/html',
61 'title' => 'test title entry4',
62 'content' => 'This is my content /o/',
63 'created_at' => '2020-04-26 10:03:00',
65 'tags' => ['foo-tag', 'bar-tag'],
68 'user' => 'admin-user',
69 'url' => 'http://0.0.0.0/entry5',
71 'domain' => 'domain.io',
72 'mime' => 'text/html',
73 'title' => 'test title entry5',
74 'content' => 'This is my content /o/',
75 'created_at' => '2020-04-26 10:04:00',
78 'starred_at' => '2042-04-26 10:04:00',
79 'preview' => 'http://0.0.0.0/image.jpg',
82 'user' => 'admin-user',
83 'url' => 'http://0.0.0.0/entry6',
85 'domain' => 'domain.io',
86 'mime' => 'text/html',
87 'title' => 'test title entry6',
88 'content' => 'This is my content /o/',
89 'created_at' => '2020-04-26 10:05:00',
92 'archived_at' => '2020-04-26 10:05:00',
93 'tags' => ['bar-tag'],
97 foreach ($entries as $reference => $item) {
98 $entry = new Entry($this->getReference($item['user']));
99 $entry->setUrl($item['url']);
100 $entry->setReadingTime($item['reading_time']);
101 $entry->setDomainName($item['domain']);
102 $entry->setMimetype($item['mime']);
103 $entry->setTitle($item['title']);
104 $entry->setContent($item['content']);
105 $entry->setCreatedAt(new \
DateTime($item['created_at']));
106 $entry->setLanguage($item['language']);
108 if (isset($item['tags'])) {
109 foreach ($item['tags'] as $tag) {
110 $entry->addTag($this->getReference($tag));
114 if (isset($item['origin'])) {
115 $entry->setOriginUrl($item['origin']);
118 if (isset($item['starred'])) {
119 $entry->setStarred($item['starred']);
120 $entry->setStarredAt(new \
DateTime($item['starred_at']));
123 if (isset($item['archived'])) {
124 $entry->setArchived($item['archived']);
125 $entry->setArchivedAt(new \
DateTime($item['archived_at']));
128 if (isset($item['preview'])) {
129 $entry->setPreviewPicture($item['preview']);
132 $manager->persist($entry);
133 $this->addReference($reference, $entry);
142 public function getDependencies()