rendered paste body$sql = " select nagios_statehistory.object_id, unix_timestamp(nagios_statehistory.state_time) as state_time, nagios_statehistory.state
from nagios_statehistory
inner join nagios_hostgroup_members on nagios_hostgroup_members.host_object_id=nagios_statehistory.object_id
inner join nagios_hostgroups on nagios_hostgroups.hostgroup_id=nagios_hostgroup_members.hostgroup_id where";
if ($startTime == "null") {
if ($stopTime != "null") {
$sql .= " unix_timestamp(nagios_statehistory.state_time) < $stopTime ";
}
} else {
if ($stopTime == "null") {
$sql .= " unix_timestamp(nagios_statehistory.state_time) > $startTime ";
} else {
$sql .= " unix_timestamp(nagios_statehistory.state_time) < $stopTime and unix_timestamp(nagios_statehistory.state_time) > $startTime ";
}
}
$includePending = FALSE;
if ($_POST["type"] == 1) {
$sql .= "and nagios_statehistory.object_id in (";
for($i = 0; $i < $hostgroupCount; $i++) {
// yay for sql insertion attacks!
$sql = $sql . $hostgroups[$i];
if($i < $hostgroupCount - 1) {
$sql = $sql . ",";
}
}
} elseif ($_POST["type"] == 2) {
$i = 0;
$sql .= "and nagios_hostgroups.hostgroup_object_id in(";
foreach($hostgroups as $value) {
// yay for sql insertion attacks!
$sql = $sql . $hostgroups[$i];
if($i < $hostgroupCount - 1) {
$sql = $sql . ",";
}
$i++;
}
}
$sql = $sql . ") order by nagios_statehistory.object_id, nagios_statehistory.state_time";
$q = db_fetch_assoc("$sql");
$row_count = count($q);
for($i = 0; $i < $row_count; $i++) {
if($q[$i]["object_id"] != $current_host) {
if($i != 0) {
$host_times[$current_host]["total_time"] = time() - $first_time;
$host_times[$current_host]["hostid"] = $current_host;
}
$last_state = $q[$i]["state"];
$last_time = $q[$i]["state_time"];
$first_time = $last_time;
$current_host = $q[$i]["object_id"];
} else {
switch ($last_state) {
case 0: $state_name = "OK";
break;
case 1: $state_name = "DOWN";
break;
case 2: $state_name = "UNREACHABLE";
break;
default: $state_name = "UNKNOWN";
break;
}
$host_times[$current_host][$state_name] = $q[$i]["state_time"] - $last_time;
$last_state = $q[$i]["state"];
$last_time = $q[$i]["state_time"];
}
echo "last state: ".$last_state." State Time: ".$last_time;
}
$host_times[$current_host]["total_time"] = time() - $first_time;
$host_times[$current_host]["hostid"] = $current_host;