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/',
28 'tags' => ['foo-tag', 'baz-tag'],
31 'user' => 'admin-user',
32 'url' => 'http://0.0.0.0/entry2',
34 'domain' => 'domain.io',
35 'mime' => 'text/html',
36 'title' => 'test title entry2',
37 'content' => 'This is my content /o/',
38 'origin' => 'ftp://oneftp.tld',
43 'url' => 'http://0.0.0.0/entry3',
45 'domain' => 'domain.io',
46 'mime' => 'text/html',
47 'title' => 'test title entry3',
48 'content' => 'This is my content /o/',
50 'tags' => ['foo-tag', 'bar-tag', 'bob-tag'],
53 'user' => 'admin-user',
54 'url' => 'http://0.0.0.0/entry4',
56 'domain' => 'domain.io',
57 'mime' => 'text/html',
58 'title' => 'test title entry4',
59 'content' => 'This is my content /o/',
61 'tags' => ['foo-tag', 'bar-tag'],
64 'user' => 'admin-user',
65 'url' => 'http://0.0.0.0/entry5',
67 'domain' => 'domain.io',
68 'mime' => 'text/html',
69 'title' => 'test title entry5',
70 'content' => 'This is my content /o/',
73 'preview' => 'http://0.0.0.0/image.jpg',
76 'user' => 'admin-user',
77 'url' => 'http://0.0.0.0/entry6',
79 'domain' => 'domain.io',
80 'mime' => 'text/html',
81 'title' => 'test title entry6',
82 'content' => 'This is my content /o/',
85 'tags' => ['bar-tag'],
89 foreach ($entries as $reference => $item) {
90 $entry = new Entry($this->getReference($item['user']));
91 $entry->setUrl($item['url']);
92 $entry->setHashedUrl(hash('md5', $item['url']));
93 $entry->setReadingTime($item['reading_time']);
94 $entry->setDomainName($item['domain']);
95 $entry->setMimetype($item['mime']);
96 $entry->setTitle($item['title']);
97 $entry->setContent($item['content']);
98 $entry->setLanguage($item['language']);
100 if (isset($item['tags'])) {
101 foreach ($item['tags'] as $tag) {
102 $entry->addTag($this->getReference($tag));
106 if (isset($item['origin'])) {
107 $entry->setOriginUrl($item['origin']);
110 if (isset($item['starred'])) {
111 $entry->setStarred($item['starred']);
114 if (isset($item['archived'])) {
115 $entry->setArchived($item['archived']);
118 if (isset($item['preview'])) {
119 $entry->setPreviewPicture($item['preview']);
122 $manager->persist($entry);
123 $this->addReference($reference, $entry);
132 public function getDependencies()