summaryrefslogtreecommitdiffstats
path: root/frontends/php/include
diff options
context:
space:
mode:
authorartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-03-20 14:04:01 +0000
committerartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-03-20 14:04:01 +0000
commitdac53ecd0f9665e64f6e0f523de62823bf0a2090 (patch)
tree4f66ab367ad1df6bf615aa1161e64bc0355416eb /frontends/php/include
parentfdf2f4adc3931e50e59c87517613d6fac71b8d4c (diff)
downloadzabbix-dac53ecd0f9665e64f6e0f523de62823bf0a2090.tar.gz
zabbix-dac53ecd0f9665e64f6e0f523de62823bf0a2090.tar.xz
zabbix-dac53ecd0f9665e64f6e0f523de62823bf0a2090.zip
- [DEV-122] improved "Events" screen, added "Event Details" screen (Artem)
- applied patch by scricca: added Host-profiles to export/import (Artem) git-svn-id: svn://svn.zabbix.com/trunk@5508 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include')
-rw-r--r--frontends/php/include/acknow.inc.php71
-rw-r--r--frontends/php/include/actions.inc.php82
-rw-r--r--frontends/php/include/blocks.inc.php8
-rw-r--r--frontends/php/include/defines.inc.php1
-rw-r--r--frontends/php/include/events.inc.php150
-rw-r--r--frontends/php/include/export.inc.php38
-rw-r--r--frontends/php/include/forms.inc.php31
-rw-r--r--frontends/php/include/import.inc.php39
-rw-r--r--frontends/php/include/locales/en_gb.inc.php1
-rw-r--r--frontends/php/include/triggers.inc.php20
10 files changed, 357 insertions, 84 deletions
diff --git a/frontends/php/include/acknow.inc.php b/frontends/php/include/acknow.inc.php
index 23111005..4e84ade5 100644
--- a/frontends/php/include/acknow.inc.php
+++ b/frontends/php/include/acknow.inc.php
@@ -19,39 +19,56 @@
**/
?>
<?php
- function get_last_event_by_triggerid($triggerid)
- {
- $event_data = DBfetch(DBselect('select * from events where objectid='.$triggerid.
- ' and object='.EVENT_OBJECT_TRIGGER.' order by objectid desc, object desc, eventid desc', 1));
- if(!$event_data)
- return FALSE;
- return $event_data;
- }
+function get_last_event_by_triggerid($triggerid){
+ $event_data = DBfetch(DBselect('SELECT * '.
+ ' FROM events '.
+ ' WHERE objectid='.$triggerid.
+ ' and object='.EVENT_OBJECT_TRIGGER.
+ ' ORDER BY objectid desc, object desc, eventid desc', 1));
+ if(!$event_data)
+ return FALSE;
+return $event_data;
+}
- function &get_acknowledges_by_eventid($eventid)
- {
- return DBselect("select * from acknowledges where eventid=$eventid");
- }
+function get_acknowledges_by_eventid($eventid){
+ return DBselect("select * from acknowledges where eventid=$eventid");
+}
- function add_acknowledge_coment($eventid, $userid, $message)
- {
- $result = set_event_acnowledged($eventid);
- if(!$result)
- return $result;
+function add_acknowledge_coment($eventid, $userid, $message)
+{
+ $result = set_event_acnowledged($eventid);
+ if(!$result)
+ return $result;
- $acknowledgeid = get_dbid("acknowledges","acknowledgeid");
+ $acknowledgeid = get_dbid("acknowledges","acknowledgeid");
- $result = DBexecute("insert into acknowledges (acknowledgeid,userid,eventid,clock,message)".
- " values ($acknowledgeid,$userid,$eventid,".time().",".zbx_dbstr($message).")");
+ $result = DBexecute("insert into acknowledges (acknowledgeid,userid,eventid,clock,message)".
+ " values ($acknowledgeid,$userid,$eventid,".time().",".zbx_dbstr($message).")");
- if(!$result)
- return $result;
+ if(!$result)
+ return $result;
- return $acknowledgeid;
- }
+ return $acknowledgeid;
+}
+
+function set_event_acnowledged($eventid){
+ return DBexecute("update events set acknowledged=1 where eventid=$eventid");
+}
+
+function make_acktab_by_eventid($eventid){
+ $table = new CTableInfo();
+ $table->SetHeader(array(S_TIME,S_USER, S_COMMENTS));
- function set_event_acnowledged($eventid)
- {
- return DBexecute("update events set acknowledged=1 where eventid=$eventid");
+ $acks = get_acknowledges_by_eventid($eventid);
+
+ while($ack = DBfetch($acks)){
+ $user = get_user_by_userid($ack['userid']);
+ $table->AddRow(array(
+ date('d-m-Y h:i:s A',$ack['clock']),
+ $user['alias'],
+ new CCol(nl2br($ack['message']),'wraptext')
+ ));
}
+return $table;
+}
?>
diff --git a/frontends/php/include/actions.inc.php b/frontends/php/include/actions.inc.php
index a2cf7435..270e5deb 100644
--- a/frontends/php/include/actions.inc.php
+++ b/frontends/php/include/actions.inc.php
@@ -133,6 +133,7 @@ include_once 'include/discovery.inc.php';
return $result;
}
+
# Add Action's condition
function add_action_condition($actionid, $condition)
@@ -778,9 +779,8 @@ include_once 'include/discovery.inc.php';
}
return TRUE;
}
-
- function get_history_of_actions($start,$num)
- {
+
+ function get_history_of_actions($start,$num){
global $USER_DETAILS;
$denyed_hosts = get_accessible_hosts_by_user($USER_DETAILS, PERM_READ_ONLY, PERM_MODE_LT);
@@ -864,7 +864,83 @@ include_once 'include/discovery.inc.php';
return $table;
}
+
+// Author: Aly
+function get_actions_for_event($eventid){
+ global $USER_DETAILS;
+
+ $denyed_hosts = get_accessible_hosts_by_user($USER_DETAILS, PERM_READ_ONLY, PERM_MODE_LT);
+
+ $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_TYPE,'mt.description'),
+ make_sorting_link(S_STATUS,'a.status'),
+ make_sorting_link(S_RETRIES_LEFT,'a.retries'),
+ make_sorting_link(S_RECIPIENTS,'a.sendto'),
+ S_MESSAGE,
+ S_ERROR
+ ));
+
+
+ $result=DBselect('SELECT DISTINCT a.alertid,a.clock,mt.description,a.sendto,a.subject,a.message,a.status,a.retries,a.error '.
+ ' FROM alerts a,media_type mt,functions f,items i,events e '.
+ ' WHERE mt.mediatypeid=a.mediatypeid '.
+ ' AND a.eventid='.$eventid.
+ ' AND e.eventid = a.eventid'.
+ ' AND e.objectid=f.triggerid '.
+ ' AND f.itemid=i.itemid '.
+ ' AND i.hostid not in ('.$denyed_hosts.')'.
+ ' AND '.DBin_node('a.alertid').
+ order_by('a.clock,a.alertid,mt.description,a.sendto,a.status,a.retries'));
+
+ while(($row=DBfetch($result))&&($col<$num)){
+ $time=date("Y.M.d H:i:s",$row["clock"]);
+
+ 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"];
+
+ $pre = new CTag('pre','yes');
+ $pre->AddItem(array(bold(S_SUBJECT.': '),$row["subject"]));
+ $subject = empty($row["subject"]) ? '' : $pre;
+
+ $pre = new CTag('pre','yes');
+ $pre->AddItem($row["message"]);
+ $message = array($subject, $pre);
+
+ if($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($row["description"], 'top'),
+ new CCol($status, 'top'),
+ new CCol($retries, 'top'),
+ new CCol($sendto, 'top'),
+ new CCol($message, 'top'),
+ new CCol($error, 'top')));
+ }
+
+return $table;
+}
+// Author: Aly
function get_actions_hint_by_eventid($eventid,$status=NULL){
global $USER_DETAILS;
$available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY, null, null, get_current_nodeid());
diff --git a/frontends/php/include/blocks.inc.php b/frontends/php/include/blocks.inc.php
index 4316067f..20b733f3 100644
--- a/frontends/php/include/blocks.inc.php
+++ b/frontends/php/include/blocks.inc.php
@@ -288,7 +288,7 @@ function make_system_summary($available_hosts=false){
//actions
$actions= new CTable(' - ');
- $sql='SELECT COUNT(a.alertid) as all'.
+ $sql='SELECT COUNT(a.alertid) as cnt'.
' FROM alerts a,functions f,items i,events e'.
' WHERE a.eventid='.$row_inf_event['eventid'].
' AND e.eventid = a.eventid'.
@@ -298,7 +298,7 @@ function make_system_summary($available_hosts=false){
$alerts=DBfetch(DBselect($sql));
- if(isset($alerts['all']) && ($alerts['all'] > 0)){
+ if(isset($alerts['cnt']) && ($alerts['cnt'] > 0)){
$mixed = 0;
// Sent
$sql='SELECT COUNT(a.alertid) as sent '.
@@ -581,7 +581,7 @@ function make_latest_issues($available_hosts=false){
//actions
$actions= new CTable(' - ');
- $sql='SELECT COUNT(a.alertid) as all '.
+ $sql='SELECT COUNT(a.alertid) as cnt '.
' FROM alerts a,functions f,items i,events e'.
' WHERE a.eventid='.$row_event['eventid'].
' AND e.eventid = a.eventid'.
@@ -591,7 +591,7 @@ function make_latest_issues($available_hosts=false){
$alerts=DBfetch(DBselect($sql));
- if(isset($alerts['all']) && ($alerts['all'] > 0)){
+ if(isset($alerts['cnt']) && ($alerts['cnt'] > 0)){
$sql='SELECT COUNT(a.alertid) as sent '.
' FROM alerts a,functions f,items i,events e'.
' WHERE a.eventid='.$row_event['eventid'].
diff --git a/frontends/php/include/defines.inc.php b/frontends/php/include/defines.inc.php
index eb8b0a16..7c5fdd7c 100644
--- a/frontends/php/include/defines.inc.php
+++ b/frontends/php/include/defines.inc.php
@@ -22,6 +22,7 @@
define('XML_TAG_ZABBIX_EXPORT', 'zabbix_export');
define('XML_TAG_HOSTS', 'hosts');
define('XML_TAG_HOST', 'host');
+ define('XML_TAG_HOSTPROFILE', 'host_profile');
define('XML_TAG_GROUPS', 'groups');
define('XML_TAG_GROUP', 'group');
define('XML_TAG_APPLICATIONS', 'applications');
diff --git a/frontends/php/include/events.inc.php b/frontends/php/include/events.inc.php
index 211c44d8..851a3499 100644
--- a/frontends/php/include/events.inc.php
+++ b/frontends/php/include/events.inc.php
@@ -26,13 +26,23 @@
default: return S_UNKNOWN;
}
}
+
+ function get_tr_event_by_eventid($eventid){
+ $result = DBfetch(DBselect('SELECT e.*,t.triggerid, t.description,t.priority,t.status,t.type '.
+ ' FROM events e,triggers t '.
+ ' WHERE e.eventid='.$eventid.
+ ' AND e.object='.EVENT_OBJECT_TRIGGER.
+ ' AND t.triggerid=e.objectid '
+ ));
+ return $result;
+ }
/* function:
* event_initial_time
*
* description:
- * returs 'true' if event is initial, otherwise false;
+ * returns 'true' if event is initial, otherwise false;
*
* author: Aly
*/
@@ -264,50 +274,67 @@ function get_history_of_discovery_events($start,$num){
return $table;
}
-function make_event_details($triggerid,&$trigger_data){
+// author: Aly
+function make_event_details($eventid){
+ $event = get_tr_event_by_eventid($eventid);
+
$table = new CTableInfo();
- if(is_show_subnodes()){
- $table->AddRow(array(S_NODE, get_node_name_by_elid($triggerid)));
+ $table->AddRow(array(S_EVENT, expand_trigger_description($event['triggerid'])));
+ $table->AddRow(array(S_TIME, date('Y.M.d H:i:s',$event['clock'])));
+
+ $duration = zbx_date2age($event['clock']);
+ if($next_event = get_next_event($event,1)){
+ $duration = zbx_date2age($event['clock'],$next_event['clock']);
+ }
+
+ if($event["value"] == TRIGGER_VALUE_FALSE){
+ $value=new CCol(S_FALSE_BIG,"off");
+ }
+ elseif($event["value"] == TRIGGER_VALUE_TRUE){
+ $value=new CCol(S_TRUE_BIG,"on");
+ }
+ else{
+ $value=new CCol(S_UNKNOWN_BIG,"unknown");
}
- $table->AddRow(array(S_HOST, $trigger_data['host']));
- $table->AddRow(array(S_TRIGGER, $trigger_data['exp_desc']));
- $table->AddRow(array(S_SEVERITY, new CSpan(get_severity_description($trigger_data["priority"]), get_severity_style($trigger_data["priority"]))));
- $table->AddRow(array(S_EXPRESSION, $trigger_data['exp_expr']));
+
+ $ack = '-';
+ if($event["value"] == 1 && $event["acknowledged"] == 1){
+ $db_acks = get_acknowledges_by_eventid($event["eventid"]);
+ $rows=0;
+ while($a=DBfetch($db_acks)) $rows++;
+
+ $ack=array(
+ new CLink(new CSpan(S_YES,'off'),'acknow.php?eventid='.$event['eventid'],'action'),
+ SPACE.'('.$rows.')'
+ );
+ }
+
+ $table->AddRow(array(S_STATUS, $value));
+ $table->AddRow(array(S_DURATION, $duration));
+ $table->AddRow(array(S_ACKNOWLEDGED, $ack));
return $table;
}
-function make_small_eventlist($triggerid,&$trigger_data,$show_unknown=0){
- $sql_cond = '';
- if(0 == $show_unknown){
- $sql_cond = ' AND value<>2 ';
- }
+function make_small_eventlist($triggerid,&$trigger_data){
$table = new CTableInfo();
- $table->SetHeader(array(S_TIME,S_STATUS,S_ACK,S_DURATION));
+ $table->SetHeader(array(S_TIME,S_STATUS,S_DURATION, S_AGE, S_ACK, S_ACTIONS));
$sql = 'SELECT * '.
' FROM events '.
' WHERE objectid='.$triggerid.
' AND object='.EVENT_OBJECT_TRIGGER.
- $sql_cond.
' ORDER BY clock DESC';
- $result = DBselect($sql,10*($_REQUEST['start']+PAGE_SIZE));
+ $result = DBselect($sql,20);
$rows = array();
$count = 0;
- $col=0;
- $skip = $_REQUEST['start'];
- while(($col<PAGE_SIZE) && ($row=DBfetch($result))){
- if($skip > 0){
- if((0 == $show_unknown) && ($row['value'] == TRIGGER_VALUE_UNKNOWN)) continue;
- $skip--;
- continue;
- }
+ while($row=DBfetch($result)){
if(!empty($rows) && ($rows[$count]['value'] != $row['value'])){
$count++;
@@ -320,7 +347,6 @@ function make_small_eventlist($triggerid,&$trigger_data,$show_unknown=0){
$count++;
}
$rows[$count] = $row;
- $col++;
}
$clock=time();
@@ -340,10 +366,11 @@ function make_small_eventlist($triggerid,&$trigger_data,$show_unknown=0){
else{
$value=new CCol(S_UNKNOWN_BIG,"unknown");
}
+
- $ack = "-";
- if($row["value"] == 1 && $row["acknowledged"] == 1){
- $db_acks = get_acknowledges_by_eventid($row["eventid"]);
+ $ack = '-';
+ if(1 == $row['acknowledged']){
+ $db_acks = get_acknowledges_by_eventid($row['eventid']);
$rows=0;
while($a=DBfetch($db_acks)) $rows++;
@@ -352,12 +379,75 @@ function make_small_eventlist($triggerid,&$trigger_data,$show_unknown=0){
SPACE.'('.$rows.')'
);
}
+
+//actions
+ $actions= new CTable(' - ');
+
+ $sql='SELECT COUNT(a.alertid) as cnt '.
+ ' FROM alerts a '.
+ ' WHERE a.eventid='.$row['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['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['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.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,functions f,items i,events e'.
+ ' WHERE a.eventid='.$row['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['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));
+ }
+//--------
$table->AddRow(array(
- date('Y.M.d H:i:s',$row['clock']),
+ new CLink(
+ date('Y.M.d H:i:s',$row['clock']),
+ "tr_events.php?triggerid=".$trigger_data['triggerid'].'&eventid='.$row['eventid'],
+ "action"
+ ),
$value,
+ $duration,
+ zbx_date2age($row['clock']),
$ack,
- $duration
+ $actions
));
}
return $table;
diff --git a/frontends/php/include/export.inc.php b/frontends/php/include/export.inc.php
index 66663fac..a86f4a5b 100644
--- a/frontends/php/include/export.inc.php
+++ b/frontends/php/include/export.inc.php
@@ -34,6 +34,22 @@
'port' => '',
'status' => '')
),
+// based on mod by scricca
+ XML_TAG_HOSTPROFILE => array(
+ 'attribures' => array(),
+ 'elements' => array(
+ 'devicetype' => '',
+ 'name' => '',
+ 'os' => '',
+ 'serialno' => '',
+ 'tag' => '',
+ 'macaddress' => '',
+ 'hardware' => '',
+ 'software' => '',
+ 'contact' => '',
+ 'location' => '',
+ 'notes' => '')
+ ),
XML_TAG_ITEM => array(
'attribures' => array(
'type' => '',
@@ -306,7 +322,27 @@
if(empty($xml_name)) $xml_name = $db_name;
zbx_xmlwriter_write_element ($memory, $xml_name, $data[$db_name]);
}
-
+
+// based on mod by scricca
+ $data = DBfetch(DBselect('SELECT hp.* FROM hosts_profiles hp WHERE hp.hostid='.$hostid));
+ if(!$data) return false;
+
+ zbx_xmlwriter_start_element ($memory,XML_TAG_HOSTPROFILE);
+
+ $map =& $ZBX_EXPORT_MAP[XML_TAG_HOSTPROFILE];
+
+ foreach($map['attribures'] as $db_name => $xml_name){
+ if(empty($xml_name)) $xml_name = $db_name;
+ zbx_xmlwriter_write_attribute($memory, $xml_name, $data[$db_name]);
+ }
+ foreach($map['elements'] as $db_name => $xml_name){
+ if(empty($data[$db_name])) continue;
+ if(empty($xml_name)) $xml_name = $db_name;
+ zbx_xmlwriter_write_element($memory, $xml_name, $data[$db_name]);
+ }
+ zbx_xmlwriter_end_element($memory);
+//--
+
if($db_groups = DBselect('select g.name from groups g, hosts_groups hg'.
' where g.groupid=hg.groupid and hg.hostid='.$hostid))
{
diff --git a/frontends/php/include/forms.inc.php b/frontends/php/include/forms.inc.php
index ada9a9ac..11d17553 100644
--- a/frontends/php/include/forms.inc.php
+++ b/frontends/php/include/forms.inc.php
@@ -639,17 +639,19 @@
$title = S_ACKNOWLEDGE_ALARM_BY;
$btn_txt2 = S_ACKNOWLEDGE.' '.S_AND_SYMB.' '.S_RETURN;
}
- else if(!DBfetch(get_acknowledges_by_eventid(get_request('eventid',0))))
- {
- $title = S_ACKNOWLEDGE_ALARM_BY;
- $btn_txt = S_ACKNOWLEDGE;
- $btn_txt2 = S_ACKNOWLEDGE.' '.S_AND_SYMB.' '.S_RETURN;
- }
- else
- {
- $title = S_ADD_COMMENT_BY;
- $btn_txt = S_SAVE;
- $btn_txt2 = S_SAVE.' '.S_AND_SYMB.' '.S_RETURN;
+ else{
+ $temp=get_acknowledges_by_eventid(get_request('eventid',0));
+
+ if(!DBfetch($temp)){
+ $title = S_ACKNOWLEDGE_ALARM_BY;
+ $btn_txt = S_ACKNOWLEDGE;
+ $btn_txt2 = S_ACKNOWLEDGE.' '.S_AND_SYMB.' '.S_RETURN;
+ }
+ else{
+ $title = S_ADD_COMMENT_BY;
+ $btn_txt = S_SAVE;
+ $btn_txt2 = S_SAVE.' '.S_AND_SYMB.' '.S_RETURN;
+ }
}
$frmMsg= new CFormTable($title." \"".$USER_DETAILS["alias"]."\"");
@@ -2255,7 +2257,7 @@
function insert_login_form(){
// author: Aly
// description:
-// konqueror bug #138024; adding usless param(login=1) to the form's action path to avoid bug!!
+// konqueror bug #138024; adding useless param(login=1) to the form's action path to avoid bug!!
$frmLogin = new CFormTable('Login','index.php?login=1',"post","multipart/form-data");
$frmLogin->SetHelp('web.index.login');
@@ -2371,11 +2373,12 @@
$btnSelect, BR(),
new CButton("add_dependence",S_ADD)
),'new');
-
+ /* end new dependence */
+
$type_select = new CComboBox('type');
$type_select->Additem(TRIGGER_MULT_EVENT_DISABLED,S_NORMAL,(($type == TRIGGER_MULT_EVENT_ENABLED)?'no':'yes'));
$type_select->Additem(TRIGGER_MULT_EVENT_ENABLED,S_NORMAL.SPACE.'+'.SPACE.S_MULTIPLE_TRUE_EVENTS,(($type == TRIGGER_MULT_EVENT_ENABLED)?'yes':'no'));
- /* end new dependence */
+
$frmTrig->AddRow(S_EVENT_GENERATION,$type_select);
$cmbPrior = new CComboBox("priority",$priority);
diff --git a/frontends/php/include/import.inc.php b/frontends/php/include/import.inc.php
index 2fa6a977..1380e600 100644
--- a/frontends/php/include/import.inc.php
+++ b/frontends/php/include/import.inc.php
@@ -129,8 +129,8 @@
10050,
HOST_STATUS_TEMPLATE,
0, /* useip */
- "", /* dns */
- "", /* ip */
+ '', /* dns */
+ '', /* ip */
0, /* proxy_hostid */
array(),
null,
@@ -143,6 +143,7 @@
$this->sub_node = null;
array_push($this->main_node, $name);
break; // case
+ case XML_TAG_HOSTPROFILE:
case XML_TAG_TEMPLATE:
case XML_TAG_ITEM:
case XML_TAG_TRIGGER:
@@ -192,8 +193,8 @@
if(!isset($data['port'])) $data['port'] = 10050;
if(!isset($data['status'])) $data['status'] = 0;
if(!isset($data['useip'])) $data['useip'] = 0;
- if(!isset($data['dns'])) $data['dns'] = "";
- if(!isset($data['ip'])) $data['ip'] = "";
+ if(!isset($data['dns'])) $data['dns'] = '';
+ if(!isset($data['ip'])) $data['ip'] = '';
if(update_host($data['hostid'], $data['name'], $data['port'], $data['status'],
$data['useip'], $data['dns'], $data['ip'], 0, $data['templates'], null, $data['groups']))
@@ -202,6 +203,34 @@
}
break; // case
+// based on mod by scricca
+ case XML_TAG_HOSTPROFILE:
+ if(!isset($this->data[XML_TAG_HOST]['hostid']) || !$this->data[XML_TAG_HOST]['hostid'])
+ break; //case
+
+ if(!isset($data['devicetype'])) $data['devicetype'] = '';
+ if(!isset($data['name'])) $data['name'] = '';
+ if(!isset($data['os'])) $data['os'] = '';
+ if(!isset($data['serialno'])) $data['serialno'] = '';
+ if(!isset($data['tag'])) $data['tag'] = '';
+ if(!isset($data['macaddress'])) $data['macaddress'] = '';
+ if(!isset($data['hardware'])) $data['hardware'] = '';
+ if(!isset($data['software'])) $data['software'] = '';
+ if(!isset($data['contact'])) $data['contact'] = '';
+ if(!isset($data['location'])) $data['location'] = '';
+ if(!isset($data['notes'])) $data['notes'] = '';
+
+ delete_host_profile($this->data[XML_TAG_HOST]['hostid']);
+
+ if(add_host_profile($this->data[XML_TAG_HOST]['hostid'], $data['devicetype'], $data['name'], $data['os'],
+ $data['serialno'], $data['tag'], $data['macaddress'], $data['hardware'], $data['software'],
+ $data['contact'], $data['location'], $data['notes']))
+ {
+ info('Host Profile ['.$this->data[XML_TAG_HOST]['name'].'] updated');
+ }
+
+ break; // case
+//---
case XML_TAG_GROUP:
if(!isset($this->data[XML_TAG_HOST]['hostid']) || !$this->data[XML_TAG_HOST]['hostid'])
break; //case
@@ -279,7 +308,7 @@
break; // case
}
- if(!isset($data['description'])) $data['description'] = "";
+ if(!isset($data['description'])) $data['description'] = '';
if(!isset($data['delay'])) $data['delay'] = 30;
if(!isset($data['history'])) $data['history'] = 90;
if(!isset($data['trends'])) $data['trends'] = 365;
diff --git a/frontends/php/include/locales/en_gb.inc.php b/frontends/php/include/locales/en_gb.inc.php
index d1be5d65..ece4c13c 100644
--- a/frontends/php/include/locales/en_gb.inc.php
+++ b/frontends/php/include/locales/en_gb.inc.php
@@ -839,6 +839,7 @@
'S_PARAMS'=> 'Additional parameters',
// events.php
+ 'S_EVENT'=> 'Event',
'S_EVENT_DETAILS'=> 'Event details',
'S_LIST'=> 'List',
'S_LATEST_EVENTS'=> 'Latest events',
diff --git a/frontends/php/include/triggers.inc.php b/frontends/php/include/triggers.inc.php
index 61b421e1..8f3766d4 100644
--- a/frontends/php/include/triggers.inc.php
+++ b/frontends/php/include/triggers.inc.php
@@ -2261,4 +2261,24 @@
}
return $row;
}
+
+
+// author: Aly
+ function make_trigger_details($triggerid,&$trigger_data){
+ $table = new CTableInfo();
+
+ if(is_show_subnodes()){
+ $table->AddRow(array(S_NODE, get_node_name_by_elid($triggerid)));
+ }
+
+ $table->AddRow(array(S_HOST, $trigger_data['host']));
+ $table->AddRow(array(S_TRIGGER, $trigger_data['exp_desc']));
+ $table->AddRow(array(S_SEVERITY, new CCol(get_severity_description($trigger_data["priority"]), get_severity_style($trigger_data["priority"]))));
+ $table->AddRow(array(S_EXPRESSION, $trigger_data['exp_expr']));
+ $table->AddRow(array(S_EVENT_GENERATION, S_NORMAL.((TRIGGER_MULT_EVENT_ENABLED==$trigger_data['type'])?SPACE.'+'.SPACE.S_MULTIPLE_TRUE_EVENTS:'')));
+ $table->AddRow(array(S_DISABLED, ((TRIGGER_STATUS_ENABLED==$trigger_data['status'])?new CCol(S_NO,'off'):new CCol(S_YES,'on')) ));
+
+ return $table;
+ }
+
?>