diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-11-17 14:21:22 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-11-17 14:21:22 +0000 |
| commit | e3a9c8732564acac5c5dce55cdfd201212752716 (patch) | |
| tree | 9844116112cf4f8b9cbfdc848bfe15cc40c8626a /frontends/php/include/maps.inc.php | |
| parent | b206daa4f6b4ce7cc3236578c6124788e023ac74 (diff) | |
| download | zabbix-e3a9c8732564acac5c5dce55cdfd201212752716.tar.gz zabbix-e3a9c8732564acac5c5dce55cdfd201212752716.tar.xz zabbix-e3a9c8732564acac5c5dce55cdfd201212752716.zip | |
- added "Host group" element to maps (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@3499 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include/maps.inc.php')
| -rw-r--r-- | frontends/php/include/maps.inc.php | 50 |
1 files changed, 46 insertions, 4 deletions
diff --git a/frontends/php/include/maps.inc.php b/frontends/php/include/maps.inc.php index 7a87d0e0..ca9a8abf 100644 --- a/frontends/php/include/maps.inc.php +++ b/frontends/php/include/maps.inc.php @@ -49,7 +49,7 @@ case SYSMAP_ELEMENT_TYPE_MAP: $result &= sysmap_accessiable($se_data['elementid'], PERM_READ_ONLY); break; - case SYSMAP_ELEMENT_TYPE_IMAGE: + case SYSMAP_ELEMENT_TYPE_TRIGGER: if(!DBfetch(DBselect("select distinct t.*". " from triggers t,items i,functions f". " where f.itemid=i.itemid and t.triggerid=f.triggerid". @@ -58,6 +58,13 @@ $result = false; } break; + case SYSMAP_ELEMENT_TYPE_HOST: + if(in_array($se_data['elementid'], + get_accessible_groups_by_user($USER_DETAILS,PERM_READ_ONLY, PERM_MODE_LT))) + { + $result = false; + } + break; } } } @@ -262,7 +269,17 @@ function delete_sysmaps_elements_with_triggerid($triggerid) { $db_elements = DBselect("select selementid from sysmaps_elements". - " where elementid=$triggerid and elementtype=".SYSMAP_ELEMENT_TYPE_IMAGE); + " where elementid=$triggerid and elementtype=".SYSMAP_ELEMENT_TYPE_TRIGGER); + while($db_element = DBfetch($db_elements)) + { + delete_sysmaps_element($db_element["selementid"]); + } + return TRUE; + } + function delete_sysmaps_elements_with_groupid($groupid) + { + $db_elements = DBselect("select selementid from sysmaps_elements". + " where elementid=$groupid and elementtype=".SYSMAP_ELEMENT_TYPE_HOST_GROUP); while($db_element = DBfetch($db_elements)) { delete_sysmaps_element($db_element["selementid"]); @@ -339,7 +356,7 @@ } } } - elseif($db_element["elementtype"]==SYSMAP_ELEMENT_TYPE_IMAGE) + elseif($db_element["elementtype"]==SYSMAP_ELEMENT_TYPE_TRIGGER) { if($db_element["elementid"]>0){ $trigger=get_trigger_by_triggerid($db_element["elementid"]); @@ -355,6 +372,26 @@ } } } + elseif($db_element["elementtype"]==SYSMAP_ELEMENT_TYPE_HOST_GROUP) + { + $db_triggers = DBselect("select distinct t.triggerid, t.priority ". + " from items i,functions f,triggers t,hosts h,hosts_groups hg ". + " where h.hostid=i.hostid". + " and hg.groupid=".$db_element["elementid"]. + " and hg.hostid=h.hostid and i.itemid=f.itemid". + " and f.triggerid=t.triggerid and t.value=1 and t.status=0". + " and h.status=".HOST_STATUS_MONITORED." and i.status=0"); + + $trigger = DBfetch($db_triggers); + if($trigger) + { + for($count=1; DBfetch($db_triggers); $count++); + + if ($trigger["priority"] > 3) $color=$colors["Red"]; + else $color=$colors["Dark Yellow"]; + $info = expand_trigger_description_simple($trigger["triggerid"]); + } + } if($count>1) { @@ -401,11 +438,16 @@ $alt = "Host: ".$map["name"]." ".$alt; } - elseif($db_element["elementtype"] == SYSMAP_ELEMENT_TYPE_IMAGE) + elseif($db_element["elementtype"] == SYSMAP_ELEMENT_TYPE_TRIGGER) { if($url=="" && $db_element["elementid"]!=0) $url="events.php?triggerid=".$db_element["elementid"]; } + elseif($db_element["elementtype"] == SYSMAP_ELEMENT_TYPE_HOST_GROUP) + { + if($url=="" && $db_element["elementid"]!=0) + $url="events.php?groupid=".$db_element["elementid"]; + } if($url=="") continue; |
