summaryrefslogtreecommitdiffstats
path: root/frontends/php/include/maps.inc.php
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-11-17 14:21:22 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-11-17 14:21:22 +0000
commite3a9c8732564acac5c5dce55cdfd201212752716 (patch)
tree9844116112cf4f8b9cbfdc848bfe15cc40c8626a /frontends/php/include/maps.inc.php
parentb206daa4f6b4ce7cc3236578c6124788e023ac74 (diff)
downloadzabbix-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.php50
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;