2020-08-23 01:45:19 +08:00
< ? php
//
// ZoneMinder web stats view file, $Date$, $Revision$
// Copyright (C) 2001-2008 Philip Coombes
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
//
2020-09-03 06:12:35 +08:00
if ( ! canView ( 'Events' ) ) {
$view = 'error' ;
return ;
2020-08-23 01:45:19 +08:00
}
2020-09-03 06:12:35 +08:00
if ( ! isset ( $row ) ) $row = '' ;
2020-08-23 01:45:19 +08:00
$sql = 'SELECT S.*,E.*,Z.Name AS ZoneName,Z.Units,Z.Area,M.Name AS MonitorName FROM Stats AS S LEFT JOIN Events AS E ON S.EventId = E.Id LEFT JOIN Zones AS Z ON S.ZoneId = Z.Id LEFT JOIN Monitors AS M ON E.MonitorId = M.Id WHERE S.EventId = ? AND S.FrameId = ? ORDER BY S.ZoneId' ;
2020-09-03 06:12:35 +08:00
$stats = dbFetchAll ( $sql , NULL , array ( $eid , $fid ));
2020-08-23 01:45:19 +08:00
?>
2020-08-24 01:23:58 +08:00
< table id = " contentStatsTable<?php echo $row ?> "
data - toggle = " table "
data - toolbar = " #toolbar "
class = " table-sm table-borderless contentStatsTable "
2020-09-03 06:12:35 +08:00
>
2020-08-23 01:45:19 +08:00
2020-08-24 01:23:58 +08:00
< caption >< ? php echo translate ( 'Stats' ) ?> - <?php echo $eid ?> - <?php echo $fid ?></caption>
2020-08-23 01:45:19 +08:00
< thead >
< tr >
2020-08-24 01:23:58 +08:00
< th class = " colZone font-weight-bold " data - align = " center " >< ? php echo translate ( 'Zone' ) ?> </th>
< th class = " colPixelDiff font-weight-bold " data - align = " center " >< ? php echo translate ( 'PixelDiff' ) ?> </th>
< th class = " colAlarmPx font-weight-bold " data - align = " center " >< ? php echo translate ( 'AlarmPx' ) ?> </th>
< th class = " colFilterPx font-weight-bold " data - align = " center " >< ? php echo translate ( 'FilterPx' ) ?> </th>
< th class = " colBlobPx font-weight-bold " data - align = " center " >< ? php echo translate ( 'BlobPx' ) ?> </th>
< th class = " colBlobs font-weight-bold " data - align = " center " >< ? php echo translate ( 'Blobs' ) ?> </th>
< th class = " colBlobSizes font-weight-bold " data - align = " center " >< ? php echo translate ( 'BlobSizes' ) ?> </th>
< th class = " colAlarmLimits font-weight-bold " data - align = " center " >< ? php echo translate ( 'AlarmLimits' ) ?> </th>
< th class = " colScore font-weight-bold " data - align = " center " >< ? php echo translate ( 'Score' ) ?> </th>
2020-08-23 01:45:19 +08:00
</ tr >
</ thead >
< tbody >
< ? php
2020-09-03 06:12:35 +08:00
if ( count ( $stats ) ) {
foreach ( $stats as $stat ) {
2020-08-23 01:45:19 +08:00
?>
< tr >
2020-08-24 01:23:58 +08:00
< td class = " colZone " >< ? php echo validHtmlStr ( $stat [ 'ZoneName' ]) ?> </td>
< td class = " colPixelDiff " >< ? php echo validHtmlStr ( $stat [ 'PixelDiff' ]) ?> </td>
< td class = " colAlarmPx " >< ? php echo sprintf ( " %d (%d%%) " , $stat [ 'AlarmPixels' ], ( 100 * $stat [ 'AlarmPixels' ] / $stat [ 'Area' ]) ) ?> </td>
< td class = " colFilterPx " >< ? php echo sprintf ( " %d (%d%%) " , $stat [ 'FilterPixels' ], ( 100 * $stat [ 'FilterPixels' ] / $stat [ 'Area' ]) ) ?> </td>
< td class = " colBlobPx " >< ? php echo sprintf ( " %d (%d%%) " , $stat [ 'BlobPixels' ], ( 100 * $stat [ 'BlobPixels' ] / $stat [ 'Area' ]) ) ?> </td>
< td class = " colBlobs " >< ? php echo validHtmlStr ( $stat [ 'Blobs' ]) ?> </td>
2020-08-23 01:45:19 +08:00
< ? php
if ( $stat [ 'Blobs' ] > 1 ) {
?>
2020-08-24 01:23:58 +08:00
< td class = " colBlobSizes " >< ? php echo sprintf ( " %d-%d (%d%%-%d%%) " , $stat [ 'MinBlobSize' ], $stat [ 'MaxBlobSize' ], ( 100 * $stat [ 'MinBlobSize' ] / $stat [ 'Area' ]), ( 100 * $stat [ 'MaxBlobSize' ] / $stat [ 'Area' ]) ) ?> </td>
2020-08-23 01:45:19 +08:00
< ? php
} else {
?>
2020-08-24 01:23:58 +08:00
< td class = " colBlobSizes " >< ? php echo sprintf ( " %d (%d%%) " , $stat [ 'MinBlobSize' ], 100 * $stat [ 'MinBlobSize' ] / $stat [ 'Area' ] ) ?> </td>
2020-08-23 01:45:19 +08:00
< ? php
}
?>
2020-08-24 01:23:58 +08:00
< td class = " colAlarmLimits " >< ? php echo validHtmlStr ( $stat [ 'MinX' ] . " , " . $stat [ 'MinY' ] . " - " . $stat [ 'MaxX' ] . " , " . $stat [ 'MaxY' ]) ?> </td>
< td class = " colScore " >< ? php echo $stat [ 'Score' ] ?> </td>
2020-08-23 01:45:19 +08:00
</ tr >
< ? php
}
} else {
?>
2020-09-03 06:12:35 +08:00
< tr >
< td class = " rowNoStats " colspan = " 9 " >< ? php echo translate ( 'NoStatisticsRecorded' ) ?> </td>
</ tr >
2020-08-23 01:45:19 +08:00
< ? php
}
?>
</ tbody >
</ table >