summaryrefslogtreecommitdiffstats
path: root/frontends/php/include/maps.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/php/include/maps.inc.php')
-rw-r--r--frontends/php/include/maps.inc.php118
1 files changed, 68 insertions, 50 deletions
diff --git a/frontends/php/include/maps.inc.php b/frontends/php/include/maps.inc.php
index e54c6e68..71731117 100644
--- a/frontends/php/include/maps.inc.php
+++ b/frontends/php/include/maps.inc.php
@@ -166,18 +166,21 @@
// Delete System Map
- function delete_sysmap( $sysmapid ){
- $result = delete_sysmaps_elements_with_sysmapid($sysmapid);
+ function delete_sysmap($sysmapids){
+ zbx_value2array($sysmapids);
+
+ $result = delete_sysmaps_elements_with_sysmapid($sysmapids);
if(!$result) return $result;
- $res=DBselect('SELECT linkid FROM sysmaps_links WHERE sysmapid='.$sysmapid);
+ $res=DBselect('SELECT linkid FROM sysmaps_links WHERE '.DBcondition('sysmapid',$sysmapids));
while($rows = DBfetch($res)){
$result&=delete_link($rows['linkid']);
}
- $result = DBexecute('DELETE FROM sysmaps_elements WHERE sysmapid='.$sysmapid);
- $result &= DBexecute("DELETE FROM profiles WHERE idx='web.favorite.sysmapids' AND source='sysmapid' AND value_id=$sysmapid");
- $result &= DBexecute('DELETE FROM sysmaps WHERE sysmapid='.$sysmapid);
+ $result = DBexecute('DELETE FROM sysmaps_elements WHERE '.DBcondition('sysmapid',$sysmapids));
+ $result &= DBexecute("DELETE FROM profiles WHERE idx='web.favorite.sysmapids' AND source='sysmapid' AND ".DBcondition('value_id',$sysmapids));
+ $result &= DBexecute('DELETE FROM screens_items WHERE '.DBcondition('resourceid',$sysmapids).' AND resourcetype='.SCREEN_RESOURCE_MAP);
+ $result &= DBexecute('DELETE FROM sysmaps WHERE '.DBcondition('sysmapid',$sysmapids));
return $result;
}
@@ -346,12 +349,14 @@
* Comments: !!! Don't forget sync code with C !!! *
* *
******************************************************************************/
- function delete_sysmaps_element($selementid){
+ function delete_sysmaps_element($selementids){
+ zbx_value2array($selementids);
$result=TRUE;
$sql = 'SELECT linkid FROM sysmaps_links '.
- ' WHERE selementid1='.$selementid.
- ' OR selementid2='.$selementid;
+ ' WHERE '.DBcondition('selementid1',$selementids).
+ ' OR '.DBcondition('selementid2',$selementids);
+
$res=DBselect($sql);
while($rows = DBfetch($res)){
$result&=delete_link($rows['linkid']);
@@ -360,7 +365,7 @@
if(!$result) return $result;
- return DBexecute("delete FROM sysmaps_elements WHERE selementid=$selementid");
+ return DBexecute('DELETE FROM sysmaps_elements WHERE '.DBcondition('selementid',$selementids));
}
/******************************************************************************
@@ -368,54 +373,67 @@
* Comments: !!! Don't forget sync code with C !!! *
* *
******************************************************************************/
- function delete_sysmaps_elements_with_hostid($hostid){
- $db_elements = DBselect("select selementid FROM sysmaps_elements".
- " WHERE elementid=$hostid AND elementtype=".SYSMAP_ELEMENT_TYPE_HOST);
+ function delete_sysmaps_elements_with_hostid($hostids){
+ zbx_value2array($hostids);
+
+ $db_elements = DBselect('SELECT selementid '.
+ ' FROM sysmaps_elements '.
+ ' WHERE '.DBcondition('elementid',$hostids).
+ ' AND elementtype='.SYSMAP_ELEMENT_TYPE_HOST);
+
while($db_element = DBfetch($db_elements)){
delete_sysmaps_element($db_element["selementid"]);
}
- return TRUE;
+ return TRUE;
}
- function delete_sysmaps_elements_with_sysmapid($sysmapid){
- $db_elements = DBselect("select selementid FROM sysmaps_elements".
- " WHERE elementid=$sysmapid AND elementtype=".SYSMAP_ELEMENT_TYPE_MAP);
- while($db_element = DBfetch($db_elements))
- {
- delete_sysmaps_element($db_element["selementid"]);
+ function delete_sysmaps_elements_with_sysmapid($sysmapids){
+ zbx_value2array($sysmapids);
+
+ $db_elements = DBselect('SELECT selementid '.
+ ' FROM sysmaps_elements '.
+ ' WHERE '.DBcondition('elementid',$sysmapids).
+ ' AND elementtype='.SYSMAP_ELEMENT_TYPE_MAP);
+ while($db_element = DBfetch($db_elements)){
+ delete_sysmaps_element($db_element['selementid']);
}
- return TRUE;
+ return TRUE;
}
- /******************************************************************************
- * *
- * Comments: !!! Don't forget sync code with C !!! *
- * *
- ******************************************************************************/
- function delete_sysmaps_elements_with_triggerid($triggerid){
- $db_elements = DBselect('SELECT selementid FROM sysmaps_elements '.
- ' WHERE elementid='.$triggerid.
- ' AND elementtype='.SYSMAP_ELEMENT_TYPE_TRIGGER);
-
+/******************************************************************************
+ * *
+ * Comments: !!! Don't forget sync code with C !!! *
+ * *
+ ******************************************************************************/
+ function delete_sysmaps_elements_with_triggerid($triggerids){
+ zbx_value2array($triggerids);
+
+ $db_elements = DBselect('SELECT selementid '.
+ ' FROM sysmaps_elements '.
+ ' WHERE '.DBcondition('elementid',$triggerids).
+ ' AND elementtype='.SYSMAP_ELEMENT_TYPE_TRIGGER);
while($db_element = DBfetch($db_elements)){
delete_sysmaps_element($db_element["selementid"]);
}
- return TRUE;
+ 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);
+ function delete_sysmaps_elements_with_groupid($groupids){
+ zbx_value2array($groupids);
+
+ $db_elements = DBselect('SELECT selementid '.
+ ' FROM sysmaps_elements '.
+ ' WHERE '.DBcondition('elementid',$groupids).
+ ' AND elementtype='.SYSMAP_ELEMENT_TYPE_HOST_GROUP);
while($db_element = DBfetch($db_elements)){
delete_sysmaps_element($db_element["selementid"]);
}
- return TRUE;
+
+ return TRUE;
}
- function get_png_by_selementid($selementid)
- {
+ function get_png_by_selementid($selementid){
$elements = DBselect("select * FROM sysmaps_elements WHERE selementid=$selementid");
if(!$elements) return FALSE;
@@ -427,19 +445,19 @@
$image = get_image_by_imageid($info['iconid']);
if(!$image) return FALSE;
- return imagecreatefromstring($image['image']);
+ return imagecreatefromstring($image['image']);
}
- /*
- * Function: get_info_by_selementid
- *
- * Description:
- * Retrive information for map element
- *
- * Author:
- * Eugene Grigorjev
- *
- */
+/*
+ * Function: get_info_by_selementid
+ *
+ * Description:
+ * Retrive information for map element
+ *
+ * Author:
+ * Eugene Grigorjev
+ *
+ */
function get_info_by_selementid($selementid){
global $colors;