diff options
-rw-r--r-- | js/app/controllers/feedcontroller.coffee | 13 | ||||
-rw-r--r-- | js/app/controllers/itemcontroller.coffee | 2 | ||||
-rw-r--r-- | js/app/services/persistence.coffee | 2 | ||||
-rw-r--r-- | js/public/app.js | 12 | ||||
-rw-r--r-- | utility/feedfetcher.php | 6 |
5 files changed, 21 insertions, 14 deletions
diff --git a/js/app/controllers/feedcontroller.coffee b/js/app/controllers/feedcontroller.coffee index 3d8755cad..88a5d1c88 100644 --- a/js/app/controllers/feedcontroller.coffee +++ b/js/app/controllers/feedcontroller.coffee @@ -24,16 +24,18 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. angular.module('News').controller 'FeedController', ['$scope', '_ExistsError', 'Persistence', 'FolderBusinessLayer', 'FeedBusinessLayer', 'SubscriptionsBusinessLayer', 'StarredBusinessLayer', -'unreadCountFormatter', +'unreadCountFormatter', 'ActiveFeed', 'FeedType', ($scope, _ExistsError, Persistence, FolderBusinessLayer, FeedBusinessLayer, -SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter) -> +SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter, +ActiveFeed, FeedType) -> class FeedController constructor: (@_$scope, @_persistence, @_folderBusinessLayer, @_feedBusinessLayer, @_subscriptionsBusinessLayer, - @_starredBusinessLayer, @_unreadCountFormatter) -> + @_starredBusinessLayer, @_unreadCountFormatter, + @_activeFeed, @_feedType) -> @_isAddingFolder = false @_isAddingFeed = false @@ -45,7 +47,6 @@ SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter) -> @_$scope.starredBusinessLayer = @_starredBusinessLayer @_$scope.unreadCountFormatter = @_unreadCountFormatter - @_$scope.isAddingFolder = => return @_isAddingFolder @@ -111,8 +112,10 @@ SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter) -> @_feedBusinessLayer.move(data.feedId, data.folderId) + return new FeedController($scope, Persistence, FolderBusinessLayer, FeedBusinessLayer, SubscriptionsBusinessLayer, - StarredBusinessLayer, unreadCountFormatter) + StarredBusinessLayer, unreadCountFormatter, + ActiveFeed, FeedType) ]
\ No newline at end of file diff --git a/js/app/controllers/itemcontroller.coffee b/js/app/controllers/itemcontroller.coffee index fb5b5bfa3..d803ad484 100644 --- a/js/app/controllers/itemcontroller.coffee +++ b/js/app/controllers/itemcontroller.coffee @@ -66,7 +66,7 @@ Language, AutoPageLoading) -> if @_autoPaging # prevent multiple autopaging requests @_autoPaging = false - @_itemBusinessLayer.loadNext => + @_itemBusinessLayer.loadNext (data) => @_autoPaging = true diff --git a/js/app/services/persistence.coffee b/js/app/services/persistence.coffee index 4c4ceb370..06945f433 100644 --- a/js/app/services/persistence.coffee +++ b/js/app/services/persistence.coffee @@ -63,7 +63,7 @@ $rootScope) -> # loading sign handling loading.increase() successCallbackWrapper = (data) => - onSuccess() + onSuccess(data) loading.decrease() failureCallbackWrapper = (data) => loading.decrease() diff --git a/js/public/app.js b/js/public/app.js index 603600810..1939c7165 100644 --- a/js/public/app.js +++ b/js/public/app.js @@ -314,11 +314,11 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. (function() { angular.module('News').controller('FeedController', [ - '$scope', '_ExistsError', 'Persistence', 'FolderBusinessLayer', 'FeedBusinessLayer', 'SubscriptionsBusinessLayer', 'StarredBusinessLayer', 'unreadCountFormatter', function($scope, _ExistsError, Persistence, FolderBusinessLayer, FeedBusinessLayer, SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter) { + '$scope', '_ExistsError', 'Persistence', 'FolderBusinessLayer', 'FeedBusinessLayer', 'SubscriptionsBusinessLayer', 'StarredBusinessLayer', 'unreadCountFormatter', 'ActiveFeed', 'FeedType', function($scope, _ExistsError, Persistence, FolderBusinessLayer, FeedBusinessLayer, SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter, ActiveFeed, FeedType) { var FeedController; FeedController = (function() { - function FeedController(_$scope, _persistence, _folderBusinessLayer, _feedBusinessLayer, _subscriptionsBusinessLayer, _starredBusinessLayer, _unreadCountFormatter) { + function FeedController(_$scope, _persistence, _folderBusinessLayer, _feedBusinessLayer, _subscriptionsBusinessLayer, _starredBusinessLayer, _unreadCountFormatter, _activeFeed, _feedType) { var _this = this; this._$scope = _$scope; @@ -328,6 +328,8 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. this._subscriptionsBusinessLayer = _subscriptionsBusinessLayer; this._starredBusinessLayer = _starredBusinessLayer; this._unreadCountFormatter = _unreadCountFormatter; + this._activeFeed = _activeFeed; + this._feedType = _feedType; this._isAddingFolder = false; this._isAddingFeed = false; this._$scope.folderBusinessLayer = this._folderBusinessLayer; @@ -408,7 +410,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. return FeedController; })(); - return new FeedController($scope, Persistence, FolderBusinessLayer, FeedBusinessLayer, SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter); + return new FeedController($scope, Persistence, FolderBusinessLayer, FeedBusinessLayer, SubscriptionsBusinessLayer, StarredBusinessLayer, unreadCountFormatter, ActiveFeed, FeedType); } ]); @@ -485,7 +487,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. this._$scope.$on('autoPage', function() { if (_this._autoPaging) { _this._autoPaging = false; - return _this._itemBusinessLayer.loadNext(function() { + return _this._itemBusinessLayer.loadNext(function(data) { return _this._autoPaging = true; }); } @@ -2256,7 +2258,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. } loading.increase(); successCallbackWrapper = function(data) { - onSuccess(); + onSuccess(data); return loading.decrease(); }; failureCallbackWrapper = function(data) { diff --git a/utility/feedfetcher.php b/utility/feedfetcher.php index e9950e7cd..f48839029 100644 --- a/utility/feedfetcher.php +++ b/utility/feedfetcher.php @@ -81,7 +81,8 @@ class FeedFetcher implements IFeedFetcher { $item->setStatus(0); $item->setUnread(); $item->setUrl( $feedItem->get_permalink() ); - $item->setTitle( $feedItem->get_title() ); + // unescape content because angularjs helps agains XSS + $item->setTitle(html_entity_decode($feedItem->get_title())); $item->setGuid( $feedItem->get_id() ); $item->setGuidHash( md5($feedItem->get_id()) ); $item->setBody( $feedItem->get_content() ); @@ -108,7 +109,8 @@ class FeedFetcher implements IFeedFetcher { } $feed = new Feed(); - $feed->setTitle($simplePie->get_title()); + // unescape content because angularjs helps agains XSS + $feed->setTitle(html_entity_decode($simplePie->get_title())); $feed->setUrl($url); $feed->setLink($simplePie->get_link()); $feed->setUrlHash(md5($url)); |