function get_service_status($serviceid, $algorithm, $triggerid = null, $status = 0) { if (is_numeric($triggerid)) { $status = ($serv_status = get_service_status_of_trigger($triggerid)) ? $serv_status : $status; } if ($algorithm == SERVICE_ALGORITHM_MAX || $algorithm == SERVICE_ALGORITHM_MIN) { $sort_order = $algorithm == SERVICE_ALGORITHM_MAX ? ' DESC' : ''; $result = DBselect('SELECT s.status' . ' FROM services s,services_links l' . ' WHERE l.serviceupid=' . zbx_dbstr($serviceid) . ' AND s.serviceid=l.servicedownid' . ' ORDER BY s.status' . $sort_order); if ($row = DBfetch($result)) { $status = $row['status']; } } return $status; }
function get_service_status($serviceid, $algorithm, $triggerid = null, $status = 0) { if (is_numeric($triggerid)) { $status = ($serv_status = get_service_status_of_trigger($triggerid)) ? $serv_status : $status; } if (SERVICE_ALGORITHM_MAX == $algorithm || SERVICE_ALGORITHM_MIN == $algorithm) { $sort_order = SERVICE_ALGORITHM_MAX == $algorithm ? ' DESC ' : ' ASC '; $sql = 'SELECT s.status' . ' FROM services s,services_links l ' . ' WHERE l.serviceupid=' . $serviceid . ' AND s.serviceid=l.servicedownid ' . ' ORDER BY s.status ' . $sort_order; $result = DBselect($sql); $rows = DBfetch($result); if ($rows && !zbx_empty($rows['status'])) { $status = $rows['status']; } } return $status; }
$triggers = CTrigger::get($options); $triggerids = zbx_objectValues($triggers, 'triggerid'); if ($_REQUEST['go'] == 'activate') { $status = TRIGGER_STATUS_ENABLED; $status_old = array('status' => 1); $status_new = array('status' => 0); } else { $status = TRIGGER_STATUS_DISABLED; $status_old = array('status' => 0); $status_new = array('status' => 1); } DBstart(); $go_result = update_trigger_status($triggerids, $status); if ($go_result) { foreach ($triggers as $tnum => $trigger) { $serv_status = isset($_REQUEST['group_enable']) ? get_service_status_of_trigger($trigger['triggerid']) : 0; update_services($trigger['triggerid'], $serv_status); // updating status to all services by the dependency $host = reset($trigger['hosts']); add_audit_ext(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_TRIGGER, $trigger['triggerid'], $host['host'] . ':' . $trigger['description'], 'triggers', $status_old, $status_new); } } $go_result = DBend($go_result); show_messages($go_result, S_STATUS_UPDATED, S_CANNOT_UPDATE_STATUS); } else { if ($_REQUEST['go'] == 'copy_to' && isset($_REQUEST['copy']) && isset($_REQUEST['g_triggerid'])) { if (isset($_REQUEST['copy_targetid']) && $_REQUEST['copy_targetid'] > 0 && isset($_REQUEST['copy_type'])) { if (0 == $_REQUEST['copy_type']) { /* hosts */ $hosts_ids = $_REQUEST['copy_targetid']; } else {