Merge branch 'master' of github.com:ZoneMinder/zoneminder
This commit is contained in:
commit
452416e72a
|
@ -185,7 +185,14 @@ function queryRequest($search, $advsearch, $sort, $offset, $order, $limit) {
|
||||||
|
|
||||||
$rows = array();
|
$rows = array();
|
||||||
foreach ( dbFetchAll($query['sql'], NULL, $query['values']) as $row ) {
|
foreach ( dbFetchAll($query['sql'], NULL, $query['values']) as $row ) {
|
||||||
|
$event = new ZM\Event($row['Id']);
|
||||||
|
$scale = intval(5*100*ZM_WEB_LIST_THUMB_WIDTH / $event->Width());
|
||||||
|
$imgSrc = $event->getThumbnailSrc(array(),'&');
|
||||||
|
$streamSrc = $event->getStreamSrc(array(
|
||||||
|
'mode'=>'jpeg', 'scale'=>$scale, 'maxfps'=>ZM_WEB_VIDEO_MAXFPS, 'replay'=>'single', 'rate'=>'400'), '&');
|
||||||
|
|
||||||
// Modify the row data as needed
|
// Modify the row data as needed
|
||||||
|
$row['imgHtml'] = '<img id="thumbnail' .$event->Id(). '" src="' .$imgSrc. '" alt="' .validHtmlStr('Event ' .$event->Id()). '" style="width:' .validInt($event->ThumbnailWidth()). 'px;height:' .validInt($event->ThumbnailHeight()).'px;" stream_src="' .$streamSrc. '" still_src="' .$imgSrc. '"/>';
|
||||||
$row['Name'] = validHtmlStr($row['Name']);
|
$row['Name'] = validHtmlStr($row['Name']);
|
||||||
$row['Archived'] = $row['Archived'] ? translate('Yes') : translate('No');
|
$row['Archived'] = $row['Archived'] ? translate('Yes') : translate('No');
|
||||||
$row['Emailed'] = $row['Emailed'] ? translate('Yes') : translate('No');
|
$row['Emailed'] = $row['Emailed'] ? translate('Yes') : translate('No');
|
||||||
|
|
|
@ -44,6 +44,8 @@ var canEditSystem = <?php echo canEdit('System')?'true':'false' ?>;
|
||||||
var canViewSystem = <?php echo canView('System')?'true':'false' ?>;
|
var canViewSystem = <?php echo canView('System')?'true':'false' ?>;
|
||||||
var canEditEvents = <?php echo canEdit('Events')?'true':'false' ?>;
|
var canEditEvents = <?php echo canEdit('Events')?'true':'false' ?>;
|
||||||
var canViewEvents = <?php echo canView('Events')?'true':'false' ?>;
|
var canViewEvents = <?php echo canView('Events')?'true':'false' ?>;
|
||||||
|
var canEditMonitors = <?php echo canEdit('Monitors')?'true':'false' ?>;
|
||||||
|
var canViewMonitors = <?php echo canView('Monitors')?'true':'false' ?>;
|
||||||
|
|
||||||
var canEditGroups = <?php echo canEdit('Groups')?'true':'false' ?>;
|
var canEditGroups = <?php echo canEdit('Groups')?'true':'false' ?>;
|
||||||
|
|
||||||
|
|
|
@ -37,17 +37,14 @@ var params =
|
||||||
function ajaxRequest(params) {
|
function ajaxRequest(params) {
|
||||||
$j.getJSON(thisUrl + '?view=request&request=events&task=query', params.data)
|
$j.getJSON(thisUrl + '?view=request&request=events&task=query', params.data)
|
||||||
.done(function(data) {
|
.done(function(data) {
|
||||||
//console.log('Ajax parameters: ' + JSON.stringify(params));
|
|
||||||
// rearrange the result into what bootstrap-table expects
|
|
||||||
var rows = processRows(data.rows);
|
var rows = processRows(data.rows);
|
||||||
|
// rearrange the result into what bootstrap-table expects
|
||||||
params.success({total: data.total, totalNotFiltered: data.totalNotFiltered, rows: rows});
|
params.success({total: data.total, totalNotFiltered: data.totalNotFiltered, rows: rows});
|
||||||
})
|
})
|
||||||
.fail(logAjaxFail);
|
.fail(logAjaxFail);
|
||||||
}
|
}
|
||||||
|
|
||||||
function processRows(rows) {
|
function processRows(rows) {
|
||||||
// WIP: Inject desired html and formatting for the cells in each row
|
|
||||||
// REMINDER: Make these lines dependent on user permissions e.g. canEditEvents
|
|
||||||
$j.each(rows, function(ndx, row) {
|
$j.each(rows, function(ndx, row) {
|
||||||
var eid = row.Id;
|
var eid = row.Id;
|
||||||
var mid = row.MonitorId;
|
var mid = row.MonitorId;
|
||||||
|
@ -57,8 +54,8 @@ function processRows(rows) {
|
||||||
row.Id = '<a href="?view=event&eid=' + eid + filterQuery + sortQuery + '&page=1">' + eid + '</a>';
|
row.Id = '<a href="?view=event&eid=' + eid + filterQuery + sortQuery + '&page=1">' + eid + '</a>';
|
||||||
row.Name = '<a href="?view=event&eid=' + eid + filterQuery + sortQuery + '&page=1">' + row.Name + '</a>'
|
row.Name = '<a href="?view=event&eid=' + eid + filterQuery + sortQuery + '&page=1">' + row.Name + '</a>'
|
||||||
+ '<br/><div class="small text-nowrap text-muted">' + archived + emailed + '</div>';
|
+ '<br/><div class="small text-nowrap text-muted">' + archived + emailed + '</div>';
|
||||||
row.Monitor = '<a href="?view=monitor&mid=' + mid + '">' + row.Monitor + '</a>';
|
if ( canEditMonitors ) row.Monitor = '<a href="?view=monitor&mid=' + mid + '">' + row.Monitor + '</a>';
|
||||||
row.Cause = '<a href="#" title="' + row.Notes + '" class="eDetailLink" data-eid="' + eid + '">' + row.Cause + '</a>';
|
if ( canEditEvents ) row.Cause = '<a href="#" title="' + row.Notes + '" class="eDetailLink" data-eid="' + eid + '">' + row.Cause + '</a>';
|
||||||
if ( row.Notes.indexOf('detected:') >= 0 ) {
|
if ( row.Notes.indexOf('detected:') >= 0 ) {
|
||||||
row.Cause = row.Cause + '<a href="#?view=image&eid=' + eid + '&fid=objdetect"><div class="small text-nowrap text-muted"><u>' + row.Notes + '</u></div></a>';
|
row.Cause = row.Cause + '<a href="#?view=image&eid=' + eid + '&fid=objdetect"><div class="small text-nowrap text-muted"><u>' + row.Notes + '</u></div></a>';
|
||||||
} else if ( row.Notes != 'Forced Web: ' ) {
|
} else if ( row.Notes != 'Forced Web: ' ) {
|
||||||
|
@ -67,6 +64,7 @@ function processRows(rows) {
|
||||||
row.Frames = '<a href="?view=frames&eid=' + eid + '">' + row.Frames + '</a>';
|
row.Frames = '<a href="?view=frames&eid=' + eid + '">' + row.Frames + '</a>';
|
||||||
row.AlarmFrames = '<a href="?view=frames&eid=' + eid + '">' + row.AlarmFrames + '</a>';
|
row.AlarmFrames = '<a href="?view=frames&eid=' + eid + '">' + row.AlarmFrames + '</a>';
|
||||||
row.MaxScore = '<a href="?view=frame&eid=' + eid + '&fid=0">' + row.MaxScore + '</a>';
|
row.MaxScore = '<a href="?view=frame&eid=' + eid + '&fid=0">' + row.MaxScore + '</a>';
|
||||||
|
row.Thumbnail = '<a href="?view=event&eid=' + eid + filterQuery + sortQuery + '&page=1">' + row.imgHtml + '</a>';
|
||||||
});
|
});
|
||||||
|
|
||||||
return rows;
|
return rows;
|
||||||
|
@ -334,6 +332,11 @@ function initPage() {
|
||||||
var eid = $j(this).data('eid');
|
var eid = $j(this).data('eid');
|
||||||
getEventDetailModal(eid);
|
getEventDetailModal(eid);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var thumb_ndx = $j('#eventTable tr th').filter(function() {
|
||||||
|
return $j(this).text().trim() == 'Thumbnail';
|
||||||
|
}).index();
|
||||||
|
table.find("tr td:nth-child(" + (thumb_ndx+1) + ")").addClass('colThumbnail zoom');
|
||||||
});
|
});
|
||||||
|
|
||||||
// The table is initially given a hidden style, so now that we are done rendering, show it
|
// The table is initially given a hidden style, so now that we are done rendering, show it
|
||||||
|
|
Loading…
Reference in New Issue