diff options
| author | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-10-12 14:40:45 +0000 |
|---|---|---|
| committer | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-10-12 14:40:45 +0000 |
| commit | f1fcf4a2103bdc1beb9e348ea982ed7650527c8f (patch) | |
| tree | 383faf9748ea44451eb20432b5f6211727682c12 /frontends/php/include | |
| parent | cc3ab52e16eb4c908f69f23b159293df6bac3f23 (diff) | |
| download | zabbix-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.php | 53 |
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); + } ?> |
