예제 #1
0
function cmp_triggers($triggerid1, $triggerid2)
{
    // compare EXPRESSION !!!
    $trig1 = get_trigger_by_triggerid($triggerid1);
    $trig2 = get_trigger_by_triggerid($triggerid2);
    $trig_fnc1 = get_functions_by_triggerid($triggerid1);
    $expr1 = $trig1["expression"];
    while ($fnc1 = DBfetch($trig_fnc1)) {
        $trig_fnc2 = get_functions_by_triggerid($triggerid2);
        while ($fnc2 = DBfetch($trig_fnc2)) {
            if (strcmp($fnc1["function"], $fnc2["function"])) {
                continue;
            }
            if ($fnc1["parameter"] != $fnc2["parameter"]) {
                continue;
            }
            $item1 = get_item_by_itemid($fnc1["itemid"]);
            $item2 = get_item_by_itemid($fnc2["itemid"]);
            if (strcmp($item1["key_"], $item2["key_"])) {
                continue;
            }
            $expr1 = str_replace("{" . $fnc1["functionid"] . "}", "{" . $fnc2["functionid"] . "}", $expr1);
            break;
        }
    }
    return strcmp($expr1, $trig2["expression"]);
}
예제 #2
0
function cmp_triggers($triggerid1, $triggerid2)
{
    // compare EXPRESSION !!!
    $trig1 = get_trigger_by_triggerid($triggerid1);
    $trig2 = get_trigger_by_triggerid($triggerid2);
    $trig_fnc1 = get_functions_by_triggerid($triggerid1);
    $expr1 = $trig1['expression'];
    while ($fnc1 = DBfetch($trig_fnc1)) {
        $trig_fnc2 = get_functions_by_triggerid($triggerid2);
        while ($fnc2 = DBfetch($trig_fnc2)) {
            if (strcmp($fnc1['function'], $fnc2['function'])) {
                continue;
            }
            if ($fnc1['parameter'] != $fnc2['parameter']) {
                continue;
            }
            $item1 = get_item_by_itemid($fnc1['itemid']);
            $item2 = get_item_by_itemid($fnc2['itemid']);
            if (strcmp($item1['key_'], $item2['key_'])) {
                continue;
            }
            $expr1 = str_replace('{' . $fnc1['functionid'] . '}', '{' . $fnc2['functionid'] . '}', $expr1);
            break;
        }
    }
    return strcmp($expr1, $trig2['expression']);
}