summaryrefslogtreecommitdiffstats
path: root/frontends/php
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/php')
-rw-r--r--frontends/php/include/actions.inc.php103
-rw-r--r--frontends/php/include/blocks.inc.php60
-rw-r--r--frontends/php/include/events.inc.php61
3 files changed, 100 insertions, 124 deletions
diff --git a/frontends/php/include/actions.inc.php b/frontends/php/include/actions.inc.php
index f44682aa..41645978 100644
--- a/frontends/php/include/actions.inc.php
+++ b/frontends/php/include/actions.inc.php
@@ -1108,21 +1108,34 @@ function get_actions_hint_by_eventid($eventid,$status=NULL){
$tab_hint->AddOption('style', 'width: 300px;');
$tab_hint->SetHeader(array(
is_show_subnodes() ? S_NODES : null,
- S_TYPE,
S_USER,
+ S_DETAILS,
S_STATUS
));
-
+/*
$sql = 'SELECT DISTINCT a.alertid,mt.description,a.sendto,a.status,u.alias,a.retries '.
' FROM events e,users u,alerts a'.
' left join media_type mt on mt.mediatypeid=a.mediatypeid'.
- ' WHERE a.eventid='.$eventid.' and alerttype in ('.ALERT_TYPE_MESSAGE.')'.
+ ' WHERE a.eventid='.$eventid.
(is_null($status)?'':' AND a.status='.$status).
' AND e.eventid = a.eventid'.
+ ' AND a.alerttype IN ('.ALERT_TYPE_MESSAGE.','.ALERT_TYPE_COMMAND.')'.
' AND '.DBcondition('e.objectid',$available_triggers).
' AND '.DBin_node('a.alertid').
' AND u.userid=a.userid '.
' ORDER BY mt.description';
+//*/
+ $sql = 'SELECT DISTINCT a.alertid,mt.description,u.alias,a.subject,a.message,a.sendto,a.status,a.retries,a.alerttype '.
+ ' FROM events e,alerts a '.
+ ' LEFT JOIN users u ON u.userid=a.userid '.
+ ' LEFT JOIN media_type mt ON mt.mediatypeid=a.mediatypeid'.
+ ' WHERE a.eventid='.$eventid.
+ (is_null($status)?'':' AND a.status='.$status).
+ ' AND e.eventid = a.eventid'.
+ ' AND a.alerttype IN ('.ALERT_TYPE_MESSAGE.','.ALERT_TYPE_COMMAND.')'.
+ ' AND '.DBcondition('e.objectid',$available_triggers).
+ ' AND '.DBin_node('a.alertid').
+ ' ORDER BY a.alertid';
$result=DBselect($sql);
while($row=DBfetch($result)){
@@ -1140,12 +1153,25 @@ function get_actions_hint_by_eventid($eventid,$status=NULL){
$retries=new CSpan(0,"red");
}
- $row['description'] = empty($row['description'])?'-':$row['description'];
+ switch($row['alerttype']){
+ case ALERT_TYPE_MESSAGE:
+ $message = empty($row['description'])?'-':$row['description'];
+ break;
+ case ALERT_TYPE_COMMAND:
+ $message = array(bold(S_COMMAND.':'));
+ $msg = explode("\n",$row['message']);
+ foreach($msg as $m){
+ array_push($message, BR(), $m);
+ }
+ break;
+ default:
+ $message = '-';
+ }
$tab_hint->AddRow(array(
get_node_name_by_elid($row['alertid']),
- $row['description'],
- $row['alias'],
+ empty($row['alias'])?' - ':$row['alias'],
+ $message,
$status
));
}
@@ -1221,4 +1247,69 @@ function get_event_actions_status($eventid){
return $actions;
}
+function get_event_actions_stat_hints($eventid){
+ $actions= new CTable(' - ');
+
+ $sql='SELECT COUNT(a.alertid) as cnt '.
+ ' FROM alerts a '.
+ ' WHERE a.eventid='.$eventid.
+ ' AND a.alerttype in ('.ALERT_TYPE_MESSAGE.','.ALERT_TYPE_COMMAND.')';
+
+
+ $alerts=DBfetch(DBselect($sql));
+
+ if(isset($alerts['cnt']) && ($alerts['cnt'] > 0)){
+ $sql='SELECT COUNT(a.alertid) as sent '.
+ ' FROM alerts a '.
+ ' WHERE a.eventid='.$eventid.
+ ' AND a.alerttype in ('.ALERT_TYPE_MESSAGE.','.ALERT_TYPE_COMMAND.')'.
+ ' AND a.status='.ALERT_STATUS_SENT;
+
+ $alerts=DBfetch(DBselect($sql));
+
+ $alert_cnt = new CSpan($alerts['sent'],'green');
+ if($alerts['sent']){
+ $hint=get_actions_hint_by_eventid($eventid,ALERT_STATUS_SENT);
+ $alert_cnt->SetHint($hint);
+ }
+ $tdl = new CCol(($alerts['sent'])?$alert_cnt:SPACE);
+ $tdl->AddOption('width','10');
+
+ $sql='SELECT COUNT(a.alertid) as inprogress '.
+ ' FROM alerts a '.
+ ' WHERE a.eventid='.$eventid.
+ ' AND a.alerttype in ('.ALERT_TYPE_MESSAGE.','.ALERT_TYPE_COMMAND.')'.
+ ' AND a.status='.ALERT_STATUS_NOT_SENT;
+
+ $alerts=DBfetch(DBselect($sql));
+
+ $alert_cnt = new CSpan($alerts['inprogress'],'orange');
+ if($alerts['inprogress']){
+ $hint=get_actions_hint_by_eventid($eventid,ALERT_STATUS_NOT_SENT);
+ $alert_cnt->SetHint($hint);
+ }
+ $tdc = new CCol(($alerts['inprogress'])?$alert_cnt:SPACE);
+ $tdc->AddOption('width','10');
+
+ $sql='SELECT COUNT(a.alertid) as failed '.
+ ' FROM alerts a '.
+ ' WHERE a.eventid='.$eventid.
+ ' AND a.alerttype in ('.ALERT_TYPE_MESSAGE.','.ALERT_TYPE_COMMAND.')'.
+ ' AND a.status='.ALERT_STATUS_FAILED;
+
+ $alerts=DBfetch(DBselect($sql));
+
+ $alert_cnt = new CSpan($alerts['failed'],'red');
+ if($alerts['failed']){
+ $hint=get_actions_hint_by_eventid($eventid,ALERT_STATUS_FAILED);
+ $alert_cnt->SetHint($hint);
+ }
+
+ $tdr = new CCol(($alerts['failed'])?$alert_cnt:SPACE);
+ $tdr->AddOption('width','10');
+
+ $actions->AddRow(array($tdl,$tdc,$tdr));
+ }
+return $actions;
+}
?>
diff --git a/frontends/php/include/blocks.inc.php b/frontends/php/include/blocks.inc.php
index 1111b993..8443449c 100644
--- a/frontends/php/include/blocks.inc.php
+++ b/frontends/php/include/blocks.inc.php
@@ -22,7 +22,6 @@
require_once "include/graphs.inc.php";
require_once "include/screens.inc.php";
require_once "include/maps.inc.php";
-require_once "include/actions.inc.php";
// Author: Aly
@@ -530,64 +529,7 @@ function make_latest_issues(){
ZBX_FLAG_EVENT);
//actions
- $actions= new CTable(' - ');
-
- $sql='SELECT COUNT(a.alertid) as cnt '.
- ' FROM alerts a '.
- ' WHERE a.eventid='.$row_event['eventid'];
-
-
- $alerts=DBfetch(DBselect($sql));
-
- if(isset($alerts['cnt']) && ($alerts['cnt'] > 0)){
- $sql='SELECT COUNT(a.alertid) as sent '.
- ' FROM alerts a '.
- ' WHERE a.eventid='.$row_event['eventid'].
- ' AND a.status='.ALERT_STATUS_SENT;
-
- $alerts=DBfetch(DBselect($sql));
-
- $alert_cnt = new CSpan($alerts['sent'],'green');
- if($alerts['sent']){
- $hint=get_actions_hint_by_eventid($row_event['eventid'],ALERT_STATUS_SENT);
- $alert_cnt->SetHint($hint);
- }
- $tdl = new CCol(($alerts['sent'])?$alert_cnt:SPACE);
- $tdl->AddOption('width','10');
-
- $sql='SELECT COUNT(a.alertid) as inprogress '.
- ' FROM alerts a '.
- ' WHERE a.eventid='.$row_event['eventid'].
- ' AND a.status='.ALERT_STATUS_NOT_SENT;
-
- $alerts=DBfetch(DBselect($sql));
-
- $alert_cnt = new CSpan($alerts['inprogress'],'orange');
- if($alerts['inprogress']){
- $hint=get_actions_hint_by_eventid($row_event['eventid'],ALERT_STATUS_NOT_SENT);
- $alert_cnt->SetHint($hint);
- }
- $tdc = new CCol(($alerts['inprogress'])?$alert_cnt:SPACE);
- $tdc->AddOption('width','10');
-
- $sql='SELECT COUNT(a.alertid) as failed '.
- ' FROM alerts a '.
- ' WHERE a.eventid='.$row_event['eventid'].
- ' AND a.status='.ALERT_STATUS_FAILED;
-
- $alerts=DBfetch(DBselect($sql));
-
- $alert_cnt = new CSpan($alerts['failed'],'red');
- if($alerts['failed']){
- $hint=get_actions_hint_by_eventid($row_event['eventid'],ALERT_STATUS_FAILED);
- $alert_cnt->SetHint($hint);
- }
-
- $tdr = new CCol(($alerts['failed'])?$alert_cnt:SPACE);
- $tdr->AddOption('width','10');
-
- $actions->AddRow(array($tdl,$tdc,$tdr));
- }
+ $actions = get_event_actions_stat_hints($row_event['eventid']);
//--------
$clock = new CLink(zbx_date2str(S_DATE_FORMAT_YMDHMS,$row_event['clock']),"events.php?triggerid=".$row["triggerid"].'&source=0',"action");
$clock->SetTarget('_blank');
diff --git a/frontends/php/include/events.inc.php b/frontends/php/include/events.inc.php
index c0f1119a..ce85022b 100644
--- a/frontends/php/include/events.inc.php
+++ b/frontends/php/include/events.inc.php
@@ -380,65 +380,8 @@ function make_small_eventlist($triggerid,&$trigger_data){
);
}
-//actions
- $actions= new CTable(' - ');
-
- $sql='SELECT COUNT(a.alertid) as cnt '.
- ' FROM alerts a '.
- ' WHERE a.eventid='.$row['eventid'].
- ' AND a.alerttype in ('.ALERT_TYPE_MESSAGE.')';
-
- $alerts=DBfetch(DBselect($sql));
-
- if(isset($alerts['cnt']) && ($alerts['cnt'] > 0)){
- $sql='SELECT COUNT(a.alertid) as sent '.
- ' FROM alerts a '.
- ' WHERE a.eventid='.$row['eventid'].
- ' AND a.alerttype in ('.ALERT_TYPE_MESSAGE.')'.
- ' AND a.status='.ALERT_STATUS_SENT;
- $alerts=DBfetch(DBselect($sql));
-
- $alert_cnt = new CSpan($alerts['sent'],'green');
- if($alerts['sent']){
- $hint=get_actions_hint_by_eventid($row['eventid'],ALERT_STATUS_SENT);
- $alert_cnt->SetHint($hint);
- }
- $tdl = new CCol(($alerts['sent'])?$alert_cnt:SPACE);
- $tdl->AddOption('width','10');
-
- $sql='SELECT COUNT(a.alertid) as inprogress '.
- ' FROM alerts a '.
- ' WHERE a.eventid='.$row['eventid'].
- ' AND a.alerttype in ('.ALERT_TYPE_MESSAGE.')'.
- ' AND a.status='.ALERT_STATUS_NOT_SENT;
- $alerts=DBfetch(DBselect($sql));
-
- $alert_cnt = new CSpan($alerts['inprogress'],'orange');
- if($alerts['inprogress']){
- $hint=get_actions_hint_by_eventid($row['eventid'],ALERT_STATUS_NOT_SENT);
- $alert_cnt->SetHint($hint);
- }
- $tdc = new CCol(($alerts['inprogress'])?$alert_cnt:SPACE);
- $tdc->AddOption('width','10');
-
- $sql='SELECT COUNT(a.alertid) as failed '.
- ' FROM alerts a '.
- ' WHERE a.eventid='.$row['eventid'].
- ' AND a.alerttype in ('.ALERT_TYPE_MESSAGE.')'.
- ' AND a.status='.ALERT_STATUS_FAILED;
- $alerts=DBfetch(DBselect($sql));
-
- $alert_cnt = new CSpan($alerts['failed'],'red');
- if($alerts['failed']){
- $hint=get_actions_hint_by_eventid($row['eventid'],ALERT_STATUS_FAILED);
- $alert_cnt->SetHint($hint);
- }
-
- $tdr = new CCol(($alerts['failed'])?$alert_cnt:SPACE);
- $tdr->AddOption('width','10');
-
- $actions->AddRow(array($tdl,$tdc,$tdr));
- }
+//actions
+ $actions= get_event_actions_stat_hints($row['eventid']);
//--------
$table->AddRow(array(