diff --git a/docs/userguide/filterevents.rst b/docs/userguide/filterevents.rst index 8477ef157..d3c4955c9 100644 --- a/docs/userguide/filterevents.rst +++ b/docs/userguide/filterevents.rst @@ -101,7 +101,7 @@ How filters actually work -------------------------- It is useful to know how filters actually work behind the scenes in ZoneMinder, in the event you find your filter not functioning as intended: -* the primary filter processing process in ZoneMinder is a perl file called ``zmfilter.pl`` +* the primary filter processing process in ZoneMinder is a perl file called ``zmfilter.pl`` which retrieves filters from the Filters database table * zmfilter.pl runs every FILTER_EXECUTE_INTERVAL seconds (default is 20s, can be changed in Options->System) * in each run, it goes through all the filters which are marked as "Run in Background" and if the conditions match performs the specified action * zmfilter.pl also reloads all the filters every FILTER_RELOAD_DELAY seconds (default is 300s/5mins, can be changed in Options->System) diff --git a/web/ajax/log.php b/web/ajax/log.php index 4e8c13a35..ac9b62ad6 100644 --- a/web/ajax/log.php +++ b/web/ajax/log.php @@ -94,9 +94,8 @@ switch ( $_REQUEST['task'] ) $sql .= " order by ".$sortField." ".$sortOrder." limit ".$limit; $logs = array(); foreach ( dbFetchAll( $sql, NULL, $values ) as $log ) { - $log['DateTime'] = preg_replace( '/^\d+/', strftime( "%Y-%m-%d %H:%M:%S", intval($log['TimeKey']) ), $log['TimeKey'] ); + $log['DateTime'] = preg_replace( '/^\d+/', strftime( '%Y-%m-%d %H:%M:%S', intval($log['TimeKey']) ), $log['TimeKey'] ); $log['Server'] = ( $log['ServerId'] and isset($servers_by_Id[$log['ServerId']]) ) ? $servers_by_Id[$log['ServerId']]->Name() : ''; - #$log['Message'] = preg_replace('/[\x00-\x1F\x7F]/u', '', $log['Message'] ); $log['Message'] = preg_replace('/[\x00-\x1F\x7F-\xFF]/', '', $log['Message'] ); $logs[] = $log; } diff --git a/web/skins/classic/css/classic/views/montage.css b/web/skins/classic/css/classic/views/montage.css index ed0ef9188..d2eb33ec2 100644 --- a/web/skins/classic/css/classic/views/montage.css +++ b/web/skins/classic/css/classic/views/montage.css @@ -30,6 +30,7 @@ #monitors .imageFeed img , #monitors .imageFeed svg { border: 2px solid #ffffff; + display: block; } #monitors .imageFeed img.idle { diff --git a/web/skins/classic/css/dark/views/montage.css b/web/skins/classic/css/dark/views/montage.css index aebaebb86..85306393d 100644 --- a/web/skins/classic/css/dark/views/montage.css +++ b/web/skins/classic/css/dark/views/montage.css @@ -26,6 +26,7 @@ #monitors .imageFeed img , #monitors .imageFeed svg { border: 2px solid #999999; + display: block; } #monitors .imageFeed img.idle { diff --git a/web/skins/classic/css/flat/views/montage.css b/web/skins/classic/css/flat/views/montage.css index fa1a7dc45..7c571f7c1 100644 --- a/web/skins/classic/css/flat/views/montage.css +++ b/web/skins/classic/css/flat/views/montage.css @@ -38,6 +38,7 @@ margin: 0; padding: 0; border-radius: 0; + display: block; } #monitors .imageFeed img.idle { diff --git a/web/skins/classic/views/js/log.js b/web/skins/classic/views/js/log.js index b3b30fa86..565177dc9 100644 --- a/web/skins/classic/views/js/log.js +++ b/web/skins/classic/views/js/log.js @@ -1,5 +1,5 @@ var logParms = "view=request&request=log&task=query"; -var logReq = new Request.JSON( { url: thisUrl, method: 'get', timeout: AJAX_TIMEOUT, link: 'cancel', onSuccess: logResponse } ); +var logReq = new Request.JSON( { url: thisUrl, method: 'post', timeout: AJAX_TIMEOUT, link: 'cancel', onSuccess: logResponse } ); var logTimer = undefined; var logTable = undefined; diff --git a/web/skins/classic/views/montagereview.php b/web/skins/classic/views/montagereview.php index cbd91f5f1..d2351a50e 100644 --- a/web/skins/classic/views/montagereview.php +++ b/web/skins/classic/views/montagereview.php @@ -116,7 +116,7 @@ if ( !empty($_REQUEST['group']) ) { // Note we round up just a bit on the end time as otherwise you get gaps, like 59.78 to 00 in the next second, which can give blank frames when moved through slowly. $eventsSql = ' - SELECT E.Id,E.Name,E.StorageId,UNIX_TIMESTAMP(E.StartTime) AS StartTimeSecs, + SELECT E.Id,E.Name,UNIX_TIMESTAMP(E.StartTime) AS StartTimeSecs, CASE WHEN E.EndTime IS NULL THEN (SELECT UNIX_TIMESTAMP(DATE_ADD(E.StartTime, Interval max(Delta)+0.5 Second)) FROM Frames F WHERE F.EventId=E.Id) ELSE UNIX_TIMESTAMP(E.EndTime) END AS CalcEndTimeSecs, E.Length,