Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed double encoded URLs #921

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions www/js/EventCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -1875,15 +1875,15 @@ angular.module('zmApp.controllers')
//https://server/zm/api/events/consoleEvents/5%20minute.json
var ld = NVR.getLogin();

var af = "/AlarmFrames >=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0);
var af = "/AlarmFrames+>=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0);

if (ld.objectDetectionFilter) {
af = af + '/Notes REGEXP:detected:';
}



var apiurl = ld.apiurl + "/events/consoleEvents/1 hour" + af + ".json?"+$rootScope.authSession;
var apiurl = ld.apiurl + "/events/consoleEvents/1+hour" + af + ".json?"+$rootScope.authSession;
//NVR.debug("consoleEvents API:" + apiurl);

$http.get(apiurl)
Expand Down
12 changes: 6 additions & 6 deletions www/js/EventModalCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -1476,20 +1476,20 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
// now get event details to show alarm frames
var loginData = NVR.getLogin();
var nextEvent = loginData.apiurl + "/events/index" +
"/StartTime >: " + currentEvent.Event.StartTime +
($scope.followSameMonitor == '1' ? "/MonitorId =: " + currentEvent.Monitor.Id : "") ;
"/StartTime+>:+" + currentEvent.Event.StartTime +
($scope.followSameMonitor == '1' ? "/MonitorId+=:+" + currentEvent.Monitor.Id : "") ;
if ($scope.useFilters) {
nextEvent = nextEvent + "/AlarmFrames >=: " + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0);
nextEvent = nextEvent + "/AlarmFrames+>=:+" + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0);
}
nextEvent = nextEvent + ".json?sort=StartTime&direction=asc&limit=1"+$rootScope.authSession;


var prevEvent = loginData.apiurl + "/events/index" +
"/StartTime <: " + currentEvent.Event.StartTime +
($scope.followSameMonitor == '1' ? "/MonitorId =: " + currentEvent.Monitor.Id : "");
"/StartTime+<:+" + currentEvent.Event.StartTime +
($scope.followSameMonitor == '1' ? "/MonitorId+=:+" + currentEvent.Monitor.Id : "");

if ($scope.useFilters) {
prevEvent = prevEvent + "/AlarmFrames >=: " + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0);
prevEvent = prevEvent + "/AlarmFrames+>=:+" + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0);
}
prevEvent = prevEvent + ".json?sort=StartTime&direction=desc&limit=1"+$rootScope.authSession;

Expand Down
2 changes: 1 addition & 1 deletion www/js/EventsGraphsCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ angular.module('zmApp.controllers').controller('zmApp.EventsGraphsCtrl', ['$ioni

var dateString = "";
if (hrs) {
dateString = "/StartTime <=:" + endDate + "/EndTime >=:" + startDate;
dateString = "/StartTime+<=:" + endDate + "/EndTime+>=:" + startDate;
}
var url = loginData.apiurl +
"/events/index/MonitorId:" + monitors[j].Monitor.Id + dateString +
Expand Down
4 changes: 2 additions & 2 deletions www/js/MomentCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ var masonry = null;

excludeMonitorsFilter = "";
for (var i = 0; i < excludeMonitors.length; i++) {
excludeMonitorsFilter = excludeMonitorsFilter + "/MonitorId !=:" + excludeMonitors[i];
excludeMonitorsFilter = excludeMonitorsFilter + "/MonitorId+!=:" + excludeMonitors[i];
}
NVR.debug("Constructed Monitor Filter =" + excludeMonitorsFilter);
}
Expand Down Expand Up @@ -785,7 +785,7 @@ var masonry = null;
var ld = NVR.getLogin();

// in API, always sort by StartTime so all monitors are represented
var myurl = ld.apiurl + "/events/index/AlarmFrames >=:1" + excludeMonitorsFilter + "/StartTime <=:" + timeTo + "/EndTime >=:" + timeFrom + ".json?sort=" + "StartTime" + "&direction=desc"+$rootScope.authSession;
var myurl = ld.apiurl + "/events/index/AlarmFrames+>=:1" + excludeMonitorsFilter + "/StartTime+<=:" + timeTo + "/EndTime+>=:" + timeFrom + ".json?sort=" + "StartTime" + "&direction=desc"+$rootScope.authSession;
NVR.debug("Retrieving " + myurl);


Expand Down
6 changes: 3 additions & 3 deletions www/js/MontageCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -577,16 +577,16 @@ angular.module('zmApp.controllers')
// https:///zm/api/events/index/MonitorId=:2.json?sort=StartTime&direction=desc&limit=1

var apiurl = ld.apiurl +'/events/index'; // we need some interval or it errors
apiurl += "/MonitorId =:" + monitor.Monitor.Id;
apiurl += "/MonitorId+=:" + monitor.Monitor.Id;
if (monitor.Monitor.Id in ld.lastEventCheckTimes) {

// now is server TZ time
var now = ld.lastEventCheckTimes[monitor.Monitor.Id];
apiurl += "/StartTime >:" + now;
apiurl += "/StartTime+>:" + now;

}

apiurl += "/AlarmFrames >=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0);
apiurl += "/AlarmFrames+>=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0);

/*if ( !(monitor.Monitor.Id in ld.lastEventCheckTimes)) {
apiurl+= '/1 month';
Expand Down
4 changes: 2 additions & 2 deletions www/js/MontageHistoryCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc
function getNextSetHistory() {

// grab events that start on or after the time
apiurl = ld.apiurl + "/events/index/StartTime >=:" + TimeObjectFrom + "/AlarmFrames >=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0) + ".json?sort=StartTime&direction=asc"+$rootScope.authSession;
apiurl = ld.apiurl + "/events/index/StartTime+>=:" + TimeObjectFrom + "/AlarmFrames+>=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0) + ".json?sort=StartTime&direction=asc"+$rootScope.authSession;
NVR.log("Grabbing history using: " + apiurl);
// make sure there are no more than 5 active streams (noevent is ok)
$scope.currentLimit = $scope.monLimit;
Expand Down Expand Up @@ -357,7 +357,7 @@ angular.module('zmApp.controllers').controller('zmApp.MontageHistoryCtrl', ['$sc
for (i = 0; i < $scope.MontageMonitors.length; i++) {
//console.log("Fair chance check for " + $scope.MontageMonitors[i].Monitor.Name);
if ($scope.MontageMonitors[i].Monitor.eventUrl == 'img/noimage.png') {
var indivGrab = ld.apiurl + "/events/index/MonitorId:" + $scope.MontageMonitors[i].Monitor.Id + "/StartTime >=:" + TimeObjectFrom + "/AlarmFrames >=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0) + ".json?"+$rootScope.authSession;
var indivGrab = ld.apiurl + "/events/index/MonitorId:" + $scope.MontageMonitors[i].Monitor.Id + "/StartTime+>=:" + TimeObjectFrom + "/AlarmFrames+>=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0) + ".json?"+$rootScope.authSession;
NVR.debug("Monitor " + $scope.MontageMonitors[i].Monitor.Id + ":" + $scope.MontageMonitors[i].Monitor.Name + " does not have events, trying " + indivGrab);
var p = getExpandedEvents(i, indivGrab);
promises.push(p);
Expand Down
14 changes: 7 additions & 7 deletions www/js/NVR.js
Original file line number Diff line number Diff line change
Expand Up @@ -2816,7 +2816,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) {
Expand Down Expand Up @@ -3474,11 +3474,11 @@ angular.module('zmApp.controllers')
if (monitorId != 0)
myurl = myurl + "/MonitorId:" + monitorId;
if (startTime)
myurl = myurl + "/StartTime <=:" + endTime;
myurl = myurl + "/StartTime+<=:" + endTime;
if (endTime)
myurl = myurl + "/EndTime >=:" + startTime;
myurl = myurl + "/EndTime+>=:" + startTime;

myurl = myurl + "/AlarmFrames >=:" + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0);
myurl = myurl + "/AlarmFrames+>=:" + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0);

//https:///zm/api/events/index/Notes%20REGEXP:detected%3A.json
if (loginData.objectDetectionFilter && !noObjectFilter) {
Expand Down Expand Up @@ -3565,11 +3565,11 @@ angular.module('zmApp.controllers')
if (monitorId != 0)
myurl = myurl + "/MonitorId:" + monitorId;
if (startTime)
myurl = myurl + "/StartTime <=:" + endTime;
myurl = myurl + "/StartTime+<=:" + endTime;
if (endTime)
myurl = myurl + "/EndTime >=:" + startTime;
myurl = myurl + "/EndTime+>=:" + startTime;

myurl = myurl + "/AlarmFrames >=:" + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0);
myurl = myurl + "/AlarmFrames+>=:" + (loginData.enableAlarmCount ? loginData.minAlarmCount : 0);

//console.log ('********* MON FILTER '+monListFilter);
if (monListFilter)
Expand Down
8 changes: 4 additions & 4 deletions www/js/TimelineCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -783,15 +783,15 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla
// FIXME: totally ignoring event pages - hoping it wont be more than 100 or 150 whatever
// the events per page limit is. Why? laziness.
//
var completedEvents = ld.apiurl + '/events/index/EndTime >=:' + from;
var completedEvents = ld.apiurl + "/events/index/EndTime+" + ">=:" + from;
// we can add alarmCount as this is really for completed events
completedEvents = completedEvents + "/AlarmFrames >=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0);
completedEvents = completedEvents + "/AlarmFrames+" + ">=:" + (ld.enableAlarmCount ? ld.minAlarmCount : 0);

if (ld.objectDetectionFilter) {
completedEvents = completedEvents + '/Notes REGEXP:"detected:"';
}

completedEvents = completedEvents + ".json?"+$rootScope.authSession;
completedEvents = completedEvents + ".json?" + $rootScope.authSession;

// now get currently ongoing events
// as it turns out various events get stored withn null and never recover
Expand All @@ -800,7 +800,7 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla

var st = moment(lastTimeForEvent).tz(NVR.getTimeZoneNow());
st = st.subtract(10, 'minutes').locale('en').format("YYYY-MM-DD HH:mm:ss");
var ongoingEvents = ld.apiurl + '/events/index/StartTime >=:' + st + '/EndTime =:.json?'+$rootScope.authSession;
var ongoingEvents = ld.apiurl + "/events/index/StartTime+" + ">=:" + st + "/EndTime+=:.json?" + $rootScope.authSession;
//NVR.debug("Getting incremental events using: " + completedEvents);

NVR.debug("Completed events API:" + completedEvents);
Expand Down