diff options
| author | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2001-09-17 15:20:22 +0000 |
|---|---|---|
| committer | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2001-09-17 15:20:22 +0000 |
| commit | 757a198757dc13ab9cd1b8ec755354c173e906b4 (patch) | |
| tree | 5989fee793c0b2a7afa88098f0181d7744ca7659 /frontends/php/include | |
| parent | 74ebf98fd8d07eb59080822a199d4b3d3ab88500 (diff) | |
Added support for trigger dependencies
git-svn-id: svn://svn.zabbix.com/trunk@203 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include')
| -rw-r--r-- | frontends/php/include/config.inc | 87 |
1 files changed, 80 insertions, 7 deletions
diff --git a/frontends/php/include/config.inc b/frontends/php/include/config.inc index 410e5af5..e92c1312 100644 --- a/frontends/php/include/config.inc +++ b/frontends/php/include/config.inc @@ -843,6 +843,76 @@ return DBexecute($sql); } + function delete_trigger_dependency($triggerid_down,$triggerid_up) + { + $sql="select count(*) from trigger_depends where triggerid_down=$triggerid_up and triggerid_up=$triggerid_down"; + $result=DBexecute($sql); + if(DBget_field($result,0,0)>0) + { + return FALSE; + } + + $sql="select triggerid_down,triggerid_up from trigger_depends where triggerid_up=$triggerid_up or triggerid_down=$triggerid_down"; + $result=DBexecute($sql); + for($i=0;$i<DBnum_rows($result);$i++) + { + $down=DBget_field($result,$i,0); + $up=DBget_field($result,$i,1); + $sql="delete from trigger_depends where triggerid_up=$up and triggerid_down=$down"; + DBexecute($sql); + $sql="update triggers set dep_level=dep_level-1 where triggerid=$up"; + DBexecute($sql); + } + return TRUE; + } + + function insert_dependency($triggerid_down,$triggerid_up) + { + $sql="insert into trigger_depends (triggerid_down,triggerid_up) values ($triggerid_down,$triggerid_up)"; + $result=DBexecute($sql); + if(!$result) + { + return $result; + } + $sql="update triggers set dep_level=dep_level+1 where triggerid=$triggerid_up"; + $result=DBexecute($sql); + return $result; + } + + // If 1 depends on 2, and 2 depends on 3, then add dependency 1->3 + function add_additional_dependencies($triggerid_down,$triggerid_up) + { + $sql="select triggerid_down from trigger_depends where triggerid_up=$triggerid_down"; + $result=DBselect($sql); + for($i=0;$i<DBnum_rows($result);$i++) + { + $triggerid=DBget_field($result,$i,0); + insert_dependency($triggerid,$triggerid_up); + add_additional_dependencies($triggerid,$triggerid_up); + } + $sql="select triggerid_up from trigger_depends where triggerid_down=$triggerid_up"; + $result=DBselect($sql); + for($i=0;$i<DBnum_rows($result);$i++) + { + $triggerid=DBget_field($result,$i,0); + insert_dependency($triggerid_down,$triggerid); + add_additional_dependencies($triggerid_down,$triggerid); + } + } + + function add_trigger_dependency($triggerid,$depid) + { + $result=insert_dependency($triggerid,$depid);; + if(!$result) + { + return $result; + } + add_additional_dependencies($triggerid,$depid); + return $result; + } + + # Delete Function definition + # Add Item definition function add_item($description,$key,$hostid,$delay,$history,$status,$type,$snmp_community,$snmp_oid) @@ -1894,12 +1964,12 @@ echo "Dependencies"; show_table2_h_delimiter(); $sql="select t.triggerid,t.description from triggers t,trigger_depends d where t.triggerid=d.triggerid_up and d.triggerid_down=$triggerid"; - $result=DBselect($sql); - echo "<SELECT NAME=\"priority\" size=\"1\">"; - for($i=0;$i<DBnum_rows($result);$i++) + $result1=DBselect($sql); + echo "<SELECT NAME=\"dependency\" size=\"1\">"; + for($i=0;$i<DBnum_rows($result1);$i++) { - $depid=DBget_field($result,$i,0); - $depdescr=DBget_field($result,$i,1); + $depid=DBget_field($result1,$i,0); + $depdescr=DBget_field($result1,$i,1); echo "<OPTION VALUE=\"$depid\">$depdescr"; } echo "</SELECT>"; @@ -1909,7 +1979,7 @@ show_table2_h_delimiter(); $sql="select t.triggerid,t.description from triggers t where t.triggerid!=$triggerid order by t.description"; $result=DBselect($sql); - echo "<SELECT NAME=\"priority\" size=\"1\">"; + echo "<SELECT NAME=\"depid\" size=\"1\">"; for($i=0;$i<DBnum_rows($result);$i++) { $depid=DBget_field($result,$i,0); @@ -1922,7 +1992,10 @@ if(isset($triggerid)) { echo "<input type=\"submit\" name=\"register\" value=\"add dependency\">"; - echo "<input type=\"submit\" name=\"register\" value=\"delete dependency\">"; + if(DBnum_rows($result1)>0) + { + echo "<input type=\"submit\" name=\"register\" value=\"delete dependency\">"; + } } } |
