aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag/CoreBundle')
-rw-r--r--src/Wallabag/CoreBundle/DataFixtures/ORM/LoadConfigData.php3
-rw-r--r--src/Wallabag/CoreBundle/DependencyInjection/Configuration.php6
-rw-r--r--src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php2
-rw-r--r--src/Wallabag/CoreBundle/Entity/TaggingRule.php1
-rw-r--r--src/Wallabag/CoreBundle/Helper/ContentProxy.php20
-rw-r--r--src/Wallabag/CoreBundle/Helper/DownloadImages.php2
-rw-r--r--src/Wallabag/CoreBundle/Repository/EntryRepository.php3
-rw-r--r--src/Wallabag/CoreBundle/Resources/config/parameters.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/config/services.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.da.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.de.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.en.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.es.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.it.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Static/howto.html.twig3
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig11
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig2
24 files changed, 59 insertions, 16 deletions
diff --git a/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadConfigData.php b/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadConfigData.php
index 45358022..3d4d5def 100644
--- a/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadConfigData.php
+++ b/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadConfigData.php
@@ -22,6 +22,7 @@ class LoadConfigData extends AbstractFixture implements OrderedFixtureInterface
22 $adminConfig->setLanguage('en'); 22 $adminConfig->setLanguage('en');
23 $adminConfig->setPocketConsumerKey('xxxxx'); 23 $adminConfig->setPocketConsumerKey('xxxxx');
24 $adminConfig->setActionMarkAsRead(0); 24 $adminConfig->setActionMarkAsRead(0);
25 $adminConfig->setListMode(0);
25 26
26 $manager->persist($adminConfig); 27 $manager->persist($adminConfig);
27 28
@@ -34,6 +35,7 @@ class LoadConfigData extends AbstractFixture implements OrderedFixtureInterface
34 $bobConfig->setLanguage('fr'); 35 $bobConfig->setLanguage('fr');
35 $bobConfig->setPocketConsumerKey(null); 36 $bobConfig->setPocketConsumerKey(null);
36 $bobConfig->setActionMarkAsRead(1); 37 $bobConfig->setActionMarkAsRead(1);
38 $bobConfig->setListMode(1);
37 39
38 $manager->persist($bobConfig); 40 $manager->persist($bobConfig);
39 41
@@ -46,6 +48,7 @@ class LoadConfigData extends AbstractFixture implements OrderedFixtureInterface
46 $emptyConfig->setLanguage('en'); 48 $emptyConfig->setLanguage('en');
47 $emptyConfig->setPocketConsumerKey(null); 49 $emptyConfig->setPocketConsumerKey(null);
48 $emptyConfig->setActionMarkAsRead(0); 50 $emptyConfig->setActionMarkAsRead(0);
51 $emptyConfig->setListMode(0);
49 52
50 $manager->persist($emptyConfig); 53 $manager->persist($emptyConfig);
51 54
diff --git a/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php b/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php
index 3a3da024..006a18c3 100644
--- a/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php
+++ b/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php
@@ -41,6 +41,12 @@ class Configuration implements ConfigurationInterface
41 ->end() 41 ->end()
42 ->scalarNode('fetching_error_message') 42 ->scalarNode('fetching_error_message')
43 ->end() 43 ->end()
44 ->scalarNode('action_mark_as_read')
45 ->defaultValue(1)
46 ->end()
47 ->scalarNode('list_mode')
48 ->defaultValue(1)
49 ->end()
44 ->end() 50 ->end()
45 ; 51 ;
46 52
diff --git a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php
index b4992d54..aa9ee339 100644
--- a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php
+++ b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php
@@ -23,6 +23,8 @@ class WallabagCoreExtension extends Extension
23 $container->setParameter('wallabag_core.version', $config['version']); 23 $container->setParameter('wallabag_core.version', $config['version']);
24 $container->setParameter('wallabag_core.paypal_url', $config['paypal_url']); 24 $container->setParameter('wallabag_core.paypal_url', $config['paypal_url']);
25 $container->setParameter('wallabag_core.cache_lifetime', $config['cache_lifetime']); 25 $container->setParameter('wallabag_core.cache_lifetime', $config['cache_lifetime']);
26 $container->setParameter('wallabag_core.action_mark_as_read', $config['action_mark_as_read']);
27 $container->setParameter('wallabag_core.list_mode', $config['list_mode']);
26 $container->setParameter('wallabag_core.fetching_error_message', $config['fetching_error_message']); 28 $container->setParameter('wallabag_core.fetching_error_message', $config['fetching_error_message']);
27 29
28 $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); 30 $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
diff --git a/src/Wallabag/CoreBundle/Entity/TaggingRule.php b/src/Wallabag/CoreBundle/Entity/TaggingRule.php
index 28914cc1..72651b19 100644
--- a/src/Wallabag/CoreBundle/Entity/TaggingRule.php
+++ b/src/Wallabag/CoreBundle/Entity/TaggingRule.php
@@ -28,6 +28,7 @@ class TaggingRule
28 * @var string 28 * @var string
29 * 29 *
30 * @Assert\NotBlank() 30 * @Assert\NotBlank()
31 * @Assert\Length(max=255)
31 * @RulerZAssert\ValidRule( 32 * @RulerZAssert\ValidRule(
32 * allowed_variables={"title", "url", "isArchived", "isStared", "content", "language", "mimetype", "readingTime", "domainName"}, 33 * allowed_variables={"title", "url", "isArchived", "isStared", "content", "language", "mimetype", "readingTime", "domainName"},
33 * allowed_operators={">", "<", ">=", "<=", "=", "is", "!=", "and", "not", "or", "matches"} 34 * allowed_operators={">", "<", ">=", "<=", "=", "is", "!=", "and", "not", "or", "matches"}
diff --git a/src/Wallabag/CoreBundle/Helper/ContentProxy.php b/src/Wallabag/CoreBundle/Helper/ContentProxy.php
index fd059325..0130bd2b 100644
--- a/src/Wallabag/CoreBundle/Helper/ContentProxy.php
+++ b/src/Wallabag/CoreBundle/Helper/ContentProxy.php
@@ -21,14 +21,16 @@ class ContentProxy
21 protected $logger; 21 protected $logger;
22 protected $tagRepository; 22 protected $tagRepository;
23 protected $mimeGuesser; 23 protected $mimeGuesser;
24 protected $fetchingErrorMessage;
24 25
25 public function __construct(Graby $graby, RuleBasedTagger $tagger, TagRepository $tagRepository, LoggerInterface $logger) 26 public function __construct(Graby $graby, RuleBasedTagger $tagger, TagRepository $tagRepository, LoggerInterface $logger, $fetchingErrorMessage)
26 { 27 {
27 $this->graby = $graby; 28 $this->graby = $graby;
28 $this->tagger = $tagger; 29 $this->tagger = $tagger;
29 $this->logger = $logger; 30 $this->logger = $logger;
30 $this->tagRepository = $tagRepository; 31 $this->tagRepository = $tagRepository;
31 $this->mimeGuesser = new MimeTypeExtensionGuesser(); 32 $this->mimeGuesser = new MimeTypeExtensionGuesser();
33 $this->fetchingErrorMessage = $fetchingErrorMessage;
32 } 34 }
33 35
34 /** 36 /**
@@ -48,7 +50,13 @@ class ContentProxy
48 { 50 {
49 // do we have to fetch the content or the provided one is ok? 51 // do we have to fetch the content or the provided one is ok?
50 if (empty($content) || false === $this->validateContent($content)) { 52 if (empty($content) || false === $this->validateContent($content)) {
51 $content = $this->graby->fetchContent($url); 53 $fetchedContent = $this->graby->fetchContent($url);
54
55 // when content is imported, we have information in $content
56 // in case fetching content goes bad, we'll keep the imported information instead of overriding them
57 if (empty($content) || $fetchedContent['html'] !== $this->fetchingErrorMessage) {
58 $content = $fetchedContent;
59 }
52 } 60 }
53 61
54 $title = $content['title']; 62 $title = $content['title'];
@@ -58,7 +66,7 @@ class ContentProxy
58 66
59 $html = $content['html']; 67 $html = $content['html'];
60 if (false === $html) { 68 if (false === $html) {
61 $html = '<p>Unable to retrieve readable content.</p>'; 69 $html = $this->fetchingErrorMessage;
62 70
63 if (isset($content['open_graph']['og_description'])) { 71 if (isset($content['open_graph']['og_description'])) {
64 $html .= '<p><i>But we found a short description: </i></p>'; 72 $html .= '<p><i>But we found a short description: </i></p>';
@@ -71,8 +79,8 @@ class ContentProxy
71 $entry->setContent($html); 79 $entry->setContent($html);
72 $entry->setHttpStatus(isset($content['status']) ? $content['status'] : ''); 80 $entry->setHttpStatus(isset($content['status']) ? $content['status'] : '');
73 81
74 $entry->setLanguage($content['language']); 82 $entry->setLanguage(isset($content['language']) ? $content['language'] : '');
75 $entry->setMimetype($content['content_type']); 83 $entry->setMimetype(isset($content['content_type']) ? $content['content_type'] : '');
76 $entry->setReadingTime(Utils::getReadingTime($html)); 84 $entry->setReadingTime(Utils::getReadingTime($html));
77 85
78 $domainName = parse_url($entry->getUrl(), PHP_URL_HOST); 86 $domainName = parse_url($entry->getUrl(), PHP_URL_HOST);
@@ -85,7 +93,7 @@ class ContentProxy
85 } 93 }
86 94
87 // if content is an image define as a preview too 95 // if content is an image define as a preview too
88 if (in_array($this->mimeGuesser->guess($content['content_type']), ['jpeg', 'jpg', 'gif', 'png'], true)) { 96 if (isset($content['content_type']) && in_array($this->mimeGuesser->guess($content['content_type']), ['jpeg', 'jpg', 'gif', 'png'], true)) {
89 $entry->setPreviewPicture($content['url']); 97 $entry->setPreviewPicture($content['url']);
90 } 98 }
91 99
diff --git a/src/Wallabag/CoreBundle/Helper/DownloadImages.php b/src/Wallabag/CoreBundle/Helper/DownloadImages.php
index 264bc6a3..c83f9618 100644
--- a/src/Wallabag/CoreBundle/Helper/DownloadImages.php
+++ b/src/Wallabag/CoreBundle/Helper/DownloadImages.php
@@ -36,7 +36,7 @@ class DownloadImages
36 { 36 {
37 // if folder doesn't exist, attempt to create one and store the folder name in property $folder 37 // if folder doesn't exist, attempt to create one and store the folder name in property $folder
38 if (!file_exists($this->baseFolder)) { 38 if (!file_exists($this->baseFolder)) {
39 mkdir($this->baseFolder, 0777, true); 39 mkdir($this->baseFolder, 0755, true);
40 } 40 }
41 } 41 }
42 42
diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php
index 47e24d6b..553ad6ab 100644
--- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php
+++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php
@@ -20,8 +20,7 @@ class EntryRepository extends EntityRepository
20 private function getBuilderByUser($userId) 20 private function getBuilderByUser($userId)
21 { 21 {
22 return $this->createQueryBuilder('e') 22 return $this->createQueryBuilder('e')
23 ->leftJoin('e.user', 'u') 23 ->andWhere('e.user = :userId')->setParameter('userId', $userId)
24 ->andWhere('u.id = :userId')->setParameter('userId', $userId)
25 ->orderBy('e.createdAt', 'desc') 24 ->orderBy('e.createdAt', 'desc')
26 ; 25 ;
27 } 26 }
diff --git a/src/Wallabag/CoreBundle/Resources/config/parameters.yml b/src/Wallabag/CoreBundle/Resources/config/parameters.yml
index 6068e84c..52ac90fd 100644
--- a/src/Wallabag/CoreBundle/Resources/config/parameters.yml
+++ b/src/Wallabag/CoreBundle/Resources/config/parameters.yml
@@ -1,8 +1,9 @@
1parameters: 1parameters:
2 addons_url: 2 addons_url:
3 firefox: https://addons.mozilla.org/firefox/addon/wallabag-v2/ 3 firefox: https://addons.mozilla.org/firefox/addon/wallabag-v2/
4 chrome: https://chrome.google.com/webstore/detail/wallabagit/peehlcgckcnclnjlndmoddifcicdnabm 4 chrome: https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj
5 opera: https://addons.opera.com/en/extensions/details/wallabagger/?display=en
5 f_droid: https://f-droid.org/app/fr.gaulupeau.apps.InThePoche 6 f_droid: https://f-droid.org/app/fr.gaulupeau.apps.InThePoche
6 google_play: https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche 7 google_play: https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche
7 ios: https://itunes.apple.com/app/wallabag/id828331015?mt=8 8 ios: https://itunes.apple.com/app/wallabag-2/id1170800946?mt=8
8 windows: https://www.microsoft.com/store/apps/wallabag/9nblggh11646 9 windows: https://www.microsoft.com/store/apps/wallabag/9nblggh11646
diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml
index bcf0c9ca..fadd5e49 100644
--- a/src/Wallabag/CoreBundle/Resources/config/services.yml
+++ b/src/Wallabag/CoreBundle/Resources/config/services.yml
@@ -86,6 +86,7 @@ services:
86 - "@wallabag_core.rule_based_tagger" 86 - "@wallabag_core.rule_based_tagger"
87 - "@wallabag_core.tag_repository" 87 - "@wallabag_core.tag_repository"
88 - "@logger" 88 - "@logger"
89 - '%wallabag_core.fetching_error_message%'
89 90
90 wallabag_core.rule_based_tagger: 91 wallabag_core.rule_based_tagger:
91 class: Wallabag\CoreBundle\Helper\RuleBasedTagger 92 class: Wallabag\CoreBundle\Helper\RuleBasedTagger
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
index c9e21959..3380edca 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: 'Standardudvidelse til Firefox' 286 firefox: 'Standardudvidelse til Firefox'
287 chrome: 'Chrome-udvidelse' 287 chrome: 'Chrome-udvidelse'
288 opera: 'Opera-udvidelse'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: 'via F-Droid' 291 via_f_droid: 'via F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
index b84bd9d3..cfa11e82 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: 'Firefox-Erweiterung' 286 firefox: 'Firefox-Erweiterung'
287 chrome: 'Chrome-Erweiterung' 287 chrome: 'Chrome-Erweiterung'
288 opera: 'Opera-Erweiterung'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: 'via F-Droid' 291 via_f_droid: 'via F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
index 4b92fe97..673a0a16 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
@@ -283,8 +283,9 @@ howto:
283 form: 283 form:
284 description: 'Thanks to this form' 284 description: 'Thanks to this form'
285 browser_addons: 285 browser_addons:
286 firefox: 'Standard Firefox Add-On' 286 firefox: 'Firefox addon'
287 chrome: 'Chrome Extension' 287 chrome: 'Chrome addon'
288 opera: 'Opera addon'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: 'via F-Droid' 291 via_f_droid: 'via F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index 02ce7e19..d08edd6e 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: 'Extensión Firefox' 286 firefox: 'Extensión Firefox'
287 chrome: 'Extensión Chrome' 287 chrome: 'Extensión Chrome'
288 opera: 'Extensión Opera'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: 'via F-Droid' 291 via_f_droid: 'via F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
index 99c0f71b..ad6144b8 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: 'افزونهٔ فایرفاکس' 286 firefox: 'افزونهٔ فایرفاکس'
287 chrome: 'افزونهٔ کروم' 287 chrome: 'افزونهٔ کروم'
288 # opera: 'Opera addon'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: 'از راه F-Droid' 291 via_f_droid: 'از راه F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
index 5579bf1f..f7371d3e 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: "Extension Firefox" 286 firefox: "Extension Firefox"
287 chrome: "Extension Chrome" 287 chrome: "Extension Chrome"
288 opera: "Extension Opera"
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: "via F-Droid" 291 via_f_droid: "via F-Droid"
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
index 92ccef68..bbb526dc 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: 'Add-On di Firefox' 286 firefox: 'Add-On di Firefox'
287 chrome: 'Estensione di Chrome' 287 chrome: 'Estensione di Chrome'
288 opera: 'Estensione di Opera'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: 'via F-Droid' 291 via_f_droid: 'via F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
index 9ef3b475..33c1a660 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: 'Extension Firefox' 286 firefox: 'Extension Firefox'
287 chrome: 'Extension Chrome' 287 chrome: 'Extension Chrome'
288 opera: 'Extension Opera'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: 'via F-Droid' 291 via_f_droid: 'via F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
index 9e3726a5..1eb83d53 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: 'Standardowe rozszerzenie dla Firefox' 286 firefox: 'Standardowe rozszerzenie dla Firefox'
287 chrome: 'Rozszerzenie dla Chrome' 287 chrome: 'Rozszerzenie dla Chrome'
288 opera: 'Rozszerzenie dla Opera'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: 'w F-Droid' 291 via_f_droid: 'w F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
index abe51305..f58b2115 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: 'Extensão padrão do Firefox' 286 firefox: 'Extensão padrão do Firefox'
287 chrome: 'Extensão do Chrome' 287 chrome: 'Extensão do Chrome'
288 opera: 'Extensão do Opera'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: 'via F-Droid' 291 via_f_droid: 'via F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
index 88780b54..b9a57e36 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: 'Add-On standard de Firefox' 286 firefox: 'Add-On standard de Firefox'
287 chrome: 'Extensie Chrome' 287 chrome: 'Extensie Chrome'
288 opera: 'Extensie Opera'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 via_f_droid: 'prin F-Droid' 291 via_f_droid: 'prin F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
index db0a9bbf..ec21c014 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
@@ -285,6 +285,7 @@ howto:
285 browser_addons: 285 browser_addons:
286 firefox: 'Standart Firefox Eklentisi' 286 firefox: 'Standart Firefox Eklentisi'
287 chrome: 'Chrome Eklentisi' 287 chrome: 'Chrome Eklentisi'
288 opera: 'Opera Eklentisi'
288 mobile_apps: 289 mobile_apps:
289 android: 290 android:
290 # via_f_droid: 'via F-Droid' 291 # via_f_droid: 'via F-Droid'
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/howto.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/howto.html.twig
index 3b02993e..231f9bdf 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/howto.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/howto.html.twig
@@ -30,6 +30,7 @@
30 <ul> 30 <ul>
31 <li><a href="{{ addonsUrl.firefox }}" target="_blank">{{ 'howto.browser_addons.firefox'|trans }}</a></li> 31 <li><a href="{{ addonsUrl.firefox }}" target="_blank">{{ 'howto.browser_addons.firefox'|trans }}</a></li>
32 <li><a href="{{ addonsUrl.chrome }}" target="_blank">{{ 'howto.browser_addons.chrome'|trans }}</a></li> 32 <li><a href="{{ addonsUrl.chrome }}" target="_blank">{{ 'howto.browser_addons.chrome'|trans }}</a></li>
33 <li><a href="{{ addonsUrl.opera }}" target="_blank">{{ 'howto.browser_addons.opera'|trans }}</a></li>
33 </ul> 34 </ul>
34 </div> 35 </div>
35 36
@@ -186,7 +187,7 @@
186 </tbody> 187 </tbody>
187 </table> 188 </table>
188 </div> 189 </div>
189 190
190 </div> 191 </div>
191 </div> 192 </div>
192 </div> 193 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
index bed0fdec..0cbf1999 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
@@ -257,6 +257,17 @@
257 <article> 257 <article>
258 {{ entry.content | raw }} 258 {{ entry.content | raw }}
259 </article> 259 </article>
260
261 <div class="fixed-action-btn horizontal click-to-toggle hide-on-large-only">
262 <a class="btn-floating btn-large">
263 <i class="material-icons">menu</i>
264 </a>
265 <ul>
266 <li><a class="btn-floating" href="{{ path('archive_entry', { 'id': entry.id }) }}"><i class="material-icons">done</i></a></li>
267 <li><a class="btn-floating" href="{{ path('star_entry', { 'id': entry.id }) }}"><i class="material-icons">star_outline</i></a></li>
268 <li><a class="btn-floating" href="{{ path('delete_entry', { 'id': entry.id }) }}"><i class="material-icons">delete</i></a></li>
269 </ul>
270 </div>
260 </div> 271 </div>
261 272
262<script id="annotationroutes" type="application/json"> 273<script id="annotationroutes" type="application/json">
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
index e5bfc62c..131fbf26 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
@@ -19,8 +19,6 @@
19 Materialize.toast('{{ flashMessage|trans }}', 4000); 19 Materialize.toast('{{ flashMessage|trans }}', 4000);
20 </script> 20 </script>
21 {% endfor %} 21 {% endfor %}
22
23 {{ render(controller("WallabagImportBundle:Import:checkQueue")) }}
24{% endblock %} 22{% endblock %}
25 23
26{% block menu %} 24{% block menu %}