diff options
| author | artem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-03-20 14:04:01 +0000 |
|---|---|---|
| committer | artem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-03-20 14:04:01 +0000 |
| commit | dac53ecd0f9665e64f6e0f523de62823bf0a2090 (patch) | |
| tree | 4f66ab367ad1df6bf615aa1161e64bc0355416eb /frontends/php/include | |
| parent | fdf2f4adc3931e50e59c87517613d6fac71b8d4c (diff) | |
| download | zabbix-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.php | 71 | ||||
| -rw-r--r-- | frontends/php/include/actions.inc.php | 82 | ||||
| -rw-r--r-- | frontends/php/include/blocks.inc.php | 8 | ||||
| -rw-r--r-- | frontends/php/include/defines.inc.php | 1 | ||||
| -rw-r--r-- | frontends/php/include/events.inc.php | 150 | ||||
| -rw-r--r-- | frontends/php/include/export.inc.php | 38 | ||||
| -rw-r--r-- | frontends/php/include/forms.inc.php | 31 | ||||
| -rw-r--r-- | frontends/php/include/import.inc.php | 39 | ||||
| -rw-r--r-- | frontends/php/include/locales/en_gb.inc.php | 1 | ||||
| -rw-r--r-- | frontends/php/include/triggers.inc.php | 20 |
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; + } + ?> |
