From 97583f76e5851df0c94ac1cb4d0f64ddf46a72e7 Mon Sep 17 00:00:00 2001 From: osmiy Date: Thu, 22 Mar 2007 08:53:23 +0000 Subject: - added viwer of dicovery events (Eugene) git-svn-id: svn://svn.zabbix.com/trunk@3907 97f52cf1-0a1b-0410-bd0e-c28be96e8082 --- frontends/php/events.php | 111 ++++-- frontends/php/include/defines.inc.php | 538 ++++++++++++++-------------- frontends/php/include/discovery.inc.php | 18 + frontends/php/include/events.inc.php | 73 +++- frontends/php/include/locales/en_gb.inc.php | 1 + frontends/php/include/screens.inc.php | 2 +- 6 files changed, 434 insertions(+), 309 deletions(-) (limited to 'frontends/php') diff --git a/frontends/php/events.php b/frontends/php/events.php index 1029f80a..61cfe03c 100644 --- a/frontends/php/events.php +++ b/frontends/php/events.php @@ -22,6 +22,7 @@ require_once "include/config.inc.php"; require_once "include/hosts.inc.php"; require_once "include/events.inc.php"; + require_once "include/discovery.inc.php"; $page["title"] = "S_LATEST_EVENTS"; $page["file"] = "events.php"; @@ -32,9 +33,16 @@ include_once "include/page_header.php"; ?> array(T_ZBX_INT, O_OPT, P_SYS, IN($allowed_sources), NULL), "groupid"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL), "hostid"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL), "start"=> array(T_ZBX_INT, O_OPT, P_SYS, BETWEEN(0,65535)."({}%".PAGE_SIZE."==0)", NULL), @@ -42,9 +50,14 @@ include_once "include/page_header.php"; "prev"=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL) ); + $_REQUEST['source'] = get_request('source', get_profile('web.events.source', 0)); + check_fields($fields); - validate_group_with_host(PERM_READ_ONLY, array("allow_all_hosts","monitored_hosts","with_items")); + $source = get_request('source', EVENT_SOURCE_TRIGGERS); + + update_profile('web.events.source',$source); + ?> AddItem(0,S_ALL_SMALL); - - $availiable_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_LIST, null, null, $ZBX_CURNODEID); - - $result=DBselect("select distinct g.groupid,g.name from groups g, hosts_groups hg, hosts h, items i ". - " where h.hostid in (".$availiable_hosts.") ". - " and hg.groupid=g.groupid and h.status=".HOST_STATUS_MONITORED. - " and h.hostid=i.hostid and hg.hostid=h.hostid ". - " order by g.name"); - while($row=DBfetch($result)) + $r_form = new CForm(); + if($allow_discovery) { - $cmbGroup->AddItem($row["groupid"],$row["name"]); + $cmbSource = new CComboBox('source', $source, 'submit()'); + $cmbSource->AddItem(EVENT_SOURCE_TRIGGERS, S_TRIGGER); + $cmbSource->AddItem(EVENT_SOURCE_DISCOVERY, S_DISCOVERY); + $r_form->AddItem(array(S_SOURCE, SPACE, $cmbSource)); } - $r_form->AddItem(array(S_GROUP.SPACE,$cmbGroup)); - - $cmbHosts->AddItem(0,S_ALL_SMALL); - if($_REQUEST["groupid"] > 0) + show_table_header(S_HISTORY_OF_EVENTS_BIG,$r_form); + echo BR; + + $r_form = new CForm(); + + if($source == EVENT_SOURCE_DISCOVERY) { - $sql="select h.hostid,h.host from hosts h,items i,hosts_groups hg where h.status=".HOST_STATUS_MONITORED. - " and h.hostid=i.hostid and hg.groupid=".$_REQUEST["groupid"]." and hg.hostid=h.hostid". - " and h.hostid in (".$availiable_hosts.") ". - " group by h.hostid,h.host order by h.host"; + $table = get_history_of_discovery_events($_REQUEST["start"], PAGE_SIZE); } else { - $sql="select h.hostid,h.host from hosts h,items i where h.status=".HOST_STATUS_MONITORED. - " and h.hostid=i.hostid". - " and h.hostid in (".$availiable_hosts.") ". - " group by h.hostid,h.host order by h.host"; - } - $result=DBselect($sql); - while($row=DBfetch($result)) - { - $cmbHosts->AddItem($row["hostid"],$row["host"]); - } + validate_group_with_host(PERM_READ_ONLY, array("allow_all_hosts","monitored_hosts","with_items")); - $r_form->AddItem(array(SPACE.S_HOST.SPACE,$cmbHosts)); + $table = get_history_of_triggers_events($_REQUEST["start"], PAGE_SIZE, $_REQUEST["groupid"],$_REQUEST["hostid"]); + + $cmbGroup = new CComboBox("groupid",$_REQUEST["groupid"],"submit()"); + $cmbHosts = new CComboBox("hostid",$_REQUEST["hostid"],"submit()"); + + $cmbGroup->AddItem(0,S_ALL_SMALL); + + $availiable_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_LIST, null, null, $ZBX_CURNODEID); + + $result=DBselect("select distinct g.groupid,g.name from groups g, hosts_groups hg, hosts h, items i ". + " where h.hostid in (".$availiable_hosts.") ". + " and hg.groupid=g.groupid and h.status=".HOST_STATUS_MONITORED. + " and h.hostid=i.hostid and hg.hostid=h.hostid ". + " order by g.name"); + while($row=DBfetch($result)) + { + $cmbGroup->AddItem($row["groupid"],$row["name"]); + } + $r_form->AddItem(array(S_GROUP.SPACE,$cmbGroup)); + + $cmbHosts->AddItem(0,S_ALL_SMALL); + if($_REQUEST["groupid"] > 0) + { + $sql="select h.hostid,h.host from hosts h,items i,hosts_groups hg where h.status=".HOST_STATUS_MONITORED. + " and h.hostid=i.hostid and hg.groupid=".$_REQUEST["groupid"]." and hg.hostid=h.hostid". + " and h.hostid in (".$availiable_hosts.") ". + " group by h.hostid,h.host order by h.host"; + } + else + { + $sql="select h.hostid,h.host from hosts h,items i where h.status=".HOST_STATUS_MONITORED. + " and h.hostid=i.hostid". + " and h.hostid in (".$availiable_hosts.") ". + " group by h.hostid,h.host order by h.host"; + } + $result=DBselect($sql); + while($row=DBfetch($result)) + { + $cmbHosts->AddItem($row["hostid"],$row["host"]); + } + + $r_form->AddItem(array(SPACE.S_HOST.SPACE,$cmbHosts)); + } $r_form->AddVar("start",$_REQUEST["start"]); @@ -116,7 +151,7 @@ include_once "include/page_header.php"; $btnNext->SetEnabled('no'); $r_form->AddItem($btnNext); - show_table_header(S_HISTORY_OF_EVENTS_BIG,$r_form); + show_table_header(S_EVENTS_BIG,$r_form); $table->Show(); ?> diff --git a/frontends/php/include/defines.inc.php b/frontends/php/include/defines.inc.php index c7dd3d2c..2d9dd41e 100644 --- a/frontends/php/include/defines.inc.php +++ b/frontends/php/include/defines.inc.php @@ -19,158 +19,158 @@ **/ ?> <= */ /* TODO!!!! */ - define("CONDITION_TYPE_DSERVICE_TYPE", 8); /* = # */ /* TODO!!!! */ - define("CONDITION_TYPE_DSERVICE_PORT", 9); /* = # => <= */ /* TODO!!!! */ - - define("CONDITION_OPERATOR_EQUAL", 0); - define("CONDITION_OPERATOR_NOT_EQUAL", 1); - define("CONDITION_OPERATOR_LIKE", 2); - define("CONDITION_OPERATOR_NOT_LIKE", 3); - define("CONDITION_OPERATOR_IN", 4); - define("CONDITION_OPERATOR_MORE_EQUAL", 5); - define("CONDITION_OPERATOR_LESS_EQUAL", 6); - - define("HOST_STATUS_MONITORED", 0); - define("HOST_STATUS_NOT_MONITORED", 1); -// define("HOST_STATUS_UNREACHABLE", 2); - define("HOST_STATUS_TEMPLATE", 3); - define("HOST_STATUS_DELETED", 4); - - define("HOST_AVAILABLE_UNKNOWN", 0); - define("HOST_AVAILABLE_TRUE", 1); - define("HOST_AVAILABLE_FALSE", 2); - - define("MAP_LABEL_TYPE_LABEL",0); - define("MAP_LABEL_TYPE_IP",1); - define("MAP_LABEL_TYPE_NAME",2); - define("MAP_LABEL_TYPE_STATUS",3); - define("MAP_LABEL_TYPE_NOTHING",4); - - define("MAP_LABEL_LOC_BOTTOM", 0); - define("MAP_LABEL_LOC_LEFT", 1); - define("MAP_LABEL_LOC_RIGHT", 2); - define("MAP_LABEL_LOC_TOP", 3); - - define("SYSMAP_ELEMENT_TYPE_HOST", 0); - define("SYSMAP_ELEMENT_TYPE_MAP", 1); - define("SYSMAP_ELEMENT_TYPE_TRIGGER", 2); - define("SYSMAP_ELEMENT_TYPE_HOST_GROUP",3); - - define("SYSMAP_ELEMENT_ICON_ON", 0); - define("SYSMAP_ELEMENT_ICON_OFF", 1); - define("SYSMAP_ELEMENT_ICON_UNKNOWN", 2); - - define("ITEM_TYPE_ZABBIX",0); - define("ITEM_TYPE_SNMPV1",1); - define("ITEM_TYPE_TRAPPER",2); - define("ITEM_TYPE_SIMPLE",3); - define("ITEM_TYPE_SNMPV2C",4); - define("ITEM_TYPE_INTERNAL",5); - define("ITEM_TYPE_SNMPV3",6); - define("ITEM_TYPE_ZABBIX_ACTIVE",7); - define("ITEM_TYPE_AGGREGATE",8); - define("ITEM_TYPE_HTTPTEST",9); - - define("ITEM_VALUE_TYPE_FLOAT",0); - define("ITEM_VALUE_TYPE_STR",1); - define("ITEM_VALUE_TYPE_LOG",2); - define("ITEM_VALUE_TYPE_UINT64",3); - define("ITEM_VALUE_TYPE_TEXT",4); - - define("ITEM_STATUS_ACTIVE",0); - define("ITEM_STATUS_DISABLED",1); - define("ITEM_STATUS_NOTSUPPORTED",3); - - define("ITEM_SNMPV3_SECURITYLEVEL_NOAUTHNOPRIV",0); - define("ITEM_SNMPV3_SECURITYLEVEL_AUTHNOPRIV",1); - define("ITEM_SNMPV3_SECURITYLEVEL_AUTHPRIV",2); + define('AUDIT_ACTION_ADD', 0); + define('AUDIT_ACTION_UPDATE', 1); + define('AUDIT_ACTION_DELETE', 2); + define('AUDIT_ACTION_LOGIN', 3); + define('AUDIT_ACTION_LOGOUT', 4); + + define('AUDIT_RESOURCE_USER', 0); +// define('AUDIT_RESOURCE_ZABBIX', 1); + define('AUDIT_RESOURCE_ZABBIX_CONFIG', 2); + define('AUDIT_RESOURCE_MEDIA_TYPE', 3); + define('AUDIT_RESOURCE_HOST', 4); + define('AUDIT_RESOURCE_ACTION', 5); + define('AUDIT_RESOURCE_GRAPH', 6); + define('AUDIT_RESOURCE_GRAPH_ELEMENT', 7); +// define('AUDIT_RESOURCE_ESCALATION', 8); +// define('AUDIT_RESOURCE_ESCALATION_RULE',9); +// define('AUDIT_RESOURCE_AUTOREGISTRATION',10); + define('AUDIT_RESOURCE_USER_GROUP', 11); + define('AUDIT_RESOURCE_APPLICATION', 12); + define('AUDIT_RESOURCE_TRIGGER', 13); + define('AUDIT_RESOURCE_HOST_GROUP', 14); + define('AUDIT_RESOURCE_ITEM', 15); + define('AUDIT_RESOURCE_IMAGE', 16); + define('AUDIT_RESOURCE_VALUE_MAP', 17); + define('AUDIT_RESOURCE_IT_SERVICE', 18); + define('AUDIT_RESOURCE_MAP', 19); + define('AUDIT_RESOURCE_SCREEN', 20); + define('AUDIT_RESOURCE_NODE', 21); + define('AUDIT_RESOURCE_SCENARIO', 22); + define('AUDIT_RESOURCE_DISCOVERY_RULE', 23); + + define('CONDITION_TYPE_GROUP', 0); + define('CONDITION_TYPE_HOST', 1); + define('CONDITION_TYPE_TRIGGER', 2); + define('CONDITION_TYPE_TRIGGER_NAME', 3); + define('CONDITION_TYPE_TRIGGER_SEVERITY',4); + define('CONDITION_TYPE_TRIGGER_VALUE', 5); + define('CONDITION_TYPE_TIME_PERIOD', 6); + define('CONDITION_TYPE_DHOST_IP', 7); /* = # => <= */ /* TODO!!!! */ + define('CONDITION_TYPE_DSERVICE_TYPE', 8); /* = # */ /* TODO!!!! */ + define('CONDITION_TYPE_DSERVICE_PORT', 9); /* = # => <= */ /* TODO!!!! */ + + define('CONDITION_OPERATOR_EQUAL', 0); + define('CONDITION_OPERATOR_NOT_EQUAL', 1); + define('CONDITION_OPERATOR_LIKE', 2); + define('CONDITION_OPERATOR_NOT_LIKE', 3); + define('CONDITION_OPERATOR_IN', 4); + define('CONDITION_OPERATOR_MORE_EQUAL', 5); + define('CONDITION_OPERATOR_LESS_EQUAL', 6); + + define('HOST_STATUS_MONITORED', 0); + define('HOST_STATUS_NOT_MONITORED', 1); +// define('HOST_STATUS_UNREACHABLE', 2); + define('HOST_STATUS_TEMPLATE', 3); + define('HOST_STATUS_DELETED', 4); + + define('HOST_AVAILABLE_UNKNOWN', 0); + define('HOST_AVAILABLE_TRUE', 1); + define('HOST_AVAILABLE_FALSE', 2); + + define('MAP_LABEL_TYPE_LABEL',0); + define('MAP_LABEL_TYPE_IP',1); + define('MAP_LABEL_TYPE_NAME',2); + define('MAP_LABEL_TYPE_STATUS',3); + define('MAP_LABEL_TYPE_NOTHING',4); + + define('MAP_LABEL_LOC_BOTTOM', 0); + define('MAP_LABEL_LOC_LEFT', 1); + define('MAP_LABEL_LOC_RIGHT', 2); + define('MAP_LABEL_LOC_TOP', 3); + + define('SYSMAP_ELEMENT_TYPE_HOST', 0); + define('SYSMAP_ELEMENT_TYPE_MAP', 1); + define('SYSMAP_ELEMENT_TYPE_TRIGGER', 2); + define('SYSMAP_ELEMENT_TYPE_HOST_GROUP',3); + + define('SYSMAP_ELEMENT_ICON_ON', 0); + define('SYSMAP_ELEMENT_ICON_OFF', 1); + define('SYSMAP_ELEMENT_ICON_UNKNOWN', 2); + + define('ITEM_TYPE_ZABBIX',0); + define('ITEM_TYPE_SNMPV1',1); + define('ITEM_TYPE_TRAPPER',2); + define('ITEM_TYPE_SIMPLE',3); + define('ITEM_TYPE_SNMPV2C',4); + define('ITEM_TYPE_INTERNAL',5); + define('ITEM_TYPE_SNMPV3',6); + define('ITEM_TYPE_ZABBIX_ACTIVE',7); + define('ITEM_TYPE_AGGREGATE',8); + define('ITEM_TYPE_HTTPTEST',9); + + define('ITEM_VALUE_TYPE_FLOAT',0); + define('ITEM_VALUE_TYPE_STR',1); + define('ITEM_VALUE_TYPE_LOG',2); + define('ITEM_VALUE_TYPE_UINT64',3); + define('ITEM_VALUE_TYPE_TEXT',4); + + define('ITEM_STATUS_ACTIVE',0); + define('ITEM_STATUS_DISABLED',1); + define('ITEM_STATUS_NOTSUPPORTED',3); + + define('ITEM_SNMPV3_SECURITYLEVEL_NOAUTHNOPRIV',0); + define('ITEM_SNMPV3_SECURITYLEVEL_AUTHNOPRIV',1); + define('ITEM_SNMPV3_SECURITYLEVEL_AUTHPRIV',2); define('GRAPH_ITEM_DRAWTYPE_LINE', 0); define('GRAPH_ITEM_DRAWTYPE_FILLED_REGION', 1); @@ -178,144 +178,144 @@ define('GRAPH_ITEM_DRAWTYPE_DOT', 3); define('GRAPH_ITEM_DRAWTYPE_DASHED_LINE', 4); - define("SERVICE_ALGORITHM_NONE",0); - define("SERVICE_ALGORITHM_MAX",1); - define("SERVICE_ALGORITHM_MIN",2); - - define("TRIGGER_VALUE_FALSE",0); - define("TRIGGER_VALUE_TRUE",1); - define("TRIGGER_VALUE_UNKNOWN",2); - - define("ALERT_STATUS_NOT_SENT",0); - define("ALERT_STATUS_SENT",1); - - define("ALERT_TYPE_EMAIL",0); - define("ALERT_TYPE_EXEC",1); - define("ALERT_TYPE_SMS",2); - define("ALERT_TYPE_JABBER",3); - - define("ACTION_STATUS_ENABLED",0); - define("ACTION_STATUS_DISABLED",1); - - define("ACTION_TYPE_MESSAGE",0); - define("ACTION_TYPE_COMMAND",1); - - define("ACTION_EVAL_TYPE_AND_OR",0); - define("ACTION_EVAL_TYPE_AND",1); - define("ACTION_EVAL_TYPE_OR",2); - - define("TRIGGER_STATUS_ENABLED",0); - define("TRIGGER_STATUS_DISABLED",1); - define("TRIGGER_STATUS_UNKNOWN",2); - - define("RECIPIENT_TYPE_USER",0); - define("RECIPIENT_TYPE_GROUP",1); - - define("LOGFILE_SEVERITY_NOT_CLASSIFIED",0); - define("LOGFILE_SEVERITY_INFORMATION",1); - define("LOGFILE_SEVERITY_WARNING",2); - define("LOGFILE_SEVERITY_AVERAGE",3); - define("LOGFILE_SEVERITY_HIGH",4); - define("LOGFILE_SEVERITY_DISASTER",5); - define("LOGFILE_SEVERITY_AUDIT_SUCCESS",6); - define("LOGFILE_SEVERITY_AUDIT_FAILURE",7); - - define("SCREEN_RESOURCE_GRAPH", 0); - define("SCREEN_RESOURCE_SIMPLE_GRAPH", 1); - define("SCREEN_RESOURCE_MAP", 2); - define("SCREEN_RESOURCE_PLAIN_TEXT", 3); - define("SCREEN_RESOURCE_HOSTS_INFO", 4); - define("SCREEN_RESOURCE_TRIGGERS_INFO", 5); - define("SCREEN_RESOURCE_SERVER_INFO", 6); - define("SCREEN_RESOURCE_CLOCK", 7); - define("SCREEN_RESOURCE_SCREEN", 8); - define("SCREEN_RESOURCE_TRIGGERS_OVERVIEW", 9); - define("SCREEN_RESOURCE_DATA_OVERVIEW", 10); - define("SCREEN_RESOURCE_URL", 11); - define("SCREEN_RESOURCE_ACTIONS", 12); - define("SCREEN_RESOURCE_EVENTS",13); + define('SERVICE_ALGORITHM_NONE',0); + define('SERVICE_ALGORITHM_MAX',1); + define('SERVICE_ALGORITHM_MIN',2); + + define('TRIGGER_VALUE_FALSE',0); + define('TRIGGER_VALUE_TRUE',1); + define('TRIGGER_VALUE_UNKNOWN',2); + + define('ALERT_STATUS_NOT_SENT',0); + define('ALERT_STATUS_SENT',1); + + define('ALERT_TYPE_EMAIL',0); + define('ALERT_TYPE_EXEC',1); + define('ALERT_TYPE_SMS',2); + define('ALERT_TYPE_JABBER',3); + + define('ACTION_STATUS_ENABLED',0); + define('ACTION_STATUS_DISABLED',1); + + define('ACTION_TYPE_MESSAGE',0); + define('ACTION_TYPE_COMMAND',1); + + define('ACTION_EVAL_TYPE_AND_OR',0); + define('ACTION_EVAL_TYPE_AND',1); + define('ACTION_EVAL_TYPE_OR',2); + + define('TRIGGER_STATUS_ENABLED',0); + define('TRIGGER_STATUS_DISABLED',1); + define('TRIGGER_STATUS_UNKNOWN',2); + + define('RECIPIENT_TYPE_USER',0); + define('RECIPIENT_TYPE_GROUP',1); + + define('LOGFILE_SEVERITY_NOT_CLASSIFIED',0); + define('LOGFILE_SEVERITY_INFORMATION',1); + define('LOGFILE_SEVERITY_WARNING',2); + define('LOGFILE_SEVERITY_AVERAGE',3); + define('LOGFILE_SEVERITY_HIGH',4); + define('LOGFILE_SEVERITY_DISASTER',5); + define('LOGFILE_SEVERITY_AUDIT_SUCCESS',6); + define('LOGFILE_SEVERITY_AUDIT_FAILURE',7); + + define('SCREEN_RESOURCE_GRAPH', 0); + define('SCREEN_RESOURCE_SIMPLE_GRAPH', 1); + define('SCREEN_RESOURCE_MAP', 2); + define('SCREEN_RESOURCE_PLAIN_TEXT', 3); + define('SCREEN_RESOURCE_HOSTS_INFO', 4); + define('SCREEN_RESOURCE_TRIGGERS_INFO', 5); + define('SCREEN_RESOURCE_SERVER_INFO', 6); + define('SCREEN_RESOURCE_CLOCK', 7); + define('SCREEN_RESOURCE_SCREEN', 8); + define('SCREEN_RESOURCE_TRIGGERS_OVERVIEW', 9); + define('SCREEN_RESOURCE_DATA_OVERVIEW', 10); + define('SCREEN_RESOURCE_URL', 11); + define('SCREEN_RESOURCE_ACTIONS', 12); + define('SCREEN_RESOURCE_EVENTS',13); /* alignes */ - define("HALIGN_DEFAULT",0); - define("HALIGN_CENTER", 0); - define("HALIGN_LEFT", 1); - define("HALIGN_RIGHT", 2); + define('HALIGN_DEFAULT',0); + define('HALIGN_CENTER', 0); + define('HALIGN_LEFT', 1); + define('HALIGN_RIGHT', 2); - define("VALIGN_DEFAULT",0); - define("VALIGN_MIDDLE", 0); - define("VALIGN_TOP", 1); - define("VALIGN_BOTTOM", 2); + define('VALIGN_DEFAULT',0); + define('VALIGN_MIDDLE', 0); + define('VALIGN_TOP', 1); + define('VALIGN_BOTTOM', 2); /* info module style */ - define("STYLE_HORISONTAL", 0); - define("STYLE_VERTICAL", 1); + define('STYLE_HORISONTAL', 0); + define('STYLE_VERTICAL', 1); /* time module tipe */ - define("TIME_TYPE_LOCAL", 0); - define("TIME_TYPE_SERVER", 1); + define('TIME_TYPE_LOCAL', 0); + define('TIME_TYPE_SERVER', 1); - define("FILTER_TAST_SHOW", 0); - define("FILTER_TAST_HIDE", 1); - define("FILTER_TAST_MARK", 2); - define("FILTER_TAST_INVERT_MARK", 3); + define('FILTER_TAST_SHOW', 0); + define('FILTER_TAST_HIDE', 1); + define('FILTER_TAST_MARK', 2); + define('FILTER_TAST_INVERT_MARK', 3); - define("MARK_COLOR_RED", 1); - define("MARK_COLOR_GREEN", 2); - define("MARK_COLOR_BLUE", 3); + define('MARK_COLOR_RED', 1); + define('MARK_COLOR_GREEN', 2); + define('MARK_COLOR_BLUE', 3); - define("PROFILE_TYPE_UNKNOWN", 0); - define("PROFILE_TYPE_ARRAY", 1); - define("PROFILE_TYPE_INT", 2); - define("PROFILE_TYPE_STR", 3); + define('PROFILE_TYPE_UNKNOWN', 0); + define('PROFILE_TYPE_ARRAY', 1); + define('PROFILE_TYPE_INT', 2); + define('PROFILE_TYPE_STR', 3); - define("CALC_FNC_MIN", 1); - define("CALC_FNC_AVG", 2); - define("CALC_FNC_MAX", 4); - define("CALC_FNC_ALL", 7); + define('CALC_FNC_MIN', 1); + define('CALC_FNC_AVG', 2); + define('CALC_FNC_MAX', 4); + define('CALC_FNC_ALL', 7); - define("SERVICE_TIME_TYPE_UPTIME", 0); - define("SERVICE_TIME_TYPE_DOWNTIME", 1); - define("SERVICE_TIME_TYPE_ONETIME_DOWNTIME", 2); - - define("USER_TYPE_ZABBIX_USER", 1); - define("USER_TYPE_ZABBIX_ADMIN", 2); - define("USER_TYPE_SUPER_ADMIN", 3); - - define("PERM_MAX", 3); - define("PERM_READ_WRITE", 3); - define("PERM_READ_ONLY", 2); - define("PERM_READ_LIST", 1); - define("PERM_DENY", 0); - - define("PERM_RES_STRING_LINE", 0); /* return string of nodes id - "1,2,3,4,5" */ - define("PERM_RES_IDS_ARRAY", 1); /* return array of nodes id - array(1,2,3,4) */ - define("PERM_RES_DATA_ARRAY", 2); - - define("PERM_MODE_NE", 5); - define("PERM_MODE_EQ", 4); - define("PERM_MODE_GT", 3); - define("PERM_MODE_LT", 2); - define("PERM_MODE_LE", 1); - define("PERM_MODE_GE", 0); - - define("RESOURCE_TYPE_NODE", 0); - define("RESOURCE_TYPE_GROUP", 1); + define('SERVICE_TIME_TYPE_UPTIME', 0); + define('SERVICE_TIME_TYPE_DOWNTIME', 1); + define('SERVICE_TIME_TYPE_ONETIME_DOWNTIME', 2); + + define('USER_TYPE_ZABBIX_USER', 1); + define('USER_TYPE_ZABBIX_ADMIN', 2); + define('USER_TYPE_SUPER_ADMIN', 3); + + define('PERM_MAX', 3); + define('PERM_READ_WRITE', 3); + define('PERM_READ_ONLY', 2); + define('PERM_READ_LIST', 1); + define('PERM_DENY', 0); + + define('PERM_RES_STRING_LINE', 0); /* return string of nodes id - '1,2,3,4,5' */ + define('PERM_RES_IDS_ARRAY', 1); /* return array of nodes id - array(1,2,3,4) */ + define('PERM_RES_DATA_ARRAY', 2); + + define('PERM_MODE_NE', 5); + define('PERM_MODE_EQ', 4); + define('PERM_MODE_GT', 3); + define('PERM_MODE_LT', 2); + define('PERM_MODE_LE', 1); + define('PERM_MODE_GE', 0); + + define('RESOURCE_TYPE_NODE', 0); + define('RESOURCE_TYPE_GROUP', 1); define('PARAM_TYPE_SECONDS', 0); define('PARAM_TYPE_COUNTS', 1); - define("ZBX_NODE_REMOTE", 0); - define("ZBX_NODE_LOCAL", 1); - define("ZBX_NODE_MASTER", 2); + define('ZBX_NODE_REMOTE', 0); + define('ZBX_NODE_LOCAL', 1); + define('ZBX_NODE_MASTER', 2); - define("HTTPTEST_STATUS_ACTIVE", 0); - define("HTTPTEST_STATUS_DISABLED", 1); + define('HTTPTEST_STATUS_ACTIVE', 0); + define('HTTPTEST_STATUS_DISABLED', 1); - define("HTTPSTEP_ITEM_TYPE_RSPCODE", 0); - define("HTTPSTEP_ITEM_TYPE_TIME", 1); - define("HTTPSTEP_ITEM_TYPE_IN", 2); - define("HTTPSTEP_ITEM_TYPE_LASTSTEP", 3); + define('HTTPSTEP_ITEM_TYPE_RSPCODE', 0); + define('HTTPSTEP_ITEM_TYPE_TIME', 1); + define('HTTPSTEP_ITEM_TYPE_IN', 2); + define('HTTPSTEP_ITEM_TYPE_LASTSTEP', 3); define('EVENT_SOURCE_TRIGGERS', 0); define('EVENT_SOURCE_DISCOVERY', 1); @@ -343,9 +343,9 @@ define('DHOST_STATUS_ACTIVE', 0); define('DHOST_STATUS_DISABLED', 1); - define("BR", "
\n"); - define("SPACE", " "); - define("RARR", "⇒"); + define('BR', "
\n"); + define('SPACE', ' '); + define('RARR', '⇒'); global $_GET, $_POST, $_COOKIE, $_REQUEST; diff --git a/frontends/php/include/discovery.inc.php b/frontends/php/include/discovery.inc.php index 7506a671..a226f357 100644 --- a/frontends/php/include/discovery.inc.php +++ b/frontends/php/include/discovery.inc.php @@ -17,8 +17,26 @@ ** along with this program; if not, write to the Free Software ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. **/ + require_once "include/perm.inc.php"; + ?> = USER_TYPE_ZABBIX_ADMIN ) + { + $accessible_nodes = get_accessible_nodes_by_user($USER_DETAILS, $permission, null, PERM_RES_IDS_ARRAY); + + if( in_array($ZBX_CURNODEID, $accessible_nodes) ) + return true; + } + + return false; + } + function discovery_check_type2str($type_int) { $str_type[SVC_SSH] = S_SSH; diff --git a/frontends/php/include/events.inc.php b/frontends/php/include/events.inc.php index 938fbb92..97c16981 100644 --- a/frontends/php/include/events.inc.php +++ b/frontends/php/include/events.inc.php @@ -20,7 +20,7 @@ ?> SetHeader(array(S_TIME, S_IP, S_DESCRIPTION, S_STATUS)); + $col=0; + + $accessible_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY); + + $skip = $start; + while(($event_data = DBfetch($db_events))&&($col<$num)) + { + if($skip > 0) + { + $skip--; + continue; + } + + if($event_data["value"] == 0) + { + $value=new CCol(S_DOWN,"off"); + } + elseif($event_data["value"] == 1) + { + $value=new CCol(S_UP,"on"); + } + else + { + $value=new CCol(S_UNKNOWN_BIG,"unknown"); + } + + + switch($event_data['object']) + { + case EVENT_OBJECT_DHOST: + $object_data = DBfetch(DBselect('select ip from dhosts where dhostid='.$event_data['objectid'])); + $description = SPACE; + break; + case EVENT_OBJECT_DSERVICE: + $object_data = DBfetch(DBselect('select h.ip,s.type,s.port from dhosts h,dservices s '. + ' where h.dhostid=s.dhostid, s.dserviceid='.$event_data['objectid'])); + $description = S_SERVICE.': '.discovery_check_type2str($object_data['type']).'; '. + S_PORT.': '.$object_data['port']; + break; + default: + continue; + } + + if(!$object_data) continue; + + + $table->AddRow(array( + date("Y.M.d H:i:s",$event_data["clock"]), + $object_data['ip'], + $description, + $value)); + + $col++; + } + return $table; + } ?> diff --git a/frontends/php/include/locales/en_gb.inc.php b/frontends/php/include/locales/en_gb.inc.php index 30bc8013..03d93df0 100644 --- a/frontends/php/include/locales/en_gb.inc.php +++ b/frontends/php/include/locales/en_gb.inc.php @@ -1244,6 +1244,7 @@ "S_INVENTORY"=> "Inventory", "S_QUEUE"=> "Queue", "S_EVENTS"=> "Events", + "S_EVENTS_BIG"=> "EVENTS", "S_MAPS"=> "Maps", "S_REPORTS"=> "Reports", "S_GENERAL"=> "General", diff --git a/frontends/php/include/screens.inc.php b/frontends/php/include/screens.inc.php index ce5c0af8..070a4a44 100644 --- a/frontends/php/include/screens.inc.php +++ b/frontends/php/include/screens.inc.php @@ -370,7 +370,7 @@ } elseif( ($screenitemid!=0) && ($resourcetype==SCREEN_RESOURCE_EVENTS) ) { - $item = array(get_history_of_events(0, $elements)); + $item = array(get_history_of_triggers_events(0, $elements)); if($editmode == 1) array_push($item,new CLink(S_CHANGE,$action)); } else -- cgit