translate('Events'), "filter" => array( "terms" => array( ) ), ), array( "title" => translate('Hour'), "filter" => array( "terms" => array( array( "attr" => "DateTime", "op" => ">=", "val" => "-1 hour" ), ) ), ), array( "title" => translate('Day'), "filter" => array( "terms" => array( array( "attr" => "DateTime", "op" => ">=", "val" => "-1 day" ), ) ), ), array( "title" => translate('Week'), "filter" => array( "terms" => array( array( "attr" => "DateTime", "op" => ">=", "val" => "-7 day" ), ) ), ), array( "title" => translate('Month'), "filter" => array( "terms" => array( array( "attr" => "DateTime", "op" => ">=", "val" => "-1 month" ), ) ), ), array( "title" => translate('Archived'), "filter" => array( "terms" => array( array( "attr" => "Archived", "op" => "=", "val" => "1" ), ) ), ), ); $running = daemonCheck(); $status = $running?translate('Running'):translate('Stopped'); $run_state = dbFetchOne('select Name from States where IsActive = 1', 'Name' ); $group = NULL; if ( ! empty($_COOKIE['zmGroup']) ) { if ( $group = dbFetchOne( 'select * from Groups where Id = ?', NULL, array($_COOKIE['zmGroup'])) ) $groupIds = array_flip(explode( ',', $group['MonitorIds'] )); } noCacheHeaders(); $maxWidth = 0; $maxHeight = 0; $cycleCount = 0; $minSequence = 0; $maxSequence = 1; $seqIdList = array(); $monitors = dbFetchAll( "select * from Monitors order by Sequence asc" ); $displayMonitors = array(); for ( $i = 0; $i < count($monitors); $i++ ) { if ( !visibleMonitor( $monitors[$i]['Id'] ) ) { continue; } if ( $group && !empty($groupIds) && !array_key_exists( $monitors[$i]['Id'], $groupIds ) ) { continue; } $monitors[$i]['Show'] = true; if ( empty($minSequence) || ($monitors[$i]['Sequence'] < $minSequence) ) { $minSequence = $monitors[$i]['Sequence']; } if ( $monitors[$i]['Sequence'] > $maxSequence ) { $maxSequence = $monitors[$i]['Sequence']; } $monitors[$i]['zmc'] = zmcStatus( $monitors[$i] ); $monitors[$i]['zma'] = zmaStatus( $monitors[$i] ); $monitors[$i]['ZoneCount'] = dbFetchOne( 'select count(Id) as ZoneCount from Zones where MonitorId = ?', 'ZoneCount', array($monitors[$i]['Id']) ); $counts = array(); for ( $j = 0; $j < count($eventCounts); $j++ ) { $filter = addFilterTerm( $eventCounts[$j]['filter'], count($eventCounts[$j]['filter']['terms']), array( "cnj" => "and", "attr" => "MonitorId", "op" => "=", "val" => $monitors[$i]['Id'] ) ); parseFilter( $filter ); $counts[] = "count(if(1".$filter['sql'].",1,NULL)) as EventCount$j"; $monitors[$i]['eventCounts'][$j]['filter'] = $filter; } $sql = "select ".join($counts,", ")." from Events as E where MonitorId = ?"; $counts = dbFetchOne( $sql, NULL, array($monitors[$i]['Id']) ); if ( $monitors[$i]['Function'] != 'None' ) { $cycleCount++; $scaleWidth = reScale( $monitors[$i]['Width'], $monitors[$i]['DefaultScale'], ZM_WEB_DEFAULT_SCALE ); $scaleHeight = reScale( $monitors[$i]['Height'], $monitors[$i]['DefaultScale'], ZM_WEB_DEFAULT_SCALE ); if ( $maxWidth < $scaleWidth ) $maxWidth = $scaleWidth; if ( $maxHeight < $scaleHeight ) $maxHeight = $scaleHeight; } if ( $counts ) $monitors[$i] = array_merge( $monitors[$i], $counts ); $seqIdList[] = $monitors[$i]['Id']; $displayMonitors[] = $monitors[$i]; } $lastId = 0; $seqIdUpList = array(); foreach ( $seqIdList as $seqId ) { if ( !empty($lastId) ) $seqIdUpList[$seqId] = $lastId; else $seqIdUpList[$seqId] = $seqId; $lastId = $seqId; } $lastId = 0; $seqIdDownList = array(); foreach ( array_reverse($seqIdList) as $seqId ) { if ( !empty($lastId) ) $seqIdDownList[$seqId] = $lastId; else $seqIdDownList[$seqId] = $seqId; $lastId = $seqId; } $cycleWidth = $maxWidth; $cycleHeight = $maxHeight; $eventsView = ZM_WEB_EVENTS_VIEW; $eventsWindow = 'zm'.ucfirst(ZM_WEB_EVENTS_VIEW); $eventCount = 0; for ( $i = 0; $i < count($eventCounts); $i++ ) { $eventCounts[$i]['total'] = 0; } $zoneCount = 0; foreach( $displayMonitors as $monitor ) { for ( $i = 0; $i < count($eventCounts); $i++ ) { $eventCounts[$i]['total'] += $monitor['EventCount'.$i]; } $zoneCount += $monitor['ZoneCount']; } $seqUpFile = getSkinFile( 'graphics/seq-u.gif' ); $seqDownFile = getSkinFile( 'graphics/seq-d.gif' ); $versionClass = (ZM_DYN_DB_VERSION&&(ZM_DYN_DB_VERSION!=ZM_VERSION))?'errorText':''; xhtmlHeaders( __FILE__, translate('Console') ); ?>