diff options
42 files changed, 202 insertions, 22 deletions
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml index 85079330..3e11d675 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml | |||
@@ -23,7 +23,7 @@ export: "eksport" | |||
23 | import: "import" | 23 | import: "import" |
24 | misc: "misc" | 24 | misc: "misc" |
25 | modify_settings: "Gem ændring" | 25 | modify_settings: "Gem ændring" |
26 | piwik_host: Hosting af din side hos Piwik | 26 | piwik_host: Hosting af din side hos Piwik (uden http:// eller https://) |
27 | piwik_site_id: ID for din side hos Piwik | 27 | piwik_site_id: ID for din side hos Piwik |
28 | piwik_enabled: Aktiver Piwik | 28 | piwik_enabled: Aktiver Piwik |
29 | demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)" | 29 | demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)" |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml index b3412af7..c74b5c1f 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml | |||
@@ -23,7 +23,7 @@ export: "Export" | |||
23 | import: "Import" | 23 | import: "Import" |
24 | misc: "Verschiedenes" | 24 | misc: "Verschiedenes" |
25 | modify_settings: "Übernehmen" | 25 | modify_settings: "Übernehmen" |
26 | piwik_host: Host deiner Webseite in Piwik | 26 | piwik_host: Host deiner Webseite in Piwik (ohne http:// oder https://) |
27 | piwik_site_id: ID deiner Webseite in Piwik | 27 | piwik_site_id: ID deiner Webseite in Piwik |
28 | piwik_enabled: Piwik aktivieren | 28 | piwik_enabled: Piwik aktivieren |
29 | demo_mode_enabled: "Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)" | 29 | demo_mode_enabled: "Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)" |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml index 8aaa27e7..77c09db4 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml | |||
@@ -23,7 +23,7 @@ export: "export" | |||
23 | import: "import" | 23 | import: "import" |
24 | misc: "misc" | 24 | misc: "misc" |
25 | modify_settings: "apply" | 25 | modify_settings: "apply" |
26 | piwik_host: Host of your website in Piwik | 26 | piwik_host: Host of your website in Piwik (without http:// ou https://) |
27 | piwik_site_id: ID of your website in Piwik | 27 | piwik_site_id: ID of your website in Piwik |
28 | piwik_enabled: Enable Piwik | 28 | piwik_enabled: Enable Piwik |
29 | demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" | 29 | demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml index bf3a79af..baa83849 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml | |||
@@ -23,7 +23,7 @@ export: "exportar" | |||
23 | import: "importar" | 23 | import: "importar" |
24 | misc: "misc" | 24 | misc: "misc" |
25 | modify_settings: "modificar configuración" | 25 | modify_settings: "modificar configuración" |
26 | piwik_host: Host de tu website de Piwik | 26 | piwik_host: Host de tu website de Piwik (sin http:// o https://) |
27 | piwik_site_id: ID de tu website de Piwik | 27 | piwik_site_id: ID de tu website de Piwik |
28 | piwik_enabled: Activar Piwik | 28 | piwik_enabled: Activar Piwik |
29 | demo_mode_enabled: "Activar modo demo (sólo usado para la demo de wallabag)" | 29 | demo_mode_enabled: "Activar modo demo (sólo usado para la demo de wallabag)" |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml index d86c4343..b394977e 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml | |||
@@ -23,7 +23,7 @@ export: "برونسپاری" | |||
23 | import: "درونریزی" | 23 | import: "درونریزی" |
24 | misc: "غیره" | 24 | misc: "غیره" |
25 | modify_settings: "اعمال" | 25 | modify_settings: "اعمال" |
26 | # piwik_host: Host of your website in Piwik | 26 | # piwik_host: Host of your website in Piwik (without http:// or https://) |
27 | # piwik_site_id: ID of your website in Piwik | 27 | # piwik_site_id: ID of your website in Piwik |
28 | # piwik_enabled: Enable Piwik | 28 | # piwik_enabled: Enable Piwik |
29 | # demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" | 29 | # demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml index 5e1ecf26..31a80880 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml | |||
@@ -23,7 +23,7 @@ export: "export" | |||
23 | import: "import" | 23 | import: "import" |
24 | misc: "divers" | 24 | misc: "divers" |
25 | modify_settings: "appliquer" | 25 | modify_settings: "appliquer" |
26 | piwik_host: URL de votre site dans Piwik | 26 | piwik_host: URL de votre site dans Piwik (sans http:// ou https://) |
27 | piwik_site_id: ID de votre site dans Piwik | 27 | piwik_site_id: ID de votre site dans Piwik |
28 | piwik_enabled: Activer Piwik | 28 | piwik_enabled: Activer Piwik |
29 | demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)" | 29 | demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)" |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml index 9d820e4b..ba038556 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml | |||
@@ -23,7 +23,7 @@ export: "esporta" | |||
23 | import: "importa" | 23 | import: "importa" |
24 | misc: "misc" | 24 | misc: "misc" |
25 | modify_settings: "applica" | 25 | modify_settings: "applica" |
26 | piwik_host: Host del tuo sito in Piwik | 26 | piwik_host: Host del tuo sito in Piwik (senza http:// o https://) |
27 | piwik_site_id: ID del tuo sito in Piwik | 27 | piwik_site_id: ID del tuo sito in Piwik |
28 | piwik_enabled: Abilita Piwik | 28 | piwik_enabled: Abilita Piwik |
29 | demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)" | 29 | demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)" |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml index 49dc7732..55249e33 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml | |||
@@ -23,7 +23,7 @@ export: "expòrt" | |||
23 | import: "impòrt" | 23 | import: "impòrt" |
24 | misc: "divèrs" | 24 | misc: "divèrs" |
25 | modify_settings: "aplicar" | 25 | modify_settings: "aplicar" |
26 | piwik_host: URL de vòstre site dins Piwik | 26 | piwik_host: URL de vòstre site dins Piwik (sense http:// o https://) |
27 | piwik_site_id: ID de vòstre site dins Piwik | 27 | piwik_site_id: ID de vòstre site dins Piwik |
28 | piwik_enabled: Activar Piwik | 28 | piwik_enabled: Activar Piwik |
29 | demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)" | 29 | demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)" |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml index 7432b0a7..42cc5b52 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml | |||
@@ -23,7 +23,7 @@ export: "eksport" | |||
23 | import: "import" | 23 | import: "import" |
24 | misc: "różne" | 24 | misc: "różne" |
25 | modify_settings: "zatwierdz" | 25 | modify_settings: "zatwierdz" |
26 | piwik_host: Host twojej strony Piwik | 26 | piwik_host: Host twojej strony Piwik (bez http:// lub https://) |
27 | piwik_site_id: ID twojej strony Piwik | 27 | piwik_site_id: ID twojej strony Piwik |
28 | piwik_enabled: Włacz Piwik | 28 | piwik_enabled: Włacz Piwik |
29 | demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)" | 29 | demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)" |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml index 20d664f7..8e72b955 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml | |||
@@ -23,7 +23,7 @@ export: "exportă" | |||
23 | import: "importă" | 23 | import: "importă" |
24 | misc: "diverse" | 24 | misc: "diverse" |
25 | modify_settings: "aplică" | 25 | modify_settings: "aplică" |
26 | # piwik_host: Host of your website in Piwik | 26 | # piwik_host: Host of your website in Piwik (without http:// or https://) |
27 | # piwik_site_id: ID of your website in Piwik | 27 | # piwik_site_id: ID of your website in Piwik |
28 | # piwik_enabled: Enable Piwik | 28 | # piwik_enabled: Enable Piwik |
29 | # demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" | 29 | # demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml index 4b4d3edb..55f70843 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml | |||
@@ -23,7 +23,7 @@ | |||
23 | # import: "import" | 23 | # import: "import" |
24 | # misc: "misc" | 24 | # misc: "misc" |
25 | # modify_settings: "apply" | 25 | # modify_settings: "apply" |
26 | # piwik_host: Host of your website in Piwik | 26 | # piwik_host: Host of your website in Piwik (without http:// or https://) |
27 | # piwik_site_id: ID of your website in Piwik | 27 | # piwik_site_id: ID of your website in Piwik |
28 | # piwik_enabled: Enable Piwik | 28 | # piwik_enabled: Enable Piwik |
29 | # demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" | 29 | # demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" |
diff --git a/app/config/config.yml b/app/config/config.yml index 0b4494d3..81d1728a 100644 --- a/app/config/config.yml +++ b/app/config/config.yml | |||
@@ -51,6 +51,8 @@ wallabag_core: | |||
51 | rss_limit: 50 | 51 | rss_limit: 50 |
52 | reading_speed: 1 | 52 | reading_speed: 1 |
53 | cache_lifetime: 10 | 53 | cache_lifetime: 10 |
54 | fetching_error_message: | | ||
55 | wallabag can't retrieve contents for this article. Please <a href="http://doc.wallabag.org/en/master/user/errors_during_fetching.html#how-can-i-help-to-fix-that">troubleshoot this issue</a>. | ||
54 | 56 | ||
55 | wallabag_user: | 57 | wallabag_user: |
56 | registration_enabled: "%fosuser_registration%" | 58 | registration_enabled: "%fosuser_registration%" |
diff --git a/docs/de/index.rst b/docs/de/index.rst index a380d7bd..b422bf83 100644 --- a/docs/de/index.rst +++ b/docs/de/index.rst | |||
@@ -45,6 +45,7 @@ Die Dokumentation ist in anderen Sprachen verfügbar : | |||
45 | user/tags | 45 | user/tags |
46 | user/android | 46 | user/android |
47 | user/parameters | 47 | user/parameters |
48 | user/backup | ||
48 | 49 | ||
49 | .. _dev-docs: | 50 | .. _dev-docs: |
50 | 51 | ||
diff --git a/docs/de/user/backup.rst b/docs/de/user/backup.rst new file mode 100644 index 00000000..ffe3ce37 --- /dev/null +++ b/docs/de/user/backup.rst | |||
@@ -0,0 +1,25 @@ | |||
1 | wallabag sichern | ||
2 | ================ | ||
3 | Da es manchmal vorkommen kann, dass dir ein Fehler mit deiner wallabag unterläuft und du Daten verlierst oder deine wallabag auf einen anderen Server verschieben willst, ist eine Sicherung der Daten sicher ratsam. | ||
4 | Dieser Artikel beschreibt, was du für die Sicherung benötigst. | ||
5 | |||
6 | Grundlegende Einstellungen | ||
7 | -------------------------- | ||
8 | wallabag speichert grundlegende Parameter (etwa der SMTP-Server oder das Datenbank-Backend) in der Datei `app/config/parameters.yml`. | ||
9 | |||
10 | Datenbank | ||
11 | --------- | ||
12 | Da wallabag verschiedene Datenbank-Typen unterstützt, hängt der Weg der Sicherung von dem verwendeten Typ ab. Daher verweisen wir an dieser Stelle auf die entsprechenden Dokumentationen: | ||
13 | |||
14 | Hier sind einige Beispiele: | ||
15 | |||
16 | - MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html | ||
17 | - PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html | ||
18 | |||
19 | SQLite | ||
20 | ~~~~~~ | ||
21 | Um die SQLite-Datenbank zu sichern, ist es lediglich notwendig, das Verzeichnis `data/db` aus dem wallabag-Installations-Ordner zu kopieren. | ||
22 | |||
23 | Bilder | ||
24 | ------ | ||
25 | Die Bilder, die von wallabag empfangen worden, sind unter `data/assets/images` gespeichert (der Bilder-Speicher wird in wallabag 2.2 implementiert). | ||
diff --git a/docs/en/index.rst b/docs/en/index.rst index 6d85db2b..0ead261b 100644 --- a/docs/en/index.rst +++ b/docs/en/index.rst | |||
@@ -46,6 +46,7 @@ The documentation is available in other languages: | |||
46 | user/tags | 46 | user/tags |
47 | user/android | 47 | user/android |
48 | user/parameters | 48 | user/parameters |
49 | user/backup | ||
49 | 50 | ||
50 | .. _dev-docs: | 51 | .. _dev-docs: |
51 | 52 | ||
diff --git a/docs/en/user/android.rst b/docs/en/user/android.rst index ccbad264..91dcb2fc 100644 --- a/docs/en/user/android.rst +++ b/docs/en/user/android.rst | |||
@@ -79,7 +79,7 @@ Known limitations | |||
79 | 2FA | 79 | 2FA |
80 | ~~~ | 80 | ~~~ |
81 | 81 | ||
82 | Currently the does not support two-factor authentication. You should disable that to get the app working. | 82 | Currently the Android application does not support two-factor authentication. You should disable that to get the application working. |
83 | 83 | ||
84 | 84 | ||
85 | Limited amount of articles with wallabag v2 | 85 | Limited amount of articles with wallabag v2 |
diff --git a/docs/en/user/backup.rst b/docs/en/user/backup.rst new file mode 100644 index 00000000..51721000 --- /dev/null +++ b/docs/en/user/backup.rst | |||
@@ -0,0 +1,25 @@ | |||
1 | Backup wallabag | ||
2 | =============== | ||
3 | Because sometimes you may do a mistake with your wallabag and lose data or in case you need to move your wallabag to another server you want to backup your data. | ||
4 | This articles describes what you need to backup. | ||
5 | |||
6 | Basic settings | ||
7 | -------------- | ||
8 | wallabag stores some basic parameters (like SMTP server or database backend) in the file `app/config/parameters.yml`. | ||
9 | |||
10 | Database | ||
11 | -------- | ||
12 | As wallabag supports different kinds of database, the way to perform the backup depends on the database you use, so you need to refer to the vendor documentation. | ||
13 | |||
14 | Here's some examples: | ||
15 | |||
16 | - MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html | ||
17 | - PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html | ||
18 | |||
19 | SQLite | ||
20 | ~~~~~~ | ||
21 | To backup the SQLite database, you just need to copy the directory `data/db` from the wallabag application directory. | ||
22 | |||
23 | Images | ||
24 | ------ | ||
25 | The images retrieved by wallabag are stored under `data/assets/images` (the images storage will be implemented in wallabag 2.2). | ||
diff --git a/docs/fr/index.rst b/docs/fr/index.rst index 2a265ff3..dbb85910 100644 --- a/docs/fr/index.rst +++ b/docs/fr/index.rst | |||
@@ -46,6 +46,7 @@ La documentation est disponible dans d'autres langues : | |||
46 | user/filters | 46 | user/filters |
47 | user/tags | 47 | user/tags |
48 | user/parameters | 48 | user/parameters |
49 | user/backup | ||
49 | 50 | ||
50 | .. _dev-docs: | 51 | .. _dev-docs: |
51 | 52 | ||
diff --git a/docs/fr/user/backup.rst b/docs/fr/user/backup.rst new file mode 100644 index 00000000..ec4b1f4d --- /dev/null +++ b/docs/fr/user/backup.rst | |||
@@ -0,0 +1,26 @@ | |||
1 | Sauvegarde de wallabag | ||
2 | ====================== | ||
3 | |||
4 | Parce que des fois vous faites des erreurs avec votre installation de wallabag et vous perdez des données ou parce que vous souhaitez migrer votre installation sur un autre serveur, vous souhaitez faire une sauvegarde de vos données. | ||
5 | Cette documentation décrit ce que vous devez sauvegarder. | ||
6 | |||
7 | Configuration | ||
8 | ------------- | ||
9 | wallabag stocke quelques paramètres (comme la configuration SMTP ou les infos de bases de données) dans le fichier `app/config/parameters.yml`. | ||
10 | |||
11 | Base de données | ||
12 | --------------- | ||
13 | Comme wallabag supporte différentes sortes de bases de données, la manière de sauvegarder dépend du type de base de données que vous utilisez, donc vous devez vous en référez à la documentation correspondante. | ||
14 | |||
15 | Quelques exemples : | ||
16 | |||
17 | - MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html | ||
18 | - PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html | ||
19 | |||
20 | SQLite | ||
21 | ~~~~~~ | ||
22 | Pour sauvegarder une base SQLite, vous devez juste copier le répertoire `data/db` de votre installation wallabag. | ||
23 | |||
24 | Images | ||
25 | ------ | ||
26 | Les images sauvegardées par wallabag sont stockées dans `data/assets/images` (le stockage des images sera implémenté dans wallabag 2.2). | ||
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; |
diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php index 9b03a519..05113650 100644 --- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php | |||
@@ -359,11 +359,49 @@ class EntryControllerTest extends WallabagCoreTestCase | |||
359 | 359 | ||
360 | $content = $em | 360 | $content = $em |
361 | ->getRepository('WallabagCoreBundle:Entry') | 361 | ->getRepository('WallabagCoreBundle:Entry') |
362 | ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); | 362 | ->find($content->getId()); |
363 | 363 | ||
364 | $this->assertNotEmpty($content->getContent()); | 364 | $this->assertNotEmpty($content->getContent()); |
365 | } | 365 | } |
366 | 366 | ||
367 | /** | ||
368 | * @depends testPostNewOk | ||
369 | */ | ||
370 | public function testReloadWithFetchingFailed() | ||
371 | { | ||
372 | $this->logInAs('admin'); | ||
373 | $client = $this->getClient(); | ||
374 | |||
375 | $em = $client->getContainer() | ||
376 | ->get('doctrine.orm.entity_manager'); | ||
377 | |||
378 | $content = $em | ||
379 | ->getRepository('WallabagCoreBundle:Entry') | ||
380 | ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); | ||
381 | |||
382 | // put a known failed url | ||
383 | $content->setUrl('http://0.0.0.0/failed.html'); | ||
384 | $em->persist($content); | ||
385 | $em->flush(); | ||
386 | |||
387 | $client->request('GET', '/reload/'.$content->getId()); | ||
388 | |||
389 | $this->assertEquals(302, $client->getResponse()->getStatusCode()); | ||
390 | |||
391 | // force EntityManager to clear previous entity | ||
392 | // otherwise, retrieve the same entity will retrieve change from the previous request :0 | ||
393 | $em->clear(); | ||
394 | $newContent = $em | ||
395 | ->getRepository('WallabagCoreBundle:Entry') | ||
396 | ->find($content->getId()); | ||
397 | |||
398 | $newContent->setUrl($this->url); | ||
399 | $em->persist($newContent); | ||
400 | $em->flush(); | ||
401 | |||
402 | $this->assertNotEquals($client->getContainer()->getParameter('wallabag_core.fetching_error_message'), $newContent->getContent()); | ||
403 | } | ||
404 | |||
367 | public function testEdit() | 405 | public function testEdit() |
368 | { | 406 | { |
369 | $this->logInAs('admin'); | 407 | $this->logInAs('admin'); |
diff --git a/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php b/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php index 5e8ee41d..01a92ad2 100644 --- a/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php +++ b/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php | |||
@@ -219,7 +219,7 @@ JSON; | |||
219 | 219 | ||
220 | $res = $consumer->manage($body); | 220 | $res = $consumer->manage($body); |
221 | 221 | ||
222 | $this->assertFalse($res); | 222 | $this->assertTrue($res); |
223 | $this->assertFalse($consumer->isStopJob($body)); | 223 | $this->assertFalse($consumer->isStopJob($body)); |
224 | } | 224 | } |
225 | } | 225 | } |