diff options
author | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-03-16 16:13:43 +0000 |
---|---|---|
committer | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-03-16 16:13:43 +0000 |
commit | 183033d3e4f67f05bb0fd0bb8cd394cb829e5f4a (patch) | |
tree | c1cb71781578730450d4244df3c5cb8f316d9d5e /frontends | |
parent | a2d4a94630bb644b26b63db7c3071c41d8b0c4be (diff) | |
download | zabbix-183033d3e4f67f05bb0fd0bb8cd394cb829e5f4a.tar.gz zabbix-183033d3e4f67f05bb0fd0bb8cd394cb829e5f4a.tar.xz zabbix-183033d3e4f67f05bb0fd0bb8cd394cb829e5f4a.zip |
- hard-linked templates works when deleting a trigger (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@1698 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends')
-rw-r--r-- | frontends/php/include/triggers.inc.php | 36 | ||||
-rw-r--r-- | frontends/php/triggers.php | 1 |
2 files changed, 37 insertions, 0 deletions
diff --git a/frontends/php/include/triggers.inc.php b/frontends/php/include/triggers.inc.php index 7f1b56b4..e2314b67 100644 --- a/frontends/php/include/triggers.inc.php +++ b/frontends/php/include/triggers.inc.php @@ -402,4 +402,40 @@ where h.hostid=i.hostid and i.itemid=f.itemid and f.triggerid=$triggerid"; } } } + + function delete_trigger_from_templates($triggerid) + { + if($triggerid<=0) + { + return; + } + + $trigger=get_trigger_by_triggerid($triggerid); + + $sql="select distinct h.hostid from hosts h,functions f, items i where i.itemid=f.itemid and h.hostid=i.hostid and f.triggerid=$triggerid"; + $result=DBselect($sql); + if(DBnum_rows($result)!=1) + { + return; + } + + $row=DBfetch($result); + + $hostid=$row["hostid"]; + + $sql="select hostid,templateid,items from hosts_templates where templateid=$hostid"; + $result=DBselect($sql); + while($row=DBfetch($result)) + { + if($row["triggers"]&4 == 0) continue; + + $sql="select distinct f.triggerid from functions f,items i,triggers t where t.description='".addslashes($trigger["description"])."' and t.triggerid=f.triggerid and i.itemid=f.itemid and i.hostid=".$row["hostid"]; + $result2=DBselect($sql); + while($row2=DBfetch($result2)) + { + delete_trigger($row2["triggerid"]); + } + + } + } ?> diff --git a/frontends/php/triggers.php b/frontends/php/triggers.php index 77607d9f..b914cfde 100644 --- a/frontends/php/triggers.php +++ b/frontends/php/triggers.php @@ -140,6 +140,7 @@ } if($_GET["register"]=="delete") { + delete_trigger_from_templates($_GET["triggerid"]); $result=delete_trigger($_GET["triggerid"]); show_messages($result, S_TRIGGER_DELETED, S_CANNOT_DELETE_TRIGGER); unset($_GET["triggerid"]); |