summaryrefslogtreecommitdiffstats
path: root/frontends/php/include
diff options
context:
space:
mode:
authoralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-10-12 14:40:45 +0000
committeralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-10-12 14:40:45 +0000
commitf1fcf4a2103bdc1beb9e348ea982ed7650527c8f (patch)
tree383faf9748ea44451eb20432b5f6211727682c12 /frontends/php/include
parentcc3ab52e16eb4c908f69f23b159293df6bac3f23 (diff)
downloadzabbix-f1fcf4a2103bdc1beb9e348ea982ed7650527c8f.tar.gz
zabbix-f1fcf4a2103bdc1beb9e348ea982ed7650527c8f.tar.xz
zabbix-f1fcf4a2103bdc1beb9e348ea982ed7650527c8f.zip
- [ZBX-30,ZBX-47] better dependencies (Alexei)
[svn merge -r4862:4868 svn://svn.zabbix.com/branches/1.4] git-svn-id: svn://svn.zabbix.com/trunk@4869 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include')
-rw-r--r--frontends/php/include/triggers.inc.php53
1 files changed, 53 insertions, 0 deletions
diff --git a/frontends/php/include/triggers.inc.php b/frontends/php/include/triggers.inc.php
index 9ec4ae64..d9879044 100644
--- a/frontends/php/include/triggers.inc.php
+++ b/frontends/php/include/triggers.inc.php
@@ -1986,4 +1986,57 @@
return $ret;
}
+ /*
+ * Function: trigger_depenent_rec
+ *
+ * Description:
+ * check if trigger depends on other triggers having status TRUE
+ *
+ * Author:
+ * Alexei Vladishev
+ *
+ * Comments: Recursive function
+ *
+ */
+ function trigger_dependent_rec($triggerid,&$level)
+ {
+ $ret = FALSE;
+
+ $level++;
+
+ /* Check for recursive loop */
+ if($level > 32) return $ret;
+
+ $result = DBselect("select t.triggerid, t.value from trigger_depends d,triggers t where d.triggerid_down=$triggerid and d.triggerid_up=t.triggerid");
+ while($row = DBfetch($result))
+ {
+ $triggerid_tmp = $row["triggerid"];
+ $value_tmp = $row["value"];
+ if(TRIGGER_VALUE_TRUE == $value_tmp || trigger_dependent_rec($triggerid_tmp, $level))
+ {
+ $ret = TRUE;
+ break;
+ }
+ }
+
+ return $ret;
+ }
+
+ /*
+ * Function: trigger_depenent
+ *
+ * Description:
+ * check if trigger depends on other triggers having status TRUE
+ *
+ * Author:
+ * Alexei Vladishev
+ *
+ * Comments:
+ *
+ */
+ function trigger_dependent($triggerid)
+ {
+ $level = 0;
+ return trigger_dependent_rec($triggerid, $level);
+ }
?>