function add_trigger_dependency($triggerid, $depid) { $result = false; if (check_dependency_by_triggerid($triggerid, $depid)) { $result = insert_dependency($triggerid, $depid); } //add_additional_dependencies($triggerid,$depid); return $result; }
/** * Add dependency for trigger * * {@source} * @access public * @static * @since 1.8 * @version 1 * * @param _array $triggers_data * @param array $triggers_data['triggerid] * @param array $triggers_data['depends_on_triggerid'] * @return boolean */ public static function addDependency($triggers_data) { $result = insert_dependency($triggers_data['triggerid'], $triggers_data['depends_on_triggerid']); if ($result) { return $groupids; } else { self::$error[] = array('error' => ZBX_API_ERROR_INTERNAL, 'data' => 'Internal zabbix error'); return false; } }
/** * Add dependency for trigger * * @param _array $triggersData * @param array $triggers_data['triggerid] * @param array $triggers_data['dependsOnTriggerid'] * @return boolean */ public static function addDependencies($triggersData) { $triggersData = zbx_toArray($triggersData); $triggerids = array(); try { self::BeginTransaction(__METHOD__); foreach ($triggersData as $num => $dep) { $triggerids[$dep['triggerid']] = $dep['triggerid']; $result = (bool) insert_dependency($dep['triggerid'], $dep['dependsOnTriggerid']); if (!$result) { self::exception(ZBX_API_ERROR_PARAMETERS, 'Cannot create dependency'); } } self::EndTransaction(true, __METHOD__); return array('triggerids' => $triggerids); } catch (APIException $e) { self::EndTransaction(false, __METHOD__); $error = $e->getErrors(); $error = reset($error); self::setError(__METHOD__, $e->getCode(), $error); return false; } }
function replace_triggers_depenedencies($new_triggerids) { $old_triggerids = array_keys($new_triggerids); $deps = array(); $res = DBselect('SELECT * FROM trigger_depends WHERE ' . DBcondition('triggerid_up', $old_triggerids)); while ($db_dep = DBfetch($res)) { $deps[$db_dep['triggerid_up']] = $db_dep['triggerid_down']; } delete_dependencies_by_triggerid($deps); foreach ($new_triggerids as $old_triggerid => $newtriggerid) { if (isset($deps[$old_triggerid])) { insert_dependency($deps[$old_triggerid], $newtriggerid); } } }