diff options
| author | artem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-09-24 11:51:33 +0000 |
|---|---|---|
| committer | artem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-09-24 11:51:33 +0000 |
| commit | 32a7770affdc0d9c5e433d1ea096643403f84be7 (patch) | |
| tree | a3f63543b1211a8a87d792da218c87a298311d82 /frontends/php/include | |
| parent | 1186f592d342ba3696af7f6ce40d7a8a566f65da (diff) | |
| download | zabbix-32a7770affdc0d9c5e433d1ea096643403f84be7.tar.gz zabbix-32a7770affdc0d9c5e433d1ea096643403f84be7.tar.xz zabbix-32a7770affdc0d9c5e433d1ea096643403f84be7.zip | |
- [ZBX-56] merged rev. 4778:4780 of branches/1.4.j (Artem) [fixed "Trigger status is set to UNKNOWN when expression is not modified" issue]
git-svn-id: svn://svn.zabbix.com/trunk@4784 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include')
| -rw-r--r-- | frontends/php/include/triggers.inc.php | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/frontends/php/include/triggers.inc.php b/frontends/php/include/triggers.inc.php index 9f202a88..40cdf44d 100644 --- a/frontends/php/include/triggers.inc.php +++ b/frontends/php/include/triggers.inc.php @@ -1278,16 +1278,21 @@ $trig_hosts = get_hosts_by_triggerid($triggerid); $trig_host = DBfetch($trig_hosts); - if(is_null($expression)) - { + $event_to_unknown = false; + + if(is_null($expression)){ /* Restore expression */ $expression = explode_exp($trigger["expression"],0); + } + else if($expression != explode_exp($trigger["expression"],0)){ + $event_to_unknown = true; } - + if ( !validate_expression($expression) ) return false; $exp_hosts = get_hosts_by_expression($expression); + if( $exp_hosts ) { $chd_hosts = get_hosts_by_templateid($trig_host["hostid"]); @@ -1295,6 +1300,7 @@ if(DBfetch($chd_hosts)) { $exp_host = DBfetch($exp_hosts); + $db_chd_triggers = get_triggers_by_templateid($triggerid); while($db_chd_trigger = DBfetch($db_chd_triggers)) { @@ -1305,6 +1311,7 @@ "{".$exp_host["host"].":", "{".$chd_trig_host["host"].":", $expression); + // recursion update_trigger( $db_chd_trigger["triggerid"], @@ -1328,7 +1335,7 @@ $expression = implode_exp($expression,$triggerid); /* errors can be ignored cose function must return NULL */ - add_event($triggerid,TRIGGER_VALUE_UNKNOWN); + if($event_to_unknown) add_event($triggerid,TRIGGER_VALUE_UNKNOWN); reset_items_nextcheck($triggerid); $sql="update triggers set"; |
