diff options
| -rw-r--r-- | www/js/EventModalCtrl.js | 1 | ||||
| -rw-r--r-- | www/js/NewsCtrl.js | 28 | ||||
| -rw-r--r-- | www/js/app.js | 36 | ||||
| -rw-r--r-- | www/lang/locale-en.json | 2 | ||||
| -rw-r--r-- | www/templates/news.html | 2 |
5 files changed, 45 insertions, 24 deletions
diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js index f7030d12..81cf702a 100644 --- a/www/js/EventModalCtrl.js +++ b/www/js/EventModalCtrl.js @@ -185,6 +185,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.onCanPlay = function() { + console.log ("*********** CAN PLAY"); $ionicLoading.hide(); NVRDataModel.debug("This video can be played"); diff --git a/www/js/NewsCtrl.js b/www/js/NewsCtrl.js index 752a97e2..39782226 100644 --- a/www/js/NewsCtrl.js +++ b/www/js/NewsCtrl.js @@ -51,6 +51,7 @@ angular.module('zmApp.controllers').controller('zmApp.NewsCtrl', ['$scope', '$ro $scope.isUnread = function(itemdate) { var lastDate = NVRDataModel.getLatestBlogPostChecked(); + //console.log ("BLOG DATE="+itemdate+" LAST DATE="+lastDate); //get("latestBlogPostChecked"); if (!lastDate) return true; var mLastDate = moment(lastDate); @@ -99,18 +100,29 @@ angular.module('zmApp.controllers').controller('zmApp.NewsCtrl', ['$scope', '$ro $scope.newsItems = []; - $http.get(zm.blogUrl) - .success(function(data) + + $http.get(zm.blogUrl, + {transformResponse: function(d,h) + { + var trunc = "])}while(1);</x>"; + d = d.substr(trunc.length); + return d; + } + }) + .success(function(datastr) { - //console.log ("Here2"); - // console.log (JSON.stringify(data)); - for (var i = 0; i < data.length; i++) + + + // console.log ("DATA:"+data); + // + var data = JSON.parse(datastr); + for (var i = 0; i < data.payload.posts.length; i++) { $scope.newsItems.push( { - title: data[i].title, - url: data[i].url, - date: data[i].date + title: data.payload.posts[i].title, + url: "https://medium.com/zmninja/"+data.payload.posts[i].uniqueSlug, + date: moment(data.payload.posts[i].createdAt).format("YYYY-MM-DD HH:mm:ss") }); } diff --git a/www/js/app.js b/www/js/app.js index 1b30dea7..81e26253 100644 --- a/www/js/app.js +++ b/www/js/app.js @@ -78,7 +78,7 @@ angular.module('zmApp', [ desktopUrl: "/zm", desktopApiUrl: "/api/zm", latestRelease: "https://api.github.com/repos/pliablepixels/zmNinja/releases/latest", - blogUrl: "http://pliablepixels.github.io/feed.json", + blogUrl: "https://medium.com/zmninja/latest?format=json", nphSwitchTimer: 3000, eventHistoryTimer: 5000, eventPlaybackQuery: 3000, @@ -696,11 +696,21 @@ angular.module('zmApp', [ }); NVRDataModel.log("Checking for news updates"); - $http.get(zm.blogUrl) - .success(function(data) + $http.get(zm.blogUrl, + {transformResponse: function(d,h) + { + var trunc = "])}while(1);</x>"; + d = d.substr(trunc.length); + return d; + } + }) + + .success(function(datastr) { + + var data = JSON.parse(datastr); $rootScope.newBlogPost = ""; - if (data.length <= 0) + if (data.payload.posts.length <= 0) { $rootScope.newBlogPost = ""; return; @@ -716,23 +726,19 @@ angular.module('zmApp', [ } var mLastDate = moment(lastDate); - var mItemDate = moment(data[0].date); + var mItemDate = moment(data.payload.posts[0].createdAt); if (mItemDate.diff(mLastDate) > 0) { - NVRDataModel.debug("New post dated " + data[0].date + " found"); - if (data[0].level == "critical") - { - $rootScope.newBlogPost = "(new post)"; - } - else - { - NVRDataModel.debug("Not showing a notification in menu as this is not critical"); - } + NVRDataModel.debug("New post dated " + mItemDate.format("YYYY-MM-DD HH:mm:ss") + " found"); + + $rootScope.newBlogPost = "(new post)"; + + } else { - NVRDataModel.debug("Latest post dated " + data[0].date + " but you read " + lastDate); + NVRDataModel.debug("Latest post dated " + mItemDate.format("YYYY-MM-DD HH:mm:ss") + " but you read " + lastDate); } }); diff --git a/www/lang/locale-en.json b/www/lang/locale-en.json index 646a153d..9dbbd1c8 100644 --- a/www/lang/locale-en.json +++ b/www/lang/locale-en.json @@ -204,7 +204,7 @@ "kMore" :"more", "kNeedToKnow" :"I need to know your ZoneMinder login and path details to get started", "kNegotiatingStreamAuth" :"negotiating stream authentication", - "kNews" :"News", + "kNews" :"News (latest 10)", "kNext" :"Next", "kNextEvent" :"next event", "kNextMonitor" :"next monitor", diff --git a/www/templates/news.html b/www/templates/news.html index f715a65c..84e3c2b3 100644 --- a/www/templates/news.html +++ b/www/templates/news.html @@ -4,7 +4,9 @@ <button data-badge="{{$root.alarmCount}}" class="animated infinite tada button button-icon button-clear ion-ios-bell notification-badge" ng-click="handleAlarms();" ng-if="$root.isAlarm"></button> </ion-nav-buttons> <ion-content scroll-sista delegate-handle="none" overflow-scroll="false" mouse-wheel-scroll> + <div class="list"> + <span ng-repeat="post in newsItems"> <a class="item item-text-wrap item-icon-left" ng-click="loadPost(post.url, post.date)" href=""> <i ng-class="isUnread(post.date) ? 'icon ion-email-unread': 'icon ion-ios-email-outline'"></i> |
