diff options
| author | Pliable Pixels <pliablepixels@gmail.com> | 2018-10-20 19:17:21 -0400 |
|---|---|---|
| committer | Pliable Pixels <pliablepixels@gmail.com> | 2018-10-20 19:17:21 -0400 |
| commit | 89211bbbd526bbc587361085b119a19d296f6a7f (patch) | |
| tree | a33b3f7cef77e6ea1ef4bf66e595194d16cba8ea /www/js | |
| parent | 8d42918b774175be477e949c4739a1ae40238359 (diff) | |
#724 cleanup and making sure we take recordingURL for playback
Diffstat (limited to 'www/js')
| -rw-r--r-- | www/js/DataModel.js | 24 | ||||
| -rw-r--r-- | www/js/EventCtrl.js | 200 | ||||
| -rw-r--r-- | www/js/EventModalCtrl.js | 59 | ||||
| -rw-r--r-- | www/js/LogCtrl.js | 3 | ||||
| -rw-r--r-- | www/js/MomentCtrl.js | 7 | ||||
| -rw-r--r-- | www/js/MonitorCtrl.js | 5 | ||||
| -rw-r--r-- | www/js/TimelineCtrl.js | 16 | ||||
| -rw-r--r-- | www/js/TimelineModalCtrl.js | 76 |
8 files changed, 108 insertions, 282 deletions
diff --git a/www/js/DataModel.js b/www/js/DataModel.js index 2322fbdf..f1ea3689 100644 --- a/www/js/DataModel.js +++ b/www/js/DataModel.js @@ -2156,7 +2156,7 @@ angular.module('zmApp.controllers') var streamingurl = ""; - st += (s.scheme ? s.scheme : p.scheme) + "://"; // server scheme overrides + st += (s.scheme ? s.scheme : p.scheme) + "://"; // server scheme overrides @@ -2246,13 +2246,7 @@ angular.module('zmApp.controllers') monitors[i].Monitor.baseURL = loginData.url; monitors[i].Monitor.imageMode = (versionCompare($rootScope.apiVersion, "1.30") == -1) ? "path" : "fid"; - // but now check if forced path - if (loginData.forceImageModePath) { - debug("Overriding, setting image mode to true as you have requested force enable"); - monitors[i].Monitor.imageMode = 'path'; - } - - // debug("API " + $rootScope.apiVersion + ": Monitor " + monitors[i].Monitor.Id + " will use " + monitors[i].Monitor.imageMode + " for direct image access"); + } } // now get packery hide if applicable @@ -2849,6 +2843,20 @@ angular.module('zmApp.controllers') }, + + getRecordingURL: function (id) { + var idnum = parseInt(id); + for (var i = 0; i < monitors.length; i++) { + if (parseInt(monitors[i].Monitor.Id) == idnum) { + // console.log ("Matched, exiting getMonitorname"); + //console.log ("!!!"+monitors[i].Monitor.controlURL); + return monitors[i].Monitor.controlURL; + } + + } + return "(Unknown)"; + }, + getBaseURL: function (id) { var idnum = parseInt(id); for (var i = 0; i < monitors.length; i++) { diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js index b2caf1d5..b2bbca87 100644 --- a/www/js/EventCtrl.js +++ b/www/js/EventCtrl.js @@ -32,7 +32,7 @@ angular.module('zmApp.controllers') }) - .controller('zmApp.EventCtrl', ['$scope', '$rootScope', 'zm', 'NVRDataModel', 'message', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$ionicPlatform', '$ionicSlideBoxDelegate', '$ionicPosition', '$ionicPopover', '$ionicPopup', 'EventServer', '$sce', '$cordovaBadge', '$cordovaLocalNotification', '$q', 'carouselUtils', '$translate', '$cordovaFileTransfer', '$cordovaFile', '$ionicListDelegate', 'ionPullUpFooterState', function ($scope, $rootScope, zm, NVRDataModel, message, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $ionicPlatform, $ionicSlideBoxDelegate, $ionicPosition, $ionicPopover, $ionicPopup, EventServer, $sce, $cordovaBadge, $cordovaLocalNotification, $q, carouselUtils, $translate, $cordovaFileTransfer, $cordovaFile, $ionicListDelegate, ionPullUpFooterState) { + .controller('zmApp.EventCtrl', ['$scope', '$rootScope', 'zm', 'NVRDataModel', 'message', '$ionicSideMenuDelegate', '$timeout', '$interval', '$ionicModal', '$ionicLoading', '$http', '$state', '$stateParams', '$ionicHistory', '$ionicScrollDelegate', '$ionicPlatform', '$ionicSlideBoxDelegate', '$ionicPosition', '$ionicPopover', '$ionicPopup', 'EventServer', '$sce', '$cordovaBadge', '$cordovaLocalNotification', '$q', 'carouselUtils', '$translate', '$cordovaFileTransfer', '$cordovaFile', '$ionicListDelegate', 'ionPullUpFooterState', 'SecuredPopups', function ($scope, $rootScope, zm, NVRDataModel, message, $ionicSideMenuDelegate, $timeout, $interval, $ionicModal, $ionicLoading, $http, $state, $stateParams, $ionicHistory, $ionicScrollDelegate, $ionicPlatform, $ionicSlideBoxDelegate, $ionicPosition, $ionicPopover, $ionicPopup, EventServer, $sce, $cordovaBadge, $cordovaLocalNotification, $q, carouselUtils, $translate, $cordovaFileTransfer, $cordovaFile, $ionicListDelegate, ionPullUpFooterState,SecuredPopups) { // events in last 5 minutes // TODO https://server/zm/api/events/consoleEvents/5%20minute.json @@ -427,19 +427,18 @@ angular.module('zmApp.controllers') myevents[i].Event.humanizeTime = humanizeTime(myevents[i].Event.StartTime); myevents[i].Event.streamingURL = NVRDataModel.getStreamingURL(myevents[i].Event.MonitorId); - myevents[i].Event.baseURL = NVRDataModel.getBaseURL(myevents[i].Event.MonitorId); + myevents[i].Event.recordingURL = NVRDataModel.getRecordingURL(myevents[i].Event.MonitorId); myevents[i].Event.imageMode = NVRDataModel.getImageMode(myevents[i].Event.MonitorId); //console.log ("***** MULTISERVER STREAMING URL FOR EVENTS " + myevents[i].Event.streamingURL); - // console.log ("***** MULTISERVER BASE URL FOR EVENTS " + myevents[i].Event.baseURL); + // console.log ("***** MULTISERVER BASE URL FOR EVENTS " + myevents[i].Event.recordingURL); myevents[i].Event.MonitorName = NVRDataModel.getMonitorName(myevents[i].Event.MonitorId); myevents[i].Event.ShowScrub = false; myevents[i].Event.height = eventsListDetailsHeight; // now construct base path - myevents[i].Event.BasePath = computeBasePath(myevents[i]); - myevents[i].Event.relativePath = computeRelativePath(myevents[i]); + // get thumbW/H @@ -459,18 +458,11 @@ angular.module('zmApp.controllers') // in multiserver BasePath is login url for frames // http://login.url/index.php?view=frame&eid=19696772&fid=21 - // console.log ("COMPARING "+NVRDataModel.getLogin().url+ " TO " +myevents[i].Event.baseURL); - if (NVRDataModel.getLogin().url != myevents[i].Event.baseURL) { - //NVRDataModel.debug ("Multi server, changing base"); - myevents[i].Event.baseURL = NVRDataModel.getLogin().url; + // console.log ("COMPARING "+NVRDataModel.getLogin().url+ " TO " +myevents[i].Event.recordingURL); + - } - - if (myevents[i].Event.imageMode == 'path') - //if (1) - myevents[i].Event.videoPath = myevents[i].Event.baseURL + "/events/" + myevents[i].Event.relativePath + myevents[i].Event.DefaultVideo; - else - myevents[i].Event.videoPath = myevents[i].Event.baseURL + "/index.php?view=view_video&eid=" + myevents[i].Event.Id; + + myevents[i].Event.videoPath = myevents[i].Event.recordingURL + "/index.php?view=view_video&eid=" + myevents[i].Event.Id; // if (idfound) if (idfound) { @@ -525,7 +517,7 @@ angular.module('zmApp.controllers') } - function saveNow(imgsrc, r, f) { + function saveNow(imgsrc) { var fname = "zmninja.jpg"; var fn = "cordova.plugins.photoLibrary.saveImage"; @@ -874,9 +866,11 @@ angular.module('zmApp.controllers') }); }; - $scope.showImage = function (p, r, f, fid, e, imode, id, parray, ndx) { + $scope.showImage = function (p, f, fid, e, imode, id, parray, ndx) { var img; + console.log ("P="+p+" F="+f+" E="+e+" imode="+imode+" id="+id+" parray="+JSON.stringify(parray)+" ndx="+ndx); + //console.log ("HERE"); $scope.kFrame = $translate.instant('kFrame'); $scope.kEvent = $translate.instant('kEvent'); @@ -903,20 +897,11 @@ angular.module('zmApp.controllers') NVRDataModel.debug("No index adjustment necessary as we are using all frames"); } - // console.log ("Image Mode " + imode); - // console.log ("parray : " + JSON.stringify(parray)); - // console.log ("index: " + ndx); - if ($scope.imode == 'path') { - if ($scope.outlineMotion) - $scope.imgsrc = p + "/index.php?view=image&path=" + r + $scope.parray[$scope.ndx].aname; - else - $scope.imgsrc = p + "/index.php?view=image&path=" + r + $scope.parray[$scope.ndx].fname; - $scope.fallbackImgSrc = p + "/index.php?view=image&path=" + r + $scope.parray[$scope.ndx].fname; - } else { + $scope.imgsrc = p + "/index.php?view=image&fid=" + $scope.parray[$scope.ndx].id + $scope.outlineMotionParam; $scope.fallbackImgSrc = p + "/index.php?view=image&fid=" + $scope.parray[$scope.ndx].id; - } + //$rootScope.zmPopup = $ionicPopup.alert({title: kFrame+':'+fid+'/'+kEvent+':'+e,template:img, cssClass:'popup80'}); @@ -944,7 +929,7 @@ angular.module('zmApp.controllers') type: 'button-assertive button-small ion-camera', onTap: function (e) { e.preventDefault(); - saveNow($scope.imgsrc, r, parray[$scope.ndx].fname); + saveNow($scope.imgsrc); } }, @@ -969,17 +954,11 @@ angular.module('zmApp.controllers') if (nndx == null) nndx = $scope.ndx; $scope.ndx = nndx; - if ($scope.imode == 'path') { - if ($scope.outlineMotion) - $scope.imgsrc = p + "/index.php?view=image&path=" + r + $scope.parray[$scope.ndx].aname; - else - $scope.imgsrc = p + "/index.php?view=image&path=" + r + $scope.parray[$scope.ndx].fname; - $scope.fallbackImgSrc = p + "/index.php?view=image&path=" + r + $scope.parray[$scope.ndx].fname; - } else { + $scope.imgsrc = p + "/index.php?view=image&fid=" + $scope.parray[$scope.ndx].id + $scope.outlineMotionParam; $scope.fallbackImgSrc = p + "/index.php?view=image&fid=" + $scope.parray[$scope.ndx].id; - } + e.preventDefault(); @@ -1008,17 +987,11 @@ angular.module('zmApp.controllers') if (nndx == null) nndx = $scope.ndx; $scope.ndx = nndx; - if ($scope.imode == 'path') { - if ($scope.outlineMotion) - $scope.imgsrc = p + "/index.php?view=image&path=" + r + $scope.parray[$scope.ndx].aname; - else - $scope.imgsrc = p + "/index.php?view=image&path=" + r + $scope.parray[$scope.ndx].fname; - $scope.fallbackImgSrc = p + "/index.php?view=image&path=" + r + $scope.parray[$scope.ndx].fname; - } else { + $scope.imgsrc = p + "/index.php?view=image&fid=" + $scope.parray[$scope.ndx].id + $scope.outlineMotionParam; $scope.fallbackImgSrc = p + "/index.php?view=image&fid=" + $scope.parray[$scope.ndx].id; - } + e.preventDefault(); @@ -1193,14 +1166,9 @@ angular.module('zmApp.controllers') { var fname; //console.log ("PATH="+e.Event.imageMode); - if (e.Event.imageMode == 'path') - //if (1) - { - var rfp = padToN(data.event.Frame[i].FrameId, eventImageDigits) + "-capture.jpg"; - fname = e.Event.baseURL + "/index.php?view=image&width=" + zm.maxGifWidth + "&path=" + e.Event.relativePath + rfp; - } else { - fname = e.Event.baseURL + "/index.php?view=image&width=" + zm.maxGifWidth + "&fid=" + data.event.Frame[i].Id; - } + + fname = e.Event.recordingURL + "/index.php?view=image&width=" + zm.maxGifWidth + "&fid=" + data.event.Frame[i].Id; + if (data.event.Frame[i].TimeStamp != lastTime /*|| fps < 2*/ ) @@ -2119,7 +2087,17 @@ angular.module('zmApp.controllers') NVRDataModel.log("API for event details" + myurl); $http.get(myurl) .then(function (data) { + + data = data.data; + + + // var ndata = data.replace(/<pre class="cake-error">/,''); + + // console.log ("NDATA:"+ndata); + //<pre class="cake-error"> + + $scope.FrameArray = data.event.Frame; // $scope.slider_options.scale=[]; @@ -2214,20 +2192,7 @@ angular.module('zmApp.controllers') $scope.slides = []; var i; - if (event.Event.imageMode == 'path') { - NVRDataModel.debug("EventCtrl: found " + frames + " frames to scrub"); - - for (i = 1; i <= frames; i++) { - var fname = padToN(i, eventImageDigits) + "-capture.jpg"; - - $scope.slides.push({ - id: i, - img: fname - }); - - } - } else // we need fids - { + var myurl_frames = loginData.apiurl + '/events/' + event.Event.Id + ".json"; NVRDataModel.log("API for event details" + myurl_frames); $http.get(myurl_frames) @@ -2257,7 +2222,7 @@ angular.module('zmApp.controllers') NVRDataModel.displayBanner('error', [$translate.instant('kErrorFrameBanner'), $translate.instant('kErrorPleaseTryAgain')]); }); - } + // now get event details to show alarm frames loginData = NVRDataModel.getLogin(); @@ -2268,10 +2233,8 @@ angular.module('zmApp.controllers') event.Event.video = {}; var videoURL; - //if (event.Event.imageMode == 'path') - - /* videoURL = event.Event.baseURL + "/events/" + event.Event.relativePath + event.Event.DefaultVideo;*/ - videoURL = event.Event.baseURL + "/index.php?view=view_video&eid=" + event.Event.Id; + + videoURL = event.Event.recordingURL + "/index.php?view=view_video&eid=" + event.Event.Id; if ($rootScope.authSession != 'undefined') videoURL += $rootScope.authSession; videoURL += NVRDataModel.insertBasicAuthToken(); @@ -2494,56 +2457,8 @@ angular.module('zmApp.controllers') } }; - //-------------------------------------------------------- - // utility function - //-------------------------------------------------------- - - function computeRelativePath(event) { - var relativePath = ""; - var loginData = NVRDataModel.getLogin(); - var str = event.Event.StartTime; - var yy = moment(str).locale('en').format('YY'); - var mm = moment(str).locale('en').format('MM'); - var dd = moment(str).locale('en').format('DD'); - var hh = moment(str).locale('en').format('HH'); - var min = moment(str).locale('en').format('mm'); - var sec = moment(str).locale('en').format('ss'); - relativePath = event.Event.MonitorId + "/" + - yy + "/" + - mm + "/" + - dd + "/" + - hh + "/" + - min + "/" + - sec + "/"; - return relativePath; - - } - - //-------------------------------------------------------- - // utility function - //-------------------------------------------------------- - - function computeBasePath(event) { - var basePath = ""; - var loginData = NVRDataModel.getLogin(); - var str = event.Event.StartTime; - var yy = moment(str).locale('en').format('YY'); - var mm = moment(str).locale('en').format('MM'); - var dd = moment(str).locale('en').format('DD'); - var hh = moment(str).locale('en').format('HH'); - var min = moment(str).locale('en').format('mm'); - var sec = moment(str).locale('en').format('ss'); - - basePath = event.Event.baseURL + "/events/" + - event.Event.MonitorId + "/" + - yy + "/" + - mm + "/" + - dd + "/" + - hh + "/" + - min + "/" + - sec + "/"; - return basePath; - } + + $scope.modalGraph = function () { $ionicModal.fromTemplateUrl('templates/events-modalgraph.html', { @@ -2826,15 +2741,13 @@ angular.module('zmApp.controllers') // now construct base path myevents[i].Event.streamingURL = NVRDataModel.getStreamingURL(myevents[i].Event.MonitorId); - myevents[i].Event.baseURL = NVRDataModel.getBaseURL(myevents[i].Event.MonitorId); + myevents[i].Event.recordingURL = NVRDataModel.getRecordingURL(myevents[i].Event.MonitorId); myevents[i].Event.imageMode = NVRDataModel.getImageMode(myevents[i].Event.MonitorId); // console.log ("***** MULTISERVER STREAMING URL FOR EVENTS " + myevents[i].Event.streamingURL); - // console.log ("***** MULTISERVER BASE URL FOR EVENTS " + myevents[i].Event.baseURL); + // console.log ("***** MULTISERVER BASE URL FOR EVENTS " + myevents[i].Event.recordingURL); myevents[i].Event.ShowScrub = false; - myevents[i].Event.BasePath = computeBasePath(myevents[i]); - myevents[i].Event.relativePath = computeRelativePath(myevents[i]); myevents[i].Event.height = eventsListDetailsHeight; // get thumbW/H @@ -2857,11 +2770,8 @@ angular.module('zmApp.controllers') } - if (myevents[i].Event.imageMode == 'path') - //if (1) - myevents[i].Event.videoPath = myevents[i].Event.baseURL + "/events/" + myevents[i].Event.relativePath + myevents[i].Event.DefaultVideo; - else - myevents[i].Event.videoPath = myevents[i].Event.baseURL + "/index.php?view=view_video&eid=" + myevents[i].Event.Id; + + myevents[i].Event.videoPath = myevents[i].Event.recordingURL + "/index.php?view=view_video&eid=" + myevents[i].Event.Id; if (idfound) $scope.events.push(myevents[i]); } @@ -2951,7 +2861,7 @@ angular.module('zmApp.controllers') $scope.constructThumbnail = function (event) { var stream = ""; - stream = event.Event.baseURL + + stream = event.Event.recordingURL + "/index.php?view=image&show=capture&fid=" + (event.Event.MaxScoreFrameId ? event.Event.MaxScoreFrameId : "1&eid=" + event.Event.Id) + "&width=" + event.Event.thumbWidth * 2 + @@ -2966,14 +2876,10 @@ angular.module('zmApp.controllers') $scope.constructScrubFrame = function (event, slide) { var stream = ""; - if (event.Event.imageMode == 'path') { - stream = event.Event.baseURL + "/index.php?view=image" + - "&path=" + event.Event.relativePath + slide.img + "&height=380"; - - } else if (event.Event.imageMode == 'fid') { - stream = event.Event.baseURL + "/index.php?view=image" + + + stream = event.Event.recordingURL + "/index.php?view=image" + "&fid=" + slide.id + $scope.outlineMotionParam; - } + if ($rootScope.authSession != 'undefined') stream += $rootScope.authSession; stream += NVRDataModel.insertBasicAuthToken(); @@ -2985,22 +2891,14 @@ angular.module('zmApp.controllers') $scope.constructAlarmFrame = function (event, alarm, motion) { var stream = ""; - if (event.Event.imageMode == 'fid') { - stream = event.Event.baseURL + + + stream = event.Event.recordingURL + "/index.php?view=image&fid=" + alarm.id; if (motion) stream += $scope.outlineMotionParam; - - } else if (event.Event.imageMode == 'path') { - stream = event.Event.baseURL + - "/index.php?view=image&path=" + event.Event.relativePath + - motion ? alarm.aname : alarm.fname + - "&height=380"; - - - } if ($rootScope.authSession != 'undefined') stream += $rootScope.authSession; stream += NVRDataModel.insertBasicAuthToken(); +// console.log ("alarm:"+stream); return stream; }; diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js index b992017c..6c98c167 100644 --- a/www/js/EventModalCtrl.js +++ b/www/js/EventModalCtrl.js @@ -762,9 +762,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.mycarousel.index = 1; - if ($scope.event.Event.imageMode == 'path') { - url = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&path=" + $scope.relativePath + $scope.slides[$scope.mycarousel.index].img; - } else { + console.log("SLIDES " + JSON.stringify($scope.slides)); console.log("CAROUSEL " + JSON.stringify($scope.mycarousel)); @@ -772,7 +770,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro url = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&eid=" + $scope.eventId + "&fid=" + $scope.slides[$scope.mycarousel.index - 1].id; - } + if ($rootScope.authSession != 'undefined') { url += $rootScope.authSession; @@ -803,11 +801,9 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro onTap: function (e) { if ($scope.slideIndex > 0) $scope.slideIndex--; - if ($scope.event.Event.imageMode == 'path') { - $scope.selectEventUrl = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&path=" + $scope.relativePath + $scope.slides[$scope.slideIndex].img; - } else { + $scope.selectEventUrl = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&eid=" + $scope.eventId + "&fid=" + $scope.slides[$scope.slideIndex].id; - } + if ($rootScope.authSession != 'undefined') { $scope.selectEventUrl += $rootScope.authSession; @@ -831,11 +827,9 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro onTap: function (e) { if ($scope.slideIndex < $scope.slideLastIndex) $scope.slideIndex++; - if ($scope.event.Event.imageMode == 'path') { - $scope.selectEventUrl = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&path=" + $scope.relativePath + $scope.slides[$scope.slideIndex].img; - } else { + $scope.selectEventUrl = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&eid=" + $scope.eventId + "&fid=" + $scope.slides[$scope.slideIndex].id; - } + if ($rootScope.authSession != 'undefined') { $scope.selectEventUrl += $rootScope.authSession; @@ -860,11 +854,9 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro if (tempVar < 0) tempVar = 0; $scope.slideIndex = tempVar; - if ($scope.event.Event.imageMode == 'path') { - $scope.selectEventUrl = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&path=" + $scope.relativePath + $scope.slides[$scope.slideIndex].img; - } else { + $scope.selectEventUrl = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&eid=" + $scope.eventId + "&fid=" + $scope.slides[$scope.slideIndex].id; - } + if ($rootScope.authSession != 'undefined') { $scope.selectEventUrl += $rootScope.authSession; @@ -889,11 +881,9 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.slideIndex = tempVar; if ($scope.slideIndex < $scope.slideLastIndex) $scope.slideIndex++; - if ($scope.event.Event.imageMode == 'path') { - $scope.selectEventUrl = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&path=" + $scope.relativePath + $scope.slides[$scope.slideIndex].img; - } else { + $scope.selectEventUrl = $scope.playbackURL + '/index.php?view=image&rand=' + $rootScope.rand + "&eid=" + $scope.eventId + "&fid=" + $scope.slides[$scope.slideIndex].id; - } + if ($rootScope.authSession != 'undefined') { $scope.selectEventUrl += $rootScope.authSession; @@ -1170,10 +1160,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.singleImageQuality = (NVRDataModel.getBandwidth() == "lowbw") ? zm.eventSingleImageQualityLowBW : ld.singleImageQuality; $scope.blockSlider = false; $scope.checkEventOn = false; - //$scope.singleImageQuality = 100; - - //$scope.commandURL = $scope.currentEvent.Event.baseURL+"/index.php"; - // NVRDataModel.log (">>>>>>>>>>>>>>>>>>ZMS url command is " + $scope.commandURL); + currentEvent = $scope.currentEvent; @@ -1924,7 +1911,10 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro function computeAlarmFrames(data) { $scope.alarm_images = []; tempAlarms = []; - $scope.FrameArray = data.event.Frame; + $scope.FrameArray = []; + + console.log ("FRAME ARRAY: "+JSON.stringify(data)); + if (data.event && data.event.Frame) $scope.FrameArray = data.event.Frame; var ts = 0; for (i = 0; i < data.event.Frame.length; i++) { @@ -1953,7 +1943,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.constructFrame = function (fid) { var frame = ""; - frame = currentEvent.Event.baseURL + "/index.php?view=image" + + frame = currentEvent.Event.recordingURL + "/index.php?view=image" + "&eid=" + currentEvent.Event.Id + "&fid=" + fid + "&height=" + 200; @@ -1985,7 +1975,6 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro $scope.mName = "..."; $scope.liveFeedMid = ''; - $http.get(myurl) .then(function (success) { @@ -1993,7 +1982,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro currentEvent = event; $scope.event = event; - + console.log ("prepareModal DATA:"+JSON.stringify(success.data)); computeAlarmFrames(success.data); $scope.eventWarning = ''; @@ -2008,8 +1997,8 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro event.Event.relativePath = computeRelativePath(event); event.Event.streamingURL = NVRDataModel.getStreamingURL(event.Event.MonitorId); - // event.Event.baseURL = NVRDataModel.getBaseURL (event.Event.MonitorId); - event.Event.baseURL = loginData.url; + + event.Event.recordingURL = loginData.url; event.Event.imageMode = NVRDataModel.getImageMode(event.Event.MonitorId); //console.log (JSON.stringify( success)); @@ -2056,10 +2045,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro event.Event.video = {}; var videoURL; - if ((event.Event.imageMode == 'path') || NVRDataModel.getLogin().forceImageModePath) - videoURL = event.Event.baseURL + "/events/" + event.Event.relativePath + event.Event.DefaultVideo; - else - videoURL = event.Event.baseURL + "/index.php?view=view_video&eid=" + event.Event.Id; + videoURL = event.Event.recordingURL + "/index.php?view=view_video&eid=" + event.Event.Id; if ($rootScope.authSession != 'undefined') videoURL += $rootScope.authSession; if ($rootScope.basicAuthToken) videoURL = videoURL + "&basicauth=" + $rootScope.basicAuthToken; @@ -2073,10 +2059,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro NVRDataModel.debug("Video url passed to player is: " + videoURL); - // console.log (">>>>>>>>>>>>>"+loginData.url+"-VS-"+event.Event.baseURL); - - //console.log("************** VIDEO IS " + videoURL); - + $scope.videoObject = { config: { autoPlay: true, diff --git a/www/js/LogCtrl.js b/www/js/LogCtrl.js index 78a02992..46db4304 100644 --- a/www/js/LogCtrl.js +++ b/www/js/LogCtrl.js @@ -122,8 +122,7 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo var urlNoProtocol = loginData.url.replace(/.*?:\/\//, ""); if (urlNoProtocol != "") { var re2 = new RegExp(urlNoProtocol, "g"); - // just replacing baseurl - that will take care of - // masking api but may not be cgi + logstring = logstring.replace(re2, "<server>"); } urlNoProtocol = loginData.streamingurl.replace(/.*?:\/\//, ""); diff --git a/www/js/MomentCtrl.js b/www/js/MomentCtrl.js index 6a56158e..ace5d218 100644 --- a/www/js/MomentCtrl.js +++ b/www/js/MomentCtrl.js @@ -134,9 +134,8 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ data.events[i].Event.hide = false; data.events[i].Event.icon = "ion-code-working"; - //data.events[i].Event.baseURL = NVRDataModel.getBaseURL(data.events[i].Event.MonitorId); - // huh? why did I need the above? eventCtrl reverses it with below... - data.events[i].Event.baseURL = NVRDataModel.getLogin().url; + + data.events[i].Event.recordingURL = NVRDataModel.getLogin().url; data.events[i].Event.monitorName = NVRDataModel.getMonitorName(data.events[i].Event.MonitorId); data.events[i].Event.dateObject = new Date(data.events[i].Event.StartTime); @@ -267,7 +266,7 @@ angular.module('zmApp.controllers').controller('zmApp.MomentCtrl', ['$scope', '$ $scope.constructFrame = function (moment) { var stream = ""; // console.log ($scope.isMaxScoreFramePresent); - stream = moment.Event.baseURL + "/index.php?view=image" + + stream = moment.Event.recordingURL + "/index.php?view=image" + ($scope.isMaxScoreFramePresent ? "&fid=" + moment.Event.MaxScoreFrameId : "&eid=" + moment.Event.Id + "&fid=1") + "&width=" + moment.Event.thumbWidth * 2 + "&height=" + moment.Event.thumbHeight * 2; diff --git a/www/js/MonitorCtrl.js b/www/js/MonitorCtrl.js index 9edb1e36..dbc4a7f3 100644 --- a/www/js/MonitorCtrl.js +++ b/www/js/MonitorCtrl.js @@ -412,10 +412,7 @@ angular.module('zmApp.controllers') $scope.monitors[j].Monitor.char = "ion-checkmark-circled"; apiMonCheck = loginData.apiurl + "/monitors/daemonStatus/id:" + $scope.monitors[j].Monitor.Id + "/daemon:zmc.json"; - //apiMonCheck = apiMonCheck.replace(loginData.url, $scope.monitors[j].Monitor.baseURL); - - // in multiserver replace apiurl with baseurl - + NVRDataModel.debug("MonitorCtrl:monitorStateCheck: " + apiMonCheck); //console.log("**** ZMC CHECK " + apiMonCheck); $http.get(apiMonCheck) diff --git a/www/js/TimelineCtrl.js b/www/js/TimelineCtrl.js index e1fbc4ef..4a144092 100644 --- a/www/js/TimelineCtrl.js +++ b/www/js/TimelineCtrl.js @@ -864,11 +864,11 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla myevents[j].Event.MonitorName = NVRDataModel.getMonitorName(myevents[j].Event.MonitorId); myevents[j].Event.streamingURL = NVRDataModel.getStreamingURL(myevents[j].Event.MonitorId); - myevents[j].Event.baseURL = NVRDataModel.getBaseURL(myevents[j].Event.MonitorId); + myevents[j].Event.recordingURL = NVRDataModel.getRecordingURL(myevents[j].Event.MonitorId); myevents[j].Event.imageMode = NVRDataModel.getImageMode(myevents[j].Event.MonitorId); - if (NVRDataModel.getLogin().url != myevents[j].Event.baseURL) { + if (NVRDataModel.getLogin().url != myevents[j].Event.recordingURL) { - myevents[j].Event.baseURL = NVRDataModel.getLogin().url; + myevents[j].Event.recordingURL = NVRDataModel.getLogin().url; } if (typeof myevents[j].Event.DefaultVideo === 'undefined') @@ -1168,16 +1168,14 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla // now construct base path myevents[i].Event.streamingURL = NVRDataModel.getStreamingURL(myevents[i].Event.MonitorId); - myevents[i].Event.baseURL = NVRDataModel.getBaseURL(myevents[i].Event.MonitorId); + myevents[i].Event.recordingURL = NVRDataModel.getRecordingURL(myevents[i].Event.MonitorId); myevents[i].Event.imageMode = NVRDataModel.getImageMode(myevents[i].Event.MonitorId); - if (NVRDataModel.getLogin().url != myevents[i].Event.baseURL) { + if (NVRDataModel.getLogin().url != myevents[i].Event.recordingURL) { //NVRDataModel.debug ("Multi server, changing base"); - myevents[i].Event.baseURL = NVRDataModel.getLogin().url; + myevents[i].Event.recordingURL = NVRDataModel.getLogin().url; } - // console.log ("***** MULTISERVER STREAMING URL FOR EVENTS " + myevents[i].Event.streamingURL); - - // console.log ("***** MULTISERVER BASE URL FOR EVENTS " + myevents[i].Event.baseURL); + if (idfound) { diff --git a/www/js/TimelineModalCtrl.js b/www/js/TimelineModalCtrl.js index 238d271a..11c604f1 100644 --- a/www/js/TimelineModalCtrl.js +++ b/www/js/TimelineModalCtrl.js @@ -47,15 +47,11 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' $scope.constructFrames = function (event, alarm) { var stream = ""; - if (event.Event.imageMode == 'path') { - stream = event.Event.baseURL + "/index.php?view=image" + - "&path=" + event.Event.relativePath + alarm.fname + - "&height=380"; - } else if (event.Event.imageMode == 'fid') { - stream = event.Event.baseURL + "/index.php?view=image" + + + stream = event.Event.recordingURL + "/index.php?view=image" + "&fid=" + alarm.id; - } + if ($rootScope.authSession != 'undefined') stream += $rootScope.authSession; stream += NVRDataModel.insertBasicAuthToken(); @@ -125,13 +121,10 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' $scope.showImage = function (p, r, f, fid, e, imode, id) { var img; //console.log("Image Mode " + imode); - if (imode == 'path') - - img = "<img width='100%' ng-src='" + p + "/index.php?view=image&path=" + r + f + "'>"; - else { + img = "<img width='100%' ng-src='" + p + "/index.php?view=image&fid=" + id + "'>"; // console.log ("IS MULTISERVER SO IMAGE IS " + img); - } + $rootScope.zmPopup = $ionicPopup.alert({ title: 'frame:' + fid + '/Event:' + e, template: img, @@ -300,7 +293,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' fid: event.event.Frame[i].FrameId, id: event.event.Frame[i].Id, //group:i, - relativePath: computeRelativePath(event.event), + score: event.event.Frame[i].Score, fname: padToN(event.event.Frame[i].FrameId, eventImageDigits) + "-capture.jpg", @@ -317,7 +310,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' eid: event.event.Event.Id, fid: event.event.Frame[i].FrameId, //group:i, - relativePath: computeRelativePath(event.event), + score: event.event.Frame[i].Score, fname: padToN(event.event.Frame[i].FrameId, eventImageDigits) + "-capture.jpg", id: event.event.Frame[i].Id, @@ -361,10 +354,10 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' //console.log ("You tapped " + ndx); $scope.alarm_images = []; - $scope.playbackURL = $scope.event.Event.baseURL; + $scope.playbackURL = $scope.event.Event.recordingURL; var items = current_data.datasets[0].frames[ndx]; $scope.alarm_images.push({ - relativePath: items.relativePath, + fid: items.fid, id: items.id, fname: items.fname, @@ -376,56 +369,7 @@ angular.module('zmApp.controllers').controller('TimelineModalCtrl', ['$scope', ' } - //-------------------------------------------------------- - // utility function - //-------------------------------------------------------- - - function computeRelativePath(event) { - var relativePath = ""; - var loginData = NVRDataModel.getLogin(); - var str = event.Event.StartTime; - var yy = moment(str).locale('en').format('YY'); - var mm = moment(str).locale('en').format('MM'); - var dd = moment(str).locale('en').format('DD'); - var hh = moment(str).locale('en').format('HH'); - var min = moment(str).locale('en').format('mm'); - var sec = moment(str).locale('en').format('ss'); - relativePath = event.Event.MonitorId + "/" + - yy + "/" + - mm + "/" + - dd + "/" + - hh + "/" + - min + "/" + - sec + "/"; - return relativePath; - - } - - //-------------------------------------------------------- - // utility function - //-------------------------------------------------------- - - function computeBasePath(event) { - var basePath = ""; - var loginData = NVRDataModel.getLogin(); - var str = event.Event.StartTime; - var yy = moment(str).locale('en').format('YY'); - var mm = moment(str).locale('en').format('MM'); - var dd = moment(str).locale('en').format('DD'); - var hh = moment(str).locale('en').format('HH'); - var min = moment(str).locale('en').format('mm'); - var sec = moment(str).locale('en').format('ss'); - - basePath = loginData.url + "/events/" + - event.Event.MonitorId + "/" + - yy + "/" + - mm + "/" + - dd + "/" + - hh + "/" + - min + "/" + - sec + "/"; - return basePath; - } + function humanizeTime(str) { return moment.tz(str, NVRDataModel.getTimeZoneNow()).fromNow(); |
