summaryrefslogtreecommitdiffstats
path: root/frontends/php/include
diff options
context:
space:
mode:
authorartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-06-04 10:09:06 +0000
committerartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-06-04 10:09:06 +0000
commit829274e52cfd773194248d78353592f430744207 (patch)
tree26d9457a99c3fbcbd1d61bd0f22017859ce17542 /frontends/php/include
parent1f9bbf71b31fee62ff72fbc544c2ac446e421ff5 (diff)
downloadzabbix-829274e52cfd773194248d78353592f430744207.tar.gz
zabbix-829274e52cfd773194248d78353592f430744207.tar.xz
zabbix-829274e52cfd773194248d78353592f430744207.zip
- [DEV-171] improvements to event details (Artem)
git-svn-id: svn://svn.zabbix.com/trunk@5750 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include')
-rw-r--r--frontends/php/include/actions.inc.php90
-rw-r--r--frontends/php/include/locales/en_gb.inc.php3
2 files changed, 86 insertions, 7 deletions
diff --git a/frontends/php/include/actions.inc.php b/frontends/php/include/actions.inc.php
index 3df9c8d3..091b3bc6 100644
--- a/frontends/php/include/actions.inc.php
+++ b/frontends/php/include/actions.inc.php
@@ -963,7 +963,7 @@ function get_history_of_actions($start,$num,$sql_cond=''){
}
// Author: Aly
-function get_actions_for_event($eventid){
+function get_action_msgs_for_event($eventid){
$available_triggers = get_accessible_triggers(PERM_READ_ONLY, PERM_RES_IDS_ARRAY);
$table = new CTableInfo(S_NO_ACTIONS_FOUND);
@@ -978,19 +978,23 @@ function get_actions_for_event($eventid){
S_ERROR
));
-
- $result=DBselect('SELECT DISTINCT a.alertid,a.clock,mt.description,a.sendto,a.subject,a.message,a.status,a.retries,a.error '.
+ $sql = 'SELECT DISTINCT a.alertid,a.clock,a.esc_step, mt.description,a.sendto,a.subject,a.message,a.status,a.retries,a.error '.
' FROM events e,alerts a'.
- ' left join media_type mt on mt.mediatypeid=a.mediatypeid'.
- ' WHERE a.eventid='.$eventid.' and alerttype in ('.ALERT_TYPE_MESSAGE.')'.
+ ' left join media_type mt on mt.mediatypeid=a.mediatypeid'.
+ ' WHERE a.eventid='.$eventid.
+ ' AND a.alerttype='.ALERT_TYPE_MESSAGE.
' AND e.eventid = a.eventid'.
' AND '.DBcondition('e.objectid',$available_triggers).
' AND '.DBin_node('a.alertid').
- order_by('a.clock,a.alertid,mt.description,a.sendto,a.status,a.retries'));
+ order_by('a.clock,a.alertid,mt.description,a.sendto,a.status,a.retries');
+ $result=DBselect($sql);
while($row=DBfetch($result)){
$time=date("Y.M.d H:i:s",$row["clock"]);
-
+ if($row['esc_step'] > 0){
+ $time = array(bold(S_STEP.': '),br(),$row["esc_step"],br(),br(),bold(S_TIME.': '),br(),$time);
+ }
+
if($row["status"] == ALERT_STATUS_SENT){
$status=new CSpan(S_SENT,"green");
$retries=new CSpan(SPACE,"green");
@@ -1034,6 +1038,76 @@ return $table;
}
// Author: Aly
+function get_action_cmds_for_event($eventid){
+ $available_triggers = get_accessible_triggers(PERM_READ_ONLY, PERM_RES_IDS_ARRAY);
+
+ $table = new CTableInfo(S_NO_ACTIONS_FOUND);
+ $table->SetHeader(array(
+ is_show_subnodes() ? make_sorting_link(S_NODES,'a.alertid') : null,
+ make_sorting_link(S_TIME,'a.clock'),
+ make_sorting_link(S_STATUS,'a.status'),
+ make_sorting_link(S_RETRIES_LEFT,'a.retries'),
+ S_COMMAND,
+ S_ERROR
+ ));
+
+ $sql = 'SELECT DISTINCT a.alertid,a.clock,a.esc_step,a.sendto,a.subject,a.message,a.status,a.retries,a.error '.
+ ' FROM events e,alerts a'.
+ ' WHERE a.eventid='.$eventid.
+ ' AND a.alerttype='.ALERT_TYPE_COMMAND.
+ ' AND e.eventid = a.eventid'.
+ ' AND '.DBcondition('e.objectid',$available_triggers).
+ ' AND '.DBin_node('a.alertid').
+ order_by('a.clock,a.alertid,a.sendto,a.status,a.retries');
+ $result=DBselect($sql);
+
+ while($row=DBfetch($result)){
+ $time=date("Y.M.d H:i:s",$row["clock"]);
+ if($row['esc_step'] > 0){
+ $time = array(bold(S_STEP.': '),br(),$row["esc_step"],br(),br(),bold(S_TIME.': '),br(),$time);
+ }
+
+ if($row["status"] == ALERT_STATUS_SENT){
+ $status=new CSpan(S_SENT,"green");
+ $retries=new CSpan(SPACE,"green");
+ }
+ else if($row["status"] == ALERT_STATUS_NOT_SENT){
+ $status=new CSpan(S_IN_PROGRESS,"orange");
+ $retries=new CSpan(ALERT_MAX_RETRIES - $row["retries"],"orange");
+ }
+ else{
+ $status=new CSpan(S_NOT_SENT,"red");
+ $retries=new CSpan(0,"red");
+ }
+ $sendto=$row["sendto"];
+
+ $message = array(bold(S_COMMAND.':'));
+ $msg = explode("\n",$row['message']);
+ foreach($msg as $m)
+ {
+ array_push($message, BR(), $m);
+ }
+
+ if(empty($row["error"])){
+ $error=new CSpan(SPACE,"off");
+ }
+ else{
+ $error=new CSpan($row["error"],"on");
+ }
+
+ $table->AddRow(array(
+ get_node_name_by_elid($row['alertid']),
+ new CCol($time, 'top'),
+ new CCol($status, 'top'),
+ new CCol($retries, 'top'),
+ new CCol($message, 'wraptext top'),
+ new CCol($error, 'wraptext top')));
+ }
+
+return $table;
+}
+
+// Author: Aly
function get_actions_hint_by_eventid($eventid,$status=NULL){
$available_triggers = get_accessible_triggers(PERM_READ_ONLY, PERM_RES_IDS_ARRAY);
@@ -1073,6 +1147,8 @@ function get_actions_hint_by_eventid($eventid,$status=NULL){
$retries=new CSpan(0,"red");
}
+ $row['description'] = empty($row['description'])?'-':$row['description'];
+
$tab_hint->AddRow(array(
get_node_name_by_elid($row['alertid']),
$row['description'],
diff --git a/frontends/php/include/locales/en_gb.inc.php b/frontends/php/include/locales/en_gb.inc.php
index 48434392..df735d25 100644
--- a/frontends/php/include/locales/en_gb.inc.php
+++ b/frontends/php/include/locales/en_gb.inc.php
@@ -277,6 +277,8 @@
// actions.php
'S_ACTIONS'=> 'Actions',
'S_ACTIONS_BIG'=> 'ACTIONS',
+ 'S_MESSAGE_ACTIONS'=> 'Message actions',
+ 'S_COMMAND_ACTIONS'=> 'Command actions',
'S_ACTION_ADDED'=> 'Action added',
'S_CANNOT_ADD_ACTION'=> 'Cannot add action',
'S_ACTION_UPDATED'=> 'Action updated',
@@ -534,6 +536,7 @@
'S_MINUS_OTHER_MINUS'=> '- other -',
'S_DESCRIPTION_LARGE'=> 'DESCRIPTION',
'S_DESCRIPTION_SMALL'=> 'Description',
+ 'S_NO_DESCRIPTION'=> 'No description',
'S_GRAPH'=> 'Graph',
'S_TREND'=> 'Trend',
'S_COMPARE'=> 'Compare',