summaryrefslogtreecommitdiffstats
path: root/frontends/php/include
diff options
context:
space:
mode:
authorhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2001-09-17 15:20:22 +0000
committerhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2001-09-17 15:20:22 +0000
commit757a198757dc13ab9cd1b8ec755354c173e906b4 (patch)
tree5989fee793c0b2a7afa88098f0181d7744ca7659 /frontends/php/include
parent74ebf98fd8d07eb59080822a199d4b3d3ab88500 (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.inc87
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\">";
+ }
}
}