summaryrefslogtreecommitdiff
path: root/www/js/NVR.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/js/NVR.js')
-rw-r--r--www/js/NVR.js737
1 files changed, 422 insertions, 315 deletions
diff --git a/www/js/NVR.js b/www/js/NVR.js
index d22cf294..4f888c21 100644
--- a/www/js/NVR.js
+++ b/www/js/NVR.js
@@ -192,7 +192,7 @@ angular.module('zmApp.controllers')
'montageReviewCollapse': true,
'objectDetectionFilter': false,
'enableEventRefresh': true,
- 'lastEventCheckTimes':{},
+ 'lastEventCheckTimes': {},
'enableMontageOverlays': true,
'showMontageSidebars': false,
'isTokenSupported': false,
@@ -335,7 +335,7 @@ angular.module('zmApp.controllers')
if (configParams.ZM_MIN_STREAMING_PORT == -1 || forceReload) {
log("Checking value of ZM_MIN_STREAMING_PORT for the first time");
var apiurl = loginData.apiurl;
- var myurl = apiurl + '/configs/viewByName/ZM_MIN_STREAMING_PORT.json?'+$rootScope.authSession;
+ var myurl = apiurl + '/configs/viewByName/ZM_MIN_STREAMING_PORT.json?' + $rootScope.authSession;
$http.get(myurl)
.then(function (data) {
data = data.data;
@@ -386,7 +386,7 @@ angular.module('zmApp.controllers')
}
if ($rootScope.authSession != '' && $rootScope.authSession != 'undefined') {
- log ("We already have an auth key of:"+$rootScope.authSession);
+ log("We already have an auth key of:" + $rootScope.authSession);
d.resolve($rootScope.authSession);
return d.promise;
}
@@ -519,11 +519,10 @@ angular.module('zmApp.controllers')
try {
positions = JSON.parse(positionsStr);
+ } catch (e) {
+ debug("error parsing positions");
}
- catch (e) {
- debug ("error parsing positions");
- }
-
+
for (var m = 0; m < monitors.length; m++) {
var positionFound = false;
for (var p = 0; p < positions.length; p++) {
@@ -616,490 +615,490 @@ angular.module('zmApp.controllers')
}
function _checkInitSanity(loginData) {
- // old version hacks for new variables
-
- // always true Oct 27 2016
- loginData.persistMontageOrder = true;
- loginData.enableh264 = true;
-
- if (typeof loginData.isUseBasicAuth === 'undefined') {
- loginData.isUseBasicAuth = false;
- loginData.basicAuthUser = '';
- loginData.basicAuthPassword = '';
- $rootScope.basicAuthHeader = '';
- $rootScope.basicAuthToken = '';
- }
+ // old version hacks for new variables
+
+ // always true Oct 27 2016
+ loginData.persistMontageOrder = true;
+ loginData.enableh264 = true;
+
+ if (typeof loginData.isUseBasicAuth === 'undefined') {
+ loginData.isUseBasicAuth = false;
+ loginData.basicAuthUser = '';
+ loginData.basicAuthPassword = '';
+ $rootScope.basicAuthHeader = '';
+ $rootScope.basicAuthToken = '';
+ }
- if (loginData.url.indexOf('@') != -1) {
- log(">> " + loginData.url);
- log(">>User/Password detected in URL, changing to new auth handling...");
- loginData.isUseBasicAuth = true;
+ if (loginData.url.indexOf('@') != -1) {
+ log(">> " + loginData.url);
+ log(">>User/Password detected in URL, changing to new auth handling...");
+ loginData.isUseBasicAuth = true;
- var components = URI.parse(loginData.url);
- loginData.url = components.scheme + "://" + components.host;
- if (components.port) loginData.url = loginData.url + ":" + components.port;
- if (components.path) loginData.url = loginData.url + components.path;
+ var components = URI.parse(loginData.url);
+ loginData.url = components.scheme + "://" + components.host;
+ if (components.port) loginData.url = loginData.url + ":" + components.port;
+ if (components.path) loginData.url = loginData.url + components.path;
- components = URI.parse(loginData.streamingurl);
- loginData.streamingurl = components.scheme + "://" + components.host;
- if (components.port) loginData.streamingurl = loginData.streamingurl + ":" + components.port;
- if (components.path) loginData.streamingurl = loginData.streamingurl + components.path;
+ components = URI.parse(loginData.streamingurl);
+ loginData.streamingurl = components.scheme + "://" + components.host;
+ if (components.port) loginData.streamingurl = loginData.streamingurl + ":" + components.port;
+ if (components.path) loginData.streamingurl = loginData.streamingurl + components.path;
- components = URI.parse(loginData.apiurl);
- loginData.apiurl = components.scheme + "://" + components.host;
- if (components.port) loginData.apiurl = loginData.apiurl + ":" + components.port;
- if (components.path) loginData.apiurl = loginData.apiurl + components.path;
+ components = URI.parse(loginData.apiurl);
+ loginData.apiurl = components.scheme + "://" + components.host;
+ if (components.port) loginData.apiurl = loginData.apiurl + ":" + components.port;
+ if (components.path) loginData.apiurl = loginData.apiurl + components.path;
- $rootScope.basicAuthToken = btoa(components.userinfo);
- $rootScope.basicAuthHeader = 'Basic ' + $rootScope.basicAuthToken;
- //console.log (">>>> SET BASIC AUTH TO " + $rootScope.basicAuthHeader);
+ $rootScope.basicAuthToken = btoa(components.userinfo);
+ $rootScope.basicAuthHeader = 'Basic ' + $rootScope.basicAuthToken;
+ //console.log (">>>> SET BASIC AUTH TO " + $rootScope.basicAuthHeader);
- var up = components.userinfo.split(':');
- loginData.basicAuthPassword = up[1];
- loginData.basicAuthUser = up[0];
- //console.log ("SETTING "+loginData.basicAuthUser+" "+loginData.basicAuthPassword);
+ var up = components.userinfo.split(':');
+ loginData.basicAuthPassword = up[1];
+ loginData.basicAuthUser = up[0];
+ //console.log ("SETTING "+loginData.basicAuthUser+" "+loginData.basicAuthPassword);
- }
+ }
- if (loginData.isUseBasicAuth) {
- $rootScope.basicAuthToken = btoa(loginData.basicAuthUser + ':' + loginData.basicAuthPassword);
- $rootScope.basicAuthHeader = 'Basic ' + $rootScope.basicAuthToken;
- debug("Basic authentication detected, constructing Authorization Header");
+ if (loginData.isUseBasicAuth) {
+ $rootScope.basicAuthToken = btoa(loginData.basicAuthUser + ':' + loginData.basicAuthPassword);
+ $rootScope.basicAuthHeader = 'Basic ' + $rootScope.basicAuthToken;
+ debug("Basic authentication detected, constructing Authorization Header");
- // console.log ("BASIC AUTH SET TO:"+$rootScope.basicAuthHeader);
+ // console.log ("BASIC AUTH SET TO:"+$rootScope.basicAuthHeader);
- }
+ }
- if (typeof loginData.enableAlarmCount === 'undefined') {
- debug("enableAlarmCount does not exist, setting to true");
- loginData.enableAlarmCount = true;
- }
+ if (typeof loginData.enableAlarmCount === 'undefined') {
+ debug("enableAlarmCount does not exist, setting to true");
+ loginData.enableAlarmCount = true;
+ }
- if (typeof loginData.onTapScreen == 'undefined') {
- loginData.onTapScreen = $translate.instant('kTapMontage');
- }
+ if (typeof loginData.onTapScreen == 'undefined') {
+ loginData.onTapScreen = $translate.instant('kTapMontage');
+ }
- if (loginData.onTapScreen != $translate.instant('kTapMontage') &&
- loginData.onTapScreen != $translate.instant('kTapEvents') &&
- loginData.onTapScreen != $translate.instant('kTapLiveMonitor')) {
- log("Invalid onTap setting found, resetting. I got " + loginData.onTapScreen);
- loginData.onTapScreen = $translate.instant('kMontage');
- }
+ if (loginData.onTapScreen != $translate.instant('kTapMontage') &&
+ loginData.onTapScreen != $translate.instant('kTapEvents') &&
+ loginData.onTapScreen != $translate.instant('kTapLiveMonitor')) {
+ log("Invalid onTap setting found, resetting. I got " + loginData.onTapScreen);
+ loginData.onTapScreen = $translate.instant('kMontage');
+ }
- if (typeof loginData.minAlarmCount === 'undefined') {
- debug("minAlarmCount does not exist, setting to true");
- loginData.minAlarmCount = 1;
- }
+ if (typeof loginData.minAlarmCount === 'undefined') {
+ debug("minAlarmCount does not exist, setting to true");
+ loginData.minAlarmCount = 1;
+ }
- if (typeof loginData.montageSize == 'undefined') {
- debug("montageSize does not exist, setting to 2 (2 per col)");
- loginData.montageSize = 2;
- }
+ if (typeof loginData.montageSize == 'undefined') {
+ debug("montageSize does not exist, setting to 2 (2 per col)");
+ loginData.montageSize = 2;
+ }
- if (typeof loginData.useNphZms == 'undefined') {
- debug("useNphZms does not exist. Setting to true");
- loginData.useNphZms = true;
- }
+ if (typeof loginData.useNphZms == 'undefined') {
+ debug("useNphZms does not exist. Setting to true");
+ loginData.useNphZms = true;
+ }
- if (typeof loginData.useNphZmsForEvents == 'undefined') {
- debug("useNphZmsForEvents does not exist. Setting to true");
- loginData.useNphZmsForEvents = true;
- }
+ if (typeof loginData.useNphZmsForEvents == 'undefined') {
+ debug("useNphZmsForEvents does not exist. Setting to true");
+ loginData.useNphZmsForEvents = true;
+ }
- if (typeof loginData.forceImageModePath == 'undefined') {
- debug("forceImageModePath does not exist. Setting to false");
- loginData.forceImageModePath = false;
- }
+ if (typeof loginData.forceImageModePath == 'undefined') {
+ debug("forceImageModePath does not exist. Setting to false");
+ loginData.forceImageModePath = false;
+ }
- if (typeof loginData.reachability == 'undefined') {
- debug("reachability does not exist. Setting to true");
- loginData.reachability = true;
- }
+ if (typeof loginData.reachability == 'undefined') {
+ debug("reachability does not exist. Setting to true");
+ loginData.reachability = true;
+ }
- // force it - this may not be the problem
- loginData.reachability = true;
+ // force it - this may not be the problem
+ loginData.reachability = true;
- // and now, force enable it
- loginData.useNphZms = true;
- loginData.useNphZmsForEvents = true;
+ // and now, force enable it
+ loginData.useNphZms = true;
+ loginData.useNphZmsForEvents = true;
- if (typeof loginData.packMontage == 'undefined') {
- debug("packMontage does not exist. Setting to false");
- loginData.packMontage = false;
- }
+ if (typeof loginData.packMontage == 'undefined') {
+ debug("packMontage does not exist. Setting to false");
+ loginData.packMontage = false;
+ }
- if (typeof loginData.forceNetworkStop == 'undefined') {
- debug("forceNetwork does not exist. Setting to false");
- loginData.forceNetworkStop = false;
- }
+ if (typeof loginData.forceNetworkStop == 'undefined') {
+ debug("forceNetwork does not exist. Setting to false");
+ loginData.forceNetworkStop = false;
+ }
- if (typeof loginData.enableLogs == 'undefined') {
- debug("enableLogs does not exist. Setting to true");
- loginData.enableLogs = true;
- }
+ if (typeof loginData.enableLogs == 'undefined') {
+ debug("enableLogs does not exist. Setting to true");
+ loginData.enableLogs = true;
+ }
- if (typeof loginData.defaultPushSound == 'undefined') {
- debug("defaultPushSound does not exist. Setting to false");
- loginData.defaultPushSound = false;
- }
+ if (typeof loginData.defaultPushSound == 'undefined') {
+ debug("defaultPushSound does not exist. Setting to false");
+ loginData.defaultPushSound = false;
+ }
- //console.log("INIT SIMUL=" + loginData.disableSimulStreaming);
- //console.log("INIT PLATFORM IS=" + $rootScope.platformOS);
- if (typeof loginData.disableSimulStreaming == 'undefined') {
+ //console.log("INIT SIMUL=" + loginData.disableSimulStreaming);
+ //console.log("INIT PLATFORM IS=" + $rootScope.platformOS);
+ if (typeof loginData.disableSimulStreaming == 'undefined') {
- loginData.disableSimulStreaming = false;
- //console.log("INIT DISABLING SIMUL:" + loginData.disableSimulStreaming);
- }
+ loginData.disableSimulStreaming = false;
+ //console.log("INIT DISABLING SIMUL:" + loginData.disableSimulStreaming);
+ }
- if (typeof loginData.exitOnSleep == 'undefined') {
- debug("exitOnSleep does not exist. Setting to false");
- loginData.exitOnSleep = false;
- }
+ if (typeof loginData.exitOnSleep == 'undefined') {
+ debug("exitOnSleep does not exist. Setting to false");
+ loginData.exitOnSleep = false;
+ }
- if (typeof loginData.enableBlog == 'undefined') {
- debug("enableBlog does not exist. Setting to true");
- loginData.enableBlog = true;
+ if (typeof loginData.enableBlog == 'undefined') {
+ debug("enableBlog does not exist. Setting to true");
+ loginData.enableBlog = true;
- }
+ }
- if (typeof loginData.packeryPositionsArray == 'undefined') {
- debug("packeryPositionsArray does not exist. Setting to empty");
- loginData.packeryPositionsArray = {};
+ if (typeof loginData.packeryPositionsArray == 'undefined') {
+ debug("packeryPositionsArray does not exist. Setting to empty");
+ loginData.packeryPositionsArray = {};
- }
+ }
- if (typeof loginData.packeryPositions == 'undefined') {
- debug("packeryPositions does not exist. Setting to empty");
- loginData.packeryPositions = "";
+ if (typeof loginData.packeryPositions == 'undefined') {
+ debug("packeryPositions does not exist. Setting to empty");
+ loginData.packeryPositions = "";
- }
+ }
- if (typeof loginData.EHpackeryPositions == 'undefined') {
- debug("EHpackeryPositions does not exist. Setting to empty");
- loginData.EHpackeryPositions = "";
+ if (typeof loginData.EHpackeryPositions == 'undefined') {
+ debug("EHpackeryPositions does not exist. Setting to empty");
+ loginData.EHpackeryPositions = "";
- }
+ }
- if (typeof loginData.packerySizes == 'undefined') {
- debug("packerySizes does not exist. Setting to empty");
- loginData.packerySizes = "";
+ if (typeof loginData.packerySizes == 'undefined') {
+ debug("packerySizes does not exist. Setting to empty");
+ loginData.packerySizes = "";
- }
+ }
- if (typeof loginData.use24hr == 'undefined') {
- debug("use24hr does not exist. Setting to false");
- loginData.use24hr = false;
+ if (typeof loginData.use24hr == 'undefined') {
+ debug("use24hr does not exist. Setting to false");
+ loginData.use24hr = false;
- }
+ }
- if (typeof timelineModalGraphType == 'undefined') {
- debug("timeline graph type not set. Setting to all");
- loginData.timelineModalGraphType = $translate.instant('kGraphAll');
- //console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + loginData.timelineModalGraphType);
- }
+ if (typeof timelineModalGraphType == 'undefined') {
+ debug("timeline graph type not set. Setting to all");
+ loginData.timelineModalGraphType = $translate.instant('kGraphAll');
+ //console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + loginData.timelineModalGraphType);
+ }
- if (typeof loginData.resumeDelay == 'undefined') {
- debug("resumeDelay does not exist. Setting to 0");
- loginData.resumeDelay = 0;
+ if (typeof loginData.resumeDelay == 'undefined') {
+ debug("resumeDelay does not exist. Setting to 0");
+ loginData.resumeDelay = 0;
- }
- // override resumeDelay - it was developed on a wrong assumption
- loginData.resumeDelay = 0;
+ }
+ // override resumeDelay - it was developed on a wrong assumption
+ loginData.resumeDelay = 0;
- if (typeof loginData.montageHistoryQuality == 'undefined') {
- debug("montageHistoryQuality does not exist. Setting to 50");
- loginData.montageHistoryQuality = "50";
+ if (typeof loginData.montageHistoryQuality == 'undefined') {
+ debug("montageHistoryQuality does not exist. Setting to 50");
+ loginData.montageHistoryQuality = "50";
- }
+ }
- if (typeof loginData.vibrateOnPush == 'undefined') {
- debug("vibrate on push not found, setting to true");
- loginData.vibrateOnPush = true;
+ if (typeof loginData.vibrateOnPush == 'undefined') {
+ debug("vibrate on push not found, setting to true");
+ loginData.vibrateOnPush = true;
- }
+ }
- if (typeof loginData.isFullScreen == 'undefined') {
+ if (typeof loginData.isFullScreen == 'undefined') {
- loginData.isFullScreen = false;
+ loginData.isFullScreen = false;
- }
+ }
- if (typeof loginData.reloadInMontage == 'undefined') {
+ if (typeof loginData.reloadInMontage == 'undefined') {
- loginData.reloadInMontage = false;
+ loginData.reloadInMontage = false;
- }
+ }
- if (typeof loginData.soundOnPush == 'undefined') {
- debug("sound on push not found, setting to true");
- loginData.soundOnPush = true;
+ if (typeof loginData.soundOnPush == 'undefined') {
+ debug("sound on push not found, setting to true");
+ loginData.soundOnPush = true;
- }
+ }
- if (typeof loginData.cycleMonitors == 'undefined') {
+ if (typeof loginData.cycleMonitors == 'undefined') {
- loginData.cycleMonitors = false;
+ loginData.cycleMonitors = false;
- }
+ }
- if (typeof loginData.cycleMonitorsInterval == 'undefined') {
+ if (typeof loginData.cycleMonitorsInterval == 'undefined') {
- loginData.cycleMonitorsInterval = 10;
+ loginData.cycleMonitorsInterval = 10;
- }
+ }
- if (typeof loginData.cycleMontage == 'undefined') {
+ if (typeof loginData.cycleMontage == 'undefined') {
- loginData.cycleMontage = false;
+ loginData.cycleMontage = false;
- }
+ }
- if (typeof loginData.cycleMontageInterval == 'undefined') {
+ if (typeof loginData.cycleMontageInterval == 'undefined') {
- loginData.cycleMontageInterval = 10;
+ loginData.cycleMontageInterval = 10;
- }
+ }
- if (typeof loginData.enableLowBandwidth == 'undefined') {
+ if (typeof loginData.enableLowBandwidth == 'undefined') {
- loginData.enableLowBandwidth = false;
+ loginData.enableLowBandwidth = false;
- }
- // wtf is wrong with this ternary?
- //$rootScope.runMode = (loginData.enableLowBandwith==true)? "low": "normal";
+ }
+ // wtf is wrong with this ternary?
+ //$rootScope.runMode = (loginData.enableLowBandwith==true)? "low": "normal";
- if (typeof loginData.autoSwitchBandwidth == 'undefined') {
+ if (typeof loginData.autoSwitchBandwidth == 'undefined') {
- loginData.autoSwitchBandwidth = false;
+ loginData.autoSwitchBandwidth = false;
- }
+ }
- $rootScope.runMode = getBandwidth();
- log("Setting NVR init bandwidth to: " + $rootScope.runMode);
+ $rootScope.runMode = getBandwidth();
+ log("Setting NVR init bandwidth to: " + $rootScope.runMode);
- if (typeof loginData.refreshSecLowBW == 'undefined') {
+ if (typeof loginData.refreshSecLowBW == 'undefined') {
- loginData.refreshSecLowBW = 8;
+ loginData.refreshSecLowBW = 8;
- }
+ }
- if (typeof loginData.disableAlarmCheckMontage == 'undefined') {
+ if (typeof loginData.disableAlarmCheckMontage == 'undefined') {
- loginData.disableAlarmCheckMontage = false;
+ loginData.disableAlarmCheckMontage = false;
- }
+ }
- if (typeof loginData.useLocalTimeZone == 'undefined') {
+ if (typeof loginData.useLocalTimeZone == 'undefined') {
- loginData.useLocalTimeZone = true;
+ loginData.useLocalTimeZone = true;
- }
+ }
- if (typeof loginData.fastLogin == 'undefined') {
+ if (typeof loginData.fastLogin == 'undefined') {
- loginData.fastLogin = true;
+ loginData.fastLogin = true;
- }
+ }
- if (typeof loginData.currentMontageProfile == 'undefined') {
+ if (typeof loginData.currentMontageProfile == 'undefined') {
- loginData.currentMontageProfile = '';
+ loginData.currentMontageProfile = '';
- }
+ }
- if (typeof loginData.followTimeLine == 'undefined') {
+ if (typeof loginData.followTimeLine == 'undefined') {
- loginData.followTimeLine = false;
+ loginData.followTimeLine = false;
- }
+ }
- if (typeof loginData.timelineScale == 'undefined') {
+ if (typeof loginData.timelineScale == 'undefined') {
- loginData.timelineScale = -1;
+ loginData.timelineScale = -1;
- }
+ }
- if (typeof loginData.showMontageSubMenu == 'undefined') {
+ if (typeof loginData.showMontageSubMenu == 'undefined') {
- loginData.showMontageSubMenu = false;
+ loginData.showMontageSubMenu = false;
- }
+ }
- if (typeof loginData.monSingleImageQuality == 'undefined') {
+ if (typeof loginData.monSingleImageQuality == 'undefined') {
- loginData.monSingleImageQuality = 100;
+ loginData.monSingleImageQuality = 100;
- }
+ }
- if (typeof loginData.hideArchived == 'undefined') {
+ if (typeof loginData.hideArchived == 'undefined') {
- loginData.hideArchived = false;
+ loginData.hideArchived = false;
- }
+ }
- if (typeof loginData.videoPlaybackSpeed == 'undefined') {
+ if (typeof loginData.videoPlaybackSpeed == 'undefined') {
- loginData.videoPlaybackSpeed = 1;
+ loginData.videoPlaybackSpeed = 1;
- }
+ }
- if (typeof loginData.enableThumbs == 'undefined') {
+ if (typeof loginData.enableThumbs == 'undefined') {
- loginData.enableThumbs = true;
+ loginData.enableThumbs = true;
- }
+ }
- if (typeof loginData.enableSlowLoading == 'undefined') {
+ if (typeof loginData.enableSlowLoading == 'undefined') {
- loginData.enableSlowLoading = false;
+ loginData.enableSlowLoading = false;
- }
+ }
- if (typeof loginData.enableStrictSSL == 'undefined') {
+ if (typeof loginData.enableStrictSSL == 'undefined') {
- loginData.enableStrictSSL = false;
+ loginData.enableStrictSSL = false;
- }
+ }
- if (typeof loginData.momentGridSize == 'undefined') {
+ if (typeof loginData.momentGridSize == 'undefined') {
- loginData.momentGridSize = 40;
+ loginData.momentGridSize = 40;
- }
+ }
- if (typeof loginData.enableMomentSubMenu == 'undefined') {
+ if (typeof loginData.enableMomentSubMenu == 'undefined') {
- loginData.enableMomentSubMenu = true;
+ loginData.enableMomentSubMenu = true;
- }
+ }
- if (typeof loginData.momentMonitorFilter == 'undefined') {
+ if (typeof loginData.momentMonitorFilter == 'undefined') {
- loginData.momentMonitorFilter = JSON.stringify([]);
+ loginData.momentMonitorFilter = JSON.stringify([]);
- }
+ }
- if (typeof loginData.momentArrangeBy == 'undefined') {
+ if (typeof loginData.momentArrangeBy == 'undefined') {
- loginData.momentArrangeBy = "StartTime";
+ loginData.momentArrangeBy = "StartTime";
- }
+ }
- if (typeof loginData.insertBasicAuthToken == 'undefined') {
+ if (typeof loginData.insertBasicAuthToken == 'undefined') {
- loginData.insertBasicAuthToken = false;
+ loginData.insertBasicAuthToken = false;
- }
+ }
- if (typeof loginData.showLiveForInProgressEvents == 'undefined') {
+ if (typeof loginData.showLiveForInProgressEvents == 'undefined') {
- loginData.showLiveForInProgressEvents = true;
+ loginData.showLiveForInProgressEvents = true;
- }
+ }
- if (typeof loginData.loginAPISupported == 'undefined') {
+ if (typeof loginData.loginAPISupported == 'undefined') {
- loginData.loginAPISupported = false;
+ loginData.loginAPISupported = false;
- }
+ }
- if (typeof loginData.montageResizeSteps == 'undefined') {
+ if (typeof loginData.montageResizeSteps == 'undefined') {
- loginData.montageResizeSteps = 5;
+ loginData.montageResizeSteps = 5;
- }
+ }
- if (typeof loginData.saveToCloud == 'undefined') {
+ if (typeof loginData.saveToCloud == 'undefined') {
- loginData.saveToCloud = true;
+ loginData.saveToCloud = true;
- }
+ }
- if (typeof loginData.montageReviewCollapse == 'undefined') {
+ if (typeof loginData.montageReviewCollapse == 'undefined') {
- loginData.montageReviewCollapse = true;
+ loginData.montageReviewCollapse = true;
- }
+ }
- if (typeof loginData.objectDetectionFilter == 'undefined') {
+ if (typeof loginData.objectDetectionFilter == 'undefined') {
- loginData.objectDetectionFilter = false;
+ loginData.objectDetectionFilter = false;
- }
+ }
- if (typeof loginData.enableEventRefresh == 'undefined') {
+ if (typeof loginData.enableEventRefresh == 'undefined') {
- loginData.enableEventRefresh = true;
+ loginData.enableEventRefresh = true;
- }
+ }
-
-
- if (typeof loginData.lastEventCheckTimes == 'undefined') {
- loginData.lastEventCheckTimes = {};
- }
+ if (typeof loginData.lastEventCheckTimes == 'undefined') {
+ loginData.lastEventCheckTimes = {};
- if (typeof loginData.enableMontageOverlays == 'undefined') {
- loginData.enableMontageOverlays = true;
+ }
- }
- if (typeof loginData.showMontageSidebars == 'undefined') {
- loginData.showMontageSidebars = false;
+ if (typeof loginData.enableMontageOverlays == 'undefined') {
+ loginData.enableMontageOverlays = true;
- }
+ }
- if (typeof loginData.isTokenSupported == 'undefined') {
- loginData.isTokenSupported = false;
+ if (typeof loginData.showMontageSidebars == 'undefined') {
+ loginData.showMontageSidebars = false;
- }
+ }
- if (typeof loginData.accessTokenExpires == 'undefined') {
- loginData.accessTokenExpires = '';
+ if (typeof loginData.isTokenSupported == 'undefined') {
+ loginData.isTokenSupported = false;
- }
+ }
- if (typeof loginData.refreshTokenExpires == 'undefined') {
- loginData.refreshTokenExpires = '';
+ if (typeof loginData.accessTokenExpires == 'undefined') {
+ loginData.accessTokenExpires = '';
- }
+ }
- if (typeof loginData.refreshToken == 'undefined') {
- loginData.refreshToken = '';
+ if (typeof loginData.refreshTokenExpires == 'undefined') {
+ loginData.refreshTokenExpires = '';
- }
+ }
- if (typeof loginData.accessToken == 'undefined') {
- loginData.accessToken = '';
+ if (typeof loginData.refreshToken == 'undefined') {
+ loginData.refreshToken = '';
- }
+ }
+
+ if (typeof loginData.accessToken == 'undefined') {
+ loginData.accessToken = '';
+
+ }
- loginData.canSwipeMonitors = true;
- loginData.forceImageModePath = false;
- loginData.enableBlog = true;
+ loginData.canSwipeMonitors = true;
+ loginData.forceImageModePath = false;
+ loginData.enableBlog = true;
}
@@ -1531,7 +1530,7 @@ angular.module('zmApp.controllers')
},
checkInitSanity: function (l) {
- _checkInitSanity(l);
+ _checkInitSanity(l);
},
init: function () {
@@ -1865,7 +1864,7 @@ angular.module('zmApp.controllers')
getAPIversion: function () {
var d = $q.defer();
- var apiurl = loginData.apiurl + '/host/getVersion.json?'+$rootScope.authSession;
+ var apiurl = loginData.apiurl + '/host/getVersion.json?' + $rootScope.authSession;
debug("getAPIversion called with " + apiurl);
$http.get(apiurl)
.then(function (success) {
@@ -1977,7 +1976,7 @@ angular.module('zmApp.controllers')
getAuthHashLogin: function () {
- return $http.get(loginData.apiurl + '/configs/viewByName/ZM_AUTH_HASH_LOGINS.json?'+$rootScope.authSession);
+ return $http.get(loginData.apiurl + '/configs/viewByName/ZM_AUTH_HASH_LOGINS.json?' + $rootScope.authSession);
},
@@ -1987,7 +1986,7 @@ angular.module('zmApp.controllers')
if (forceReload == 1 || configParams.ZM_EVENT_IMAGE_DIGITS == '-1') {
var apiurl = loginData.apiurl;
- var myurl = apiurl + '/configs/viewByName/ZM_EVENT_IMAGE_DIGITS.json?'+$rootScope.authSession;
+ var myurl = apiurl + '/configs/viewByName/ZM_EVENT_IMAGE_DIGITS.json?' + $rootScope.authSession;
//debug("Config URL for digits is:" + myurl);
$http.get(myurl)
.then(function (data) {
@@ -2024,7 +2023,7 @@ angular.module('zmApp.controllers')
var apiurl = loginData.apiurl;
- var myurl = apiurl + '/configs/viewByName/ZM_PATH_ZMS.json?'+$rootScope.authSession;
+ var myurl = apiurl + '/configs/viewByName/ZM_PATH_ZMS.json?' + $rootScope.authSession;
debug("Config URL for ZMS PATH is:" + myurl);
$http.get(myurl)
.then(function (data) {
@@ -2194,7 +2193,7 @@ angular.module('zmApp.controllers')
// use non cached for daemon status
getMultiServers: function () {
- return $http.get(loginData.apiurl + '/servers.json?'+$rootScope.authSession);
+ return $http.get(loginData.apiurl + '/servers.json?' + $rootScope.authSession);
},
@@ -2239,7 +2238,7 @@ angular.module('zmApp.controllers')
log((forceReload == 1) ? "getMonitors:Force reloading all monitors" : "getMonitors:Loading all monitors");
var apiurl = loginData.apiurl;
var myurl = apiurl + "/monitors";
- myurl += "/index/Type !=:WebSite.json?"+$rootScope.authSession;
+ myurl += "/index/Type !=:WebSite.json?" + $rootScope.authSession;
getZmsMultiPortSupport()
.then(function (zmsPort) {
@@ -2269,7 +2268,7 @@ angular.module('zmApp.controllers')
debug("Inside getMonitors, will also regen connkeys");
debug("Now trying to get multi-server data, if present");
- $http.get(apiurl + "/servers.json?"+$rootScope.authSession)
+ $http.get(apiurl + "/servers.json?" + $rootScope.authSession)
.then(function (data) {
data = data.data;
// We found a server list API, so lets make sure
@@ -2385,7 +2384,7 @@ angular.module('zmApp.controllers')
var sport = parseInt(zmsPort) + parseInt(monitors[i].Monitor.Id);
st = st + ':' + sport;
}
-
+
}
baseurl = st;
@@ -2535,9 +2534,117 @@ angular.module('zmApp.controllers')
},
+ recreateTokens: function () {
+
+ var d = $q.defer();
+
+ log("Doing fresh login to ZM");
+ var httpDelay = loginData.enableSlowLoading ? zm.largeHttpTimeout : zm.httpTimeout;
+
+ //first login using new API
+ $rootScope.authSession = '';
+ var loginAPI = loginData.apiurl + '/host/login.json';
+
+
+ $http({
+ method: 'post',
+ url: loginAPI,
+ timeout: httpDelay,
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ responseType: 'text',
+ transformResponse: undefined,
+ transformRequest: function (obj) {
+ var str = [];
+ for (var p in obj)
+ str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
+ return str.join("&");
+ },
+ data: {
+ user: loginData.username,
+ pass: loginData.password
+ }
+ })
+ //$http.get(loginAPI)
+ .then(function (textsucc) {
+ var succ;
+ //log (JSON.stringify(textsucc));
+ try {
+
+ succ = JSON.parse(textsucc.data);
+
+ if (!succ.version) {
+ d.reject("No version retrieved in API");
+ return d.promise;
+
+ }
+ debug("API based login returned... ");
+
+ $rootScope.authSession = '';
+ if (succ.refresh_token) {
+ $rootScope.authSession = '&token=' + succ.access_token;
+ log("New refresh token retrieved:" + succ.refresh_token);
+ loginData.isTokenSupported = true;
+
+ loginData.accessToken = succ.access_token;
+ loginData.accessTokenExpires = moment.utc().add(succ.access_token_expires, 'seconds');
+ loginData.refreshToken = succ.refresh_token;
+
+ loginData.refreshTokenExpires = moment.utc().add(succ.refresh_token_expires, 'seconds');
+
+ log("Current time is: UTC " + moment.utc().format("YYYY-MM-DD hh:mm:ss"));
+ log("New refresh token expires on: UTC " + loginData.refreshTokenExpires.format("YYYY-MM-DD hh:mm:ss"));
+ log("New access token expires on: UTC " + loginData.accessTokenExpires.format("YYYY-MM-DD hh:mm:ss"));
+ setLogin(loginData);
+
+ } else {
+ if (succ.credentials) {
+ log("Could not recover token details, trying old auth credentials");
+ loginData.isTokenSupported = false;
+ setLogin(loginData);
+ $rootScope.authSession = "&" + succ.credentials;
+ if (succ.append_password == '1') {
+ $rootScope.authSession = $rootScope.authSession +
+ loginData.password;
+ }
+ } else {
+ log("Neither token nor old cred worked. Seems like an error");
+ }
+ }
+
+ loginData.loginAPISupported = true;
+ setLogin(loginData);
+
+ log("Stream authentication construction: " +
+ $rootScope.authSession);
+
+ log("zmAutologin successfully logged into Zoneminder via API");
+ d.resolve("Login Success");
+ return d.promise;
+
+ } catch (e) {
+ debug("Login API approach did not work...");
+
+ d.reject("API based login failed")
+ return d.promise;
+
+ }
+ },
+ function (err) {
+ log("Error using login.json:" + JSON.stringify(err));
+ d.reject("Error in HTTP call to login.json");
+ return d.promise;
+ }
+ ); // post .then
+
+ return d.promise;
+
+ },
+
zmPrivacyProcessed: function () {
var apiurl = loginData.apiurl;
- var myurl = apiurl + '/configs/viewByName/ZM_SHOW_PRIVACY.json?'+$rootScope.authSession;
+ var myurl = apiurl + '/configs/viewByName/ZM_SHOW_PRIVACY.json?' + $rootScope.authSession;
var d = $q.defer();
$http({
@@ -2676,7 +2783,7 @@ angular.module('zmApp.controllers')
if (!tz || isForce) {
log("First invocation of TimeZone, asking server");
- var apiurl = loginData.apiurl + '/host/getTimeZone.json?'+$rootScope.authSession;
+ var apiurl = loginData.apiurl + '/host/getTimeZone.json?' + $rootScope.authSession;
$http.get(apiurl)
.then(function (success) {
tz = success.data.tz;
@@ -2739,7 +2846,7 @@ angular.module('zmApp.controllers')
}
- myurl = myurl + ".json?"+$rootScope.authSession;
+ myurl = myurl + ".json?" + $rootScope.authSession;
//console.log (">>>>>Constructed URL " + myurl);
$ionicLoading.show({
@@ -2827,7 +2934,7 @@ angular.module('zmApp.controllers')
myurl = myurl + '/Notes REGEXP:detected:';
}
- myurl = myurl + ".json?&sort=StartTime&direction=desc&page=" + pageId+$rootScope.authSession;
+ myurl = myurl + ".json?&sort=StartTime&direction=desc&page=" + pageId + $rootScope.authSession;
debug("getEvents:" + myurl);
@@ -3095,7 +3202,7 @@ angular.module('zmApp.controllers')
// always resolves
if (!loginData.isUseAuth || (loginData.loginAPISupported && loginData.isTokenSupported)) {
- log ("No need for logout!");
+ log("No need for logout!");
d.resolve(true);
return d.promise;
}
@@ -3106,7 +3213,7 @@ angular.module('zmApp.controllers')
});
-
+
log(loginData.url + "=>Logging out of any existing ZM sessions...");
$rootScope.authSession = "undefined";