diff --git a/src/main/webapp/WEB-INF/wro.xml b/src/main/webapp/WEB-INF/wro.xml
index 9c091dee..c4f10b3f 100644
--- a/src/main/webapp/WEB-INF/wro.xml
+++ b/src/main/webapp/WEB-INF/wro.xml
@@ -12,7 +12,7 @@
/vendor/ui-utils/*.js
/vendor/ui-select2/*.js
/vendor/ui-bootstrap/*.js
- /vendor/ui-state/*.js
+ /vendor/ui-router/*.js
/vendor/mousetrap/*.js
/vendor/nggrid/*.js
/vendor/nginfinitescroll/*.js
diff --git a/src/main/webapp/js/controllers.js b/src/main/webapp/js/controllers.js
index c9413e17..27b9f2a7 100644
--- a/src/main/webapp/js/controllers.js
+++ b/src/main/webapp/js/controllers.js
@@ -1551,11 +1551,13 @@ module.controller('HelpController', ['$scope', 'CategoryService', 'AnalyticsServ
}]);
-module.controller('FooterController', ['$scope', function($scope) {
+module.controller('FooterController', ['$scope', '$sce', function($scope, $sce) {
var baseUrl = window.location.href.substring(0, window.location.href.lastIndexOf('#'));
var hostname = window.location.hostname;
- $scope.subToMeUrl = baseUrl + 'rest/feed/subscribe?url={feed}';
- $scope.subToMeName = hostname.indexOf('www.commafeed.com') !== -1 ? 'CommaFeed' : 'CommaFeed (' + hostname + ')';
+ var url = baseUrl + 'rest/feed/subscribe?url={feed}';
+ var name = hostname.indexOf('www.commafeed.com') !== -1 ? 'CommaFeed' : 'CommaFeed (' + hostname + ')';
+ var subToMeUrl = 'https://www.subtome.com/register-no-ui.html?name=' + name + '&url=' + url;
+ $scope.subToMeUrl = $sce.trustAsResourceUrl(subToMeUrl);
}]);
diff --git a/src/main/webapp/js/filters.js b/src/main/webapp/js/filters.js
index c2a79ef4..60a75fb8 100644
--- a/src/main/webapp/js/filters.js
+++ b/src/main/webapp/js/filters.js
@@ -22,6 +22,12 @@ module.filter('escape', function() {
return encodeURIComponent;
});
+module.filter('unsafe', ['$sce', function($sce) {
+ return function(val) {
+ return $sce.trustAsHtml(val);
+ };
+}]);
+
module.filter('highlight', function() {
return function(html, keywords) {
if (keywords) {
@@ -39,7 +45,7 @@ module.filter('highlight', function() {
};
var tokens = keywords.split(' ');
- for ( var i = 0; i < tokens.length; i++) {
+ for (var i = 0; i < tokens.length; i++) {
html = handleKeyword(tokens[i], html);
}
}
diff --git a/src/main/webapp/js/main.js b/src/main/webapp/js/main.js
index aa045831..63f69176 100644
--- a/src/main/webapp/js/main.js
+++ b/src/main/webapp/js/main.js
@@ -1,10 +1,10 @@
-var app = angular.module('commafeed', ['ui.utils', 'ui.bootstrap', 'ui.state', 'ui.select2', 'commafeed.directives', 'commafeed.controllers',
+var app = angular.module('commafeed', ['ngRoute', 'ui.utils', 'ui.bootstrap', 'ui.router', 'ui.select2', 'commafeed.directives', 'commafeed.controllers',
'commafeed.services', 'commafeed.filters', 'ngSanitize', 'infinite-scroll', 'ngGrid']);
app.config(['$routeProvider', '$stateProvider', '$urlRouterProvider', '$httpProvider', '$compileProvider',
function($routeProvider, $stateProvider, $urlRouterProvider, $httpProvider, $compileProvider) {
- $compileProvider.urlSanitizationWhitelist(/^\s*(https?|ftp|mailto|javascript):/);
+ $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|javascript):/);
var interceptor = ['$rootScope', '$q', function(scope, $q) {
var success = function(response) {
diff --git a/src/main/webapp/templates/_footer.html b/src/main/webapp/templates/_footer.html
index de3fb95a..c2735a83 100644
--- a/src/main/webapp/templates/_footer.html
+++ b/src/main/webapp/templates/_footer.html
@@ -1,3 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/main/webapp/templates/_toolbar.html b/src/main/webapp/templates/_toolbar.html
index 69ebcf87..10867409 100644
--- a/src/main/webapp/templates/_toolbar.html
+++ b/src/main/webapp/templates/_toolbar.html
@@ -82,6 +82,6 @@
-
+
\ No newline at end of file
diff --git a/src/main/webapp/templates/feeds.view.html b/src/main/webapp/templates/feeds.view.html
index 7cb8753a..8719ed46 100644
--- a/src/main/webapp/templates/feeds.view.html
+++ b/src/main/webapp/templates/feeds.view.html
@@ -29,7 +29,7 @@
{{entry.feedName}}
{{entry.date | entryDate}}
-
+
@@ -39,7 +39,7 @@
ng-mouseup="bodyClicked(entry, $event)" ng-class="{rtl: entry.rtl}">