diff options
Diffstat (limited to 'src')
21 files changed, 69 insertions, 8 deletions
diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php index 8e438229..857a8b4c 100644 --- a/src/Wallabag/CoreBundle/Command/InstallCommand.php +++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php | |||
@@ -364,7 +364,7 @@ class InstallCommand extends ContainerAwareCommand | |||
364 | ], | 364 | ], |
365 | [ | 365 | [ |
366 | 'name' => 'piwik_host', | 366 | 'name' => 'piwik_host', |
367 | 'value' => 'http://v2.wallabag.org', | 367 | 'value' => 'v2.wallabag.org', |
368 | 'section' => 'analytics', | 368 | 'section' => 'analytics', |
369 | ], | 369 | ], |
370 | [ | 370 | [ |
diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php index 3b28e635..97bb3d12 100644 --- a/src/Wallabag/CoreBundle/Controller/EntryController.php +++ b/src/Wallabag/CoreBundle/Controller/EntryController.php | |||
@@ -330,6 +330,15 @@ class EntryController extends Controller | |||
330 | 330 | ||
331 | $this->updateEntry($entry, 'entry_reloaded'); | 331 | $this->updateEntry($entry, 'entry_reloaded'); |
332 | 332 | ||
333 | // if refreshing entry failed, don't save it | ||
334 | if ($this->getParameter('wallabag_core.fetching_error_message') === $entry->getContent()) { | ||
335 | $bag = $this->get('session')->getFlashBag(); | ||
336 | $bag->clear(); | ||
337 | $bag->add('notice', 'flashes.entry.notice.entry_reloaded_failed'); | ||
338 | |||
339 | return $this->redirect($this->generateUrl('view', ['id' => $entry->getId()])); | ||
340 | } | ||
341 | |||
333 | $em = $this->getDoctrine()->getManager(); | 342 | $em = $this->getDoctrine()->getManager(); |
334 | $em->persist($entry); | 343 | $em->persist($entry); |
335 | $em->flush(); | 344 | $em->flush(); |
diff --git a/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php b/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php index 9425f961..a5e1be65 100644 --- a/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php +++ b/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php | |||
@@ -122,7 +122,7 @@ class LoadSettingData extends AbstractFixture implements OrderedFixtureInterface | |||
122 | ], | 122 | ], |
123 | [ | 123 | [ |
124 | 'name' => 'piwik_host', | 124 | 'name' => 'piwik_host', |
125 | 'value' => 'http://v2.wallabag.org', | 125 | 'value' => 'v2.wallabag.org', |
126 | 'section' => 'analytics', | 126 | 'section' => 'analytics', |
127 | ], | 127 | ], |
128 | [ | 128 | [ |
diff --git a/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php b/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php index d8141eea..3a3da024 100644 --- a/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php +++ b/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php | |||
@@ -39,6 +39,8 @@ class Configuration implements ConfigurationInterface | |||
39 | ->integerNode('cache_lifetime') | 39 | ->integerNode('cache_lifetime') |
40 | ->defaultValue(10) | 40 | ->defaultValue(10) |
41 | ->end() | 41 | ->end() |
42 | ->scalarNode('fetching_error_message') | ||
43 | ->end() | ||
42 | ->end() | 44 | ->end() |
43 | ; | 45 | ; |
44 | 46 | ||
diff --git a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php index 0cbde908..b4992d54 100644 --- a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php +++ b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php | |||
@@ -23,6 +23,7 @@ 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.fetching_error_message', $config['fetching_error_message']); | ||
26 | 27 | ||
27 | $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); | 28 | $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); |
28 | $loader->load('services.yml'); | 29 | $loader->load('services.yml'); |
diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml index a4b727f4..614488a6 100644 --- a/src/Wallabag/CoreBundle/Resources/config/services.yml +++ b/src/Wallabag/CoreBundle/Resources/config/services.yml | |||
@@ -40,7 +40,7 @@ services: | |||
40 | class: Graby\Graby | 40 | class: Graby\Graby |
41 | arguments: | 41 | arguments: |
42 | - | 42 | - |
43 | error_message: "wallabag can't retrieve contents for this article. Please report this issue to us." | 43 | error_message: '%wallabag_core.fetching_error_message%' |
44 | http_client: | 44 | http_client: |
45 | user_agents: | 45 | user_agents: |
46 | 'lifehacker.com': 'PHP/5.2' | 46 | 'lifehacker.com': 'PHP/5.2' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml index bb23b5fe..714ced14 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml | |||
@@ -445,6 +445,9 @@ user: | |||
445 | # delete_confirm: Are you sure? | 445 | # delete_confirm: Are you sure? |
446 | # back_to_list: Back to list | 446 | # back_to_list: Back to list |
447 | 447 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
449 | config: | 452 | config: |
450 | notice: | 453 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml index d1df8669..57e49f84 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml | |||
@@ -445,6 +445,9 @@ user: | |||
445 | delete_confirm: Bist du sicher? | 445 | delete_confirm: Bist du sicher? |
446 | back_to_list: Zurück zur Liste | 446 | back_to_list: Zurück zur Liste |
447 | 447 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
449 | config: | 452 | config: |
450 | notice: | 453 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml index 4a8934b8..4a59c75e 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml | |||
@@ -445,6 +445,9 @@ user: | |||
445 | delete_confirm: Are you sure? | 445 | delete_confirm: Are you sure? |
446 | back_to_list: Back to list | 446 | back_to_list: Back to list |
447 | 447 | ||
448 | error: | ||
449 | page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
449 | config: | 452 | config: |
450 | notice: | 453 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml index 29f0676e..1b1e0cb1 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml | |||
@@ -445,6 +445,9 @@ user: | |||
445 | # delete_confirm: Are you sure? | 445 | # delete_confirm: Are you sure? |
446 | # back_to_list: Back to list | 446 | # back_to_list: Back to list |
447 | 447 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
449 | config: | 452 | config: |
450 | notice: | 453 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml index 074ab7a8..41dc8acf 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml | |||
@@ -444,6 +444,9 @@ user: | |||
444 | # delete_confirm: Are you sure? | 444 | # delete_confirm: Are you sure? |
445 | # back_to_list: Back to list | 445 | # back_to_list: Back to list |
446 | 446 | ||
447 | error: | ||
448 | # page_title: An error occurred | ||
449 | |||
447 | flashes: | 450 | flashes: |
448 | config: | 451 | config: |
449 | notice: | 452 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml index 55453b6c..7fb9681d 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml | |||
@@ -365,7 +365,7 @@ import: | |||
365 | how_to: "Choisissez le fichier de sauvegarde de vos marques-page et cliquez sur le bouton pour l'importer. Soyez avertis que le processus peut prendre un temps assez long car tous les articles doivent être récupérés en ligne." | 365 | how_to: "Choisissez le fichier de sauvegarde de vos marques-page et cliquez sur le bouton pour l'importer. Soyez avertis que le processus peut prendre un temps assez long car tous les articles doivent être récupérés en ligne." |
366 | instapaper: | 366 | instapaper: |
367 | page_title: 'Import > Instapaper' | 367 | page_title: 'Import > Instapaper' |
368 | description: 'Sur la page des paramètres (`https://www.instapaper.com/user<https://www.instapaper.com/user>`_), cliquez sur "Download .CSV file" dans la section "Export". Un fichier CSV se téléchargera ("instapaper-export.csv").' | 368 | description: 'Sur la page des paramètres (https://www.instapaper.com/user), cliquez sur "Download .CSV file" dans la section "Export". Un fichier CSV se téléchargera ("instapaper-export.csv").' |
369 | how_to: "Choisissez le fichier de votre export Instapaper et cliquez sur le bouton ci-dessous pour l'importer." | 369 | how_to: "Choisissez le fichier de votre export Instapaper et cliquez sur le bouton ci-dessous pour l'importer." |
370 | 370 | ||
371 | developer: | 371 | developer: |
@@ -445,6 +445,9 @@ user: | |||
445 | delete_confirm: Êtes-vous sûr? | 445 | delete_confirm: Êtes-vous sûr? |
446 | back_to_list: Revenir à la liste | 446 | back_to_list: Revenir à la liste |
447 | 447 | ||
448 | error: | ||
449 | page_title: Une erreur est survenue | ||
450 | |||
448 | flashes: | 451 | flashes: |
449 | config: | 452 | config: |
450 | notice: | 453 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml index 67205c6d..b279ae40 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml | |||
@@ -445,6 +445,9 @@ user: | |||
445 | # delete_confirm: Are you sure? | 445 | # delete_confirm: Are you sure? |
446 | # back_to_list: Back to list | 446 | # back_to_list: Back to list |
447 | 447 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
449 | config: | 452 | config: |
450 | notice: | 453 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml index 25e5f05a..a4659620 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml | |||
@@ -445,6 +445,9 @@ user: | |||
445 | # delete_confirm: Are you sure? | 445 | # delete_confirm: Are you sure? |
446 | # back_to_list: Back to list | 446 | # back_to_list: Back to list |
447 | 447 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
449 | config: | 452 | config: |
450 | notice: | 453 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml index 392f9c19..798b39c2 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml | |||
@@ -445,6 +445,9 @@ user: | |||
445 | delete_confirm: Jesteś pewien? | 445 | delete_confirm: Jesteś pewien? |
446 | back_to_list: Powrót do listy | 446 | back_to_list: Powrót do listy |
447 | 447 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
449 | config: | 452 | config: |
450 | notice: | 453 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml index 152d5020..21f27e08 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml | |||
@@ -445,6 +445,9 @@ user: | |||
445 | # delete_confirm: Are you sure? | 445 | # delete_confirm: Are you sure? |
446 | # back_to_list: Back to list | 446 | # back_to_list: Back to list |
447 | 447 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
449 | config: | 452 | config: |
450 | notice: | 453 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml index a2eca59b..f137ec99 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml | |||
@@ -444,6 +444,9 @@ user: | |||
444 | # delete_confirm: Are you sure? | 444 | # delete_confirm: Are you sure? |
445 | # back_to_list: Back to list | 445 | # back_to_list: Back to list |
446 | 446 | ||
447 | error: | ||
448 | # page_title: An error occurred | ||
449 | |||
447 | flashes: | 450 | flashes: |
448 | config: | 451 | config: |
449 | notice: | 452 | notice: |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig index 804adb36..f77264c6 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig | |||
@@ -39,7 +39,7 @@ | |||
39 | <meta name="twitter:image" content="{{ picturePath }}" /> | 39 | <meta name="twitter:image" content="{{ picturePath }}" /> |
40 | <meta name="twitter:site" content="@wallabagapp" /> | 40 | <meta name="twitter:site" content="@wallabagapp" /> |
41 | <meta name="twitter:title" content="{{ entry.title | raw }}" /> | 41 | <meta name="twitter:title" content="{{ entry.title | raw }}" /> |
42 | <meta name="twitter:description" content="{{ entry.title | raw }}" /> | 42 | <meta name="twitter:description" content="{{ entry.content|striptags|slice(0, 300)|raw }}…" /> |
43 | </head> | 43 | </head> |
44 | <body> | 44 | <body> |
45 | <header> | 45 | <header> |
diff --git a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php index 783cde3e..a305c53f 100644 --- a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php +++ b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php | |||
@@ -138,8 +138,11 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa | |||
138 | $interval = $user->getCreatedAt()->diff(new \DateTime('now')); | 138 | $interval = $user->getCreatedAt()->diff(new \DateTime('now')); |
139 | $nbDays = (int) $interval->format('%a') ?: 1; | 139 | $nbDays = (int) $interval->format('%a') ?: 1; |
140 | 140 | ||
141 | // force setlocale for date translation | ||
142 | setlocale(LC_TIME, strtolower($user->getConfig()->getLanguage()).'_'.strtoupper(strtolower($user->getConfig()->getLanguage()))); | ||
143 | |||
141 | return $this->translator->trans('footer.stats', [ | 144 | return $this->translator->trans('footer.stats', [ |
142 | '%user_creation%' => $user->getCreatedAt()->format('F jS, Y'), | 145 | '%user_creation%' => strftime('%e %B %Y', $user->getCreatedAt()->getTimestamp()), |
143 | '%nb_archives%' => $nbArchives, | 146 | '%nb_archives%' => $nbArchives, |
144 | '%per_day%' => round($nbArchives / $nbDays, 2), | 147 | '%per_day%' => round($nbArchives / $nbDays, 2), |
145 | ]); | 148 | ]); |
diff --git a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php index 2b85ad76..b893ea29 100644 --- a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php +++ b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php | |||
@@ -50,9 +50,10 @@ abstract class AbstractConsumer | |||
50 | $entry = $this->import->parseEntry($storedEntry); | 50 | $entry = $this->import->parseEntry($storedEntry); |
51 | 51 | ||
52 | if (null === $entry) { | 52 | if (null === $entry) { |
53 | $this->logger->warning('Unable to parse entry', ['entry' => $storedEntry]); | 53 | $this->logger->warning('Entry already exists', ['entry' => $storedEntry]); |
54 | 54 | ||
55 | return false; | 55 | // return true to skip message |
56 | return true; | ||
56 | } | 57 | } |
57 | 58 | ||
58 | try { | 59 | try { |
diff --git a/src/Wallabag/ImportBundle/Import/BrowserImport.php b/src/Wallabag/ImportBundle/Import/BrowserImport.php index 9d75685b..2ca1683b 100644 --- a/src/Wallabag/ImportBundle/Import/BrowserImport.php +++ b/src/Wallabag/ImportBundle/Import/BrowserImport.php | |||
@@ -139,12 +139,24 @@ abstract class BrowserImport extends AbstractImport | |||
139 | public function parseEntry(array $importedEntry) | 139 | public function parseEntry(array $importedEntry) |
140 | { | 140 | { |
141 | if ((!array_key_exists('guid', $importedEntry) || (!array_key_exists('id', $importedEntry))) && is_array(reset($importedEntry))) { | 141 | if ((!array_key_exists('guid', $importedEntry) || (!array_key_exists('id', $importedEntry))) && is_array(reset($importedEntry))) { |
142 | if ($this->producer) { | ||
143 | $this->parseEntriesForProducer($importedEntry); | ||
144 | |||
145 | return; | ||
146 | } | ||
147 | |||
142 | $this->parseEntries($importedEntry); | 148 | $this->parseEntries($importedEntry); |
143 | 149 | ||
144 | return; | 150 | return; |
145 | } | 151 | } |
146 | 152 | ||
147 | if (array_key_exists('children', $importedEntry)) { | 153 | if (array_key_exists('children', $importedEntry)) { |
154 | if ($this->producer) { | ||
155 | $this->parseEntriesForProducer($importedEntry['children']); | ||
156 | |||
157 | return; | ||
158 | } | ||
159 | |||
148 | $this->parseEntries($importedEntry['children']); | 160 | $this->parseEntries($importedEntry['children']); |
149 | 161 | ||
150 | return; | 162 | return; |