1 and canEdit( 'System' ) ? 1 : 0; if ( $running == null ) $running = daemonCheck(); $eventCounts = array( array( 'title' => translate('Events'), 'filter' => array( 'Query' => array ( 'terms' => array() ) ), 'total' => 0, ), array( 'title' => translate('Hour'), 'filter' => array( 'Query' => array( 'terms' => array( array( 'attr' => 'DateTime', 'op' => '>=', 'val' => '-1 hour' ), ) ) ), 'total' => 0, ), array( 'title' => translate('Day'), 'filter' => array( 'Query' => array( 'terms' => array( array( 'attr' => 'DateTime', 'op' => '>=', 'val' => '-1 day' ), ) ) ), 'total' => 0, ), array( 'title' => translate('Week'), 'filter' => array( 'Query' => array( 'terms' => array( array( 'attr' => 'DateTime', 'op' => '>=', 'val' => '-7 day' ), ) ) ), 'total' => 0, ), array( 'title' => translate('Month'), 'filter' => array( 'Query' => array( 'terms' => array( array( 'attr' => 'DateTime', 'op' => '>=', 'val' => '-1 month' ), ) ) ), 'total' => 0, ), array( 'title' => translate('Archived'), 'filter' => array( 'Query' => array( 'terms' => array( array( 'attr' => 'Archived', 'op' => '=', 'val' => '1' ), ) ) ), 'total' => 0, ), ); $navbar = getNavBarHTML(); noCacheHeaders(); $eventsView = ZM_WEB_EVENTS_VIEW; $eventsWindow = 'zm'.ucfirst(ZM_WEB_EVENTS_VIEW); $left_columns = 3; if ( count($servers) ) $left_columns += 1; if ( ZM_WEB_ID_ON_CONSOLE ) $left_columns += 1; if ( $show_storage_areas ) $left_columns += 1; xhtmlHeaders( __FILE__, translate('Console') ); ?>
'All'); foreach ( Group::find_all( array('ParentId'=>null) ) as $Group ) { $groups[$Group->Id()] = $Group->Name(); } echo htmlSelect( 'group', $groups, $group_id, 'changeGroup(this);' ); $groups = array(0=>'All'); if ( $group_id ) { foreach ( Group::find_all( array('ParentId'=>$group_id) ) as $Group ) { $groups[$Group->Id()] = $Group->Name(); } } echo htmlSelect( 'subgroup', $groups, $subgroup_id, 'changeSubGroup(this);' ); $group = NULL; if ( $group_id ) { if ( $group = dbFetchOne( 'SELECT MonitorIds FROM Groups WHERE Id = ?', NULL, array($group_id) ) ) $groupIds = array_flip(explode( ',', $group['MonitorIds'] )); if ( $subgroup_id ) { if ( $group = dbFetchOne( 'SELECT MonitorIds FROM Groups WHERE Id = ?', NULL, array($subgroup_id) ) ) $groupIds = array_merge( $groupIds, array_flip(explode( ',', $group['MonitorIds'] ) ) ); } else { foreach ( dbFetchAll( 'SELECT MonitorIds FROM Groups WHERE ParentId = ?', NULL, array($group_id) ) as $group ) $groupIds = array_merge( $groupIds, array_flip(explode( ',', $group['MonitorIds'] ) ) ); } } $maxWidth = 0; $maxHeight = 0; # Used to determine if the Cycle button should be made available $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; } if ( $monitors[$i]['Function'] != 'None' ) { $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; } $displayMonitors[] = $monitors[$i]; } $cycleWidth = $maxWidth; $cycleHeight = $maxHeight; $zoneCount = 0; for( $i = 0; $i < count($displayMonitors); $i += 1 ) { $monitor = $displayMonitors[$i]; $monitor['zmc'] = zmcStatus( $monitor ); $monitor['zma'] = zmaStatus( $monitor ); $monitor['ZoneCount'] = dbFetchOne( 'select count(Id) as ZoneCount from Zones where MonitorId = ?', 'ZoneCount', array($monitor['Id']) ); $counts = array(); for ( $j = 0; $j < count($eventCounts); $j += 1 ) { $filter = addFilterTerm( $eventCounts[$j]['filter'], count($eventCounts[$j]['filter']['Query']['terms']), array( 'cnj' => 'and', 'attr' => 'MonitorId', 'op' => '=', 'val' => $monitor['Id'] ) ); parseFilter( $filter ); $counts[] = 'count(if(1'.$filter['sql'].",1,NULL)) as EventCount$j"; $monitor['eventCounts'][$j]['filter'] = $filter; } $sql = 'SELECt '.join($counts,', ').' from Events as E where MonitorId = ?'; $counts = dbFetchOne( $sql, NULL, array($monitor['Id']) ); if ( $counts ) $displayMonitors[$i] = $monitor = array_merge( $monitor, $counts ); for ( $j = 0; $j < count($eventCounts); $j += 1 ) { $eventCounts[$j]['total'] += $monitor['EventCount'.$j]; } $zoneCount += $monitor['ZoneCount']; } ?>
'. makePopupLink( '?view=monitor&mid='.$monitor['Id'], 'zmMonitor'.$monitor['Id'], 'monitor', ''.$source.'', canEdit( 'Monitors' ) ).''; if ( $show_storage_areas ) { ?>
'.translate('Fn'.$monitor['Function']).( empty($monitor['Enabled']) ? ', disabled' : '' ) .'', canEdit( 'Monitors' ) ) ?> Name(); ?> Name(); ?> disabled="disabled"/>