diff --git a/src/Wallabag/CoreBundle/Entity/Entry.php b/src/Wallabag/CoreBundle/Entity/Entry.php index 4d7e001be..c3e6b4d5d 100644 --- a/src/Wallabag/CoreBundle/Entity/Entry.php +++ b/src/Wallabag/CoreBundle/Entity/Entry.php @@ -101,7 +101,7 @@ class Entry * * @ORM\Column(name="created_at", type="datetime") * - * @Groups({"export_all"}) + * @Groups({"entries_for_user", "export_all"}) */ private $createdAt; @@ -110,7 +110,7 @@ class Entry * * @ORM\Column(name="updated_at", type="datetime") * - * @Groups({"export_all"}) + * @Groups({"entries_for_user", "export_all"}) */ private $updatedAt; diff --git a/src/Wallabag/CoreBundle/Helper/EntriesExport.php b/src/Wallabag/CoreBundle/Helper/EntriesExport.php index 0cf835b48..732763192 100644 --- a/src/Wallabag/CoreBundle/Helper/EntriesExport.php +++ b/src/Wallabag/CoreBundle/Helper/EntriesExport.php @@ -298,7 +298,7 @@ class EntriesExport $enclosure = '"'; $handle = fopen('php://memory', 'rb+'); - fputcsv($handle, ['Title', 'URL', 'Content', 'Tags', 'MIME Type', 'Language'], $delimiter, $enclosure); + fputcsv($handle, ['Title', 'URL', 'Content', 'Tags', 'MIME Type', 'Language', 'Creation date'], $delimiter, $enclosure); foreach ($this->entries as $entry) { fputcsv( @@ -311,6 +311,7 @@ class EntriesExport implode(', ', $entry->getTags()->toArray()), $entry->getMimetype(), $entry->getLanguage(), + $entry->getCreatedAt()->format('d/m/Y h:i:s'), ], $delimiter, $enclosure diff --git a/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php b/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php index b22156c37..47b86117d 100644 --- a/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php @@ -168,7 +168,7 @@ class ExportControllerTest extends WallabagCoreTestCase $this->assertGreaterThan(1, $csv); // +1 for title line $this->assertEquals(count($contentInDB) + 1, count($csv)); - $this->assertEquals('Title;URL;Content;Tags;"MIME Type";Language', $csv[0]); + $this->assertEquals('Title;URL;Content;Tags;"MIME Type";Language;"Creation date"', $csv[0]); } public function testJsonExport() @@ -210,6 +210,8 @@ class ExportControllerTest extends WallabagCoreTestCase $this->assertArrayHasKey('reading_time', $content[0]); $this->assertArrayHasKey('domain_name', $content[0]); $this->assertArrayHasKey('tags', $content[0]); + $this->assertArrayHasKey('created_at', $content[0]); + $this->assertArrayHasKey('updated_at', $content[0]); } public function testXmlExport() @@ -247,5 +249,7 @@ class ExportControllerTest extends WallabagCoreTestCase $this->assertNotEmpty('url', (string) $content->entry[0]->url); $this->assertNotEmpty('content', (string) $content->entry[0]->content); $this->assertNotEmpty('domain_name', (string) $content->entry[0]->domain_name); + $this->assertNotEmpty('created_at', (string) $content->entry[0]->created_at); + $this->assertNotEmpty('updated_at', (string) $content->entry[0]->updated_at); } } diff --git a/tests/Wallabag/ImportBundle/fixtures/wallabag-v2-read.json b/tests/Wallabag/ImportBundle/fixtures/wallabag-v2-read.json index 3fa0bddf6..d86092806 100644 --- a/tests/Wallabag/ImportBundle/fixtures/wallabag-v2-read.json +++ b/tests/Wallabag/ImportBundle/fixtures/wallabag-v2-read.json @@ -4,6 +4,8 @@ "title": "Wikimedia Foundation removes The Diary of Anne Frank due to copyright law requirements « Wikimedia blog", "url": "https://blog.wikimedia.org/2016/02/10/anne-frank-diary-removal/", "is_archived": true, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": false, "content": "
Anne Frank in 1940. Photo by Collectie Anne Frank Stichting Amsterdam, public domain.
Today, in an unfortunate example of the overreach of the United States’ current copyright law, the Wikimedia Foundation removed the Dutch-language text of The Diary of a Young Girl—more commonly known in English as the Diary of Anne Frank—from Wikisource.[1]
\nWe took this action to comply with the United States’ Digital Millennium Copyright Act (DMCA), as we believe the diary is still under US copyright protection under the law as it is currently written. Nevertheless, our removal serves as an excellent example of why the law should be changed to prevent repeated extensions of copyright terms, an issue that has plagued our communities for years.
\nThe deletion was required because the Foundation is under the jurisdiction of US law and is therefore subject to the DMCA, specifically title 17, chapter 5, section 512 of the United States Code. As we noted in 2013, “The location of the servers, incorporation, and headquarters are just three of many factors that establish US jurisdiction … if infringing content is linked to or embedded in Wikimedia projects, then the Foundation may still be subject to liability for such use—either as a direct or contributory infringer.
\nBased on email discussions sent to the Wikimedia Foundation at legal[at]wikimedia.org, we determined that the Wikimedia Foundation had either “actual knowledge” (i in the statute quoted below) or what is commonly called “red flag knowledge” (ii in the statute quoted below) that the Anne Frank text was hosted on Wikisource and was under copyright. The statute section states that a service provider is only protected by the DMCA when it:
\n(i) does not have actual knowledge that the material or an activity using the material on the system or network is infringing;
\n(ii) in the absence of such actual knowledge, is not aware of facts or circumstances from which infringing activity is apparent; or
\n(The rest applies when we get a proper DMCA takedown notice.)
\nOf particular concern, the US’ 9th Circuit Court of Appeals stated in their ruling for UMG Recordings, Inc. v. Shelter Capital Partners LLC that in circumstances where a hosting provider (like the Wikimedia Foundation) is informed by a third party (like an unrelated user) about infringing copyrighted content, that would likely constitute either actual or red flag knowledge under the DMCA.
\nWe believe, based on the detail and specificity contained in the emails, that we received that we had actual knowledge sufficient for the DMCA to require us to perform a takedown even in the absence of a demand letter.
\nYou may wonder why or how the Anne Frank text is copyrighted at all, as Anne Frank died in February 1945. With 70 years having passed since her death, the text may have passed into public domain in the Netherlands on January 1, 2016, where it was first published, although there is still some dispute about this.
\nHowever, in the United States, the Anne Frank original text will be under copyright until 2042. This is the result of several factors coming together, and the English-language Wikipedia has actually covered this issue with a multi-part test on its non-US copyrights content guideline.
\nIn short, there are three major laws that together make the diary still copyrighted:
\nCourt challenges to the URAA have all failed, with the most notable (Golan v. Holder) resulting in a Supreme Court ruling that upheld the URAA.
\nWhat that means for Anne Frank’s diary is unfortunately simple: no matter how it wound up in the United States and regardless of what formal copyright notices they used, the US grants it copyright until the year 2042, or 95 years after its original publication in 1947.
\nUnder current copyright law, this remains true regardless of its copyright status anywhere else in the world and regardless of whether it may have been in the public domain in the United States in the past.
\nJacob Rogers, Legal Counsel*
Wikimedia Foundation
*Special thanks to Anisha Mangalick, Legal Fellow, for her assistance in this matter.
\n[1] The diary text was originally located at https://nl.wikisource.org/wiki/Het_Achterhuis_(Anne_Frank).
\nThis article was edited to clarify that it is not just the location of the Wikimedia Foundation’s servers that determine whether we fall in US jurisdiction.
\n\t\t\t\t\t\t\t\t\t\t\t", "mimetype": "text/html", @@ -17,6 +19,8 @@ "title": "Tails - Tails 2.0.1 is out", "url": "https://tails.boum.org/news/version_2.0.1/index.en.html", "is_archived": false, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": false, "content": "This release fixes numerous security issues. All users must upgrade as soon as possible.
\n\nTails now uses the GNOME Shell desktop environment, in its Classic mode. GNOME Shell provides a modern, simple, and actively developed desktop environment. The Classic mode keeps the traditional Applications, Places menu, and windows list. Accessibility and non-Latin input sources are also better integrated.
\nTo find your way around, read our introduction to GNOME and the Tails desktop.
\n\n |
\n |
Debian 8 upgrades most included software, for example:
\nUpdate Tor Browser to 5.5 (based on Firefox 38.6.0 ESR):
\nRemove the Windows camouflage which is currently broken in GNOME Shell. We started working on adding it back but your help is needed!
\nChange to systemd
as init system and use it to:
Update most firmware packages which might improve hardware compatibility.
\nNotify the user if Tails is running from a non-free virtualization software.
\nRemove Claws Mail, replaced by Icedove, a rebranded version of Mozilla Thunderbird.
\nHiDPI displays are better supported. (#8659)
\nRemove the option to open a download with an external application in Tor Browser as this is usually impossible due to the AppArmor confinement. (#9285)
\nClose Vidalia before restarting Tor.
\nAllow configuring printers without administration password. (#8443)
\nSee the current list of known issues.
\nGo to the download or upgrade page.
\nIf your Tails does not boot after an automatic upgrade, please upgrade your Tails manually.
\nThe next Tails release is scheduled for March 08.
\nHave a look at our roadmap to see where we are heading to.
\nWe need your help and there are many ways to contribute to Tails (donating is only one of them). Come talk to us!
\n18 janv. 2016 | Par
\nCAMédia après un échange sur « l'éthique du débat » a lancé deux discussions , l'une sur le thème de la laïcité, l'autre ( encore en cours) sur celui de la démocratie. Nous sommes heureux de pouvoir signaler la création de deux nouvelles éditions participatives sur ces thèmes. Nous vous invitons à les lire et à participer à leurs débats.
\n17 janv. 2016 | Par
\nJe parlerai ici des rêves comme moteur de vie, de ces rêves qui vous rattachent et vous font espérer à ce qu’il y a de plus humain dans l’homme, même au milieu de la plus noire des détresses.
\n18 janv. 2016 | Par
\nEn ce début d’année, je recommande la lecture du dernier ouvrage de Guillaume Duval, La France ne sera jamais plus une grande puissance ? Tant mieux !
\n18 janv. 2016 | Par
\nLes temps sont durs pour les petites structures, les associations culturelles qui, de bourgades en villages, travaillent au cœur des régions. Leurs subventions sont souvent revues à la baisse. Le département de l’Allier les a carrément supprimées. Pour favoriser « l’événementiel ».
\n18 janv. 2016 | Par
\nLora Verheecke et David Lundy travaillent pour Corporate Europe Observatory, une ONG basée à Bruxelles qui enquête sur le pouvoir des lobbies des grandes entreprises sur la politique de l’Union européenne. Ils révèlent que depuis 25 ans le projet de « coopération réglementaire » mené par l’Union européenne et les États-Unis a été dominé par les grandes entreprises. ET que le TTIP cherche à entériner ce projet.
\n18 janv. 2016 | Par
\nLes turbulences de l’an passé ont toutes les chances de continuer à troubler le climat politique et social de l’Afrique du Sud en 2016. La situation exige des changements profonds dans la conduite des affaires du pays. Jacob Zuma tout en admettant la nécessité de ces changements, est-il l’homme de la situation ? Son gouvernement répondra-t-il aux attentes des citoyens sud-africains ?
\n14 janv. 2016 | Par
\nJ’ai une fringale d’aventure, d’aventures à venir. J’ai la fringale de la fringale des aventures et soudain, rupture. Je n’y arrive plus, tout est bloqué, tout empêché. Faut dire que depuis un an environ, tout est devenu plus compliqué. Ecrire va de moins en moins de soi.
\n17 janv. 2016 | Par
\nS’il est une caractéristique de la forme scolaire française bien établie dans la culture des personnels, des élèves et des parents, c’est bien le redoublement, censé sanctionner des résultats insuffisants pour envisager le passage dans la classe supérieure. Or, en ce domaine, l’évolution est nette.
\n16 janv. 2016 | Par Michel de Pracontal
\nLes restes d’un mammouth retrouvés en Arctique sibérien, datés de 45 000 ans, portent les traces de blessures infligées par des chasseurs humains. Les scientifiques pensaient jusqu’ici que notre espèce ne s’était pas aventurée dans cette région glaciale il y a plus de 30 000 ou 35 0000 ans. En réalité, des hommes ont réussi à survivre en Arctique au moins 10 000 ans plus tôt que l’on croyait.
\n14 janv. 2016 | Par
\nTrois ouvrages sont parus au Seuil, qui font état de la nécessité d’intégrer le citoyen dans la gouvernance de la nation. Non pas à titre consultatif mais doté d’un pouvoir délibératif pour constituer une contre-force face aux clans politico-financiers qui dominent la vie publique.
\nPour un sommet sur les réfugiés qui devait se concentrer sur des «mesures opérationnelles immédiates» dans les Balkans, la réunion, dimanche à Bruxelles, de 11 chefs d’Etat et de gouvernement, dont 8 Européens, a été agitée. Dès leur arrivée, Viktor Orbán (Hongrie) et Aléxis Tsípras (Grèce) se sont jeté des anathèmes. Le Premier ministre grec a dénoncé l’attitude «not in my backyard» (pas de ça chez moi) de certains Etats européens, alors que son pays est montré du doigt par d’autres dirigeants, dont Orbán : ils reprochent à la Grèce de ne pas suffisamment contrôler ses frontières avec la Turquie et ne pas montrer assez de zèle dans l’enregistrement des demandeurs d’asile.
\nLe sommet, convoqué par la Commission européenne, sur suggestion de l’Allemagne, aura au moins permis à ces 11 Etats – Autriche, Bulgarie, Croatie, Allemagne, Grèce, Hongrie, Roumanie, Slovénie côté européen, et 3 pays «non UE», Albanie, Macédoine et Serbie – de discuter ensemble.
\nL’objectif, rappelé par Angela Merkel, était de trouver une «réponse coordonnée» à la crise des réfugiés. Quelques mesures ont été annoncées : 100 000 places d’accueil seront créées, dont 50 000 en Grèce, et le reste le long de la route des Balkans. 400 officiers de police de pays européens partiront en Slovénie, actuellement submergée, pour aider au contrôle des frontières. Frontex, l’agence européenne de surveillance des frontières, s’impliquera aux frontières gréco-macédonienne et gréco-albanaise pour des contrôles et identifications.
\nCe sommet est intervenu dans un contexte de fortes tensions, marqué par des fermetures de frontières bloquant les réfugiés dans des zones tampon. Ces obstacles ont été partiellement levés ces derniers jours, les autorités tentant d’organiser un «corridor» informel vers l’Allemagne, qui pourtant durcit sa politique d’accueil et souhaite désormais ralentir le flux. Mais la situation des réfugiés est catastrophique. L’ONG Human Rights Watch craint que des réfugiés ne meurent dans les Balkans. Des groupes de centaines, voire de milliers de personnes, bloqués près des postes-frontières, se retrouvent dans des conditions humanitaires intenables.
\nDepuis mi-septembre, 250 000 personnes ont traversé les Balkans. En une semaine, la Slovénie a vu 60 000 réfugiés fouler le sol de son territoire. Dimanche, 15 000 personnes ont transité en Slovénie.
\nL’enjeu principal du sommet, aux yeux de nombreux Etats de l’Union européenne, était aussi que les pays des Balkans «prennent leur part» face à la crise : qu’ils accueillent et enregistrent davantage de réfugiés. Ces Etats craignent que l’Autriche ou l’Allemagne ne ferment leurs frontières et fassent de leurs pays des «zones tampon», comme s’en inquiétait Boyko Borissov, Premier ministre bulgare.
\n« Aujourd’hui, plusieurs Etats du nord de l’Europe veulent que l’on enregistre les migrants puis que l’on détermine leur éligibilité au statut de réfugié, explique Marc Pierini, du think tank Carnegie Europe. La difficulté, c’est que les gens sont en mouvement. Pour le faire, il faut se poser quelque part. La crainte des pays intermédiaires, donc ceux des Balkans, est qu’on enregistre ces personnes sur leur territoire et qu’ils soient contraints de rester sur leur sol. Donc les pays des Balkans ne sont pas désireux d’accueillir ces réfugiés et ces derniers veulent avancer.»
\nLe sommet a élaboré quelques principes. L’idée générale est de rendre effective la «logique de hotspot» : un enregistrement des demandeurs d’asile à leur point d’entrée dans l’Union européenne, suivi de l’expulsion de ceux qui ne correspondraient pas aux critères de la Convention de Genève, et la répartition des autres, via le mécanisme de relocalisation.
\nDans ce cadre, l’enregistrement des demandeurs d’asile est un élément clé. «Pas d’enregistrement, pas de droit», a prévenu le président de la Commission européenne, Jean-Claude Juncker, dimanche soir. Les Etats ont tenu à rappeler que les migrants qui refusent de demander l’asile à la frontière peuvent se voir refuser l’entrée dans un pays.
\nEt les Etats «décourageront les mouvements de réfugiés» de frontière en frontière. La politique consistant à laisser passer les migrants vers un autre pays est officiellement jugée «inacceptable».
\nVoilà pour la théorie. En pratique, la relocalisation ne devrait concerner que 160 000 réfugiés en deux ans, alors que près de 700 000 personnes sont arrivées en Europe depuis le début de l’année. De plus, les Etats ne jouent pas le jeu. La semaine passée, seules 854 places de relocalisation avaient été proposées.
\nDans ce contexte, il est probable que les Etats des Balkans ne s’impliqueront pas outre mesure dans les solutions proposées, craignant de devoir «garder» les réfugiés alors que l’Union européenne tarde à mettre en œuvre leur répartition.
\nQuant aux réfugiés, ils préfèrent traverser les frontières par eux-mêmes, plutôt que de se jeter dans ces «hotspots», considérés comme la gueule du loup.
\nCédric Vallet", "mimetype": "", @@ -34,6 +38,8 @@ "title": "No title found", "url": "http://news.nationalgeographic.com/2016/02/160211-albatrosses-mothers-babies-animals-science/&sf20739758=1", "is_archived": false, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": true, "content": "Oh, what a shame, no content", "mimetype": "", @@ -44,6 +50,8 @@ }, { "is_archived": 0, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 612, "title": "Échecs", @@ -58,6 +66,8 @@ }, { "is_archived": 0, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 608, "title": "90% des dossiers médicaux des Coréens du sud vendus à des entreprises privées - ZATAZ", @@ -73,6 +83,8 @@ }, { "is_archived": 0, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 606, "title": "Mass Surveillance As Art", @@ -87,6 +99,8 @@ }, { "is_archived": 0, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 605, "title": "What David Cameron did to the pig, his party is now doing to the country", @@ -102,6 +116,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 604, "title": "CLICK HERE to support 2016 CES Winner, Revolutionary Auto-Tracking Robot", @@ -116,6 +132,8 @@ }, { "is_archived": 0, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 1, "id": 603, "title": "No title found", @@ -129,6 +147,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 602, "title": "Présentation d'Arduino - Tuto Arduino - Le blog d'Eskimon", @@ -144,6 +164,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 543, "title": "Lenovo ThinkPad X1 Carbon Ultrabook Review", @@ -159,6 +181,8 @@ }, { "is_archived": 0, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 541, "title": "Visitons le Château de Landsberg !", @@ -174,6 +198,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 454, "title": "Contrer les stéréotypes par les livres : “C'est dès l'enfance qu'ils se construisent”", @@ -189,6 +215,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 99, "title": "[ROM][6.0.1][Layers][N5] TipsyOS official builds {UBER TCs}", @@ -204,6 +232,8 @@ }, { "is_archived": 0, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 98, "title": "Top 15 Podcasts All Web Developers Should Follow - Envato Tuts+ Code Article", @@ -218,6 +248,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 97, "title": "University of Mississippi", @@ -232,6 +264,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 96, "title": "FinnChristiansen.de Jetzt Dank Let’s Encrypt Per HTTPS Erreichbar", @@ -246,6 +280,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 82, "title": "Le développeur et l'ingénierie logicielle", @@ -259,6 +295,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 78, "title": "The Role of Methylation in Gene Expression", @@ -273,6 +311,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 53, "title": "E-Mail-Adresse kostenlos, FreeMail, De-Mail & Nachrichten", @@ -287,6 +327,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 48, "title": "OpenSSH Server on Arch Linux | DominicM test", @@ -302,6 +344,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 39, "title": "Site Moved | Site Help", @@ -316,6 +360,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 38, "title": "#Maroc : le stylo anti-pédophiles EAGLE d’AMESYS est moins bien configuré que les faux-lowers Twitter du roi Mohammed VI", @@ -331,6 +377,8 @@ }, { "is_archived": 1, + "created_at": "2016-09-08T11:55:58+0200", + "updated_at": "2016-09-08T11:57:16+0200", "is_starred": 0, "id": 3, "title": "Simple Cloud Infrastructure for Developers",