From 004fcbbcc7609ca83807f2e38967ef54f469bf72 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sat, 23 Jul 2016 21:24:54 +0200 Subject: Move to new directory structure --- lib/Explore/RecommendedSiteNotFoundException.php | 20 +++ lib/Explore/RecommendedSites.php | 42 ++++++ lib/Explore/feeds/feeds.de.json | 65 +++++++++ lib/Explore/feeds/feeds.en.json | 166 +++++++++++++++++++++++ 4 files changed, 293 insertions(+) create mode 100644 lib/Explore/RecommendedSiteNotFoundException.php create mode 100644 lib/Explore/RecommendedSites.php create mode 100644 lib/Explore/feeds/feeds.de.json create mode 100644 lib/Explore/feeds/feeds.en.json (limited to 'lib/Explore') diff --git a/lib/Explore/RecommendedSiteNotFoundException.php b/lib/Explore/RecommendedSiteNotFoundException.php new file mode 100644 index 000000000..15442273b --- /dev/null +++ b/lib/Explore/RecommendedSiteNotFoundException.php @@ -0,0 +1,20 @@ + + * @author Bernhard Posselt + * @copyright Alessandro Cosentino 2012 + * @copyright Bernhard Posselt 2012, 2014 + */ + +namespace OCA\News\Explore; + +use Exception; + +class RecommendedSiteNotFoundException extends Exception { + +} diff --git a/lib/Explore/RecommendedSites.php b/lib/Explore/RecommendedSites.php new file mode 100644 index 000000000..ecde817cd --- /dev/null +++ b/lib/Explore/RecommendedSites.php @@ -0,0 +1,42 @@ + + * @author Bernhard Posselt + * @copyright Alessandro Cosentino 2012 + * @copyright Bernhard Posselt 2012, 2014 + */ + +namespace OCA\News\Explore; + +class RecommendedSites { + + private $directory; + + /** + * @param string $exploreDir the absolute path to where the recommendation + * config files lie without a trailing slash + */ + public function __construct($exploreDir) { + $this->directory = $exploreDir; + } + + + public function forLanguage($languageCode) { + $file = $this->directory . '/feeds.' . $languageCode . '.json'; + + if (file_exists($file)) { + return json_decode(file_get_contents($file), true); + } else { + $msg = 'No recommended sites found for language code ' . + $languageCode; + throw new RecommendedSiteNotFoundException($msg); + } + } + + +} diff --git a/lib/Explore/feeds/feeds.de.json b/lib/Explore/feeds/feeds.de.json new file mode 100644 index 000000000..4a3759a17 --- /dev/null +++ b/lib/Explore/feeds/feeds.de.json @@ -0,0 +1,65 @@ +{ + "Technologie": [{ + "title": "ComputerBase", + "favicon": "https:\/\/computerbase.de\/favicon.ico", + "url": "http:\/\/www.computerbase.de\/", + "feed": "http:\/\/www.computerbase.de\/rss\/news.xml", + "description": "Unabh\u00e4ngiges Tech-Magazin", + "votes": 100 + }, { + "title": "Golem.de", + "favicon": "http:\/\/golem.de\/favicon.ico", + "url": "http:\/\/www.golem.de\/", + "feed": "http:\/\/golem.de.dynamic.feedsportal.com\/pf\/578068\/http:\/\/rss.golem.de\/rss.php?feed=RSS1.0", + "description": "IT-News fuer Profis", + "votes": 100, + "image": "http:\/\/www.golem.de\/staticrl\/images\/golem-rss.png" + }, { + "title": "derStandard.at \u203a Web", + "favicon": "https:\/\/derstandard.at\/img\/derstandard.at.ico", + "url": "http:\/\/derstandard.at\/Web", + "feed": "http:\/\/derstandard.at\/?page=rss&ressort=web", + "description": "Nachrichten in Echtzeit. derStandard.at: Permanent aktualisierte Nachrichten aus aller Welt vom Online-Newsroom der f\u00fchrenden Qualit\u00e4tszeitung \u00d6sterreichs. Plus die ganze Tageszeitung gratis im WWW. News in German, brought to you by the leading quality newspaper from Austria.", + "votes": 100 + }, { + "title": "Pro-Linux News", + "favicon": "http:\/\/www.pro-linux.de\/favicon.ico", + "url": "http:\/\/www.pro-linux.de\/", + "feed": "http:\/\/www.pro-linux.de\/rss\/index1.xml", + "description": "Wir geben Ihrem Computer das Leben zur\u00fcck", + "votes": 100, + "image": "http:\/\/www.pro-linux.de\/images\/NB3\/base\/global\/pl-logo_i70.png" + }, { + "title": "heise online News", + "favicon": "https:\/\/www.heise.de\/favicon.ico", + "url": "http:\/\/www.heise.de\/newsticker\/", + "feed": "http:\/\/heise.de.feedsportal.com\/c\/35207\/f\/653901\/index.rss", + "description": "Nachrichten nicht nur aus der Welt der Computer", + "votes": 100 + }], + "FOSS": [{ + "title": "heise open news", + "favicon": "https:\/\/www.heise.de\/favicon.ico", + "url": "http:\/\/www.heise.de\/open\/news\/", + "feed": "http:\/\/heise.de.open.feedsportal.com\/c\/32509\/f\/480599\/index.rss", + "description": "Nachrichten zu Open Source", + "votes": 100 + }], + "Blogs": [{ + "title": "Fefes Blog", + "favicon": "http:\/\/blog.fefe.de\/favicon.ico", + "url": "http:\/\/blog.fefe.de\/", + "feed": "http:\/\/blog.fefe.de\/rss.xml?html", + "description": "Verschw\u00f6rungen und Obskures aus aller Welt", + "votes": 100 + } + ], + "Nachrichten": [{ + "title": "derStandard.at", + "favicon": "https:\/\/derstandard.at\/img\/derstandard.at.ico", + "url": "http:\/\/derstandard.at\/", + "feed": "http:\/\/derstandard.at\/?page=rss&ressort=seite1", + "description": "Nachrichten in Echtzeit. derStandard.at: Permanent aktualisierte Nachrichten aus aller Welt vom Online-Newsroom der f\u00fchrenden Qualit\u00e4tszeitung \u00d6sterreichs. Plus die ganze Tageszeitung gratis im WWW. News in German, brought to you by the leading quality newspaper from Austria.", + "votes": 100 + }] +} diff --git a/lib/Explore/feeds/feeds.en.json b/lib/Explore/feeds/feeds.en.json new file mode 100644 index 000000000..162ef59d3 --- /dev/null +++ b/lib/Explore/feeds/feeds.en.json @@ -0,0 +1,166 @@ +{ + "Nextcloud": [{ + "title": "Nextcloud Planet", + "favicon": "https://nextcloud.com/contribook/main/images/nextcloud/100.png", + "url": "https://nextcloud.com/news/", + "feed": "https://nextcloud.com/feed/", + "description": "Nextcloud Planet is a blog feed aggregator", + "votes": 1000 + }, { + "title": "News app releases", + "favicon": "https://nextcloud.com/contribook/main/images/nextcloud/100.png", + "url": "https://github.com/nextcloud/news/releases", + "feed": "https://github.com/nextcloud/news/releases.atom", + "description": "Nextcloud News app releases page. Get notified when a new release comes out", + "votes": 900 + }], + "FOSS": [{ + "title": "Planet GNOME", + "favicon": "http:\/\/planet.gnome.org\/img\/gnome-16.png", + "url": "http:\/\/planet.gnome.org\/", + "feed": "http:\/\/planet.gnome.org\/rss20.xml", + "description": "Planet GNOME - http:\/\/planet.gnome.org\/", + "votes": 100 + }, { + "title": "Planet KDE", + "favicon": "https:\/\/planetkde.org\/favicon.ico", + "url": "http:\/\/planetKDE.org\/", + "feed": "http:\/\/planetKDE.org\/rss20.xml", + "description": "Planet KDE - http:\/\/planetKDE.org\/", + "votes": 100 + }, { + "title": "Planet Mozilla", + "favicon": "https:\/\/planet.mozilla.org\/img\/mozilla-16.png", + "url": "http:\/\/planet.mozilla.org\/", + "feed": "http:\/\/planet.mozilla.org\/atom.xml", + "description": "Planet Mozilla - Mozilla Blogs", + "votes": 100 + } + + ], + "Tech": [{ + "title": "Slashdot", + "favicon": "https://slashdot.org/favicon.ico", + "url": "https://slashdot.org", + "feed": "https://rss.slashdot.org/Slashdot/slashdot", + "description": "Slashdot: News for nerds, stuff that matters", + "votes": 500 + }], + "Gaming": [{ + "title": "TotalBiscuit, The Cynical Brit", + "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico", + "url": "http:\/\/www.youtube.com\/channel\/UCy1Ms_5qBTawC-k7PVjHXKQ", + "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCy1Ms_5qBTawC-k7PVjHXKQ", + "description": "General gaming news and reviews", + "votes": 100 + }, { + "title": "Force Gaming", + "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico", + "url": "http:\/\/www.youtube.com\/channel\/UCGhs9S33RAeT5DEuKTO4Oew", + "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCGhs9S33RAeT5DEuKTO4Oew", + "description": "General gaming news and reviews", + "votes": 100 + }, { + "title": "Trump", + "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico", + "url": "http:\/\/www.youtube.com\/channel\/UCsQnAt5I56M-qx4OgCoVmeA", + "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCsQnAt5I56M-qx4OgCoVmeA", + "description": "Hearthstone focused let's plays", + "votes": 100 + }], + "UX": [{ + "title": "Mozilla UX blog", + "favicon": "https://blog.mozilla.org/ux/wp-content/themes/OneMozilla/img/favicon.ico", + "url": "https://blog.mozilla.org/ux/", + "feed": "https://blog.mozilla.org/ux/feed/", + "description": "Designing great products that make sense & bring joy", + "votes": 500 + }, { + "title": "Little Big Details", + "url": "http://littlebigdetails.com/", + "feed": "http://littlebigdetails.com/rss", + "favicon": "http://33.media.tumblr.com/avatar_21babec3285d_128.png", + "description": "UX eastereggs and goodies", + "votes": 1000 + }, { + "title": "Ignore the code", + "favicon": "http://ignorethecode.net/blog_images/iphone.png", + "url": "http://ignorethecode.net/blog/", + "feed": "http://feeds.feedburner.com/IgnoreTheCode", + "description": "A blog about usability", + "votes": 500 + }, { + "title": "Elezea", + "url": "http://www.elezea.com", + "feed": "http://feedpress.me/elezea", + "description": "Links and articles about technology, design, and sociology. Written by Rian van der Merwe.", + "votes": 500 + }], + "Music": [{ + "title": "Pebber Brown", + "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico", + "url": "http:\/\/www.youtube.com\/channel\/UCbA-Tt8ELg8v0d7RdieeZyA", + "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCbA-Tt8ELg8v0d7RdieeZyA", + "description": "Videos about music theory and scales", + "votes": 100 + }], + "Science": [{ + "title": "Numberphile", + "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico", + "url": "http:\/\/www.youtube.com\/channel\/UCoxcjq-8xIDTYp3uz647V5A", + "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A", + "description": "Awesome mathematics videos", + "votes": 500 + }, { + "title": "Periodic Videos", + "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico", + "url": "http:\/\/www.youtube.com\/channel\/UCtESv1e7ntJaLJYKIO1FoYw", + "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCtESv1e7ntJaLJYKIO1FoYw", + "description": "Videos about elements and chemistry", + "votes": 1000 + }, { + "title": "Sixty Symbols", + "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico", + "url": "http:\/\/www.youtube.com\/channel\/UCvBqzzvUBLCs8Y7Axb-jZew", + "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCvBqzzvUBLCs8Y7Axb-jZew", + "description": "Well explained Physics videos", + "votes": 100 + }, { + "title": "Computerphile", + "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico", + "url": "http:\/\/www.youtube.com\/channel\/UC9-y-6csu5WGm29I7JiwpnA", + "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA", + "description": "Great source of computer science videos", + "votes": 100 + }], + "Food": [{ + "title": "Smitten Kitchen", + "favicon": "http://smittenkitchen.com/uploads/favicon.ico", + "url": "http://smittenkitchen.com/", + "feed": "http://feeds.feedburner.com/smittenkitchen", + "description": "A home cooking weblog from a tiny kitchen in New York City. The place to find all of your new favorite things to cook", + "votes": 500 + }, { + "title": "Food in Jars", + "favicon": "http://foodinjars.com.s164546.gridserver.com/arugulapesto/wp-content/uploads/2013/05/jar-favicon.png", + "url": "http://foodinjars.com/", + "feed": "http://feedpress.me/FIJ", + "description": "A blog dedicated to canning, preserving, and pantry staples made from scratch.", + "votes": 500 + }], + "Comics": [{ + "title": "Explosm.net", + "favicon": "http://explosm.net/favicons/favicon.ico", + "url": "http:\/\/www.explosm.net\/rss.php", + "feed": "http:\/\/feeds.feedburner.com\/Explosm", + "description": "Flash Animations, Daily Comics and more!", + "votes": 100 + }, { + "title": "The Oatmeal - Comics, Quizzes, & Stories", + "favicon": "http:\/\/theoatmeal.com\/favicon.ico", + "url": "http:\/\/theoatmeal.com\/", + "feed": "http:\/\/feeds.feedburner.com\/oatmealfeed", + "description": "The oatmeal tastes better than stale skittles found under the couch cushions", + "votes": 100 + }] +} -- cgit v1.2.3