Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/news.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2016-01-22 19:53:15 +0300
committerBernhard Posselt <dev@bernhard-posselt.com>2016-01-22 19:53:15 +0300
commit9435bfc2174ee35ea36c2ada14dc2a8275e56331 (patch)
treeb4d3058af71f5d1e10c60229f5c1fcecea6a7d02
parentdc9392d0f8881ab7736f0daf1f785e5c3d0871ef (diff)
change explore url
-rw-r--r--appinfo/routes.php2
-rw-r--r--controller/pagecontroller.php22
-rw-r--r--explore/recommendedsitenotfoundexception.php20
-rw-r--r--explore/recommendedsites.php11
-rw-r--r--js/app/Config.js19
-rw-r--r--js/build/app.js19
-rw-r--r--js/build/app.min.js4
-rw-r--r--js/build/app.min.js.map2
-rw-r--r--templates/admin.php3
-rw-r--r--tests/unit/controller/PageControllerTest.php9
10 files changed, 74 insertions, 37 deletions
diff --git a/appinfo/routes.php b/appinfo/routes.php
index 9ebee93ef..e3e61cb8d 100644
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -17,7 +17,7 @@ return ['routes' => [
['name' => 'page#settings', 'url' => '/settings', 'verb' => 'GET'],
['name' => 'page#update_settings', 'url' => '/settings', 'verb' => 'PUT'],
['name' => 'page#manifest', 'url' => '/manifest.webapp', 'verb' => 'GET'],
-['name' => 'page#explore', 'url' => '/explore', 'verb' => 'GET'],
+['name' => 'page#explore', 'url' => '/explore/sites.{lang}.json', 'verb' => 'GET'],
// admin
['name' => 'admin#update', 'url' => '/admin', 'verb' => 'PUT'],
diff --git a/controller/pagecontroller.php b/controller/pagecontroller.php
index 5768549c6..23714f9ae 100644
--- a/controller/pagecontroller.php
+++ b/controller/pagecontroller.php
@@ -20,12 +20,14 @@ use OCP\IURLGenerator;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\AppFramework\Http\JSONResponse;
+use OCP\AppFramework\Http;
use OCP\AppFramework\Http\ContentSecurityPolicy;
use OCA\News\Service\StatusService;
use OCA\News\Config\AppConfig;
use OCA\News\Config\Config;
use OCA\News\Explore\RecommendedSites;
+use OCA\News\Explore\RecommendedSiteNotFoundException;
use OCA\News\Db\FeedType;
class PageController extends Controller {
@@ -39,6 +41,8 @@ class PageController extends Controller {
private $recommendedSites;
private $statusService;
+ use JSONHttpError;
+
public function __construct($AppName,
IRequest $request,
IConfig $settings,
@@ -99,7 +103,11 @@ class PageController extends Controller {
$exploreUrl = $this->config->getExploreUrl();
if (trim($exploreUrl) === '') {
- $exploreUrl = $this->urlGenerator->linkToRoute('news.page.explore');
+ // default url should not feature the sites.en.json
+ $exploreUrl = $this->urlGenerator->linkToRoute(
+ 'news.page.explore', ['lang' => 'en']
+ );
+ $exploreUrl = preg_replace('/sites\.en\.json$/', '', $exploreUrl);
}
$result = [
@@ -191,16 +199,18 @@ class PageController extends Controller {
*
* @param string $lang
*/
- public function explore($lang='en') {
- $default = 'en';
-
+ public function explore($lang) {
$this->settings->setUserValue($this->userId, $this->appName,
'lastViewedFeedId', 0);
$this->settings->setUserValue($this->userId, $this->appName,
'lastViewedFeedType', FeedType::EXPLORE);
- return $this->recommendedSites->forLanguage($lang, $default);
+ try {
+ return $this->recommendedSites->forLanguage($lang);
+ } catch (RecommendedSiteNotFoundException $ex) {
+ return $this->error($ex, Http::STATUS_NOT_FOUND);
+ }
}
-} \ No newline at end of file
+}
diff --git a/explore/recommendedsitenotfoundexception.php b/explore/recommendedsitenotfoundexception.php
new file mode 100644
index 000000000..15442273b
--- /dev/null
+++ b/explore/recommendedsitenotfoundexception.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * ownCloud - News
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Alessandro Cosentino <cosenal@gmail.com>
+ * @author Bernhard Posselt <dev@bernhard-posselt.com>
+ * @copyright Alessandro Cosentino 2012
+ * @copyright Bernhard Posselt 2012, 2014
+ */
+
+namespace OCA\News\Explore;
+
+use Exception;
+
+class RecommendedSiteNotFoundException extends Exception {
+
+}
diff --git a/explore/recommendedsites.php b/explore/recommendedsites.php
index 5062b8a2d..d83b5f79c 100644
--- a/explore/recommendedsites.php
+++ b/explore/recommendedsites.php
@@ -26,19 +26,16 @@ class RecommendedSites {
}
- public function forLanguage($languageCode, $default='en') {
+ public function forLanguage($languageCode) {
$file = $this->directory . '/sites.' . $languageCode . '.json';
- if (!file_exists($file)) {
- $file = $this->directory . '/sites.' . $default . '.json';
- }
-
if (file_exists($file)) {
return json_decode(file_get_contents($file), true);
} else {
- return [];
+ $msg = 'No recommended sites found for language code ' .
+ $languageCode;
+ throw new RecommendedSiteNotFoundException($msg);
}
-
}
diff --git a/js/app/Config.js b/js/app/Config.js
index dda2e1939..e7488bbd7 100644
--- a/js/app/Config.js
+++ b/js/app/Config.js
@@ -143,15 +143,18 @@ app.config(function ($routeProvider, $provide, $httpProvider) {
$http.get(BASE_URL + '/settings').then(function (data) {
Publisher.publishAll(data);
- var url = SettingsResource.get('exploreUrl');
+ // get url and strip trailing slashes
+ var url = SettingsResource.get('exploreUrl')
+ .replace(/\/+$/, '');
var language = SettingsResource.get('language');
- return $http({
- url: url,
- method: 'GET',
- params: {
- lang: language
- }
- });
+
+ var exploreUrl = url + '/sites.' + language + '.json';
+ var defaultExploreUrl = url + '/sites.en.json';
+ return $http
+ .get(exploreUrl)
+ .catch(function () {
+ return $http.get(defaultExploreUrl);
+ });
}).then(function (data) {
deferred.resolve(data.data);
diff --git a/js/build/app.js b/js/build/app.js
index d7f841734..f5d988614 100644
--- a/js/build/app.js
+++ b/js/build/app.js
@@ -141,15 +141,18 @@ app.config(["$routeProvider", "$provide", "$httpProvider", function ($routeProvi
$http.get(BASE_URL + '/settings').then(function (data) {
Publisher.publishAll(data);
- var url = SettingsResource.get('exploreUrl');
+ // get url and strip trailing slashes
+ var url = SettingsResource.get('exploreUrl')
+ .replace(/\/+$/, '');
var language = SettingsResource.get('language');
- return $http({
- url: url,
- method: 'GET',
- params: {
- lang: language
- }
- });
+
+ var exploreUrl = url + '/sites.' + language + '.json';
+ var defaultExploreUrl = url + '/sites.en.json';
+ return $http
+ .get(exploreUrl)
+ .catch(function () {
+ return $http.get(defaultExploreUrl);
+ });
}).then(function (data) {
deferred.resolve(data.data);
diff --git a/js/build/app.min.js b/js/build/app.min.js
index 86e23f88e..d33a67731 100644
--- a/js/build/app.min.js
+++ b/js/build/app.min.js
@@ -1,3 +1,3 @@
-!function(a,b,c,d,e,f,g,h,i){"use strict";var j=d.module("News",["ngRoute","ngSanitize","ngAnimate"]);j.config(["$routeProvider","$provide","$httpProvider",function(a,b,c){var d={FEED:0,FOLDER:1,STARRED:2,SUBSCRIPTIONS:3,SHARED:4,EXPLORE:5};b.constant("REFRESH_RATE",60),b.constant("ITEM_BATCH_SIZE",40),b.constant("ITEM_AUTO_PAGE_SIZE",20),b.constant("BASE_URL",f.generateUrl("/apps/news")),b.constant("FEED_TYPE",d),b.constant("MARK_READ_TIMEOUT",.5),b.constant("SCROLL_TIMEOUT",.1),b.factory("CSRFInterceptor",["$q","BASE_URL","$window",function(a,b,c){return{request:function(d){var e=c.location.href.split(c.location.pathname)[0];return(0===d.url.indexOf(b)||0===d.url.indexOf(e))&&(d.headers.requesttoken=g),d||a.when(d)}}}]);var e={0:t("news","Request failed, network connection unavailable!"),401:t("news","Request unauthorized. Are you logged in?"),403:t("news","Request forbidden. Are you an admin?"),412:t("news","Token expired or app not enabled! Reload the page!"),500:t("news","Internal server error! Please check your data/owncloud.log file for additional information!"),503:t("news","Request failed, ownCloud is in currently in maintenance mode!")};b.factory("ConnectionErrorInterceptor",["$q","$timeout",function(a,b){var c;return{responseError:function(d){return d.status in e&&(c&&b.cancel(c),f.Notification.hide(),f.Notification.showHtml(e[d.status]),c=b(function(){f.Notification.hide()},5e3)),a.reject(d)}}}]),c.interceptors.push("CSRFInterceptor"),c.interceptors.push("ConnectionErrorInterceptor");var h=function(a){return{data:["$http","$route","$q","$location","BASE_URL","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource",function(b,c,d,e,f,g,h,j,k){var l=j.get("showAll"),m=j.get("oldestFirst"),n=e.search().search||"",o=d.defer();if(null===l||null===m)o.resolve({});else{var p={type:a,limit:g,showAll:l,oldestFirst:m,search:n};if(c.current.params.id!==i&&(p.id=c.current.params.id),a===h.FEED){var q=k.getById(p.id);q===i||2===q.ordering?p.oldestFirst=!1:1===q.ordering&&(p.oldestFirst=!0)}b({url:f+"/items",method:"GET",params:p}).success(function(a){o.resolve(a)})}return o.promise}]}},j=function(){return{sites:["$http","$q","BASE_URL","Publisher","SettingsResource",function(a,b,c,d,e){var f=b.defer();return a.get(c+"/settings").then(function(b){d.publishAll(b);var c=e.get("exploreUrl"),f=e.get("language");return a({url:c,method:"GET",params:{lang:f}})}).then(function(a){f.resolve(a.data)})["catch"](function(){f.reject()}),f.promise}]}};a.when("/items",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.SUBSCRIPTIONS),type:d.SUBSCRIPTIONS}).when("/items/starred",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.STARRED),type:d.STARRED}).when("/items/feeds/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FEED),type:d.FEED}).when("/items/folders/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FOLDER),type:d.FOLDER}).when("/explore",{controller:"ExploreController as Explore",templateUrl:"explore.html",resolve:j(),type:d.EXPLORE}).when("/shortcuts",{templateUrl:"shortcuts.html",type:-1})}]),j.run(["$rootScope","$location","$http","$q","$interval","$route","Loading","ItemResource","FeedResource","FolderResource","SettingsResource","Publisher","BASE_URL","FEED_TYPE","REFRESH_RATE",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){g.setLoading("global",!0),l.subscribe(h).toChannels(["items","newestItemId","starred"]),l.subscribe(j).toChannels(["folders"]),l.subscribe(i).toChannels(["feeds"]),l.subscribe(k).toChannels(["settings"]);var p=d.defer();c.get(m+"/settings").success(function(a){l.publishAll(a),p.resolve()});var q=d.defer(),r=b.path();c.get(m+"/feeds/active").success(function(a){var c;switch(a.activeFeed.type){case n.FEED:c="/items/feeds/"+a.activeFeed.id;break;case n.FOLDER:c="/items/folders/"+a.activeFeed.id;break;case n.STARRED:c="/items/starred";break;case n.EXPLORE:c="/explore";break;default:c="/items"}/^\/items(\/(starred|explore|feeds\/\d+|folders\/\d+))?\/?$/.test(r)||b.path(c),q.resolve()});var s,t=d.defer();c.get(m+"/feeds").success(function(a){s=a,t.resolve()});var u,v=d.defer();c.get(m+"/folders").success(function(a){u=a,v.resolve()}),d.all([t.promise,v.promise]).then(function(){l.publishAll(s),l.publishAll(u),0===s.feeds.length&&0===u.folders.length&&b.path("/explore")}),d.all([p.promise,q.promise,t.promise,v.promise]).then(function(){f.reload(),g.setLoading("global",!1)}),e(function(){c.get(m+"/feeds").success(function(a){l.publishAll(a)}),c.get(m+"/folders").success(function(a){l.publishAll(a)})},1e3*o),a.$on("$routeChangeStart",function(){g.setLoading("content",!0)}),a.$on("$routeChangeSuccess",function(){g.setLoading("content",!1)}),a.$on("$routeChangeError",function(){b.path("/items")})}]),j.controller("AppController",["Loading","FeedResource","FolderResource",function(a,b,c){this.loading=a,this.isFirstRun=function(){return 0===b.size()&&0===c.size()},this.play=function(a){this.playingItem=a}}]),j.controller("ContentController",["Publisher","FeedResource","ItemResource","SettingsResource","data","$route","$routeParams","$location","FEED_TYPE","ITEM_AUTO_PAGE_SIZE","Loading",function(a,b,c,d,e,f,g,h,j,k,l){c.clear(),a.publishAll(e),this.isAutoPagingEnabled=!0,c.size()>=k?this.isNothingMoreToAutoPage=!1:this.isNothingMoreToAutoPage=!0,this.getItems=function(){return c.getAll()},this.toggleStar=function(a){c.toggleStar(a)},this.toggleItem=function(a){this.isCompactView()&&(a.show=!a.show)},this.isShowAll=function(){return d.get("showAll")},this.markRead=function(a){var d=c.get(a);d.keepUnread||d.unread!==!0||(c.markItemRead(a),b.markItemOfFeedRead(d.feedId))},this.getFeed=function(a){return b.getById(a)},this.toggleKeepUnread=function(a){var d=c.get(a);d.unread||(b.markItemOfFeedUnread(d.feedId),c.markItemRead(a,!1)),d.keepUnread=!d.keepUnread};var m=this,n=function(){var a=d.get("oldestFirst");if(m.isFeed()){var c=b.getById(g.id);c&&1===c.ordering?a=!0:c&&2===c.ordering&&(a=!1)}return a};this.orderBy=function(){return n()?"id":"-id"},this.isCompactView=function(){return d.get("compact")},this.isCompactExpand=function(){return d.get("compactExpand")},this.autoPagingEnabled=function(){return this.isAutoPagingEnabled},this.markReadEnabled=function(){return!d.get("preventReadOnScroll")},this.scrollRead=function(a){var d=[],e=[];a.forEach(function(a){var b=c.get(a);b.keepUnread||(d.push(a),e.push(b.feedId))}),d.length>0&&(b.markItemsOfFeedsRead(e),c.markItemsRead(d))},this.isFeed=function(){return f.current.$$route.type===j.FEED},this.autoPage=function(){if(!this.isNothingMoreToAutoPage){if(!this.isAutoPagingEnabled)return void(this.autoPageAgain=!0);this.isAutoPagingEnabled=!1,this.autoPageAgain=!1;var b=f.current.$$route.type,e=g.id,i=n(),j=d.get("showAll"),m=this,o=h.search().search;l.setLoading("autopaging",!0),c.autoPage(b,e,i,j,o).success(function(b){a.publishAll(b),b.items.length>=k?m.isAutoPagingEnabled=!0:m.isNothingMoreToAutoPage=!0,m.isAutoPagingEnabled&&m.autoPageAgain&&m.autoPage()}).error(function(){m.isAutoPagingEnabled=!0})["finally"](function(){l.setLoading("autopaging",!1)})}},this.getRelativeDate=function(a){if(a!==i&&""!==a){var b=d.get("language"),c=moment.unix(a).locale(b).fromNow()+"";return c}return""},this.refresh=function(){f.reload()},this.getMediaType=function(a){return a&&0===a.indexOf("audio")?"audio":a&&0===a.indexOf("video")?"video":i}}]),j.controller("ExploreController",["sites","$rootScope","FeedResource",function(a,b,c){this.sites=a,this.feeds=Object.keys(a).map(function(b){return[b,a[b]]}).reduce(function(a,b){var c=b[0],d=b[1];return d.forEach(function(a){a.category=c}),a.concat(d)},[]),this.feedExists=function(a){return c.getByLocation(a)!==i},this.subscribeTo=function(a){b.$broadcast("addFeed",a)},this.isCategoryShown=function(a){return a.filter(function(a){return c.getByLocation(a.feed)===i}).length>0}}]),j.controller("NavigationController",["$route","FEED_TYPE","FeedResource","FolderResource","ItemResource","SettingsResource","Publisher","$rootScope","$location","$q",function(a,b,c,d,e,f,g,h,j,k){this.feedError="",this.showNewFolder=!1,this.renamingFolder=!1,this.addingFeed=!1,this.addingFolder=!1,this.folderError="",this.renameError="",this.feed={};var l=function(){return parseInt(a.current.params.id,10)};this.getFeeds=function(){return c.getAll()},this.getFolders=function(){return d.getAll()},this.markFolderRead=function(a){c.markFolderRead(a),c.getByFolderId(a).forEach(function(a){e.markFeedRead(a.id)})},this.markFeedRead=function(a){e.markFeedRead(a),c.markFeedRead(a)},this.markRead=function(){e.markRead(),c.markRead()},this.isShowAll=function(){return f.get("showAll")},this.getFeedsOfFolder=function(a){return c.getByFolderId(a)},this.getUnreadCount=function(){return c.getUnreadCount()},this.isUnread=function(){return this.getUnreadCount()>0},this.getFeedUnreadCount=function(a){var b=c.getById(a);return b!==i?b.unreadCount:0},this.isFeedUnread=function(a){return this.getFeedUnreadCount(a)>0},this.getFolderUnreadCount=function(a){return c.getFolderUnreadCount(a)},this.isFolderUnread=function(a){return this.getFolderUnreadCount(a)>0},this.getStarredCount=function(){return e.getStarredCount()},this.isStarredUnread=function(){return this.getStarredCount()>0},this.toggleFolder=function(a){d.toggleOpen(a)},this.hasFeeds=function(a){return c.getFolderUnreadCount(a)!==i},this.subFeedActive=function(d){var e=a.current.$$route.type;if(e===b.FEED){var f=c.getById(l());if(f!==i&&f.folderId===d)return!0}return!1},this.isSubscriptionsActive=function(){return a.current&&a.current.$$route.type===b.SUBSCRIPTIONS},this.isStarredActive=function(){return a.current&&a.current.$$route.type===b.STARRED},this.isExploreActive=function(){return a.current&&a.current.$$route.type===b.EXPLORE},this.isFolderActive=function(c){return a.current&&a.current.$$route.type===b.FOLDER&&l()===c},this.isFeedActive=function(c){return a.current&&a.current.$$route.type===b.FEED&&l()===c},this.folderNameExists=function(a){return a=a||"",d.get(a.trim())!==i},this.feedUrlExists=function(a){return a=a||"",a=a.trim(),c.get(a)!==i||c.get("http://"+a)!==i},this.createFeed=function(a){var b=this;this.showNewFolder=!1,this.addingFeed=!0;var e=a.newFolder,f=a.existingFolder||{id:0};e===i||""===e?(f.getsFeed=!0,c.create(a.url,f.id,i).then(function(a){g.publishAll(a),j.path("/items/feeds/"+a.feeds[0].id+"/")})["finally"](function(){f.getsFeed=i,a.url="",b.addingFeed=!1})):d.create(e).then(function(c){g.publishAll(c),a.existingFolder=d.get(c.folders[0].name),a.newFolder=i,b.createFeed(a)})},this.createFolder=function(a){var b=this;this.addingFolder=!0,d.create(a.name).then(function(a){g.publishAll(a)})["finally"](function(){b.addingFolder=!1,a.name=""})},this.moveFeed=function(b,d){var e=!1,f=c.getById(b);f.folderId!==d&&((this.isFolderActive(f.folderId)||this.isFolderActive(d))&&(e=!0),c.move(b,d),e&&a.reload())},this.renameFeed=function(a){c.patch(a.id,{title:a.title}),a.editing=!1},this.renameFolder=function(a,b){a.renameError="",this.renamingFolder=!0;var c=this;a.name===b?(a.renameError="",a.editing=!1,this.renamingFolder=!1):d.rename(a.name,b).then(function(){a.renameError="",a.editing=!1},function(b){a.renameError=b})["finally"](function(){c.renamingFolder=!1})},this.reversiblyDeleteFeed=function(b){c.reversiblyDelete(b.id)["finally"](function(){a.reload()})},this.undoDeleteFeed=function(b){c.undoDelete(b.id)["finally"](function(){a.reload()})},this.deleteFeed=function(a){c["delete"](a.url)},this.reversiblyDeleteFolder=function(b){k.all(c.reversiblyDeleteFolder(b.id),d.reversiblyDelete(b.name))["finally"](function(){a.reload()})},this.undoDeleteFolder=function(b){k.all(c.undoDeleteFolder(b.id),d.undoDelete(b.name))["finally"](function(){a.reload()})},this.deleteFolder=function(a){c.deleteFolder(a.id),d["delete"](a.name)},this.setOrdering=function(b,d){c.patch(b.id,{ordering:d}),a.reload()},this.togglePinned=function(a){var b=c.getById(a);return b?c.patch(a,{pinned:!b.pinned}):void 0},this.setUpdateMode=function(a,b){return c.patch(a,{updateMode:b})},this.toggleFullText=function(b){h.$broadcast("$routeChangeStart"),c.toggleFullText(b.id)["finally"](function(){h.$broadcast("$routeChangeSuccess"),a.reload()})},this.search=function(a){""===a?j.search("search",null):j.search("search",a)};var m=this;h.$on("moveFeedToFolder",function(a,b){m.moveFeed(b.feedId,b.folderId)});var n=function(){var e;a.current&&(e=a.current.$$route.type);var f=0;if(e===b.FOLDER)f=l();else if(e===b.FEED){var g=c.getById(l());g&&(f=g.folderId)}var h;0!==f&&(h=d.getById(f)),m.feed.existingFolder=h};h.$on("$routeChangeSuccess",function(){n()})}]),j.controller("SettingsController",["$route","$q","SettingsResource","ItemResource","OPMLParser","OPMLImporter","Publisher",function(a,b,c,d,e,f,g){this.isOPMLImporting=!1,this.isArticlesImporting=!1,this.opmlImportError=!1,this.articleImportError=!1;var h=function(b,d){c.set(b,d),["showAll","oldestFirst","compact"].indexOf(b)>=0&&a.reload()};this.toggleSetting=function(a){h(a,!this.getSetting(a))},this.getSetting=function(a){return c.get(a)},this.importOPML=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isOPMLImporting=!1;var b=e.parse(a),c=this,d=5;f.importFolders(b).then(function(a){return f.importFeedQueue(a,d)})["finally"](function(){c.isOPMLImporting=!1})}catch(g){console.error(g),this.isOPMLImporting=!1,this.opmlImportError=!0}},this.importArticles=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isArticlesImporting=!0;var b=JSON.parse(a),c=this;d.importArticles(b).success(function(a){g.publishAll(a)})["finally"](function(){c.isArticlesImporting=!1})}catch(e){console.error(e),this.articleImportError=!0,this.isArticlesImporting=!1}}}]),j.filter("trustUrl",["$sce",function(a){return function(b){return a.trustAsResourceUrl(b)}}]),j.filter("unreadCountFormatter",function(){return function(a){return a>999?"999+":a}}),j.factory("FeedResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"url"),this.ids={},this.locations={},this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.$q=d};return e.prototype=Object.create(a.prototype),e.prototype.receive=function(b){a.prototype.receive.call(this,b),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.clear=function(){a.prototype.clear.call(this),this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.ids={},this.locations={}},e.prototype.updateUnreadCache=function(){this.unreadCount=0,this.folderUnreadCount={};var a=this;this.values.forEach(function(b){b.unreadCount&&(a.unreadCount+=b.unreadCount),b.folderId!==i&&(a.folderUnreadCount[b.folderId]=a.folderUnreadCount[b.folderId]||0,a.folderUnreadCount[b.folderId]+=b.unreadCount)})},e.prototype.updateFolderCache=function(){this.folderIds={};var a=this;this.values.forEach(function(b){a.folderIds[b.folderId]=a.folderIds[b.folderId]||[],a.folderIds[b.folderId].push(b)})},e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.url]),b.location!==i&&(this.locations[b.location]=this.hashMap[b.url])},e.prototype.markRead=function(){this.values.forEach(function(a){a.unreadCount=0}),this.updateUnreadCache()},e.prototype.markFeedRead=function(a){this.ids[a].unreadCount=0,this.updateUnreadCache()},e.prototype.markFolderRead=function(a){this.values.forEach(function(b){b.folderId===a&&(b.unreadCount=0)}),this.updateUnreadCache()},e.prototype.markItemOfFeedRead=function(a){this.ids[a].unreadCount-=1,this.updateUnreadCache()},e.prototype.markItemsOfFeedsRead=function(a){var b=this;a.forEach(function(a){b.ids[a].unreadCount-=1}),this.updateUnreadCache()},e.prototype.markItemOfFeedUnread=function(a){this.ids[a].unreadCount+=1,this.updateUnreadCache()},e.prototype.getUnreadCount=function(){return this.unreadCount},e.prototype.getFolderUnreadCount=function(a){return this.folderUnreadCount[a]},e.prototype.getByFolderId=function(a){return this.folderIds[a]||[]},e.prototype.getById=function(a){return this.ids[a]},e.prototype.getByLocation=function(a){return this.locations[a]},e.prototype.move=function(a,b){var c=this.getById(a);return c.folderId=b,this.updateFolderCache(),this.updateUnreadCache(),this.patch(a,{folderId:b})},e.prototype.create=function(a,b,c){a=a.trim(),a.startsWith("http")||(a="https://"+a),c!==i&&(c=c.trim());var d={url:a,folderId:b||0,title:c||a,unreadCount:0};this.add(d),this.updateFolderCache();var e=this.$q.defer();return this.http({method:"POST",url:this.BASE_URL+"/feeds",data:{url:a,parentFolderId:b||0,title:c}}).success(function(a){e.resolve(a)}).error(function(a){d.faviconLink="",d.error=a.message,e.reject()}),e.promise},e.prototype.reversiblyDelete=function(a,b,c){var d=this.getById(a);return d&&c!==!0&&(d.deleted=!0),b!==!1&&this.updateUnreadCache(),this.http["delete"](this.BASE_URL+"/feeds/"+a)},e.prototype.reversiblyDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.reversiblyDelete(a.id,!1,!0))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype["delete"]=function(b,c){var d=this.get(b);return d!==i&&d.id&&delete this.ids[d.id],d!==i&&d.location&&delete this.locations[d.location],a.prototype["delete"].call(this,b),c!==!1&&(this.updateUnreadCache(),this.updateFolderCache()),d},e.prototype.deleteFolder=function(a){var b=this;this.getByFolderId(a).forEach(function(a){b["delete"](a.url,!1)}),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.undoDelete=function(a,b){var c=this.getById(a);return c&&(c.deleted=!1),b!==!1&&this.updateUnreadCache(),this.http.post(this.BASE_URL+"/feeds/"+a+"/restore")},e.prototype.undoDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.undoDelete(a.id,!1))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype.setOrdering=function(a,b){var c=this.getById(a);if(c){c.ordering=b;var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,{ordering:b})}},e.prototype.setPinned=function(a,b){var c=this.getById(a);if(c){c.pinned=b;var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,{pinned:b})}},e.prototype.patch=function(a,b){var c=this.getById(a);if(c){Object.keys(b).forEach(function(a){c[a]=b[a]});var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,b)}},e.prototype.toggleFullText=function(a){var b=this.getById(a);return this.patch(a,{fullTextEnabled:!b.fullTextEnabled})},new e(b,c,d)}]),j.factory("FolderResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"name"),this.deleted=null,this.$q=d,this.ids={}};return e.prototype=Object.create(a.prototype),e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.name])},e.prototype.clear=function(){a.prototype.clear.call(this),this.ids={}},e.prototype["delete"]=function(b){var c=this.get(b);return c!==i&&c.id&&delete this.ids[c.id],a.prototype["delete"].call(this,b),c},e.prototype.toggleOpen=function(a){var b=this.get(a);return b.opened=!b.opened,this.http({url:this.BASE_URL+"/folders/"+b.id+"/open",method:"POST",data:{folderId:b.id,open:b.opened}})},e.prototype.rename=function(a,b){var c=this.get(a),d=this.$q.defer(),e=this;return this.http({url:this.BASE_URL+"/folders/"+c.id+"/rename",method:"POST",data:{folderName:b}}).success(function(){c.name=b,delete e.hashMap[a],e.hashMap[b]=c,d.resolve()}).error(function(a){d.reject(a.message)}),d.promise},e.prototype.getById=function(a){return this.ids[a]},e.prototype.create=function(a){a=a.trim();var b={name:a};this.add(b);var c=this.$q.defer();return this.http({url:this.BASE_URL+"/folders",method:"POST",data:{folderName:a}}).success(function(a){c.resolve(a)}).error(function(a){b.error=a.message}),c.promise},e.prototype.reversiblyDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!0,this.http["delete"](this.BASE_URL+"/folders/"+c)},e.prototype.undoDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!1,this.http.post(this.BASE_URL+"/folders/"+c+"/restore")},new e(b,c,d)}]),j.factory("ItemResource",["Resource","$http","BASE_URL","ITEM_BATCH_SIZE",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c),this.batchSize=d,this.clear()};return e.prototype=Object.create(a.prototype),e.prototype.clear=function(){this.starredCount=0,this.lowestId=0,this.highestId=0,a.prototype.clear.call(this)},e.prototype.receive=function(b,c){switch(c){case"newestItemId":this.newestItemId=b;break;case"starred":this.starredCount=b;break;default:var d=this;b.forEach(function(a){0===d.lowestId&&(d.lowestId=a.id),0===d.highestId&&(d.highestId=a.id),a.id>d.highestId&&(d.highestId=a.id),a.id<d.lowestId&&(d.lowestId=a.id)}),a.prototype.receive.call(this,b,c)}},e.prototype.getNewestItemId=function(){return this.newestItemId},e.prototype.getStarredCount=function(){return this.starredCount},e.prototype.star=function(a,b){b===i&&(b=!0);var c=this.get(a),d=this.BASE_URL+"/items/"+c.feedId+"/"+c.guidHash+"/star";return c.starred=b,b?this.starredCount+=1:this.starredCount-=1,this.http({url:d,method:"POST",data:{isStarred:b}})},e.prototype.toggleStar=function(a){this.get(a).starred?this.star(a,!1):this.star(a,!0)},e.prototype.markItemRead=function(a,b){return b===i&&(b=!0),this.get(a).unread=!b,this.http({url:this.BASE_URL+"/items/"+a+"/read",method:"POST",data:{isRead:b}})},e.prototype.markItemsRead=function(a){var b=this;return a.forEach(function(a){b.get(a).unread=!1}),this.http({url:this.BASE_URL+"/items/read/multiple",method:"POST",data:{itemIds:a}})},e.prototype.markFeedRead=function(a,b){b===i&&(b=!0);var c=this.values.filter(function(b){return b.feedId===a});return c.forEach(function(a){a.unread=!b}),this.http.post(this.BASE_URL+"/feeds/"+a+"/read",{highestItemId:this.getNewestItemId()})},e.prototype.markRead=function(){return this.values.forEach(function(a){a.unread=!1}),this.http({url:this.BASE_URL+"/items/read",method:"POST",data:{highestItemId:this.getNewestItemId()}})},e.prototype.autoPage=function(a,b,c,d,e){var f;return f=c?this.highestId:this.lowestId,this.http({url:this.BASE_URL+"/items",method:"GET",params:{type:a,id:b,offset:f,limit:this.batchSize,oldestFirst:c,showAll:d,search:e}})},e.prototype.importArticles=function(a){return this.http({url:this.BASE_URL+"/feeds/import/articles",method:"POST",data:{json:a}})},new e(b,c,d)}]),j.service("Loading",function(){this.loading={global:!1,content:!1,autopaging:!1},this.setLoading=function(a,b){this.loading[a]=b},this.isLoading=function(a){return this.loading[a]}}),j.service("OPMLImporter",["FeedResource","FolderResource","Publisher","$q",function(a,b,c,d){var e=function(f){var g=d.defer();if(f.length>0){var h=f.pop(),j=h.url,k=h.title,l=0,m=h.folderName;if(m!==i&&b.get(m)!==i){var n=b.get(m);n.opened=!0,l=n.id,n.getsFeed=!0,n.getsFeedCounter=n.getsFeedCounter||0,n.getsFeedCounter+=1}j!==i&&a.get(j)===i&&a.create(j,l,k).then(function(a){c.publishAll(a)})["finally"](function(){0!==l&&(n.getsFeedCounter-=1,0===n.getsFeedCounter&&(n.getsFeed=!1)),e(f)})}else g.resolve();return g.promise};this.importFolders=function(a){var e=[],f=[];a.folders.forEach(function(a){if(a.name!==i){if(b.get(a.name)===i){var d=b.create(a.name).then(function(a){c.publishAll(a)});f.push(d)}a.feeds.forEach(function(b){b.folderName=a.name,e.push(b)})}}),e=e.concat(a.feeds);var g=d.defer();return d.all(f)["finally"](function(){g.resolve(e)}),g.promise},this.importFeedQueue=function(a,b){for(var c=d.defer(),f=[],g=0;b>g;g+=1)f.push(e(a));return d.all(f).then(function(){c.resolve()}),c.promise}}]),j.service("OPMLParser",function(){var a=function(a){var b=a.attr("xmlUrl")||a.attr("htmlUrl"),c=a.attr("title")||a.attr("text")||b;return b===i?{type:"folder",name:c,feeds:[]}:{type:"feed",name:c,url:b}},b=function(c,d,f){for(var g=0;g<c.length;g+=1){var h=e(c[g]),i=a(h);"feed"===i.type?d.feeds.push(i):f?(b(h.children("outline"),i,!1),d.folders.push(i)):b(h.children("outline"),d,!1)}return d};this.parse=function(a){a=e.parseXML(a);var c=e(a).find("body > outline"),d={feeds:[],folders:[]};return b(c,d,!0)}}),j.service("Publisher",function(){this.channels={},this.subscribe=function(a){var b=this;return{toChannels:function(c){c.forEach(function(c){b.channels[c]=b.channels[c]||[],b.channels[c].push(a)})}}},this.publishAll=function(a){var b=this;Object.keys(a).forEach(function(c){var d=b.channels[c];d!==i&&d.forEach(function(b){b.receive(a[c],c)})})}}),j.factory("Resource",function(){var a=function(a,b,c){this.id=c||"id",this.values=[],this.hashMap={},this.http=a,this.BASE_URL=b};return a.prototype.receive=function(a){var b=this;a.forEach(function(a){b.add(a)})},a.prototype.add=function(a){var b=this.hashMap[a[this.id]];b===i?(this.values.push(a),this.hashMap[a[this.id]]=a):Object.keys(a).forEach(function(c){b[c]=a[c]})},a.prototype.size=function(){return this.values.length},a.prototype.get=function(a){return this.hashMap[a]},a.prototype["delete"]=function(a){var b=this,c=this.values.findIndex(function(c){return c[b.id]===a});c!==i&&this.values.splice(c,1),this.hashMap[a]!==i&&delete this.hashMap[a]},a.prototype.clear=function(){for(this.hashMap={};this.values.length>0;)this.values.pop()},a.prototype.getAll=function(){return this.values},a}),j.service("SettingsResource",["$http","BASE_URL",function(a,b){this.settings={language:"en",showAll:null,compact:!1,oldestFirst:null,preventReadOnScroll:!1,compactExpand:!1,exploreUrl:""},this.defaultLanguageCode="en",this.supportedLanguageCodes=["ar-ma","ar","bg","ca","cs","cv","da","de","el","en-ca","en-gb","eo","es","et","eu","fi","fr-ca","fr","gl","he","hi","hu","id","is","it","ja","ka","ko","lv","ms-my","nb","ne","nl","pl","pt-br","pt","ro","ru","sk","sl","sv","th","tr","tzm-la","tzm","uk","zh-cn","zh-tw"],this.receive=function(a){var b=this;Object.keys(a).forEach(function(c){var d=a[c];"language"===c&&(d=b.processLanguageCode(d)),b.settings[c]=d})},this.get=function(a){return this.settings[a]},this.set=function(c,d){return this.settings[c]=d,a({url:b+"/settings",method:"PUT",data:{language:this.settings.language,showAll:this.settings.showAll,compact:this.settings.compact,oldestFirst:this.settings.oldestFirst,compactExpand:this.settings.compactExpand,preventReadOnScroll:this.settings.preventReadOnScroll}})},this.processLanguageCode=function(a){return a=a.replace("_","-").toLowerCase(),this.supportedLanguageCodes.indexOf(a)<0&&(a=a.split("-")[0]),this.supportedLanguageCodes.indexOf(a)<0&&(a=this.defaultLanguageCode),a}}]),function(a,b,c,d,e,f){var g=a.location,h=a.localStorage,i=function(a,b,d){var e=c.isContentHandlerRegistered,f=function(a,b){return e?"new"!==e(a,b):h.getItem("registeredHandler")===b};c.registerContentHandler&&!f(a,b)&&(c.registerContentHandler(a,k,d),e||h.setItem("registeredHandler",b))},j=g.protocol+"//"+g.host+g.pathname,k=j+"?subscribe_to=%s",l="application/vnd.mozilla.maybe.feed",m="ownCloud News @ "+j;i(l,k,m),e(b).ready(function(){var b=a.decodeURIComponent(d("?subscribe_to"));if(b&&"null"!==b){e("#new-feed").show();var c=e('input[ng-model="Navigation.feed.url"]');c.val(b),c.trigger("input"),setTimeout(function(){c.focus()},1e3)}})}(b,c,a,h,e),function(a,b){a.addEventListener("beforeunload",function(){var a=b.querySelector("#app-content");a.scrollTo(0,0)})}(b,c),function(a,b,c){var d=function(a){return!(a.is("input")||a.is("select")||a.is("textarea")||a.is("checkbox"))},e=function(a){return!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey)},f=function(a){var b=".active > .app-navigation-entry-menu .mark-read button",c=a.find(b);c.length>0&&c.trigger("click")},g=function(a,b){var c=a.offset().top-b.offset().top,d=c+a.height(),e=b.height();return c>=0&&e>d},h=function(a,b,c){0===a.length||!c&&g(a,b)||b.scrollTop(a.offset().top-b.offset().top+b.scrollTop())},i=function(a){var b=a.find(".active");h(b,a.children("ul"),!0)},j=function(a){a.find(".active > a:visible").trigger("click")},k=function(a,b){if(0===b.scrollTop()){var c=b.find(".pull-to-refresh");c.hasClass("show-pull-to-refresh")?c.hasClass("done")&&j(a):c.addClass("show-pull-to-refresh")}},l=function(a,b){a.children("a:visible").trigger("click"),h(a,b.children("ul"))},m=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder"))for(;b.length>0;){var e=b.find(".feed:visible");if(e.length>0)return void l(c(e[0]),a);b=b.next(".folder")}else for(var f=0;f<d.length-1;f+=1){var g=d[f];if(g===b[0]){var h=d[f+1];l(c(h),a);break}}},n=function(a){return a.parent().parent(".folder")},o=function(a,b){var d,e=a.find(".folder:visible");d=b?e.length-1:0,e.length>0&&l(c(e[d]),a)},p=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.prevAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c,a):o(a,!0)}else o(a,!0)},q=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.nextAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c.nextAll(".folder:visible").first(),a):o(a)}else o(a)},r=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder")){for(var e=b.prev(".folder");e.length>0;){var f=e.find(".feed:visible");if(f.length>0)return void l(c(f[f.length-1]),a);e=e.prev(".folder")}var g=b.siblings(".feed");if(g.length>0)return void l(c(g[g.length-1]),a);var h=c(".starred-feed:visible");return void(h.length>0&&l(h,a))}for(var i=d.length-1;i>0;i-=1){var j=d[i];if(j===b[0]){var k=d[i-1];l(c(k),a);break}}},s=function(a,b){var d=a.find(".item");d.each(function(a,d){return d=c(d),d.height()+d.position().top>30?(b(d),!1):void 0})},t=function(a){s(a,function(a){a.find(".toggle-keep-unread").trigger("click")})},u=function(a){s(a,function(a){a.find(".star").trigger("click")})},v=function(a){s(a,function(a){a.find(".utils").trigger("click")})},w=function(b){s(b,function(b){b.trigger("click"),a.open(b.find(".external:visible").attr("href"),"_blank")})},x=function(a,b,c){a.scrollTop(b.offset().top-a.offset().top+a.scrollTop()),c&&s(a,function(a){a.hasClass("open")||a.find(".utils").trigger("click")})},y=function(a,b){var d=a.find(".item"),e=!1;d.each(function(d,f){return f=c(f),0===f.position().top&&b&&!f.hasClass("open")||f.position().top>10?(x(a,f,b),e=!0,!1):void 0}),e||a.scrollTop(a.prop("scrollHeight"))},z=function(a,b,d){var e=b.find(".item"),f=!1;e.each(function(e,g){if(g=c(g),g.position().top+10>=0){var h=g.prev();return h.length>0?x(b,h,d):(k(a,b),b.scrollTop(0)),f=!0,!1}}),!f&&e.length>0&&x(b,e.last())};c(b).keyup(function(a){var b=a.keyCode,g=c("#app-content"),h=c("#app-navigation"),l=c("#articles.compact").length>0,n="true"===c("#articles").attr("news-compact-expand"),o=l&&n;d(c(":focus"))&&e(a)?[74,78,39].indexOf(b)>=0?(a.preventDefault(),y(g,o)):[75,80,37].indexOf(b)>=0?(a.preventDefault(),z(h,g,o)):[85].indexOf(b)>=0?(a.preventDefault(),t(g)):[69].indexOf(b)>=0?(a.preventDefault(),v(g)):[73,83,76].indexOf(b)>=0?(a.preventDefault(),u(g)):[72].indexOf(b)>=0?(a.preventDefault(),u(g),y(g)):[79].indexOf(b)>=0?(a.preventDefault(),w(g)):[82].indexOf(b)>=0?(a.preventDefault(),j(h)):[70].indexOf(b)>=0?(a.preventDefault(),m(h)):[68].indexOf(b)>=0?(a.preventDefault(),r(h)):[67].indexOf(b)>=0?(a.preventDefault(),p(h)):[65].indexOf(b)>=0?(a.preventDefault(),i(h)):[86].indexOf(b)>=0?(a.preventDefault(),q(h)):[81].indexOf(b)>=0?(a.preventDefault(),c("#searchbox").focus()):[33].indexOf(b)>=0&&k(h,g):d(c(":focus"))&&a.shiftKey&&[65].indexOf(b)>=0&&(a.preventDefault(),f(h))})}(b,c,e),b.News=b.News||{},function(a,b,c,d,e){var f=[];d.addArticleAction=function(a){f.push(a)},d.getArticleActionPlugins=function(){return f}}(b,c,jQuery,b.News),j.run(["$document","$rootScope",function(a,b){a.click(function(a){b.$broadcast("documentClicked",a)})}]),j.directive("appNavigationEntryUtils",function(){return{restrict:"C",link:function(a,b){var c=b.siblings(".app-navigation-entry-menu"),d=e(b).find(".app-navigation-entry-utils-menu-button button");
-d.click(function(){c.toggleClass("open")}),a.$on("documentClicked",function(a,b){b.target!==d[0]&&c.removeClass("open")})}}}),j.directive("newsAddFeed",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(c,d){a.$on("addFeed",function(a,e){b(function(){d.is(":animated")?(d.stop(!0,!0),d.show()):d.is(":visible")||d.slideDown(),d.find('[ng-model="Navigation.feed.url"]').focus()}),c.Navigation.feed.url=e})}}}]),j.directive("newsArticleActions",function(){return{restrict:"A",scope:{newsArticleActions:"=",noPlugins:"="},link:function(a,b){for(var c=News.getArticleActionPlugins(),d=0;d<c.length;d+=1)c[d](b,a.newsArticleActions);a.noPlugins=0===c.length}}}),j.directive("newsAutoFocus",["$timeout",function(a){return function(b,c,d){var f=c;d.newsAutoFocus&&(f=e(d.newsAutoFocus)),a(function(){f.focus()},0)}}]),j.directive("newsBindHtmlUnsafe",function(){return function(a,b,c){a.$watch(c.newsBindHtmlUnsafe,function(){b.html(a.$eval(c.newsBindHtmlUnsafe))})}}),j.directive("newsDraggable",function(){return function(a,b,c){var e=a.$eval(c.newsDraggable);d.isDefined(e)?b.draggable(e):b.draggable(),c.$observe("newsDraggableDisable",function(a){"true"===a?b.draggable("disable"):b.draggable("enable")})}}),j.directive("newsDroppable",["$rootScope",function(a){return function(b,c,d){var f={accept:".feed",hoverClass:"drag-and-drop",greedy:!0,drop:function(f,g){e(".drag-and-drop").removeClass("drag-and-drop");var h={folderId:parseInt(c.data("id"),10),feedId:parseInt(e(g.draggable).data("id"),10)};a.$broadcast("moveFeedToFolder",h),b.$apply(d.droppable)}};c.droppable(f)}}]),j.directive("newsFinishedTransition",function(){return function(a,b,c){b.on("transitionend",function(){b.addClass(c.newsFinishedTransition)})}}),j.directive("newsFocus",["$timeout","$interpolate",function(a,b){return function(c,d,f){d.click(function(){var d=e(b(f.newsFocus)(c));a(function(){d.focus()},500)})}}]),j.directive("newsInstantNotification",function(){return{restrict:"E",link:function(a,b){b.hide();var c=b.html();f.Notification.showHtml(c)}}}),j.directive("newsPlayOne",["$rootScope",function(a){return{restrict:"A",link:function(b,c){c.on("play",function(){a.$broadcast("playing",c)}),a.$on("playing",function(a,b){b[0]!==c[0]&&c[0].pause()})}}}]),j.directive("newsPullToRefresh",["$rootScope",function(a){var b=!1;return{restrict:"A",scope:{newsPullToRefresh:"="},link:function(c,d){a.$on("$routeChangeStart",function(){b=!1,c.newsPullToRefresh=!1}),d.on("scroll",function(){0===d.scrollTop()&&b&&(c.newsPullToRefresh=!0),b=!0})}}}]),j.directive("newsReadFile",function(){return function(a,b,c){b.change(function(){var d=b[0].files[0],e=new FileReader;e.onload=function(b){a.$fileContent=b.target.result,a.$apply(c.newsReadFile)},e.readAsText(d)})}}),j.directive("newsRefreshMasonry",["$timeout",function(a){var b=function(b){a(function(){a(function(){b.parent().masonry({itemSelector:".grid-item",gutter:25,columnWidth:300})})})};return function(a,c){a.$last&&b(c)}}]),j.directive("newsScroll",["$timeout","ITEM_AUTO_PAGE_SIZE","MARK_READ_TIMEOUT","SCROLL_TIMEOUT",function(a,b,c,d){var f,g=function(a,b,c){for(var d=0,f=b.find(".item"),g=f.length-1;g>=0;g-=1){var h=e(f[g]);if(d>=a)break;if(h.position().top<0){c.$apply(c.newsScrollAutoPage);break}d+=1}},h=function(a,b,c){if(a){var d=[],f=b.find(".item:not(.read)");f.each(function(a,b){var c=e(b);return c.position().top<=-10?void d.push(parseInt(c.data("id"),10)):!1}),c.itemIds=d,c.$apply(c.newsScrollMarkRead)}};return{restrict:"A",scope:{newsScroll:"@",newsScrollAutoPage:"&",newsScrollMarkRead:"&",newsScrollEnabledMarkRead:"="},link:function(j,k){var l=!0,m=k;j.newsScroll&&(m=e(j.newsScroll));var n=function(){l&&(l=!1,a(function(){l=!0},1e3*d),g(b,k,j),f&&a.cancel(f),f=a(function(){h(j.newsScrollEnabledMarkRead,k,j),f=i},1e3*c))};m.on("scroll",n),j.$on("$destroy",function(){m.off("scroll",n)})}}}]),j.directive("newsSearch",["$document","$location",function(a,b){return{restrict:"E",scope:{onSearch:"="},link:function(a){var c=e("#searchbox");c.val(b.search().search);var d=function(){var b=c.val();a.$apply(function(){a.onSearch(b)})};c.on("search keyup",function(a){("search"===a.type||13===a.keyCode)&&d()}),a.$watch(function(){return b.search()},function(a){a&&a.search?c.val(a.search):c.val("")})}}}]),j.directive("newsStickyMenu",function(){return function(a,b,c){var d=40;e(c.newsStickyMenu).scroll(function(){var a=e(this).scrollTop();a>d?(b.addClass("fixed"),b.css("top",a)):b.removeClass("fixed")})}}),j.directive("newsStopPropagation",function(){return{restrict:"A",link:function(a,b){b.bind("click",function(a){a.stopPropagation()})}}}),j.directive("newsTimeout",["$timeout","$rootScope",function(a,b){return{restrict:"A",scope:{newsTimeout:"&"},link:function(c,d){var e=!1,f=7,g=a(c.newsTimeout,1e3*f);c.$on("$destroy",function(){e=!0,a.cancel(g)}),b.$on("$locationChangeStart",function(){a.cancel(g),e||(e=!0,d.remove(),c.newsTimeout())})}}}]),j.directive("newsTitleUnreadCount",["$window",function(a){var b=a.document.title,c=b.split("-"),d=c[0]||"News",e=c[1]||"ownCloud";return{restrict:"E",scope:{unreadCount:"@"},link:function(b,c,f){f.$observe("unreadCount",function(b){"0"!==b?a.document.title=d+"("+b+") - "+e:a.document.title=d+" - "+e})}}}]),j.directive("newsToggleShow",function(){return{restrict:"A",scope:{newsToggleShow:"@"},link:function(a,b){b.click(function(){var b=e(a.newsToggleShow);b.toggle()})}}}),j.directive("newsTriggerClick",function(){return function(a,b,c){b.click(function(){e(c.newsTriggerClick).trigger("click")})}})}(navigator,window,document,angular,jQuery,OC,oc_requesttoken,url);
+!function(a,b,c,d,e,f,g,h,i){"use strict";var j=d.module("News",["ngRoute","ngSanitize","ngAnimate"]);j.config(["$routeProvider","$provide","$httpProvider",function(a,b,c){var d={FEED:0,FOLDER:1,STARRED:2,SUBSCRIPTIONS:3,SHARED:4,EXPLORE:5};b.constant("REFRESH_RATE",60),b.constant("ITEM_BATCH_SIZE",40),b.constant("ITEM_AUTO_PAGE_SIZE",20),b.constant("BASE_URL",f.generateUrl("/apps/news")),b.constant("FEED_TYPE",d),b.constant("MARK_READ_TIMEOUT",.5),b.constant("SCROLL_TIMEOUT",.1),b.factory("CSRFInterceptor",["$q","BASE_URL","$window",function(a,b,c){return{request:function(d){var e=c.location.href.split(c.location.pathname)[0];return(0===d.url.indexOf(b)||0===d.url.indexOf(e))&&(d.headers.requesttoken=g),d||a.when(d)}}}]);var e={0:t("news","Request failed, network connection unavailable!"),401:t("news","Request unauthorized. Are you logged in?"),403:t("news","Request forbidden. Are you an admin?"),412:t("news","Token expired or app not enabled! Reload the page!"),500:t("news","Internal server error! Please check your data/owncloud.log file for additional information!"),503:t("news","Request failed, ownCloud is in currently in maintenance mode!")};b.factory("ConnectionErrorInterceptor",["$q","$timeout",function(a,b){var c;return{responseError:function(d){return d.status in e&&(c&&b.cancel(c),f.Notification.hide(),f.Notification.showHtml(e[d.status]),c=b(function(){f.Notification.hide()},5e3)),a.reject(d)}}}]),c.interceptors.push("CSRFInterceptor"),c.interceptors.push("ConnectionErrorInterceptor");var h=function(a){return{data:["$http","$route","$q","$location","BASE_URL","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource",function(b,c,d,e,f,g,h,j,k){var l=j.get("showAll"),m=j.get("oldestFirst"),n=e.search().search||"",o=d.defer();if(null===l||null===m)o.resolve({});else{var p={type:a,limit:g,showAll:l,oldestFirst:m,search:n};if(c.current.params.id!==i&&(p.id=c.current.params.id),a===h.FEED){var q=k.getById(p.id);q===i||2===q.ordering?p.oldestFirst=!1:1===q.ordering&&(p.oldestFirst=!0)}b({url:f+"/items",method:"GET",params:p}).success(function(a){o.resolve(a)})}return o.promise}]}},j=function(){return{sites:["$http","$q","BASE_URL","Publisher","SettingsResource",function(a,b,c,d,e){var f=b.defer();return a.get(c+"/settings").then(function(b){d.publishAll(b);var c=e.get("exploreUrl").replace(/\/+$/,""),f=e.get("language"),g=c+"/sites."+f+".json",h=c+"/sites.en.json";return a.get(g)["catch"](function(){return a.get(h)})}).then(function(a){f.resolve(a.data)})["catch"](function(){f.reject()}),f.promise}]}};a.when("/items",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.SUBSCRIPTIONS),type:d.SUBSCRIPTIONS}).when("/items/starred",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.STARRED),type:d.STARRED}).when("/items/feeds/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FEED),type:d.FEED}).when("/items/folders/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FOLDER),type:d.FOLDER}).when("/explore",{controller:"ExploreController as Explore",templateUrl:"explore.html",resolve:j(),type:d.EXPLORE}).when("/shortcuts",{templateUrl:"shortcuts.html",type:-1})}]),j.run(["$rootScope","$location","$http","$q","$interval","$route","Loading","ItemResource","FeedResource","FolderResource","SettingsResource","Publisher","BASE_URL","FEED_TYPE","REFRESH_RATE",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){g.setLoading("global",!0),l.subscribe(h).toChannels(["items","newestItemId","starred"]),l.subscribe(j).toChannels(["folders"]),l.subscribe(i).toChannels(["feeds"]),l.subscribe(k).toChannels(["settings"]);var p=d.defer();c.get(m+"/settings").success(function(a){l.publishAll(a),p.resolve()});var q=d.defer(),r=b.path();c.get(m+"/feeds/active").success(function(a){var c;switch(a.activeFeed.type){case n.FEED:c="/items/feeds/"+a.activeFeed.id;break;case n.FOLDER:c="/items/folders/"+a.activeFeed.id;break;case n.STARRED:c="/items/starred";break;case n.EXPLORE:c="/explore";break;default:c="/items"}/^\/items(\/(starred|explore|feeds\/\d+|folders\/\d+))?\/?$/.test(r)||b.path(c),q.resolve()});var s,t=d.defer();c.get(m+"/feeds").success(function(a){s=a,t.resolve()});var u,v=d.defer();c.get(m+"/folders").success(function(a){u=a,v.resolve()}),d.all([t.promise,v.promise]).then(function(){l.publishAll(s),l.publishAll(u),0===s.feeds.length&&0===u.folders.length&&b.path("/explore")}),d.all([p.promise,q.promise,t.promise,v.promise]).then(function(){f.reload(),g.setLoading("global",!1)}),e(function(){c.get(m+"/feeds").success(function(a){l.publishAll(a)}),c.get(m+"/folders").success(function(a){l.publishAll(a)})},1e3*o),a.$on("$routeChangeStart",function(){g.setLoading("content",!0)}),a.$on("$routeChangeSuccess",function(){g.setLoading("content",!1)}),a.$on("$routeChangeError",function(){b.path("/items")})}]),j.controller("AppController",["Loading","FeedResource","FolderResource",function(a,b,c){this.loading=a,this.isFirstRun=function(){return 0===b.size()&&0===c.size()},this.play=function(a){this.playingItem=a}}]),j.controller("ContentController",["Publisher","FeedResource","ItemResource","SettingsResource","data","$route","$routeParams","$location","FEED_TYPE","ITEM_AUTO_PAGE_SIZE","Loading",function(a,b,c,d,e,f,g,h,j,k,l){c.clear(),a.publishAll(e),this.isAutoPagingEnabled=!0,c.size()>=k?this.isNothingMoreToAutoPage=!1:this.isNothingMoreToAutoPage=!0,this.getItems=function(){return c.getAll()},this.toggleStar=function(a){c.toggleStar(a)},this.toggleItem=function(a){this.isCompactView()&&(a.show=!a.show)},this.isShowAll=function(){return d.get("showAll")},this.markRead=function(a){var d=c.get(a);d.keepUnread||d.unread!==!0||(c.markItemRead(a),b.markItemOfFeedRead(d.feedId))},this.getFeed=function(a){return b.getById(a)},this.toggleKeepUnread=function(a){var d=c.get(a);d.unread||(b.markItemOfFeedUnread(d.feedId),c.markItemRead(a,!1)),d.keepUnread=!d.keepUnread};var m=this,n=function(){var a=d.get("oldestFirst");if(m.isFeed()){var c=b.getById(g.id);c&&1===c.ordering?a=!0:c&&2===c.ordering&&(a=!1)}return a};this.orderBy=function(){return n()?"id":"-id"},this.isCompactView=function(){return d.get("compact")},this.isCompactExpand=function(){return d.get("compactExpand")},this.autoPagingEnabled=function(){return this.isAutoPagingEnabled},this.markReadEnabled=function(){return!d.get("preventReadOnScroll")},this.scrollRead=function(a){var d=[],e=[];a.forEach(function(a){var b=c.get(a);b.keepUnread||(d.push(a),e.push(b.feedId))}),d.length>0&&(b.markItemsOfFeedsRead(e),c.markItemsRead(d))},this.isFeed=function(){return f.current.$$route.type===j.FEED},this.autoPage=function(){if(!this.isNothingMoreToAutoPage){if(!this.isAutoPagingEnabled)return void(this.autoPageAgain=!0);this.isAutoPagingEnabled=!1,this.autoPageAgain=!1;var b=f.current.$$route.type,e=g.id,i=n(),j=d.get("showAll"),m=this,o=h.search().search;l.setLoading("autopaging",!0),c.autoPage(b,e,i,j,o).success(function(b){a.publishAll(b),b.items.length>=k?m.isAutoPagingEnabled=!0:m.isNothingMoreToAutoPage=!0,m.isAutoPagingEnabled&&m.autoPageAgain&&m.autoPage()}).error(function(){m.isAutoPagingEnabled=!0})["finally"](function(){l.setLoading("autopaging",!1)})}},this.getRelativeDate=function(a){if(a!==i&&""!==a){var b=d.get("language"),c=moment.unix(a).locale(b).fromNow()+"";return c}return""},this.refresh=function(){f.reload()},this.getMediaType=function(a){return a&&0===a.indexOf("audio")?"audio":a&&0===a.indexOf("video")?"video":i}}]),j.controller("ExploreController",["sites","$rootScope","FeedResource",function(a,b,c){this.sites=a,this.feeds=Object.keys(a).map(function(b){return[b,a[b]]}).reduce(function(a,b){var c=b[0],d=b[1];return d.forEach(function(a){a.category=c}),a.concat(d)},[]),this.feedExists=function(a){return c.getByLocation(a)!==i},this.subscribeTo=function(a){b.$broadcast("addFeed",a)},this.isCategoryShown=function(a){return a.filter(function(a){return c.getByLocation(a.feed)===i}).length>0}}]),j.controller("NavigationController",["$route","FEED_TYPE","FeedResource","FolderResource","ItemResource","SettingsResource","Publisher","$rootScope","$location","$q",function(a,b,c,d,e,f,g,h,j,k){this.feedError="",this.showNewFolder=!1,this.renamingFolder=!1,this.addingFeed=!1,this.addingFolder=!1,this.folderError="",this.renameError="",this.feed={};var l=function(){return parseInt(a.current.params.id,10)};this.getFeeds=function(){return c.getAll()},this.getFolders=function(){return d.getAll()},this.markFolderRead=function(a){c.markFolderRead(a),c.getByFolderId(a).forEach(function(a){e.markFeedRead(a.id)})},this.markFeedRead=function(a){e.markFeedRead(a),c.markFeedRead(a)},this.markRead=function(){e.markRead(),c.markRead()},this.isShowAll=function(){return f.get("showAll")},this.getFeedsOfFolder=function(a){return c.getByFolderId(a)},this.getUnreadCount=function(){return c.getUnreadCount()},this.isUnread=function(){return this.getUnreadCount()>0},this.getFeedUnreadCount=function(a){var b=c.getById(a);return b!==i?b.unreadCount:0},this.isFeedUnread=function(a){return this.getFeedUnreadCount(a)>0},this.getFolderUnreadCount=function(a){return c.getFolderUnreadCount(a)},this.isFolderUnread=function(a){return this.getFolderUnreadCount(a)>0},this.getStarredCount=function(){return e.getStarredCount()},this.isStarredUnread=function(){return this.getStarredCount()>0},this.toggleFolder=function(a){d.toggleOpen(a)},this.hasFeeds=function(a){return c.getFolderUnreadCount(a)!==i},this.subFeedActive=function(d){var e=a.current.$$route.type;if(e===b.FEED){var f=c.getById(l());if(f!==i&&f.folderId===d)return!0}return!1},this.isSubscriptionsActive=function(){return a.current&&a.current.$$route.type===b.SUBSCRIPTIONS},this.isStarredActive=function(){return a.current&&a.current.$$route.type===b.STARRED},this.isExploreActive=function(){return a.current&&a.current.$$route.type===b.EXPLORE},this.isFolderActive=function(c){return a.current&&a.current.$$route.type===b.FOLDER&&l()===c},this.isFeedActive=function(c){return a.current&&a.current.$$route.type===b.FEED&&l()===c},this.folderNameExists=function(a){return a=a||"",d.get(a.trim())!==i},this.feedUrlExists=function(a){return a=a||"",a=a.trim(),c.get(a)!==i||c.get("http://"+a)!==i},this.createFeed=function(a){var b=this;this.showNewFolder=!1,this.addingFeed=!0;var e=a.newFolder,f=a.existingFolder||{id:0};e===i||""===e?(f.getsFeed=!0,c.create(a.url,f.id,i).then(function(a){g.publishAll(a),j.path("/items/feeds/"+a.feeds[0].id+"/")})["finally"](function(){f.getsFeed=i,a.url="",b.addingFeed=!1})):d.create(e).then(function(c){g.publishAll(c),a.existingFolder=d.get(c.folders[0].name),a.newFolder=i,b.createFeed(a)})},this.createFolder=function(a){var b=this;this.addingFolder=!0,d.create(a.name).then(function(a){g.publishAll(a)})["finally"](function(){b.addingFolder=!1,a.name=""})},this.moveFeed=function(b,d){var e=!1,f=c.getById(b);f.folderId!==d&&((this.isFolderActive(f.folderId)||this.isFolderActive(d))&&(e=!0),c.move(b,d),e&&a.reload())},this.renameFeed=function(a){c.patch(a.id,{title:a.title}),a.editing=!1},this.renameFolder=function(a,b){a.renameError="",this.renamingFolder=!0;var c=this;a.name===b?(a.renameError="",a.editing=!1,this.renamingFolder=!1):d.rename(a.name,b).then(function(){a.renameError="",a.editing=!1},function(b){a.renameError=b})["finally"](function(){c.renamingFolder=!1})},this.reversiblyDeleteFeed=function(b){c.reversiblyDelete(b.id)["finally"](function(){a.reload()})},this.undoDeleteFeed=function(b){c.undoDelete(b.id)["finally"](function(){a.reload()})},this.deleteFeed=function(a){c["delete"](a.url)},this.reversiblyDeleteFolder=function(b){k.all(c.reversiblyDeleteFolder(b.id),d.reversiblyDelete(b.name))["finally"](function(){a.reload()})},this.undoDeleteFolder=function(b){k.all(c.undoDeleteFolder(b.id),d.undoDelete(b.name))["finally"](function(){a.reload()})},this.deleteFolder=function(a){c.deleteFolder(a.id),d["delete"](a.name)},this.setOrdering=function(b,d){c.patch(b.id,{ordering:d}),a.reload()},this.togglePinned=function(a){var b=c.getById(a);return b?c.patch(a,{pinned:!b.pinned}):void 0},this.setUpdateMode=function(a,b){return c.patch(a,{updateMode:b})},this.toggleFullText=function(b){h.$broadcast("$routeChangeStart"),c.toggleFullText(b.id)["finally"](function(){h.$broadcast("$routeChangeSuccess"),a.reload()})},this.search=function(a){""===a?j.search("search",null):j.search("search",a)};var m=this;h.$on("moveFeedToFolder",function(a,b){m.moveFeed(b.feedId,b.folderId)});var n=function(){var e;a.current&&(e=a.current.$$route.type);var f=0;if(e===b.FOLDER)f=l();else if(e===b.FEED){var g=c.getById(l());g&&(f=g.folderId)}var h;0!==f&&(h=d.getById(f)),m.feed.existingFolder=h};h.$on("$routeChangeSuccess",function(){n()})}]),j.controller("SettingsController",["$route","$q","SettingsResource","ItemResource","OPMLParser","OPMLImporter","Publisher",function(a,b,c,d,e,f,g){this.isOPMLImporting=!1,this.isArticlesImporting=!1,this.opmlImportError=!1,this.articleImportError=!1;var h=function(b,d){c.set(b,d),["showAll","oldestFirst","compact"].indexOf(b)>=0&&a.reload()};this.toggleSetting=function(a){h(a,!this.getSetting(a))},this.getSetting=function(a){return c.get(a)},this.importOPML=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isOPMLImporting=!1;var b=e.parse(a),c=this,d=5;f.importFolders(b).then(function(a){return f.importFeedQueue(a,d)})["finally"](function(){c.isOPMLImporting=!1})}catch(g){console.error(g),this.isOPMLImporting=!1,this.opmlImportError=!0}},this.importArticles=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isArticlesImporting=!0;var b=JSON.parse(a),c=this;d.importArticles(b).success(function(a){g.publishAll(a)})["finally"](function(){c.isArticlesImporting=!1})}catch(e){console.error(e),this.articleImportError=!0,this.isArticlesImporting=!1}}}]),j.filter("trustUrl",["$sce",function(a){return function(b){return a.trustAsResourceUrl(b)}}]),j.filter("unreadCountFormatter",function(){return function(a){return a>999?"999+":a}}),j.factory("FeedResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"url"),this.ids={},this.locations={},this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.$q=d};return e.prototype=Object.create(a.prototype),e.prototype.receive=function(b){a.prototype.receive.call(this,b),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.clear=function(){a.prototype.clear.call(this),this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.ids={},this.locations={}},e.prototype.updateUnreadCache=function(){this.unreadCount=0,this.folderUnreadCount={};var a=this;this.values.forEach(function(b){b.unreadCount&&(a.unreadCount+=b.unreadCount),b.folderId!==i&&(a.folderUnreadCount[b.folderId]=a.folderUnreadCount[b.folderId]||0,a.folderUnreadCount[b.folderId]+=b.unreadCount)})},e.prototype.updateFolderCache=function(){this.folderIds={};var a=this;this.values.forEach(function(b){a.folderIds[b.folderId]=a.folderIds[b.folderId]||[],a.folderIds[b.folderId].push(b)})},e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.url]),b.location!==i&&(this.locations[b.location]=this.hashMap[b.url])},e.prototype.markRead=function(){this.values.forEach(function(a){a.unreadCount=0}),this.updateUnreadCache()},e.prototype.markFeedRead=function(a){this.ids[a].unreadCount=0,this.updateUnreadCache()},e.prototype.markFolderRead=function(a){this.values.forEach(function(b){b.folderId===a&&(b.unreadCount=0)}),this.updateUnreadCache()},e.prototype.markItemOfFeedRead=function(a){this.ids[a].unreadCount-=1,this.updateUnreadCache()},e.prototype.markItemsOfFeedsRead=function(a){var b=this;a.forEach(function(a){b.ids[a].unreadCount-=1}),this.updateUnreadCache()},e.prototype.markItemOfFeedUnread=function(a){this.ids[a].unreadCount+=1,this.updateUnreadCache()},e.prototype.getUnreadCount=function(){return this.unreadCount},e.prototype.getFolderUnreadCount=function(a){return this.folderUnreadCount[a]},e.prototype.getByFolderId=function(a){return this.folderIds[a]||[]},e.prototype.getById=function(a){return this.ids[a]},e.prototype.getByLocation=function(a){return this.locations[a]},e.prototype.move=function(a,b){var c=this.getById(a);return c.folderId=b,this.updateFolderCache(),this.updateUnreadCache(),this.patch(a,{folderId:b})},e.prototype.create=function(a,b,c){a=a.trim(),a.startsWith("http")||(a="https://"+a),c!==i&&(c=c.trim());var d={url:a,folderId:b||0,title:c||a,unreadCount:0};this.add(d),this.updateFolderCache();var e=this.$q.defer();return this.http({method:"POST",url:this.BASE_URL+"/feeds",data:{url:a,parentFolderId:b||0,title:c}}).success(function(a){e.resolve(a)}).error(function(a){d.faviconLink="",d.error=a.message,e.reject()}),e.promise},e.prototype.reversiblyDelete=function(a,b,c){var d=this.getById(a);return d&&c!==!0&&(d.deleted=!0),b!==!1&&this.updateUnreadCache(),this.http["delete"](this.BASE_URL+"/feeds/"+a)},e.prototype.reversiblyDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.reversiblyDelete(a.id,!1,!0))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype["delete"]=function(b,c){var d=this.get(b);return d!==i&&d.id&&delete this.ids[d.id],d!==i&&d.location&&delete this.locations[d.location],a.prototype["delete"].call(this,b),c!==!1&&(this.updateUnreadCache(),this.updateFolderCache()),d},e.prototype.deleteFolder=function(a){var b=this;this.getByFolderId(a).forEach(function(a){b["delete"](a.url,!1)}),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.undoDelete=function(a,b){var c=this.getById(a);return c&&(c.deleted=!1),b!==!1&&this.updateUnreadCache(),this.http.post(this.BASE_URL+"/feeds/"+a+"/restore")},e.prototype.undoDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.undoDelete(a.id,!1))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype.setOrdering=function(a,b){var c=this.getById(a);if(c){c.ordering=b;var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,{ordering:b})}},e.prototype.setPinned=function(a,b){var c=this.getById(a);if(c){c.pinned=b;var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,{pinned:b})}},e.prototype.patch=function(a,b){var c=this.getById(a);if(c){Object.keys(b).forEach(function(a){c[a]=b[a]});var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,b)}},e.prototype.toggleFullText=function(a){var b=this.getById(a);return this.patch(a,{fullTextEnabled:!b.fullTextEnabled})},new e(b,c,d)}]),j.factory("FolderResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"name"),this.deleted=null,this.$q=d,this.ids={}};return e.prototype=Object.create(a.prototype),e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.name])},e.prototype.clear=function(){a.prototype.clear.call(this),this.ids={}},e.prototype["delete"]=function(b){var c=this.get(b);return c!==i&&c.id&&delete this.ids[c.id],a.prototype["delete"].call(this,b),c},e.prototype.toggleOpen=function(a){var b=this.get(a);return b.opened=!b.opened,this.http({url:this.BASE_URL+"/folders/"+b.id+"/open",method:"POST",data:{folderId:b.id,open:b.opened}})},e.prototype.rename=function(a,b){var c=this.get(a),d=this.$q.defer(),e=this;return this.http({url:this.BASE_URL+"/folders/"+c.id+"/rename",method:"POST",data:{folderName:b}}).success(function(){c.name=b,delete e.hashMap[a],e.hashMap[b]=c,d.resolve()}).error(function(a){d.reject(a.message)}),d.promise},e.prototype.getById=function(a){return this.ids[a]},e.prototype.create=function(a){a=a.trim();var b={name:a};this.add(b);var c=this.$q.defer();return this.http({url:this.BASE_URL+"/folders",method:"POST",data:{folderName:a}}).success(function(a){c.resolve(a)}).error(function(a){b.error=a.message}),c.promise},e.prototype.reversiblyDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!0,this.http["delete"](this.BASE_URL+"/folders/"+c)},e.prototype.undoDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!1,this.http.post(this.BASE_URL+"/folders/"+c+"/restore")},new e(b,c,d)}]),j.factory("ItemResource",["Resource","$http","BASE_URL","ITEM_BATCH_SIZE",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c),this.batchSize=d,this.clear()};return e.prototype=Object.create(a.prototype),e.prototype.clear=function(){this.starredCount=0,this.lowestId=0,this.highestId=0,a.prototype.clear.call(this)},e.prototype.receive=function(b,c){switch(c){case"newestItemId":this.newestItemId=b;break;case"starred":this.starredCount=b;break;default:var d=this;b.forEach(function(a){0===d.lowestId&&(d.lowestId=a.id),0===d.highestId&&(d.highestId=a.id),a.id>d.highestId&&(d.highestId=a.id),a.id<d.lowestId&&(d.lowestId=a.id)}),a.prototype.receive.call(this,b,c)}},e.prototype.getNewestItemId=function(){return this.newestItemId},e.prototype.getStarredCount=function(){return this.starredCount},e.prototype.star=function(a,b){b===i&&(b=!0);var c=this.get(a),d=this.BASE_URL+"/items/"+c.feedId+"/"+c.guidHash+"/star";return c.starred=b,b?this.starredCount+=1:this.starredCount-=1,this.http({url:d,method:"POST",data:{isStarred:b}})},e.prototype.toggleStar=function(a){this.get(a).starred?this.star(a,!1):this.star(a,!0)},e.prototype.markItemRead=function(a,b){return b===i&&(b=!0),this.get(a).unread=!b,this.http({url:this.BASE_URL+"/items/"+a+"/read",method:"POST",data:{isRead:b}})},e.prototype.markItemsRead=function(a){var b=this;return a.forEach(function(a){b.get(a).unread=!1}),this.http({url:this.BASE_URL+"/items/read/multiple",method:"POST",data:{itemIds:a}})},e.prototype.markFeedRead=function(a,b){b===i&&(b=!0);var c=this.values.filter(function(b){return b.feedId===a});return c.forEach(function(a){a.unread=!b}),this.http.post(this.BASE_URL+"/feeds/"+a+"/read",{highestItemId:this.getNewestItemId()})},e.prototype.markRead=function(){return this.values.forEach(function(a){a.unread=!1}),this.http({url:this.BASE_URL+"/items/read",method:"POST",data:{highestItemId:this.getNewestItemId()}})},e.prototype.autoPage=function(a,b,c,d,e){var f;return f=c?this.highestId:this.lowestId,this.http({url:this.BASE_URL+"/items",method:"GET",params:{type:a,id:b,offset:f,limit:this.batchSize,oldestFirst:c,showAll:d,search:e}})},e.prototype.importArticles=function(a){return this.http({url:this.BASE_URL+"/feeds/import/articles",method:"POST",data:{json:a}})},new e(b,c,d)}]),j.service("Loading",function(){this.loading={global:!1,content:!1,autopaging:!1},this.setLoading=function(a,b){this.loading[a]=b},this.isLoading=function(a){return this.loading[a]}}),j.service("OPMLImporter",["FeedResource","FolderResource","Publisher","$q",function(a,b,c,d){var e=function(f){var g=d.defer();if(f.length>0){var h=f.pop(),j=h.url,k=h.title,l=0,m=h.folderName;if(m!==i&&b.get(m)!==i){var n=b.get(m);n.opened=!0,l=n.id,n.getsFeed=!0,n.getsFeedCounter=n.getsFeedCounter||0,n.getsFeedCounter+=1}j!==i&&a.get(j)===i&&a.create(j,l,k).then(function(a){c.publishAll(a)})["finally"](function(){0!==l&&(n.getsFeedCounter-=1,0===n.getsFeedCounter&&(n.getsFeed=!1)),e(f)})}else g.resolve();return g.promise};this.importFolders=function(a){var e=[],f=[];a.folders.forEach(function(a){if(a.name!==i){if(b.get(a.name)===i){var d=b.create(a.name).then(function(a){c.publishAll(a)});f.push(d)}a.feeds.forEach(function(b){b.folderName=a.name,e.push(b)})}}),e=e.concat(a.feeds);var g=d.defer();return d.all(f)["finally"](function(){g.resolve(e)}),g.promise},this.importFeedQueue=function(a,b){for(var c=d.defer(),f=[],g=0;b>g;g+=1)f.push(e(a));return d.all(f).then(function(){c.resolve()}),c.promise}}]),j.service("OPMLParser",function(){var a=function(a){var b=a.attr("xmlUrl")||a.attr("htmlUrl"),c=a.attr("title")||a.attr("text")||b;return b===i?{type:"folder",name:c,feeds:[]}:{type:"feed",name:c,url:b}},b=function(c,d,f){for(var g=0;g<c.length;g+=1){var h=e(c[g]),i=a(h);"feed"===i.type?d.feeds.push(i):f?(b(h.children("outline"),i,!1),d.folders.push(i)):b(h.children("outline"),d,!1)}return d};this.parse=function(a){a=e.parseXML(a);var c=e(a).find("body > outline"),d={feeds:[],folders:[]};return b(c,d,!0)}}),j.service("Publisher",function(){this.channels={},this.subscribe=function(a){var b=this;return{toChannels:function(c){c.forEach(function(c){b.channels[c]=b.channels[c]||[],b.channels[c].push(a)})}}},this.publishAll=function(a){var b=this;Object.keys(a).forEach(function(c){var d=b.channels[c];d!==i&&d.forEach(function(b){b.receive(a[c],c)})})}}),j.factory("Resource",function(){var a=function(a,b,c){this.id=c||"id",this.values=[],this.hashMap={},this.http=a,this.BASE_URL=b};return a.prototype.receive=function(a){var b=this;a.forEach(function(a){b.add(a)})},a.prototype.add=function(a){var b=this.hashMap[a[this.id]];b===i?(this.values.push(a),this.hashMap[a[this.id]]=a):Object.keys(a).forEach(function(c){b[c]=a[c]})},a.prototype.size=function(){return this.values.length},a.prototype.get=function(a){return this.hashMap[a]},a.prototype["delete"]=function(a){var b=this,c=this.values.findIndex(function(c){return c[b.id]===a});c!==i&&this.values.splice(c,1),this.hashMap[a]!==i&&delete this.hashMap[a]},a.prototype.clear=function(){for(this.hashMap={};this.values.length>0;)this.values.pop()},a.prototype.getAll=function(){return this.values},a}),j.service("SettingsResource",["$http","BASE_URL",function(a,b){this.settings={language:"en",showAll:null,compact:!1,oldestFirst:null,preventReadOnScroll:!1,compactExpand:!1,exploreUrl:""},this.defaultLanguageCode="en",this.supportedLanguageCodes=["ar-ma","ar","bg","ca","cs","cv","da","de","el","en-ca","en-gb","eo","es","et","eu","fi","fr-ca","fr","gl","he","hi","hu","id","is","it","ja","ka","ko","lv","ms-my","nb","ne","nl","pl","pt-br","pt","ro","ru","sk","sl","sv","th","tr","tzm-la","tzm","uk","zh-cn","zh-tw"],this.receive=function(a){var b=this;Object.keys(a).forEach(function(c){var d=a[c];"language"===c&&(d=b.processLanguageCode(d)),b.settings[c]=d})},this.get=function(a){return this.settings[a]},this.set=function(c,d){return this.settings[c]=d,a({url:b+"/settings",method:"PUT",data:{language:this.settings.language,showAll:this.settings.showAll,compact:this.settings.compact,oldestFirst:this.settings.oldestFirst,compactExpand:this.settings.compactExpand,preventReadOnScroll:this.settings.preventReadOnScroll}})},this.processLanguageCode=function(a){return a=a.replace("_","-").toLowerCase(),this.supportedLanguageCodes.indexOf(a)<0&&(a=a.split("-")[0]),this.supportedLanguageCodes.indexOf(a)<0&&(a=this.defaultLanguageCode),a}}]),function(a,b,c,d,e,f){var g=a.location,h=a.localStorage,i=function(a,b,d){var e=c.isContentHandlerRegistered,f=function(a,b){return e?"new"!==e(a,b):h.getItem("registeredHandler")===b};c.registerContentHandler&&!f(a,b)&&(c.registerContentHandler(a,k,d),e||h.setItem("registeredHandler",b))},j=g.protocol+"//"+g.host+g.pathname,k=j+"?subscribe_to=%s",l="application/vnd.mozilla.maybe.feed",m="ownCloud News @ "+j;i(l,k,m),e(b).ready(function(){var b=a.decodeURIComponent(d("?subscribe_to"));if(b&&"null"!==b){e("#new-feed").show();var c=e('input[ng-model="Navigation.feed.url"]');c.val(b),c.trigger("input"),setTimeout(function(){c.focus()},1e3)}})}(b,c,a,h,e),function(a,b){a.addEventListener("beforeunload",function(){var a=b.querySelector("#app-content");a.scrollTo(0,0)})}(b,c),function(a,b,c){var d=function(a){return!(a.is("input")||a.is("select")||a.is("textarea")||a.is("checkbox"))},e=function(a){return!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey)},f=function(a){var b=".active > .app-navigation-entry-menu .mark-read button",c=a.find(b);c.length>0&&c.trigger("click")},g=function(a,b){var c=a.offset().top-b.offset().top,d=c+a.height(),e=b.height();return c>=0&&e>d},h=function(a,b,c){0===a.length||!c&&g(a,b)||b.scrollTop(a.offset().top-b.offset().top+b.scrollTop())},i=function(a){var b=a.find(".active");h(b,a.children("ul"),!0)},j=function(a){a.find(".active > a:visible").trigger("click")},k=function(a,b){if(0===b.scrollTop()){var c=b.find(".pull-to-refresh");c.hasClass("show-pull-to-refresh")?c.hasClass("done")&&j(a):c.addClass("show-pull-to-refresh")}},l=function(a,b){a.children("a:visible").trigger("click"),h(a,b.children("ul"))},m=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder"))for(;b.length>0;){var e=b.find(".feed:visible");if(e.length>0)return void l(c(e[0]),a);b=b.next(".folder")}else for(var f=0;f<d.length-1;f+=1){var g=d[f];if(g===b[0]){var h=d[f+1];l(c(h),a);break}}},n=function(a){return a.parent().parent(".folder")},o=function(a,b){var d,e=a.find(".folder:visible");d=b?e.length-1:0,e.length>0&&l(c(e[d]),a)},p=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.prevAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c,a):o(a,!0)}else o(a,!0)},q=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.nextAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c.nextAll(".folder:visible").first(),a):o(a)}else o(a)},r=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder")){for(var e=b.prev(".folder");e.length>0;){var f=e.find(".feed:visible");if(f.length>0)return void l(c(f[f.length-1]),a);e=e.prev(".folder")}var g=b.siblings(".feed");if(g.length>0)return void l(c(g[g.length-1]),a);var h=c(".starred-feed:visible");return void(h.length>0&&l(h,a))}for(var i=d.length-1;i>0;i-=1){var j=d[i];if(j===b[0]){var k=d[i-1];l(c(k),a);break}}},s=function(a,b){var d=a.find(".item");d.each(function(a,d){return d=c(d),d.height()+d.position().top>30?(b(d),!1):void 0})},t=function(a){s(a,function(a){a.find(".toggle-keep-unread").trigger("click")})},u=function(a){s(a,function(a){a.find(".star").trigger("click")})},v=function(a){s(a,function(a){a.find(".utils").trigger("click")})},w=function(b){s(b,function(b){b.trigger("click"),a.open(b.find(".external:visible").attr("href"),"_blank")})},x=function(a,b,c){a.scrollTop(b.offset().top-a.offset().top+a.scrollTop()),c&&s(a,function(a){a.hasClass("open")||a.find(".utils").trigger("click")})},y=function(a,b){var d=a.find(".item"),e=!1;d.each(function(d,f){return f=c(f),0===f.position().top&&b&&!f.hasClass("open")||f.position().top>10?(x(a,f,b),e=!0,!1):void 0}),e||a.scrollTop(a.prop("scrollHeight"))},z=function(a,b,d){var e=b.find(".item"),f=!1;e.each(function(e,g){if(g=c(g),g.position().top+10>=0){var h=g.prev();return h.length>0?x(b,h,d):(k(a,b),b.scrollTop(0)),f=!0,!1}}),!f&&e.length>0&&x(b,e.last())};c(b).keyup(function(a){var b=a.keyCode,g=c("#app-content"),h=c("#app-navigation"),l=c("#articles.compact").length>0,n="true"===c("#articles").attr("news-compact-expand"),o=l&&n;d(c(":focus"))&&e(a)?[74,78,39].indexOf(b)>=0?(a.preventDefault(),y(g,o)):[75,80,37].indexOf(b)>=0?(a.preventDefault(),z(h,g,o)):[85].indexOf(b)>=0?(a.preventDefault(),t(g)):[69].indexOf(b)>=0?(a.preventDefault(),v(g)):[73,83,76].indexOf(b)>=0?(a.preventDefault(),u(g)):[72].indexOf(b)>=0?(a.preventDefault(),u(g),y(g)):[79].indexOf(b)>=0?(a.preventDefault(),w(g)):[82].indexOf(b)>=0?(a.preventDefault(),j(h)):[70].indexOf(b)>=0?(a.preventDefault(),m(h)):[68].indexOf(b)>=0?(a.preventDefault(),r(h)):[67].indexOf(b)>=0?(a.preventDefault(),p(h)):[65].indexOf(b)>=0?(a.preventDefault(),i(h)):[86].indexOf(b)>=0?(a.preventDefault(),q(h)):[81].indexOf(b)>=0?(a.preventDefault(),c("#searchbox").focus()):[33].indexOf(b)>=0&&k(h,g):d(c(":focus"))&&a.shiftKey&&[65].indexOf(b)>=0&&(a.preventDefault(),f(h))})}(b,c,e),b.News=b.News||{},function(a,b,c,d,e){var f=[];d.addArticleAction=function(a){f.push(a)},d.getArticleActionPlugins=function(){return f}}(b,c,jQuery,b.News),j.run(["$document","$rootScope",function(a,b){a.click(function(a){b.$broadcast("documentClicked",a)})}]),j.directive("appNavigationEntryUtils",function(){return{restrict:"C",link:function(a,b){
+var c=b.siblings(".app-navigation-entry-menu"),d=e(b).find(".app-navigation-entry-utils-menu-button button");d.click(function(){c.toggleClass("open")}),a.$on("documentClicked",function(a,b){b.target!==d[0]&&c.removeClass("open")})}}}),j.directive("newsAddFeed",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(c,d){a.$on("addFeed",function(a,e){b(function(){d.is(":animated")?(d.stop(!0,!0),d.show()):d.is(":visible")||d.slideDown(),d.find('[ng-model="Navigation.feed.url"]').focus()}),c.Navigation.feed.url=e})}}}]),j.directive("newsArticleActions",function(){return{restrict:"A",scope:{newsArticleActions:"=",noPlugins:"="},link:function(a,b){for(var c=News.getArticleActionPlugins(),d=0;d<c.length;d+=1)c[d](b,a.newsArticleActions);a.noPlugins=0===c.length}}}),j.directive("newsAutoFocus",["$timeout",function(a){return function(b,c,d){var f=c;d.newsAutoFocus&&(f=e(d.newsAutoFocus)),a(function(){f.focus()},0)}}]),j.directive("newsBindHtmlUnsafe",function(){return function(a,b,c){a.$watch(c.newsBindHtmlUnsafe,function(){b.html(a.$eval(c.newsBindHtmlUnsafe))})}}),j.directive("newsDraggable",function(){return function(a,b,c){var e=a.$eval(c.newsDraggable);d.isDefined(e)?b.draggable(e):b.draggable(),c.$observe("newsDraggableDisable",function(a){"true"===a?b.draggable("disable"):b.draggable("enable")})}}),j.directive("newsDroppable",["$rootScope",function(a){return function(b,c,d){var f={accept:".feed",hoverClass:"drag-and-drop",greedy:!0,drop:function(f,g){e(".drag-and-drop").removeClass("drag-and-drop");var h={folderId:parseInt(c.data("id"),10),feedId:parseInt(e(g.draggable).data("id"),10)};a.$broadcast("moveFeedToFolder",h),b.$apply(d.droppable)}};c.droppable(f)}}]),j.directive("newsFinishedTransition",function(){return function(a,b,c){b.on("transitionend",function(){b.addClass(c.newsFinishedTransition)})}}),j.directive("newsFocus",["$timeout","$interpolate",function(a,b){return function(c,d,f){d.click(function(){var d=e(b(f.newsFocus)(c));a(function(){d.focus()},500)})}}]),j.directive("newsInstantNotification",function(){return{restrict:"E",link:function(a,b){b.hide();var c=b.html();f.Notification.showHtml(c)}}}),j.directive("newsPlayOne",["$rootScope",function(a){return{restrict:"A",link:function(b,c){c.on("play",function(){a.$broadcast("playing",c)}),a.$on("playing",function(a,b){b[0]!==c[0]&&c[0].pause()})}}}]),j.directive("newsPullToRefresh",["$rootScope",function(a){var b=!1;return{restrict:"A",scope:{newsPullToRefresh:"="},link:function(c,d){a.$on("$routeChangeStart",function(){b=!1,c.newsPullToRefresh=!1}),d.on("scroll",function(){0===d.scrollTop()&&b&&(c.newsPullToRefresh=!0),b=!0})}}}]),j.directive("newsReadFile",function(){return function(a,b,c){b.change(function(){var d=b[0].files[0],e=new FileReader;e.onload=function(b){a.$fileContent=b.target.result,a.$apply(c.newsReadFile)},e.readAsText(d)})}}),j.directive("newsRefreshMasonry",["$timeout",function(a){var b=function(b){a(function(){a(function(){b.parent().masonry({itemSelector:".grid-item",gutter:25,columnWidth:300})})})};return function(a,c){a.$last&&b(c)}}]),j.directive("newsScroll",["$timeout","ITEM_AUTO_PAGE_SIZE","MARK_READ_TIMEOUT","SCROLL_TIMEOUT",function(a,b,c,d){var f,g=function(a,b,c){for(var d=0,f=b.find(".item"),g=f.length-1;g>=0;g-=1){var h=e(f[g]);if(d>=a)break;if(h.position().top<0){c.$apply(c.newsScrollAutoPage);break}d+=1}},h=function(a,b,c){if(a){var d=[],f=b.find(".item:not(.read)");f.each(function(a,b){var c=e(b);return c.position().top<=-10?void d.push(parseInt(c.data("id"),10)):!1}),c.itemIds=d,c.$apply(c.newsScrollMarkRead)}};return{restrict:"A",scope:{newsScroll:"@",newsScrollAutoPage:"&",newsScrollMarkRead:"&",newsScrollEnabledMarkRead:"="},link:function(j,k){var l=!0,m=k;j.newsScroll&&(m=e(j.newsScroll));var n=function(){l&&(l=!1,a(function(){l=!0},1e3*d),g(b,k,j),f&&a.cancel(f),f=a(function(){h(j.newsScrollEnabledMarkRead,k,j),f=i},1e3*c))};m.on("scroll",n),j.$on("$destroy",function(){m.off("scroll",n)})}}}]),j.directive("newsSearch",["$document","$location",function(a,b){return{restrict:"E",scope:{onSearch:"="},link:function(a){var c=e("#searchbox");c.val(b.search().search);var d=function(){var b=c.val();a.$apply(function(){a.onSearch(b)})};c.on("search keyup",function(a){("search"===a.type||13===a.keyCode)&&d()}),a.$watch(function(){return b.search()},function(a){a&&a.search?c.val(a.search):c.val("")})}}}]),j.directive("newsStickyMenu",function(){return function(a,b,c){var d=40;e(c.newsStickyMenu).scroll(function(){var a=e(this).scrollTop();a>d?(b.addClass("fixed"),b.css("top",a)):b.removeClass("fixed")})}}),j.directive("newsStopPropagation",function(){return{restrict:"A",link:function(a,b){b.bind("click",function(a){a.stopPropagation()})}}}),j.directive("newsTimeout",["$timeout","$rootScope",function(a,b){return{restrict:"A",scope:{newsTimeout:"&"},link:function(c,d){var e=!1,f=7,g=a(c.newsTimeout,1e3*f);c.$on("$destroy",function(){e=!0,a.cancel(g)}),b.$on("$locationChangeStart",function(){a.cancel(g),e||(e=!0,d.remove(),c.newsTimeout())})}}}]),j.directive("newsTitleUnreadCount",["$window",function(a){var b=a.document.title,c=b.split("-"),d=c[0]||"News",e=c[1]||"ownCloud";return{restrict:"E",scope:{unreadCount:"@"},link:function(b,c,f){f.$observe("unreadCount",function(b){"0"!==b?a.document.title=d+"("+b+") - "+e:a.document.title=d+" - "+e})}}}]),j.directive("newsToggleShow",function(){return{restrict:"A",scope:{newsToggleShow:"@"},link:function(a,b){b.click(function(){var b=e(a.newsToggleShow);b.toggle()})}}}),j.directive("newsTriggerClick",function(){return function(a,b,c){b.click(function(){e(c.newsTriggerClick).trigger("click")})}})}(navigator,window,document,angular,jQuery,OC,oc_requesttoken,url);
//# sourceMappingURL=app.min.js.map \ No newline at end of file
diff --git a/js/build/app.min.js.map b/js/build/app.min.js.map
index b63a23417..5576a3e30 100644
--- a/js/build/app.min.js.map
+++ b/js/build/app.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["app.js"],"names":["navigator","window","document","angular","$","OC","csrfToken","url","undefined","app","module","config","$routeProvider","$provide","$httpProvider","feedType","FEED","FOLDER","STARRED","SUBSCRIPTIONS","SHARED","EXPLORE","constant","generateUrl","factory","$q","BASE_URL","$window","request","domain","location","href","split","pathname","indexOf","headers","requesttoken","when","errorMessages",0,"t",401,403,412,500,503,"$timeout","timer","responseError","response","status","cancel","Notification","hide","showHtml","reject","interceptors","push","getItemResolve","type","data","$http","$route","$location","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource","showAll","get","oldestFirst","search","deferred","defer","resolve","parameters","limit","current","params","id","feed","getById","ordering","method","success","promise","getExploreResolve","sites","Publisher","then","publishAll","language","lang","controller","templateUrl","run","$rootScope","$interval","Loading","ItemResource","FolderResource","REFRESH_RATE","setLoading","subscribe","toChannels","settingsDeferred","activeFeedDeferred","path","activeFeed","test","feeds","feedDeferred","folders","folderDeferred","all","length","reload","$on","this","loading","isFirstRun","size","play","item","playingItem","$routeParams","ITEM_AUTO_PAGE_SIZE","clear","isAutoPagingEnabled","isNothingMoreToAutoPage","getItems","getAll","toggleStar","itemId","toggleItem","isCompactView","show","isShowAll","markRead","keepUnread","unread","markItemRead","markItemOfFeedRead","feedId","getFeed","toggleKeepUnread","markItemOfFeedUnread","self","getOrdering","isFeed","orderBy","isCompactExpand","autoPagingEnabled","markReadEnabled","scrollRead","itemIds","ids","feedIds","forEach","markItemsOfFeedsRead","markItemsRead","$$route","autoPage","autoPageAgain","items","error","getRelativeDate","timestamp","languageCode","date","moment","unix","locale","fromNow","refresh","getMediaType","Object","keys","map","key","reduce","xs","x","category","feedList","concat","feedExists","getByLocation","subscribeTo","$broadcast","isCategoryShown","filter","element","feedError","showNewFolder","renamingFolder","addingFeed","addingFolder","folderError","renameError","getRouteId","parseInt","getFeeds","getFolders","markFolderRead","folderId","getByFolderId","markFeedRead","getFeedsOfFolder","getUnreadCount","isUnread","getFeedUnreadCount","unreadCount","isFeedUnread","getFolderUnreadCount","isFolderUnread","getStarredCount","isStarredUnread","toggleFolder","folderName","toggleOpen","hasFeeds","subFeedActive","isSubscriptionsActive","isStarredActive","isExploreActive","isFolderActive","isFeedActive","folderNameExists","trim","feedUrlExists","createFeed","newFolder","existingFolder","getsFeed","create","name","createFolder","folder","moveFeed","move","renameFeed","patch","title","editing","renameFolder","rename","message","reversiblyDeleteFeed","reversiblyDelete","undoDeleteFeed","undoDelete","deleteFeed","reversiblyDeleteFolder","undoDeleteFolder","deleteFolder","setOrdering","togglePinned","pinned","setUpdateMode","updateMode","toggleFullText","value","scope","setSelectedFolderForRoute","OPMLParser","OPMLImporter","isOPMLImporting","isArticlesImporting","opmlImportError","articleImportError","set","toggleSetting","getSetting","importOPML","content","parsedContent","parse","jobSize","importFolders","feedQueue","importFeedQueue","console","importArticles","articles","JSON","$sce","trustAsResourceUrl","Resource","call","locations","folderUnreadCount","folderIds","prototype","receive","updateUnreadCache","updateFolderCache","values","add","hashMap","startsWith","http","parentFolderId","faviconLink","updateCache","isFolder","deleted","promises","post","setPinned","isPinned","diff","fullTextEnabled","opened","open","toFolderName","batchSize","starredCount","lowestId","highestId","channel","newestItemId","getNewestItemId","star","isStarred","it","guidHash","starred","isRead","read","highestItemId","offset","json","service","global","autopaging","area","isLoading","startFeedJob","queue","pop","getsFeedCounter","folderPromises","jobPromises","i","parseOutline","outline","attr","recursivelyParse","level","root","firstLevel","entry","children","xml","parseXML","find","channels","obj","listeners","listener","objs","existing","deleteAtIndex","findIndex","splice","settings","compact","preventReadOnScroll","compactExpand","exploreUrl","defaultLanguageCode","supportedLanguageCodes","processLanguageCode","replace","toLowerCase","storage","localStorage","registerHandler","mime","registered","isContentHandlerRegistered","isRegistered","getItem","registerContentHandler","subscribeUrl","setItem","cleanUrl","protocol","host","mimeType","ready","subscription","decodeURIComponent","input","val","trigger","setTimeout","focus","addEventListener","querySelector","scrollTo","noInputFocused","is","noModifierKey","event","shiftKey","altKey","ctrlKey","metaKey","markAllRead","navigationArea","selector","button","isInScrollView","elem","scrollArea","elemTop","top","elemBottom","height","areaBottom","scrollToNavigationElement","toTop","scrollTop","scrollToActiveNavigationEntry","reloadFeed","tryReload","pullToRefresh","hasClass","addClass","activateNavigationEntry","nextFeed","elements","subfeeds","next","getParentFolder","parent","selectFirstOrLastFolder","isLast","index","previousFolder","prevAll","first","parentFolder","nextFolder","nextAll","previousFeed","prev","siblings","previous","onActiveItem","callback","each","position","toggleUnread","expandItem","openLink","scrollToItem","expandItemInCompact","scrollToNextItem","jumped","prop","scrollToPreviousItem","last","keyup","keyCode","isExpandItem","preventDefault","News","exports","articleActionPlugins","addArticleAction","action","getArticleActionPlugins","jQuery","$document","click","directive","restrict","link","elm","menu","toggleClass","target","removeClass","_","stop","slideDown","Navigation","newsArticleActions","noPlugins","plugins","attrs","toFocus","newsAutoFocus","$watch","newsBindHtmlUnsafe","html","$eval","options","newsDraggable","isDefined","draggable","$observe","details","accept","hoverClass","greedy","drop","ui","$apply","droppable","on","newsFinishedTransition","$interpolate","toReadd","newsFocus","notification","args","pause","scrolled","newsPullToRefresh","change","file","files","reader","FileReader","onload","$fileContent","result","newsReadFile","readAsText","masonry","itemSelector","gutter","columnWidth","$last","MARK_READ_TIMEOUT","SCROLL_TIMEOUT","counter","newsScrollAutoPage","enabled","article","newsScrollMarkRead","newsScroll","newsScrollEnabledMarkRead","allowScroll","scrollHandler","off","onSearch","box","doSearch","newsStickyMenu","scroll","scrollHeight","css","bind","stopPropagation","newsTimeout","destroyed","seconds","remove","baseTitle","titles","appName","ownCloudName","newsToggleShow","toggle","newsTriggerClick","oc_requesttoken"],"mappings":"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","file":"app.min.js"} \ No newline at end of file
+{"version":3,"sources":["app.js"],"names":["navigator","window","document","angular","$","OC","csrfToken","url","undefined","app","module","config","$routeProvider","$provide","$httpProvider","feedType","FEED","FOLDER","STARRED","SUBSCRIPTIONS","SHARED","EXPLORE","constant","generateUrl","factory","$q","BASE_URL","$window","request","domain","location","href","split","pathname","indexOf","headers","requesttoken","when","errorMessages",0,"t",401,403,412,500,503,"$timeout","timer","responseError","response","status","cancel","Notification","hide","showHtml","reject","interceptors","push","getItemResolve","type","data","$http","$route","$location","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource","showAll","get","oldestFirst","search","deferred","defer","resolve","parameters","limit","current","params","id","feed","getById","ordering","method","success","promise","getExploreResolve","sites","Publisher","then","publishAll","replace","language","exploreUrl","defaultExploreUrl","controller","templateUrl","run","$rootScope","$interval","Loading","ItemResource","FolderResource","REFRESH_RATE","setLoading","subscribe","toChannels","settingsDeferred","activeFeedDeferred","path","activeFeed","test","feeds","feedDeferred","folders","folderDeferred","all","length","reload","$on","this","loading","isFirstRun","size","play","item","playingItem","$routeParams","ITEM_AUTO_PAGE_SIZE","clear","isAutoPagingEnabled","isNothingMoreToAutoPage","getItems","getAll","toggleStar","itemId","toggleItem","isCompactView","show","isShowAll","markRead","keepUnread","unread","markItemRead","markItemOfFeedRead","feedId","getFeed","toggleKeepUnread","markItemOfFeedUnread","self","getOrdering","isFeed","orderBy","isCompactExpand","autoPagingEnabled","markReadEnabled","scrollRead","itemIds","ids","feedIds","forEach","markItemsOfFeedsRead","markItemsRead","$$route","autoPage","autoPageAgain","items","error","getRelativeDate","timestamp","languageCode","date","moment","unix","locale","fromNow","refresh","getMediaType","Object","keys","map","key","reduce","xs","x","category","feedList","concat","feedExists","getByLocation","subscribeTo","$broadcast","isCategoryShown","filter","element","feedError","showNewFolder","renamingFolder","addingFeed","addingFolder","folderError","renameError","getRouteId","parseInt","getFeeds","getFolders","markFolderRead","folderId","getByFolderId","markFeedRead","getFeedsOfFolder","getUnreadCount","isUnread","getFeedUnreadCount","unreadCount","isFeedUnread","getFolderUnreadCount","isFolderUnread","getStarredCount","isStarredUnread","toggleFolder","folderName","toggleOpen","hasFeeds","subFeedActive","isSubscriptionsActive","isStarredActive","isExploreActive","isFolderActive","isFeedActive","folderNameExists","trim","feedUrlExists","createFeed","newFolder","existingFolder","getsFeed","create","name","createFolder","folder","moveFeed","move","renameFeed","patch","title","editing","renameFolder","rename","message","reversiblyDeleteFeed","reversiblyDelete","undoDeleteFeed","undoDelete","deleteFeed","reversiblyDeleteFolder","undoDeleteFolder","deleteFolder","setOrdering","togglePinned","pinned","setUpdateMode","updateMode","toggleFullText","value","scope","setSelectedFolderForRoute","OPMLParser","OPMLImporter","isOPMLImporting","isArticlesImporting","opmlImportError","articleImportError","set","toggleSetting","getSetting","importOPML","content","parsedContent","parse","jobSize","importFolders","feedQueue","importFeedQueue","console","importArticles","articles","JSON","$sce","trustAsResourceUrl","Resource","call","locations","folderUnreadCount","folderIds","prototype","receive","updateUnreadCache","updateFolderCache","values","add","hashMap","startsWith","http","parentFolderId","faviconLink","updateCache","isFolder","deleted","promises","post","setPinned","isPinned","diff","fullTextEnabled","opened","open","toFolderName","batchSize","starredCount","lowestId","highestId","channel","newestItemId","getNewestItemId","star","isStarred","it","guidHash","starred","isRead","read","highestItemId","offset","json","service","global","autopaging","area","isLoading","startFeedJob","queue","pop","getsFeedCounter","folderPromises","jobPromises","i","parseOutline","outline","attr","recursivelyParse","level","root","firstLevel","entry","children","xml","parseXML","find","channels","obj","listeners","listener","objs","existing","deleteAtIndex","findIndex","splice","settings","compact","preventReadOnScroll","compactExpand","defaultLanguageCode","supportedLanguageCodes","processLanguageCode","toLowerCase","storage","localStorage","registerHandler","mime","registered","isContentHandlerRegistered","isRegistered","getItem","registerContentHandler","subscribeUrl","setItem","cleanUrl","protocol","host","mimeType","ready","subscription","decodeURIComponent","input","val","trigger","setTimeout","focus","addEventListener","querySelector","scrollTo","noInputFocused","is","noModifierKey","event","shiftKey","altKey","ctrlKey","metaKey","markAllRead","navigationArea","selector","button","isInScrollView","elem","scrollArea","elemTop","top","elemBottom","height","areaBottom","scrollToNavigationElement","toTop","scrollTop","scrollToActiveNavigationEntry","reloadFeed","tryReload","pullToRefresh","hasClass","addClass","activateNavigationEntry","nextFeed","elements","subfeeds","next","getParentFolder","parent","selectFirstOrLastFolder","isLast","index","previousFolder","prevAll","first","parentFolder","nextFolder","nextAll","previousFeed","prev","siblings","previous","onActiveItem","callback","each","position","toggleUnread","expandItem","openLink","scrollToItem","expandItemInCompact","scrollToNextItem","jumped","prop","scrollToPreviousItem","last","keyup","keyCode","isExpandItem","preventDefault","News","exports","articleActionPlugins","addArticleAction","action","getArticleActionPlugins","jQuery","$document","click","directive","restrict","link","elm","menu","toggleClass","target","removeClass","_","stop","slideDown","Navigation","newsArticleActions","noPlugins","plugins","attrs","toFocus","newsAutoFocus","$watch","newsBindHtmlUnsafe","html","$eval","options","newsDraggable","isDefined","draggable","$observe","details","accept","hoverClass","greedy","drop","ui","$apply","droppable","on","newsFinishedTransition","$interpolate","toReadd","newsFocus","notification","args","pause","scrolled","newsPullToRefresh","change","file","files","reader","FileReader","onload","$fileContent","result","newsReadFile","readAsText","masonry","itemSelector","gutter","columnWidth","$last","MARK_READ_TIMEOUT","SCROLL_TIMEOUT","counter","newsScrollAutoPage","enabled","article","newsScrollMarkRead","newsScroll","newsScrollEnabledMarkRead","allowScroll","scrollHandler","off","onSearch","box","doSearch","newsStickyMenu","scroll","scrollHeight","css","bind","stopPropagation","newsTimeout","destroyed","seconds","remove","baseTitle","titles","appName","ownCloudName","newsToggleShow","toggle","newsTriggerClick","oc_requesttoken"],"mappings":"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","file":"app.min.js"} \ No newline at end of file
diff --git a/templates/admin.php b/templates/admin.php
index 1d7c56003..5d35ccdbf 100644
--- a/templates/admin.php
+++ b/templates/admin.php
@@ -118,6 +118,9 @@ style('news', 'admin');
'input empty'
)); ?>
</em>
+ <a href="https://github.com/owncloud/news/wiki/How-to-write-an-explore-service"><?php p($l->t(
+ 'For more information check the Wiki'
+ )); ?></a>
</p>
<p><input type="text" name="news-explore-url"
value="<?php p($_['exploreUrl']); ?>"></p>
diff --git a/tests/unit/controller/PageControllerTest.php b/tests/unit/controller/PageControllerTest.php
index 3277fdc43..282b02857 100644
--- a/tests/unit/controller/PageControllerTest.php
+++ b/tests/unit/controller/PageControllerTest.php
@@ -167,7 +167,8 @@ class PageControllerTest extends \PHPUnit_Framework_TestCase {
->will($this->returnValue(' '));
$this->urlGenerator->expects($this->once())
->method('linkToRoute')
- ->with($this->equalTo('news.page.explore'))
+ ->with($this->equalTo('news.page.explore'),
+ $this->equalTo(['lang' => 'en']))
->will($this->returnValue('test'));
@@ -309,13 +310,13 @@ class PageControllerTest extends \PHPUnit_Framework_TestCase {
$this->recommended->expects($this->once())
->method('forLanguage')
- ->with($this->equalTo('de_DE'), $this->equalTo('en'))
+ ->with($this->equalTo('en'))
->will($this->returnValue($in));
- $out = $this->controller->explore('de_DE');
+ $out = $this->controller->explore('en');
$this->assertEquals($in, $out);
}
-} \ No newline at end of file
+}