+--- npc/extinfo.php.orig 2005-10-10 14:17:15.000000000 +0000
++++ npc/extinfo.php 2006-12-26 16:32:52.000000000 +0000
+@@ -1,1473 +1,1473 @@
+-<?php
+-/*
+- +-------------------------------------------------------------------------+
+- | Nagios Plugin 0.1a for cacti 0.8.6f |
+- | Copyright (C) 2005 Billy Gunn (billy@gunn.org) |
+- | |
+- | This program is free software; you can redistribute it and/or |
+- | modify it under the terms of the GNU General Public License |
+- | as published by the Free Software Foundation; either version 2 |
+- | of the License, or (at your option) any later version. |
+- | |
+- | This program is distributed in the hope that it will be useful, |
+- | but WITHOUT ANY WARRANTY; without even the implied warranty of |
+- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+- | GNU General Public License for more details. |
+- +-------------------------------------------------------------------------+
+- | Cacti and Nagios are the copyright of their respective owners. |
+- +-------------------------------------------------------------------------+
+-*/
+-
+-chdir('../../');
+-include_once("./include/auth.php");
+-include_once("./include/config.php");
+-
+-// Refresh the page at a user supplied interval
+-header("Refresh: " . read_config_option("npc_refresh") . "; URL=" . $_SERVER["REQUEST_URI"]);
+-
+-/* set default action */
+-if (!isset($_REQUEST["type"])) { $_REQUEST["type"] = ""; }
+-
+-switch ($_REQUEST["type"]) {
+- case '1':
+-
+- hostInfo();
+- include_once("./include/bottom_footer.php");
+- break;
+-
+- case '2':
+-
+- serviceInfo();
+- include_once("./include/bottom_footer.php");
+- break;
+-
+- default:
+-
+- hostInfo();
+- include_once("./include/bottom_footer.php");
+- break;
+-}
+-
+-
+-function formatTime($time) {
+-
+- $days = floor($time/60/60/24);
+- $time -= $days*60*60*24;
+- $hours = floor($time/60/60);
+- $time -= $hours*60*60;
+- $minutes = floor($time/60);
+- $time -= $minutes*60;
+- $seconds = $time;
+-
+- return ($days . "d " . $hours . "h " . $minutes . "m " . $seconds . "s");
+-}
+-
+-
+-function serviceInfo() {
+-
+- $hostid = $_REQUEST["hostid"];
+- $serviceid = $_REQUEST["serviceid"];
+- $hostname = $_REQUEST["hostname"];
+- $serviceName = ereg_replace("\+", " ", $_REQUEST["service"]);
+-
+-
+- if (isset($_POST["local_graph_id"])) {
+- db_execute("update npc_service set cacti_graph_id = " . $_POST["local_graph_id"] . " where id = " . $serviceid);
+- header("Location: extinfo.php?type=2&hostid=" . $hostid . "&hostname=" . $hostname . "&serviceid=" . $serviceid . "&service=" . $_REQUEST["service"]);
+- }
+-
+- include_once("top_npc_header.php");
+-
+- $background1 = "#F5F5F5";
+- $background2 = "#E7E9F2";
+- $rowColor = $background1;
+-
+- $service_detail = db_fetch_row("
+-select distinct
+- service_soft_state as 'Current Status',
+- duration as 'State Duration',
+- check_command as 'Check Command',
+- plugin_output as 'Plugin Output',
+- performance_data as 'Performance Data',
+- current_attempt as 'Current Attempt',
+- from_unixtime(last_check) as 'Last Check',
+- from_unixtime(next_check) as 'Next Check',
+- check_latency as 'Check Latency',
+- check_execute_time as 'Check Duration',
+- hostid,
+- name,
+- host_soft_state as 'Host Soft State',
+- host_notifications as 'Host Notifications',
+- service as 'Service',
+- cacti_graph_id,
+- serviceid,
+- service_hard_state,
+- service_notifications as 'Service Notifications',
+- max_attempts as 'Max Attempts'
+-from
+- (
+- select
+- npc_host.id as hostid,
+- npc_host.name,
+- npc_hostgroup_membership.groupid as hostgroup,
+- npc_host_history.soft_state as host_soft_state,
+- npc_host.notifications_enabled as host_notifications,
+- npc_service.id as serviceid,
+- npc_service.cacti_graph_id,
+- npc_service.service_description as service,
+- npc_service_history.soft_state as service_soft_state,
+- npc_service_history.hard_state as service_hard_state,
+- npc_service.notifications_enabled as service_notifications,
+- npc_service_check.last_check,
+- npc_service_check.next_check,
+- npc_service_check.check_execute_time,
+- npc_service_check.check_latency,
+- npc_service_check.check_command,
+- npc_service_check.performance_data,
+- unix_timestamp() - npc_service_history.started as duration,
+- npc_service_history.current_attempt,
+- npc_service_check.max_attempts,
+- npc_service_history.plugin_output
+- from
+- npc_host,
+- npc_host_history,
+- npc_hostgroup_membership,
+- npc_service,
+- npc_service_check,
+- npc_service_history
+- where
+- npc_host.id = npc_hostgroup_membership.hostid and
+- npc_host.id = npc_service.hostid and
+- npc_host.id = npc_host_history.hostid and
+- npc_service.id = npc_service_check.serviceid and
+- npc_service.id = npc_service_history.serviceid and
+- npc_service_history.lasted is null and
+- npc_host_history.lasted is null and
+- npc_service.configured = TRUE and
+- npc_service.has_been_checked = TRUE and
+- npc_host.has_been_checked = TRUE
+- union
+- select
+- npc_host.id as hostid,
+- npc_host.name,
+- 0 as hostgroup,
+- npc_host_history.soft_state as host_soft_state,
+- npc_host.notifications_enabled as host_notifications,
+- npc_service.id as serviceid,
+- npc_service.cacti_graph_id,
+- npc_service.service_description as service,
+- npc_service_history.soft_state as service_soft_state,
+- npc_service_history.hard_state as service_hard_state,
+- npc_service.notifications_enabled as service_notifications,
+- npc_service_check.last_check,
+- npc_service_check.next_check,
+- npc_service_check.check_execute_time,
+- npc_service_check.check_latency,
+- npc_service_check.check_command,
+- npc_service_check.performance_data,
+- unix_timestamp() - npc_service_history.started as duration,
+- npc_service_history.current_attempt,
+- npc_service_check.max_attempts,
+- npc_service_history.plugin_output
+- from
+- npc_host,
+- npc_host_history,
+- npc_service,
+- npc_service_check,
+- npc_service_history
+- where
+- npc_host.id not in (select hostid from npc_hostgroup_membership) and
+- npc_host.id = npc_service.hostid and
+- npc_host.id = npc_host_history.hostid and
+- npc_service.id = npc_service_check.serviceid and
+- npc_service.id = npc_service_history.serviceid and
+- npc_service_history.lasted is null and
+- npc_host_history.lasted is null and
+- npc_service.configured = TRUE and
+- npc_service.has_been_checked = TRUE and
+- npc_host.has_been_checked = TRUE
+- union
+- select
+- npc_host.id as hostid,
+- npc_host.name,
+- npc_hostgroup_membership.groupid as hostgroup,
+- -1 as host_soft_state,
+- npc_host.notifications_enabled as host_notifications,
+- npc_service.id as serviceid,
+- npc_service.cacti_graph_id,
+- npc_service.service_description as service,
+- npc_service_history.soft_state as service_soft_state,
+- npc_service_history.hard_state as service_hard_state,
+- npc_service.notifications_enabled as service_notifications,
+- npc_service_check.last_check,
+- npc_service_check.next_check,
+- npc_service_check.check_execute_time,
+- npc_service_check.check_latency,
+- npc_service_check.check_command,
+- npc_service_check.performance_data,
+- unix_timestamp() - npc_service_history.started as duration,
+- npc_service_history.current_attempt,
+- npc_service_check.max_attempts,
+- npc_service_history.plugin_output
+- from
+- npc_host,
+- npc_hostgroup_membership,
+- npc_service,
+- npc_service_check,
+- npc_service_history
+- where
+- npc_host.id = npc_hostgroup_membership.hostid and
+- npc_host.id = npc_service.hostid and
+- npc_service.id = npc_service_check.serviceid and
+- npc_service.id = npc_service_history.serviceid and
+- npc_service_history.lasted is null and
+- npc_service.configured = TRUE and
+- npc_service.has_been_checked = TRUE and
+- npc_host.has_been_checked = FALSE
+- union
+- select
+- npc_host.id as hostid,
+- npc_host.name,
+- 0 as hostgroup,
+- -1 as host_soft_state,
+- npc_host.notifications_enabled as host_notifications,
+- npc_service.id as serviceid,
+- npc_service.cacti_graph_id,
+- npc_service.service_description as service,
+- npc_service_history.soft_state as service_soft_state,
+- npc_service_history.hard_state as service_hard_state,
+- npc_service.notifications_enabled as service_notifications,
+- npc_service_check.last_check,
+- npc_service_check.next_check,
+- npc_service_check.check_execute_time,
+- npc_service_check.check_latency,
+- npc_service_check.check_command,
+- npc_service_check.performance_data,
+- unix_timestamp() - npc_service_history.started as duration,
+- npc_service_history.current_attempt,
+- npc_service_check.max_attempts,
+- npc_service_history.plugin_output
+- from
+- npc_host,
+- npc_service,
+- npc_service_check,
+- npc_service_history
+- where
+- npc_host.id not in (select hostid from npc_hostgroup_membership) and
+- npc_host.id = npc_service.hostid and
+- npc_service.id = npc_service_check.serviceid and
+- npc_service.id = npc_service_history.serviceid and
+- npc_service_history.lasted is null and
+- npc_service.configured = TRUE and
+- npc_service.has_been_checked = TRUE and
+- npc_host.has_been_checked = FALSE
+- union
+- select
+- npc_host.id as hostid,
+- npc_host.name,
+- npc_hostgroup_membership.groupid as hostgroup,
+- npc_host_history.soft_state as host_soft_state,
+- npc_host.notifications_enabled as host_notifications,
+- npc_service.id as serviceid,
+- npc_service.cacti_graph_id,
+- npc_service.service_description as service,
+- -1 as service_soft_state,
+- -1 as service_hard_state,
+- npc_service.notifications_enabled as service_notifications,
+- npc_service_check.last_check,
+- npc_service_check.next_check,
+- npc_service_check.check_execute_time,
+- npc_service_check.check_latency,
+- npc_service_check.check_command,
+- npc_service_check.performance_data,
+- 0 as duration,
+- 0 as current_attempt,
+- npc_service_check.max_attempts,
+- null as plugin_output
+- from
+- npc_host,
+- npc_host_history,
+- npc_hostgroup_membership,
+- npc_service,
+- npc_service_check
+- where
+- npc_host.id = npc_hostgroup_membership.hostid and
+- npc_host.id = npc_service.hostid and
+- npc_host.id = npc_host_history.hostid and
+- npc_service.id = npc_service_check.serviceid and
+- npc_host_history.lasted is null and
+- npc_service.configured = TRUE and
+- npc_service.has_been_checked = FALSE and
+- npc_host.has_been_checked = TRUE
+- union
+- select
+- npc_host.id as hostid,
+- npc_host.name,
+- 0 as hostgroup,
+- npc_host_history.soft_state as host_soft_state,
+- npc_host.notifications_enabled as host_notifications,
+- npc_service.id as serviceid,
+- npc_service.cacti_graph_id,
+- npc_service.service_description as service,
+- -1 as service_soft_state,
+- -1 as service_hard_state,
+- npc_service.notifications_enabled as service_notifications,
+- npc_service_check.last_check,
+- npc_service_check.next_check,
+- npc_service_check.check_execute_time,
+- npc_service_check.check_latency,
+- npc_service_check.check_command,
+- npc_service_check.performance_data,
+- 0 as duration,
+- 0 as current_attempt,
+- npc_service_check.max_attempts,
+- null as plugin_output
+- from
+- npc_host,
+- npc_host_history,
+- npc_service,
+- npc_service_check
+- where
+- npc_host.id not in (select hostid from npc_hostgroup_membership) and
+- npc_host.id = npc_service.hostid and
+- npc_host.id = npc_host_history.hostid and
+- npc_service.id = npc_service_check.serviceid and
+- npc_host_history.lasted is null and
+- npc_service.configured = TRUE and
+- npc_service.has_been_checked = FALSE and
+- npc_host.has_been_checked = TRUE
+- union
+- select
+- npc_host.id as hostid,
+- npc_host.name,
+- npc_hostgroup_membership.groupid as hostgroup,
+- -1 as host_soft_state,
+- npc_host.notifications_enabled as host_notifications,
+- npc_service.id as serviceid,
+- npc_service.cacti_graph_id,
+- npc_service.service_description as service,
+- -1 as service_soft_state,
+- -1 as service_hard_state,
+- npc_service.notifications_enabled as service_notifications,
+- npc_service_check.last_check,
+- npc_service_check.next_check,
+- npc_service_check.check_execute_time,
+- npc_service_check.check_latency,
+- npc_service_check.check_command,
+- npc_service_check.performance_data,
+- 0 as duration,
+- 0 as current_attempt,
+- npc_service_check.max_attempts,
+- null as plugin_output
+- from
+- npc_host,
+- npc_hostgroup_membership,
+- npc_service,
+- npc_service_check
+- where
+- npc_host.id = npc_hostgroup_membership.hostid and
+- npc_host.id = npc_service.hostid and
+- npc_service.id = npc_service_check.serviceid and
+- npc_service.configured = TRUE and
+- npc_service.has_been_checked = FALSE and
+- npc_host.has_been_checked = FALSE
+- union
+- select
+- npc_host.id as hostid,
+- npc_host.name,
+- 0 as hostgroup,
+- -1 as host_soft_state,
+- npc_host.notifications_enabled as host_notifications,
+- npc_service.id as serviceid,
+- npc_service.cacti_graph_id,
+- npc_service.service_description as service,
+- -1 as service_soft_state,
+- -1 as service_hard_state,
+- npc_service.notifications_enabled as service_notifications,
+- npc_service_check.last_check,
+- npc_service_check.next_check,
+- npc_service_check.check_execute_time,
+- npc_service_check.check_latency,
+- npc_service_check.check_command,
+- npc_service_check.performance_data,
+- 0 as duration,
+- 0 as current_attempt,
+- npc_service_check.max_attempts,
+- null as plugin_output
+- from
+- npc_host,
+- npc_service,
+- npc_service_check
+- where
+- npc_host.id not in (select hostid from npc_hostgroup_membership) and
+- npc_host.id = npc_service.hostid and
+- npc_service.id = npc_service_check.serviceid and
+- npc_service.configured = TRUE and
+- npc_service.has_been_checked = FALSE and
+- npc_host.has_been_checked = FALSE
+- order by
+- name
+- ) as host_details where hostid = $hostid and service = '$serviceName'");
+-
+- $service_detail["flapping"] = db_fetch_cell("select id from npc_flapping_service where id = $serviceid");
+- $service_config = db_fetch_row("select active_checks_enabled, passive_checks_enabled, event_handler_enabled, flap_detection_enabled, notifications_enabled, failure_prediction_enabled, process_performance_data, obsess_over_service, event_handler from npc_service where hostid = $hostid and service_description = '$serviceName'");
+- $comments = db_fetch_assoc("select id,serviceid,timestamp,author,comment,persist,type from npc_comment where serviceid = '$serviceid'");
+- $row_count = count($comments);
+-
+-?>
+-
+-
+-
+-
+- <table width="98%" border="0" cellpadding="0" cellspacing="0" align="center">
+- <tr class="textSubHeaderDark" bgcolor='#6d88ad'>
+- <td>
+- <h2> [ <?php echo $serviceName; ?> ] on
+- <a href="extinfo.php?type=1&hostid=<?php echo $hostid; ?>&hostname=<?php echo $hostname; ?>"><?php echo $hostname; ?></a></h2>
+- </td>
+- <td align='right' nowrap>
+- <FORM NAME="cl" ACTION="command.php" method="POST">Command:
+- <INPUT TYPE='hidden' NAME='host' VALUE='<?php echo $hostname; ?>'>
+- <INPUT TYPE='hidden' NAME='hostid' VALUE='<?php echo $service_detail["hostid"]; ?>'>
+- <INPUT TYPE='hidden' NAME='service' VALUE='<?php echo $serviceName; ?>'>
+- <INPUT TYPE='hidden' NAME='serviceid' VALUE='<?php echo $service_detail["serviceid"]; ?>'>
+- <select name="command" size="1">
+-
+-<?php
+- if (read_config_option("nagios_commands")) {
+-
+- echo "<OPTION VALUE='NULL'>Execute a command</option>";
+-
+- if ($service_config["active_checks_enabled"]) {
+- echo "<strong><OPTION VALUE='DISABLE_SVC_CHECK'>Disable active checks</option></strong>";
+- echo "<OPTION VALUE='SCHEDULE_SVC_CHECK'>Re-schedule the next check</option>";
+- } else {
+- echo "<OPTION VALUE='ENABLE_SVC_CHECK'>Enable Active Checks</option>";
+- }
+- if ($service_config["passive_checks_enabled"]) {
+- echo "<OPTION VALUE='PROCESS_SVC_CHECK_RESULT'>Submit passive check result</option>";
+- echo "<OPTION VALUE='DISABLE_PASSIVE_SVC_CHECKS'>Stop accepting passive checks</option>";
+- } else {
+- echo "<OPTION VALUE='ENABLE_PASSIVE_SVC_CHECKS'>Start accepting passive checks</option>";
+- }
+- if ($service_config["obsess_over_service"]) {
+- echo "<OPTION VALUE='STOP_OBSESSING_OVER_SVC'>Stop obsessing</option>";
+- } else {
+- echo "<OPTION VALUE='START_OBSESSING_OVER_SVC'>Start obsessing</option>";
+- }
+- if ($service_detail["Current Status"] == 1 || $service_detail["Current Status"] == 2 || $service_detail["Current Status"] == 3 && $service_detail["Current Status"] == $service_detail["service_hard_state"]) {
+- if (!db_fetch_cell("select * from npc_comment where serviceid = $serviceid and type = 4;")) {
+- echo "<OPTION VALUE='ACKNOWLEDGE_SVC_PROBLEM'>Acknowledge This Service Problem</option>";
+- } elseif (db_fetch_cell("select * from npc_comment where serviceid = $serviceid and type = 4;")) {
+- echo "<OPTION VALUE='REMOVE_SVC_ACKNOWLEDGEMENT'>Remove Problem Acknowledgement</option>";
+- }
+- }
+- if ($service_config["notifications_enabled"]) {
+- echo "<OPTION VALUE='DISABLE_SVC_NOTIFICATIONS'>Disable Notifications</option>";
+- if ($service_detail["Current Status"] != 0) {
+- echo "<OPTION VALUE='DELAY_SVC_NOTIFICATION'>Delay Next Service Notification</option>";
+- }
+- } else {
+- echo "<OPTION VALUE='ENABLE_SVC_NOTIFICATIONS'>Enable Notifications</option>";
+- }
+- echo "<OPTION VALUE='SCHEDULE_SVC_DOWNTIME'>Schedule Downtime</option>";
+- if ($service_config["event_handler_enabled"]) {
+- echo "<OPTION VALUE='DISABLE_SVC_EVENT_HANDLER'>Disable Event Handler</option>";
+- } else {
+- echo "<OPTION VALUE='ENABLE_SVC_EVENT_HANDLER'>Enable Event Handler</option>";
+- }
+- if ($service_config["flap_detection_enabled"]) {
+- echo "<OPTION VALUE='DISABLE_SVC_FLAP_DETECTION'>Disable Flap Detection</option>";
+- } else {
+- echo "<OPTION VALUE='ENABLE_SVC_FLAP_DETECTION'>Enable Flap Detection</option>";
+- }
+- echo "<OPTION VALUE='ADD_SVC_COMMENT'>Add Service Comment</option>";
+- echo "<OPTION VALUE='DEL_ALL_SVC_COMMENTS'>Delete All Service Comments</option>";
+- } else {
+- echo "<OPTION VALUE=''>Command execution disabled</option>";
+- }
+-?>
+-
+- </select>
+- <input type='image' src='../../images/button_go.gif' alt='Go' value='Execute' align='absmiddle'>
+- </form>
+-
+-
+- </td>
+- </tr>
+-
+- <tr><td> </td><td> </td></tr>
+- <tr>
+- <td valign="top">
+- <table width="100%" border="0" align="left" valign="top">
+- <thead>
+- <tr class="textHeaderDark" bgcolor='#00438C'>
+- <td align="center"><strong>Service State Information</strong></td>
+- </tr>
+- </thead>
+- <tbody>
+- <tr>
+- <td width="100%" valign="top">
+- <table width="100%" align="center" cellpadding="3">
+- <thead>
+- <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>
+- <td>Parameter</td>
+- <td>Value</td>
+- </tr>
+- </thead>
+- <tbody>
+-
+-
+-<?php
+-
+-
+- foreach ($service_detail as $key => $value) {
+-
+-
+- switch($key)
+- {
+- case "Current Status":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- switch($value)
+- {
+- case "-1":
+- echo "<td class='statusPENDING'><strong>PENDING</strong></td>";
+- break;
+- case "0":
+- echo "<td class='statusOK'><strong>OK</strong></td>";
+- break;
+- case "1":
+- echo "<td class='statusWARNING'><strong>WARNING</strong></td>";
+- break;
+- case "2":
+- echo "<td class='statusCRITICAL'><strong>CRITICAL</strong></td>";
+- break;
+- case "3":
+- echo "<td class='statusUNKNOWN'><strong>UNKNOWN</strong></td>";
+- break;
+- }
+- echo "</tr>";
+- break;
+- case "State Duration":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . formatTime($value) . "</td>";
+- echo "</tr>";
+- break;
+- case "Check Command":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "Plugin Output":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "Performance Data":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "Current Attempt":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "/" . $service_detail["Max Attempts"] . "</td>";
+- echo "</tr>";
+- break;
+- case "Last Check":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- if (preg_match('/1969-12-31/', $value)) {
+- echo "<td>N/A</td>";
+- } else {
+- echo "<td>" . $value . "</td>";
+- }
+- echo "</tr>";
+- break;
+- case "Next Check":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "Check Latency":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "Check Duration":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "flapping":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>Flapping:</td>";
+- if ($service_detail["flapping"]) {
+- echo "<td>Yes</td>";
+- } else {
+- echo "<td>No</td>";
+- }
+- echo "</tr>";
+- break;
+- }
+-
+- if($rowColor == $background1) {
+- $rowColor = $background2;
+- } else {
+- $rowColor = $background1;
+- }
+-
+- if ($key == "flapping") {
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>Event Handler:</td>";
+- if (!$service_config["event_handler"]) {
+- echo "<td>N/A</td>";
+- } else {
+- echo "<td>" . $service_config["event_handler"] . "</td>";
+- }
+- echo "</tr>";
+- }
+-
+-
+- }
+-
+-
+-?>
+-
+- </tbody>
+- </table>
+-
+- </td>
+- </tr>
+- </tbody>
+- </table>
+-
+- </td>
+-
+- <td valign="top">
+- <table width="70%" border="0" align="right">
+- <thead>
+- <tr class="textHeaderDark" bgcolor='#00438C'>
+- <td align="center"><strong>Service Monitoring Options</strong></td>
+- </tr>
+- </thead>
+- <tbody>
+- <tr>
+- <td width="70%" valign="top">
+- <table width="100%" align="center" cellpadding="3">
+- <thead>
+- <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>
+- <td>Parameter</td>
+- <td>Value</td>
+- </tr>
+- </thead>
+- <tbody>
+-
+-<?php
+- $rowColor = $background1;
+- echo "<tr bgcolor='" . $rowColor . "'>";
+-
+-
+- foreach ($service_config as $key => $value) {
+-
+- if ($key == "event_handler") { continue; }
+-
+- echo "<tr bgcolor='" . $rowColor . "'>";
+-
+- switch($key)
+- {
+- case "active_checks_enabled":
+- echo "<td>Active Checks:</td>";
+- break;
+- case "passive_checks_enabled":
+- echo "<td>Passive Checks:</td>";
+- break;
+- case "event_handler_enabled":
+- echo "<td>Event Handler:</td>";
+- break;
+- case "flap_detection_enabled":
+- echo "<td>Flap Detection:</td>";
+- break;
+- case "notifications_enabled":
+- echo "<td>Notifications:</td>";
+- break;
+- case "failure_prediction_enabled":
+- echo "<td>Failure Prediction:</td>";
+- break;
+- case "process_performance_data":
+- echo "<td>Process Performance Data:</td>";
+- break;
+- case "obsess_over_service":
+- echo "<td>Obsess Over Service:</td>";
+- break;
+- }
+-
+- if ($value == 0) {
+- echo "<td class='optionDISABLED'>Disabled</td></tr>";
+- } else {
+- echo "<td class='optionENABLED'>Enabled</td></tr>";
+- }
+-
+- if($rowColor == $background1) {
+- $rowColor = $background2;
+- } else {
+- $rowColor = $background1;
+- }
+-
+-
+- }
+-
+-?>
+- </tbody>
+- </table>
+- </td>
+- </tr>
+- </table>
+-
+- </td>
+-
+-
+-
+-<?php
+-
+-
+-
+-
+- echo "</tr>";
+- echo "<tr>";
+-
+-?>
+- <tr><td> </td><td> </td></tr>
+- <tr><td> </td><td> </td></tr>
+- <td valign="top" colspan='2'>
+- <table width="60%" border="0" align="center">
+- <thead>
+- <tr class="textHeaderDark" bgcolor='#00438C'>
+- <td align="center"><strong>Service Comments</strong></td>
+- </tr>
+- </thead>
+- <tbody>
+- <tr>
+- <td width="60%" valign="top">
+- <table width="100%" align="center" cellpadding="3">
+- <thead>
+- <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>
+- <td>Entry Time</td>
+- <td>Author</td>
+- <td>Comment</td>
+- <td>Persistent</td>
+- <td>Type</td>
+- <td>Delete</td>
+- <tbody>
+-<?php
+- for($i = 0; $i < $row_count; $i++) {
+-
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td nowrap>" . $comments[$i]["timestamp"] . "</td>";
+- echo "<td>" . $comments[$i]["author"] . "</td>";
+- echo "<td>" . $comments[$i]["comment"] . "</td>";
+- echo "<td>";
+- if ($comments[$i]["persist"]) {
+- echo "Yes";
+- } else {
+- echo "No";
+- }
+- echo "</td>";
+- echo "<td>";
+- if ($comments[$i]["type"] == 2) {
+- echo "Comment";
+- } elseif ($comments[$i]["type"] == 4) {
+- echo "Acknowledgment";
+- }
+- echo "</td>";
+- echo "<td>";
+- if ($comments[$i]["type"] == 2) {
+- echo "<a href='command.php?cmd=DEL_SVC_COMMENT&id=" . $comments[$i]["id"] . "&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='delete' title='Delete comment' border=0></a>";
+- } elseif ($comments[$i]["type"] == 4) {
+- echo "<a href='command.php?cmd=REMOVE_SVC_ACKNOWLEDGEMENT&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='Remove' title='Remove problem acknowledgment' border=0></a>";
+- }
+- echo "</td>";
+-
+-
+- if($rowColor == $background1) {
+- $rowColor = $background2;
+- } else {
+- $rowColor = $background1;
+- }
+- }
+-
+-
+-
+-
+-
+-
+-
+-?>
+- </tbody>
+- </table>
+- </td>
+- </tr>
+- <tr>
+- <td>
+- <?php
+- echo "<a href='command.php?cmd=ADD_SVC_COMMENT&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/comment.gif' alt='Add a comment' title='Add a comment' border=0></a>";
+- echo "<a href='command.php?cmd=DEL_ALL_SVC_COMMENTS&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='Delete all comments' title='Delete all comments' border=0></a>";
+- ?>
+- </td>
+- </tr>
+- </tbody>
+- </table>
+- </td>
+- <td></td>
+- <tr><td> </td><td> </td></tr>
+- <tr><td> </td><td> </td></tr>
+- <tr>
+-
+-
+-
+-
+-
+- <td valign="top" colspan='2'>
+- <table width="60%" border="0" align="center">
+- <thead>
+- <tr align="center" class="textHeaderDark" bgcolor='#00438C'>
+- <td align="center"><strong>Graph Mapping</strong></td>
+- </tr>
+- </thead>
+- <tbody>
+- <tr>
+- <td width="60%" valign="top">
+- <table width="100%" align="center" cellpadding="3">
+- <tbody>
+-
+-<?php
+-
+-$cacti_graphs = db_fetch_assoc("
+-select
+- graph_templates_graph.id,
+- graph_templates_graph.local_graph_id,
+- graph_templates_graph.height,
+- graph_templates_graph.width,
+- graph_templates_graph.title_cache as title,
+- graph_templates.name,
+- graph_local.host_id
+- from graph_local,graph_templates_graph
+- left join graph_templates on graph_local.graph_template_id=graph_templates.id
+- where graph_local.id=graph_templates_graph.local_graph_id
+- and graph_templates_graph.title_cache like '%'
+- order by graph_templates_graph.title_cache,graph_local.host_id");
+-
+- $row_count = count($cacti_graphs);
+-/* http://logindev/cacti/graph_image.php?local_graph_id=6&rra_id=0 */
+-?>
+-
+- <FORM NAME="gm" ACTION="" method="post">
+- <tr bgcolor='<?php echo $background1; ?>'>
+- <td>Associated graph:</td>
+- <td>
+- <select name="local_graph_id" size="1">
+- <?php
+- echo "<OPTION VALUE='NULL'>None</option>";
+- for($i = 0; $i < $row_count; $i++) {
+- echo "<OPTION VALUE='" . $cacti_graphs[$i]["local_graph_id"] . "'>" . $cacti_graphs[$i]["title"] . "</option>";
+- }
+- ?>
+-
+-
+- </select>
+- </td>
+- <td><INPUT TYPE="submit" VALUE="Map"></td>
+- </tr>
+- </FORM>
+-
+-
+- </tbody>
+- </table>
+- <?php
+- if ($service_detail["cacti_graph_id"]) {
+- echo "<table align='center'>";
+- echo "<tr><td width='100%'>";
+- echo "<img src='../../graph_image.php?local_graph_id=" . $service_detail["cacti_graph_id"] . "&rra_id=0'>";
+- echo "</td></tr>";
+- }
+- ?>
+- </td>
+- </tr>
+- </tbody>
+- </table>
+-
+- </td>
+-
+- </tr>
+- </table>
+-
+-<?php
+-
+-
+-}
+-
+-
+-function hostInfo() {
+-
+- $hostid = $_REQUEST["hostid"];
+- $hostname = $_REQUEST["hostname"];
+-
+- if (isset($_POST["local_graph_id"])) {
+- db_execute("update npc_host set cacti_graph_id = " . $_POST["local_graph_id"] . " where id = " . $hostid);
+- header("Location: extinfo.php?type=1&hostid=" . $hostid . "&hostname=" . $hostname);
+- }
+-
+- include_once("top_npc_header.php");
+-
+- $background1 = "#F5F5F5";
+- $background2 = "#E7E9F2";
+- $rowColor = $background1;
+-
+- $host_flapping["flapping"] = db_fetch_cell("select id from npc_flapping_host where id = $hostid");
+-
+- $host_history = db_fetch_row("select started, soft_state, hard_state, current_attempt, plugin_output from npc_host_history where hostid = $hostid order by started desc;");
+-
+- $host_check = db_fetch_row("select check_command, check_execute_time, check_latency, from_unixtime(last_check) as last_check, from_unixtime(next_check) as next_check, max_attempts, last_notification, next_notification, no_more_notifications, check_type, performance_data from npc_host_check where hostid = $hostid;");
+-
+- $host_config = db_fetch_row("select active_checks_enabled, passive_checks_enabled, event_handler_enabled, flap_detection_enabled, notifications_enabled, failure_prediction_enabled, process_performance_data, obsess_over_host, event_handler, cacti_graph_id from npc_host where id = $hostid");
+-
+- $comments = db_fetch_assoc("select id,serviceid,timestamp,author,comment,persist,type from npc_comment where hostid = $hostid");
+-
+- $graphView = db_fetch_cell("select id from graph_tree_items where host_id = (select id from host where npc_host_id = $hostid)");
+-
+- $row_count = count($comments);
+-
+- $duration = date("U") - $host_history["started"];
+-
+-?>
+-
+-
+-
+-
+- <table width="98%" border="0" cellpadding="0" cellspacing="0" align="center">
+- <tr class="textSubHeaderDark" bgcolor='#6d88ad'>
+- <td>
+- <h2> <strong><?php echo $hostname; ?></strong></h2>
+- </td>
+- <td align='right' nowrap>
+- <FORM NAME="cl" ACTION="command.php" method="POST">Command:
+- <INPUT TYPE='hidden' NAME='host' VALUE='<?php echo $hostname; ?>'>
+- <INPUT TYPE='hidden' NAME='hostid' VALUE='<?php echo $hostid; ?>'>
+- <select name="command" size="1">
+-
+-<?php
+- if (read_config_option("nagios_commands")) {
+-
+- echo "<OPTION VALUE='NULL'>Execute a command</option>";
+-
+- if ($host_config["active_checks_enabled"]) {
+- echo "<OPTION VALUE='DISABLE_HOST_CHECK'>Disable active checks</option>";
+- echo "<OPTION VALUE='SCHEDULE_HOST_CHECK'>Re-schedule the next check</option>";
+- echo "<OPTION VALUE='SCHEDULE_HOST_SVC_CHECKS'>Schedule a check of all services</option>";
+- } else {
+- echo "<OPTION VALUE='ENABLE_HOST_CHECK'>Enable Active Checks</option>";
+- }
+- echo "<OPTION VALUE='DISABLE_HOST_SVC_CHECKS'>Disable checks of all services</option>";
+- echo "<OPTION VALUE='ENABLE_HOST_SVC_CHECKS'>Enabble checks of all services</option>";
+- if ($host_config["passive_checks_enabled"]) {
+- echo "<OPTION VALUE='PROCESS_HOST_CHECK_RESULT'>Submit passive check result</option>";
+- echo "<OPTION VALUE='DISABLE_PASSIVE_HOST_CHECKS'>Stop accepting passive checks</option>";
+- } else {
+- echo "<OPTION VALUE='ENABLE_PASSIVE_HOST_CHECKS'>Start accepting passive checks</option>";
+- }
+- if ($host_config["obsess_over_service"]) {
+- echo "<OPTION VALUE='STOP_OBSESSING_OVER_HOST'>Stop obsessing</option>";
+- } else {
+- echo "<OPTION VALUE='START_OBSESSING_OVER_HOST'>Start obsessing</option>";
+- }
+- if ($host_history["soft_state"] == 1 || $host_history["soft_state"] == 2 && $host_history["soft_state"] == $host_history["hard_state"]) {
+- if (!db_fetch_cell("select * from npc_comment where hostid = $hostid and type = 4;")) {
+- echo "<OPTION VALUE='ACKNOWLEDGE_HOST_PROBLEM'>Acknowledge This Host Problem</option>";
+- } elseif (db_fetch_cell("select * from npc_comment where hostid = $hostid and type = 4;")) {
+- echo "<OPTION VALUE='REMOVE_HOST_ACKNOWLEDGEMENT'>Remove Problem Acknowledgement</option>";
+- }
+- }
+- if ($host_config["notifications_enabled"]) {
+- echo "<OPTION VALUE='DISABLE_HOST_NOTIFICATIONS'>Disable Notifications</option>";
+- if ($host_history["soft_state"] != 0) {
+- echo "<OPTION VALUE='DELAY_HOST_NOTIFICATION'>Delay Next Service Notification</option>";
+- }
+- } else {
+- echo "<OPTION VALUE='ENABLE_HOST_NOTIFICATIONS'>Enable Notifications</option>";
+- }
+- echo "<OPTION VALUE='SCHEDULE_HOST_DOWNTIME'>Schedule Downtime</option>";
+- if ($host_config["event_handler_enabled"]) {
+- echo "<OPTION VALUE='DISABLE_HOST_EVENT_HANDLER'>Disable Event Handler</option>";
+- } else {
+- echo "<OPTION VALUE='ENABLE_HOST_EVENT_HANDLER'>Enable Event Handler</option>";
+- }
+- if ($host_config["flap_detection_enabled"]) {
+- echo "<OPTION VALUE='DISABLE_HOST_FLAP_DETECTION'>Disable Flap Detection</option>";
+- } else {
+- echo "<OPTION VALUE='ENABLE_HOST_FLAP_DETECTION'>Enable Flap Detection</option>";
+- }
+- echo "<OPTION VALUE='ADD_HOST_COMMENT'>Add Host Comment</option>";
+- echo "<OPTION VALUE='DEL_ALL_HOST_COMMENTS'>Delete All Host Comments</option>";
+- } else {
+- echo "<OPTION VALUE='NULL'>Command execution disabled</option>";
+- }
+-?>
+-
+- </select>
+- <input type='image' src='../../images/button_go.gif' alt='Go' value='Execute' align='absmiddle'>
+- </form>
+-
+-
+- </td>
+- </tr>
+- <tr><td></td><td></td></tr>
+- <tr bgcolor='#a9b7cb'>
+- <td><a href='statusDetail.php?filter=showHost&name=<?php echo $hostname; ?>'>View Services</a> | <?php if ($graphView) { ?><a href='<?php echo $config['url_path']?>graph_view.php?action=tree&tree_id=1&leaf_id=<?php echo $graphView; ?>'>View Graphs</a> | <?php } ?><a href='hostConfig.php?name=<?php echo $hostname; ?>&hostid=<?php echo $hostid; ?>'>Configure</a></td>
+- <td> </td></tr>
+- </tr>
+-
+- <tr><td> </td><td> </td></tr>
+- <tr>
+- <td valign="top">
+- <table width="100%" border="0" align="left" valign="top">
+- <thead>
+- <tr class="textHeaderDark" bgcolor='#00438C'>
+- <td align="center"><strong>Host State Information</strong></td>
+- </tr>
+- </thead>
+- <tbody>
+- <tr>
+- <td width="100%" valign="top">
+- <table width="100%" align="center" cellpadding="3">
+- <thead>
+- <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>
+- <td>Parameter</td>
+- <td>Value</td>
+- </tr>
+- </thead>
+- <tbody>
+-
+-
+-<?php
+-
+-
+- $host_detail = array(
+- 'Current Status' => $host_history["soft_state"],
+- 'State Duration' => formatTime($duration),
+- 'Check Command' => $host_check["check_command"],
+- 'Plugin Output' => $host_history["plugin_output"],
+- 'Performance Data' => $host_check["performance_data"],
+- 'Current Attempt' => $host_history["current_attempt"],
+- 'Last Check' => $host_check["last_check"],
+- 'Next Check' => $host_check["next_check"],
+- 'Check Latency' => $host_check["check_latency"],
+- 'Check Duration' => $host_check["check_execute_time"],
+- 'flapping' => $host_flapping["flapping"],
+- 'Event Handler' => $host_config["event_handler"],
+- );
+-
+- foreach ($host_detail as $key => $value) {
+-
+-
+- switch($key)
+- {
+- case "Current Status":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- switch($value)
+- {
+- case "-1":
+- echo "<td class='statusPENDING'><strong>PENDING</strong></td>";
+- break;
+- case "0":
+- echo "<td class='statusHOSTUP'><strong>UP</strong></td>";
+- break;
+- case "1":
+- echo "<td class='statusHOSTDOWN'><strong>DOWN</strong></td>";
+- break;
+- case "2":
+- echo "<td class='statusHOSTUNREACHABLE'><strong>UNREACHABLE</strong></td>";
+- break;
+- }
+- echo "</tr>";
+- break;
+- case "State Duration":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "Check Command":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "Plugin Output":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "Performance Data":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "Current Attempt":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "/" . $host_check["max_attempts"] . "</td>";
+- echo "</tr>";
+- break;
+- case "Last Check":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- if (preg_match('/1969-12-31/', $value)) {
+- echo "<td>N/A</td>";
+- } else {
+- echo "<td>" . $value . "</td>";
+- }
+- echo "</tr>";
+- break;
+- case "Next Check":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- if (preg_match('/1969-12-31/', $value)) {
+- echo "<td>N/A</td>";
+- } else {
+- echo "<td>" . $value . "</td>";
+- }
+- echo "</tr>";
+- break;
+- case "Check Latency":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "Check Duration":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- echo "<td>" . $value . "</td>";
+- echo "</tr>";
+- break;
+- case "flapping":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>Flapping:</td>";
+- if ($host_detail["flapping"]) {
+- echo "<td>Yes</td>";
+- } else {
+- echo "<td>No</td>";
+- }
+- echo "</tr>";
+- break;
+- case "Event Handler":
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td>" . $key . ":</td>";
+- if (!$value) {
+- echo "<td>N/A</td>";
+- } else {
+- echo "<td>" . $value . "</td>";
+- }
+- echo "</tr>";
+- break;
+- }
+-
+- if($rowColor == $background1) {
+- $rowColor = $background2;
+- } else {
+- $rowColor = $background1;
+- }
+-
+- }
+-
+-
+-?>
+-
+- </tbody>
+- </table>
+-
+- </td>
+- </tr>
+- </tbody>
+- </table>
+-
+- </td>
+-
+- <td valign="top">
+- <table width="70%" border="0" align="right">
+- <thead>
+- <tr class="textHeaderDark" bgcolor='#00438C'>
+- <td align="center"><strong>Host Monitoring Options</strong></td>
+- </tr>
+- </thead>
+- <tbody>
+- <tr>
+- <td width="70%" valign="top">
+- <table width="100%" align="center" cellpadding="3">
+- <thead>
+- <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>
+- <td>Parameter</td>
+- <td>Value</td>
+- </tr>
+- </thead>
+- <tbody>
+-
+-<?php
+- $rowColor = $background1;
+- echo "<tr bgcolor='" . $rowColor . "'>";
+-
+-
+- foreach ($host_config as $key => $value) {
+-
+- if ($key == "event_handler") { continue; }
+- if ($key == "cacti_graph_id") { continue; }
+-
+- echo "<tr bgcolor='" . $rowColor . "'>";
+-
+- switch($key)
+- {
+- case "active_checks_enabled":
+- echo "<td>Active Checks:</td>";
+- break;
+- case "passive_checks_enabled":
+- echo "<td>Passive Checks:</td>";
+- break;
+- case "event_handler_enabled":
+- echo "<td>Event Handler:</td>";
+- break;
+- case "flap_detection_enabled":
+- echo "<td>Flap Detection:</td>";
+- break;
+- case "notifications_enabled":
+- echo "<td>Notifications:</td>";
+- break;
+- case "failure_prediction_enabled":
+- echo "<td>Failure Prediction:</td>";
+- break;
+- case "process_performance_data":
+- echo "<td>Process Performance Data:</td>";
+- break;
+- case "obsess_over_host":
+- echo "<td>Obsess Over Host:</td>";
+- break;
+- }
+-
+- if ($value == 0) {
+- echo "<td class='optionDISABLED'>Disabled</td></tr>";
+- } else {
+- echo "<td class='optionENABLED'>Enabled</td></tr>";
+- }
+-
+- if($rowColor == $background1) {
+- $rowColor = $background2;
+- } else {
+- $rowColor = $background1;
+- }
+-
+-
+- }
+-
+-?>
+- </tbody>
+- </table>
+- </td>
+- </tr>
+- </table>
+-
+- </td>
+-
+-
+-
+-<?php
+-
+-
+-
+-
+- echo "</tr>";
+- echo "<tr>";
+-
+-?>
+- <tr><td> </td><td> </td></tr>
+- <tr><td> </td><td> </td></tr>
+- <td valign="top" colspan='2'>
+- <table width="60%" border="0" align="center">
+- <thead>
+- <tr class="textHeaderDark" bgcolor='#00438C'>
+- <td align="center"><strong>Host Comments</strong></td>
+- </tr>
+- </thead>
+- <tbody>
+- <tr>
+- <td width="60%" valign="top">
+- <table width="100%" align="center" cellpadding="3">
+- <thead>
+- <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>
+- <td>Entry Time</td>
+- <td>Author</td>
+- <td>Comment</td>
+- <td>Persistent</td>
+- <td>Type</td>
+- <td>Delete</td>
+- <tbody>
+-<?php
+- for($i = 0; $i < $row_count; $i++) {
+-
+- echo "<tr bgcolor='" . $rowColor . "'>";
+- echo "<td nowrap>" . $comments[$i]["timestamp"] . "</td>";
+- echo "<td>" . $comments[$i]["author"] . "</td>";
+- echo "<td>" . $comments[$i]["comment"] . "</td>";
+- echo "<td>";
+- if ($comments[$i]["persist"]) {
+- echo "Yes";
+- } else {
+- echo "No";
+- }
+- echo "</td>";
+- echo "<td>";
+- if ($comments[$i]["type"] == 1) {
+- echo "Comment";
+- } elseif ($comments[$i]["type"] == 3) {
+- echo "Acknowledgment";
+- }
+- echo "</td>";
+- echo "<td>";
+- if ($comments[$i]["type"] == 1) {
+- echo "<a href='command.php?cmd=DEL_HOST_COMMENT&id=" . $comments[$i]["id"] . "&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='delete' title='Delete comment' border=0></a>";
+- } elseif ($comments[$i]["type"] == 3) {
+- echo "<a href='command.php?cmd=REMOVE_HOST_ACKNOWLEDGEMENT&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='Remove' title='Remove problem acknowledgment' border=0></a>";
+- }
+- echo "</td>";
+-
+-
+- if($rowColor == $background1) {
+- $rowColor = $background2;
+- } else {
+- $rowColor = $background1;
+- }
+- }
+-
+-
+-
+-
+-
+-
+-
+-?>
+- </tbody>
+- </table>
+- </td>
+- </tr>
+- <tr>
+- <td>
+- <?php
+- echo "<a href='command.php?cmd=ADD_HOST_COMMENT&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/comment.gif' alt='Add a comment' title='Add a comment' border=0></a>";
+- echo "<a href='command.php?cmd=DEL_ALL_HOST_COMMENTS&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='Delete all comments' title='Delete all comments' border=0></a>";
+- ?>
+- </td>
+- </tr>
+- </tbody>
+- </table>
+- </td>
+- <td></td>
+- <tr><td> </td><td> </td></tr>
+- <tr><td> </td><td> </td></tr>
+- <tr>
+-
+-
+-
+-
+-
+- <td valign="top" colspan='2'>
+- <table width="60%" border="0" align="center">
+- <thead>
+- <tr align="center" class="textHeaderDark" bgcolor='#00438C'>
+- <td align="center"><strong>Graph Mapping</strong></td>
+- </tr>
+- </thead>
+- <tbody>
+- <tr>
+- <td width="60%" valign="top">
+- <table width="100%" align="center" cellpadding="3">
+- <tbody>
+-
+-<?php
+-
+-$cacti_graphs = db_fetch_assoc("
+-select
+- graph_templates_graph.id,
+- graph_templates_graph.local_graph_id,
+- graph_templates_graph.height,
+- graph_templates_graph.width,
+- graph_templates_graph.title_cache as title,
+- graph_templates.name,
+- graph_local.host_id
+- from graph_local,graph_templates_graph
+- left join graph_templates on graph_local.graph_template_id=graph_templates.id
+- where graph_local.id=graph_templates_graph.local_graph_id
+- and graph_templates_graph.title_cache like '%'
+- order by graph_templates_graph.title_cache,graph_local.host_id");
+-
+- $row_count = count($cacti_graphs);
+-/* http://logindev/cacti/graph_image.php?local_graph_id=6&rra_id=0 */
+-?>
+-
+- <FORM NAME="gm" ACTION="" method="post">
+- <tr bgcolor='<?php echo $background1; ?>'>
+- <td>Associated graph:</td>
+- <td>
+- <select name="local_graph_id" size="1">
+- <?php
+- echo "<OPTION VALUE='NULL'>None</option>";
+- for($i = 0; $i < $row_count; $i++) {
+- echo "<OPTION VALUE='" . $cacti_graphs[$i]["local_graph_id"] . "'>" . $cacti_graphs[$i]["title"] . "</option>";
+- }
+- ?>
+-
+-
+- </select>
+- </td>
+- <td><INPUT TYPE="submit" VALUE="Map"></td>
+- </tr>
+- </FORM>
+-
+-
+- </tbody>
+- </table>
+- <?php
+- if ($host_config["cacti_graph_id"]) {
+- echo "<table align='center'>";
+- echo "<tr><td width='100%'>";
+- echo "<img src='../../graph_image.php?local_graph_id=" . $host_config["cacti_graph_id"] . "&rra_id=0'>";
+- echo "</td></tr>";
+- }
+- ?>
+- </td>
+- </tr>
+- </tbody>
+- </table>
+-
+- </td>
+-
+- </tr>
+- </table>
+-
+-<?php
+-
+-
+-}
+-
+-
+-
+-
+-?>
++<?php\r
++/*\r
++ +-------------------------------------------------------------------------+\r
++ | Nagios Plugin 0.1a for cacti 0.8.6f |\r
++ | Copyright (C) 2005 Billy Gunn (billy@gunn.org) |\r
++ | |\r
++ | This program is free software; you can redistribute it and/or |\r
++ | modify it under the terms of the GNU General Public License |\r
++ | as published by the Free Software Foundation; either version 2 |\r
++ | of the License, or (at your option) any later version. |\r
++ | |\r
++ | This program is distributed in the hope that it will be useful, |\r
++ | but WITHOUT ANY WARRANTY; without even the implied warranty of |\r
++ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |\r
++ | GNU General Public License for more details. |\r
++ +-------------------------------------------------------------------------+\r
++ | Cacti and Nagios are the copyright of their respective owners. |\r
++ +-------------------------------------------------------------------------+\r
++*/\r
++\r
++chdir('../../');\r
++include_once("./include/auth.php");\r
++include_once("./include/config.php");\r
++\r
++// Refresh the page at a user supplied interval\r
++header("Refresh: " . read_config_option("npc_refresh") . "; URL=" . $_SERVER["REQUEST_URI"]);\r
++\r
++/* set default action */\r
++if (!isset($_REQUEST["type"])) { $_REQUEST["type"] = ""; }\r
++\r
++switch ($_REQUEST["type"]) {\r
++ case '1':\r
++\r
++ hostInfo();\r
++ include_once("./include/bottom_footer.php");\r
++ break;\r
++\r
++ case '2':\r
++\r
++ serviceInfo();\r
++ include_once("./include/bottom_footer.php");\r
++ break;\r
++\r
++ default:\r
++\r
++ hostInfo();\r
++ include_once("./include/bottom_footer.php");\r
++ break;\r
++}\r
++\r
++\r
++function formatTime($time) {\r
++\r
++ $days = floor($time/60/60/24);\r
++ $time -= $days*60*60*24;\r
++ $hours = floor($time/60/60);\r
++ $time -= $hours*60*60;\r
++ $minutes = floor($time/60);\r
++ $time -= $minutes*60;\r
++ $seconds = $time;\r
++\r
++ return ($days . "d " . $hours . "h " . $minutes . "m " . $seconds . "s");\r
++}\r
++\r
++\r
++function serviceInfo() {\r
++\r
++ $hostid = $_REQUEST["hostid"];\r
++ $serviceid = $_REQUEST["serviceid"];\r
++ $hostname = $_REQUEST["hostname"];\r
++ $serviceName = ereg_replace("\+", " ", $_REQUEST["service"]);\r
++\r
++\r
++ if (isset($_POST["local_graph_id"])) {\r
++ db_execute("update npc_service set cacti_graph_id = " . $_POST["local_graph_id"] . " where id = " . $serviceid);\r
++ header("Location: extinfo.php?type=2&hostid=" . $hostid . "&hostname=" . $hostname . "&serviceid=" . $serviceid . "&service=" . $_REQUEST["service"]);\r
++ }\r
++\r
++ include_once("top_npc_header.php");\r
++\r
++ $background1 = "#F5F5F5";\r
++ $background2 = "#E7E9F2";\r
++ $rowColor = $background1;\r
++\r
++ $service_detail = db_fetch_row("\r
++select distinct\r
++ service_soft_state as 'Current Status',\r
++ duration as 'State Duration',\r
++ check_command as 'Check Command',\r
++ plugin_output as 'Plugin Output',\r
++ performance_data as 'Performance Data',\r
++ current_attempt as 'Current Attempt',\r
++ from_unixtime(last_check) as 'Last Check',\r
++ from_unixtime(next_check) as 'Next Check',\r
++ check_latency as 'Check Latency',\r
++ check_execute_time as 'Check Duration',\r
++ hostid,\r
++ name,\r
++ host_soft_state as 'Host Soft State',\r
++ host_notifications as 'Host Notifications',\r
++ service as 'Service',\r
++ cacti_graph_id,\r
++ serviceid,\r
++ service_hard_state,\r
++ service_notifications as 'Service Notifications',\r
++ max_attempts as 'Max Attempts'\r
++from\r
++ (\r
++ select\r
++ npc_host.id as hostid,\r
++ npc_host.name,\r
++ npc_hostgroup_membership.groupid as hostgroup,\r
++ npc_host_history.soft_state as host_soft_state,\r
++ npc_host.notifications_enabled as host_notifications,\r
++ npc_service.id as serviceid,\r
++ npc_service.cacti_graph_id,\r
++ npc_service.service_description as service,\r
++ npc_service_history.soft_state as service_soft_state,\r
++ npc_service_history.hard_state as service_hard_state,\r
++ npc_service.notifications_enabled as service_notifications,\r
++ npc_service_check.last_check,\r
++ npc_service_check.next_check,\r
++ npc_service_check.check_execute_time,\r
++ npc_service_check.check_latency,\r
++ npc_service_check.check_command,\r
++ npc_service_check.performance_data,\r
++ unix_timestamp() - npc_service_history.started as duration,\r
++ npc_service_history.current_attempt,\r
++ npc_service_check.max_attempts,\r
++ npc_service_history.plugin_output\r
++ from\r
++ npc_host,\r
++ npc_host_history,\r
++ npc_hostgroup_membership,\r
++ npc_service,\r
++ npc_service_check,\r
++ npc_service_history\r
++ where\r
++ npc_host.id = npc_hostgroup_membership.hostid and\r
++ npc_host.id = npc_service.hostid and\r
++ npc_host.id = npc_host_history.hostid and\r
++ npc_service.id = npc_service_check.serviceid and\r
++ npc_service.id = npc_service_history.serviceid and\r
++ npc_service_history.lasted is null and\r
++ npc_host_history.lasted is null and\r
++ npc_service.configured = TRUE and\r
++ npc_service.has_been_checked = TRUE and\r
++ npc_host.has_been_checked = TRUE\r
++ union\r
++ select\r
++ npc_host.id as hostid,\r
++ npc_host.name,\r
++ 0 as hostgroup,\r
++ npc_host_history.soft_state as host_soft_state,\r
++ npc_host.notifications_enabled as host_notifications,\r
++ npc_service.id as serviceid,\r
++ npc_service.cacti_graph_id,\r
++ npc_service.service_description as service,\r
++ npc_service_history.soft_state as service_soft_state,\r
++ npc_service_history.hard_state as service_hard_state,\r
++ npc_service.notifications_enabled as service_notifications,\r
++ npc_service_check.last_check,\r
++ npc_service_check.next_check,\r
++ npc_service_check.check_execute_time,\r
++ npc_service_check.check_latency,\r
++ npc_service_check.check_command,\r
++ npc_service_check.performance_data,\r
++ unix_timestamp() - npc_service_history.started as duration,\r
++ npc_service_history.current_attempt,\r
++ npc_service_check.max_attempts,\r
++ npc_service_history.plugin_output\r
++ from\r
++ npc_host,\r
++ npc_host_history,\r
++ npc_service,\r
++ npc_service_check,\r
++ npc_service_history\r
++ where\r
++ npc_host.id not in (select hostid from npc_hostgroup_membership) and\r
++ npc_host.id = npc_service.hostid and\r
++ npc_host.id = npc_host_history.hostid and\r
++ npc_service.id = npc_service_check.serviceid and\r
++ npc_service.id = npc_service_history.serviceid and\r
++ npc_service_history.lasted is null and\r
++ npc_host_history.lasted is null and\r
++ npc_service.configured = TRUE and\r
++ npc_service.has_been_checked = TRUE and\r
++ npc_host.has_been_checked = TRUE\r
++ union\r
++ select\r
++ npc_host.id as hostid,\r
++ npc_host.name,\r
++ npc_hostgroup_membership.groupid as hostgroup,\r
++ -1 as host_soft_state,\r
++ npc_host.notifications_enabled as host_notifications,\r
++ npc_service.id as serviceid,\r
++ npc_service.cacti_graph_id,\r
++ npc_service.service_description as service,\r
++ npc_service_history.soft_state as service_soft_state,\r
++ npc_service_history.hard_state as service_hard_state,\r
++ npc_service.notifications_enabled as service_notifications,\r
++ npc_service_check.last_check,\r
++ npc_service_check.next_check,\r
++ npc_service_check.check_execute_time,\r
++ npc_service_check.check_latency,\r
++ npc_service_check.check_command,\r
++ npc_service_check.performance_data,\r
++ unix_timestamp() - npc_service_history.started as duration,\r
++ npc_service_history.current_attempt,\r
++ npc_service_check.max_attempts,\r
++ npc_service_history.plugin_output\r
++ from\r
++ npc_host,\r
++ npc_hostgroup_membership,\r
++ npc_service,\r
++ npc_service_check,\r
++ npc_service_history\r
++ where\r
++ npc_host.id = npc_hostgroup_membership.hostid and\r
++ npc_host.id = npc_service.hostid and\r
++ npc_service.id = npc_service_check.serviceid and\r
++ npc_service.id = npc_service_history.serviceid and\r
++ npc_service_history.lasted is null and\r
++ npc_service.configured = TRUE and\r
++ npc_service.has_been_checked = TRUE and\r
++ npc_host.has_been_checked = FALSE\r
++ union\r
++ select\r
++ npc_host.id as hostid,\r
++ npc_host.name,\r
++ 0 as hostgroup,\r
++ -1 as host_soft_state,\r
++ npc_host.notifications_enabled as host_notifications,\r
++ npc_service.id as serviceid,\r
++ npc_service.cacti_graph_id,\r
++ npc_service.service_description as service,\r
++ npc_service_history.soft_state as service_soft_state,\r
++ npc_service_history.hard_state as service_hard_state,\r
++ npc_service.notifications_enabled as service_notifications,\r
++ npc_service_check.last_check,\r
++ npc_service_check.next_check,\r
++ npc_service_check.check_execute_time,\r
++ npc_service_check.check_latency,\r
++ npc_service_check.check_command,\r
++ npc_service_check.performance_data,\r
++ unix_timestamp() - npc_service_history.started as duration,\r
++ npc_service_history.current_attempt,\r
++ npc_service_check.max_attempts,\r
++ npc_service_history.plugin_output\r
++ from\r
++ npc_host,\r
++ npc_service,\r
++ npc_service_check,\r
++ npc_service_history\r
++ where\r
++ npc_host.id not in (select hostid from npc_hostgroup_membership) and\r
++ npc_host.id = npc_service.hostid and\r
++ npc_service.id = npc_service_check.serviceid and\r
++ npc_service.id = npc_service_history.serviceid and\r
++ npc_service_history.lasted is null and\r
++ npc_service.configured = TRUE and\r
++ npc_service.has_been_checked = TRUE and\r
++ npc_host.has_been_checked = FALSE\r
++ union\r
++ select\r
++ npc_host.id as hostid,\r
++ npc_host.name,\r
++ npc_hostgroup_membership.groupid as hostgroup,\r
++ npc_host_history.soft_state as host_soft_state,\r
++ npc_host.notifications_enabled as host_notifications,\r
++ npc_service.id as serviceid,\r
++ npc_service.cacti_graph_id,\r
++ npc_service.service_description as service,\r
++ -1 as service_soft_state,\r
++ -1 as service_hard_state,\r
++ npc_service.notifications_enabled as service_notifications,\r
++ npc_service_check.last_check,\r
++ npc_service_check.next_check,\r
++ npc_service_check.check_execute_time,\r
++ npc_service_check.check_latency,\r
++ npc_service_check.check_command,\r
++ npc_service_check.performance_data,\r
++ 0 as duration,\r
++ 0 as current_attempt,\r
++ npc_service_check.max_attempts,\r
++ null as plugin_output\r
++ from\r
++ npc_host,\r
++ npc_host_history,\r
++ npc_hostgroup_membership,\r
++ npc_service,\r
++ npc_service_check\r
++ where\r
++ npc_host.id = npc_hostgroup_membership.hostid and\r
++ npc_host.id = npc_service.hostid and\r
++ npc_host.id = npc_host_history.hostid and\r
++ npc_service.id = npc_service_check.serviceid and\r
++ npc_host_history.lasted is null and\r
++ npc_service.configured = TRUE and\r
++ npc_service.has_been_checked = FALSE and\r
++ npc_host.has_been_checked = TRUE\r
++ union\r
++ select\r
++ npc_host.id as hostid,\r
++ npc_host.name,\r
++ 0 as hostgroup,\r
++ npc_host_history.soft_state as host_soft_state,\r
++ npc_host.notifications_enabled as host_notifications,\r
++ npc_service.id as serviceid,\r
++ npc_service.cacti_graph_id,\r
++ npc_service.service_description as service,\r
++ -1 as service_soft_state,\r
++ -1 as service_hard_state,\r
++ npc_service.notifications_enabled as service_notifications,\r
++ npc_service_check.last_check,\r
++ npc_service_check.next_check,\r
++ npc_service_check.check_execute_time,\r
++ npc_service_check.check_latency,\r
++ npc_service_check.check_command,\r
++ npc_service_check.performance_data,\r
++ 0 as duration,\r
++ 0 as current_attempt,\r
++ npc_service_check.max_attempts,\r
++ null as plugin_output\r
++ from\r
++ npc_host,\r
++ npc_host_history,\r
++ npc_service,\r
++ npc_service_check\r
++ where\r
++ npc_host.id not in (select hostid from npc_hostgroup_membership) and\r
++ npc_host.id = npc_service.hostid and\r
++ npc_host.id = npc_host_history.hostid and\r
++ npc_service.id = npc_service_check.serviceid and\r
++ npc_host_history.lasted is null and\r
++ npc_service.configured = TRUE and\r
++ npc_service.has_been_checked = FALSE and\r
++ npc_host.has_been_checked = TRUE\r
++ union\r
++ select\r
++ npc_host.id as hostid,\r
++ npc_host.name,\r
++ npc_hostgroup_membership.groupid as hostgroup,\r
++ -1 as host_soft_state,\r
++ npc_host.notifications_enabled as host_notifications,\r
++ npc_service.id as serviceid,\r
++ npc_service.cacti_graph_id,\r
++ npc_service.service_description as service,\r
++ -1 as service_soft_state,\r
++ -1 as service_hard_state,\r
++ npc_service.notifications_enabled as service_notifications,\r
++ npc_service_check.last_check,\r
++ npc_service_check.next_check,\r
++ npc_service_check.check_execute_time,\r
++ npc_service_check.check_latency,\r
++ npc_service_check.check_command,\r
++ npc_service_check.performance_data,\r
++ 0 as duration,\r
++ 0 as current_attempt,\r
++ npc_service_check.max_attempts,\r
++ null as plugin_output\r
++ from\r
++ npc_host,\r
++ npc_hostgroup_membership,\r
++ npc_service,\r
++ npc_service_check\r
++ where\r
++ npc_host.id = npc_hostgroup_membership.hostid and\r
++ npc_host.id = npc_service.hostid and\r
++ npc_service.id = npc_service_check.serviceid and\r
++ npc_service.configured = TRUE and\r
++ npc_service.has_been_checked = FALSE and\r
++ npc_host.has_been_checked = FALSE\r
++ union\r
++ select\r
++ npc_host.id as hostid,\r
++ npc_host.name,\r
++ 0 as hostgroup,\r
++ -1 as host_soft_state,\r
++ npc_host.notifications_enabled as host_notifications,\r
++ npc_service.id as serviceid,\r
++ npc_service.cacti_graph_id,\r
++ npc_service.service_description as service,\r
++ -1 as service_soft_state,\r
++ -1 as service_hard_state,\r
++ npc_service.notifications_enabled as service_notifications,\r
++ npc_service_check.last_check,\r
++ npc_service_check.next_check,\r
++ npc_service_check.check_execute_time,\r
++ npc_service_check.check_latency,\r
++ npc_service_check.check_command,\r
++ npc_service_check.performance_data,\r
++ 0 as duration,\r
++ 0 as current_attempt,\r
++ npc_service_check.max_attempts,\r
++ null as plugin_output\r
++ from\r
++ npc_host,\r
++ npc_service,\r
++ npc_service_check\r
++ where\r
++ npc_host.id not in (select hostid from npc_hostgroup_membership) and\r
++ npc_host.id = npc_service.hostid and\r
++ npc_service.id = npc_service_check.serviceid and\r
++ npc_service.configured = TRUE and\r
++ npc_service.has_been_checked = FALSE and\r
++ npc_host.has_been_checked = FALSE\r
++ order by\r
++ name\r
++ ) as host_details where hostid = $hostid and service = '$serviceName'");\r
++\r
++ $service_detail["flapping"] = db_fetch_cell("select id from npc_flapping_service where id = $serviceid");\r
++ $service_config = db_fetch_row("select active_checks_enabled, passive_checks_enabled, event_handler_enabled, flap_detection_enabled, notifications_enabled, failure_prediction_enabled, process_performance_data, obsess_over_service, event_handler from npc_service where hostid = $hostid and service_description = '$serviceName'");\r
++ $comments = db_fetch_assoc("select id,serviceid,timestamp,author,comment,persist,type from npc_comment where serviceid = '$serviceid'");\r
++ $row_count = count($comments);\r
++\r
++?>\r
++\r
++\r
++\r
++\r
++ <table width="98%" border="0" cellpadding="0" cellspacing="0" align="center">\r
++ <tr class="textSubHeaderDark" bgcolor='#6d88ad'>\r
++ <td>\r
++ <h2> [ <?php echo $serviceName; ?> ] on \r
++ <a href="extinfo.php?type=1&hostid=<?php echo $hostid; ?>&hostname=<?php echo $hostname; ?>"><?php echo $hostname; ?></a></h2>\r
++ </td>\r
++ <td align='right' nowrap>\r
++ <FORM NAME="cl" ACTION="command.php" method="POST">Command: \r
++ <INPUT TYPE='hidden' NAME='host' VALUE='<?php echo $hostname; ?>'>\r
++ <INPUT TYPE='hidden' NAME='hostid' VALUE='<?php echo $service_detail["hostid"]; ?>'>\r
++ <INPUT TYPE='hidden' NAME='service' VALUE='<?php echo $serviceName; ?>'>\r
++ <INPUT TYPE='hidden' NAME='serviceid' VALUE='<?php echo $service_detail["serviceid"]; ?>'>\r
++ <select name="command" size="1">\r
++\r
++<?php \r
++ if (read_config_option("nagios_commands")) {\r
++\r
++ echo "<OPTION VALUE='NULL'>Execute a command</option>";\r
++\r
++ if ($service_config["active_checks_enabled"]) {\r
++ echo "<strong><OPTION VALUE='DISABLE_SVC_CHECK'>Disable active checks</option></strong>";\r
++ echo "<OPTION VALUE='SCHEDULE_SVC_CHECK'>Re-schedule the next check</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='ENABLE_SVC_CHECK'>Enable Active Checks</option>";\r
++ }\r
++ if ($service_config["passive_checks_enabled"]) {\r
++ echo "<OPTION VALUE='PROCESS_SVC_CHECK_RESULT'>Submit passive check result</option>";\r
++ echo "<OPTION VALUE='DISABLE_PASSIVE_SVC_CHECKS'>Stop accepting passive checks</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='ENABLE_PASSIVE_SVC_CHECKS'>Start accepting passive checks</option>";\r
++ }\r
++ if ($service_config["obsess_over_service"]) {\r
++ echo "<OPTION VALUE='STOP_OBSESSING_OVER_SVC'>Stop obsessing</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='START_OBSESSING_OVER_SVC'>Start obsessing</option>";\r
++ }\r
++ if ($service_detail["Current Status"] == 1 || $service_detail["Current Status"] == 2 || $service_detail["Current Status"] == 3 && $service_detail["Current Status"] == $service_detail["service_hard_state"]) {\r
++ if (!db_fetch_cell("select * from npc_comment where serviceid = $serviceid and type = 4;")) {\r
++ echo "<OPTION VALUE='ACKNOWLEDGE_SVC_PROBLEM'>Acknowledge This Service Problem</option>";\r
++ } elseif (db_fetch_cell("select * from npc_comment where serviceid = $serviceid and type = 4;")) {\r
++ echo "<OPTION VALUE='REMOVE_SVC_ACKNOWLEDGEMENT'>Remove Problem Acknowledgement</option>";\r
++ }\r
++ }\r
++ if ($service_config["notifications_enabled"]) {\r
++ echo "<OPTION VALUE='DISABLE_SVC_NOTIFICATIONS'>Disable Notifications</option>";\r
++ if ($service_detail["Current Status"] != 0) {\r
++ echo "<OPTION VALUE='DELAY_SVC_NOTIFICATION'>Delay Next Service Notification</option>";\r
++ }\r
++ } else {\r
++ echo "<OPTION VALUE='ENABLE_SVC_NOTIFICATIONS'>Enable Notifications</option>";\r
++ }\r
++ echo "<OPTION VALUE='SCHEDULE_SVC_DOWNTIME'>Schedule Downtime</option>";\r
++ if ($service_config["event_handler_enabled"]) {\r
++ echo "<OPTION VALUE='DISABLE_SVC_EVENT_HANDLER'>Disable Event Handler</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='ENABLE_SVC_EVENT_HANDLER'>Enable Event Handler</option>";\r
++ }\r
++ if ($service_config["flap_detection_enabled"]) {\r
++ echo "<OPTION VALUE='DISABLE_SVC_FLAP_DETECTION'>Disable Flap Detection</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='ENABLE_SVC_FLAP_DETECTION'>Enable Flap Detection</option>";\r
++ }\r
++ echo "<OPTION VALUE='ADD_SVC_COMMENT'>Add Service Comment</option>";\r
++ echo "<OPTION VALUE='DEL_ALL_SVC_COMMENTS'>Delete All Service Comments</option>";\r
++ } else {\r
++ echo "<OPTION VALUE=''>Command execution disabled</option>";\r
++ }\r
++?>\r
++\r
++ </select>\r
++ <input type='image' src='../../images/button_go.gif' alt='Go' value='Execute' align='absmiddle'>\r
++ </form>\r
++\r
++\r
++ </td>\r
++ </tr>\r
++\r
++ <tr><td> </td><td> </td></tr>\r
++ <tr>\r
++ <td valign="top">\r
++ <table width="100%" border="0" align="left" valign="top">\r
++ <thead>\r
++ <tr class="textHeaderDark" bgcolor='#00438C'>\r
++ <td align="center"><strong>Service State Information</strong></td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++ <tr>\r
++ <td width="100%" valign="top">\r
++ <table width="100%" align="center" cellpadding="3">\r
++ <thead>\r
++ <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r
++ <td>Parameter</td>\r
++ <td>Value</td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++\r
++\r
++<?php\r
++\r
++\r
++ foreach ($service_detail as $key => $value) {\r
++\r
++\r
++ switch($key) \r
++ {\r
++ case "Current Status":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ switch($value)\r
++ {\r
++ case "-1":\r
++ echo "<td class='statusPENDING'><strong>PENDING</strong></td>";\r
++ break;\r
++ case "0":\r
++ echo "<td class='statusOK'><strong>OK</strong></td>";\r
++ break;\r
++ case "1":\r
++ echo "<td class='statusWARNING'><strong>WARNING</strong></td>";\r
++ break;\r
++ case "2":\r
++ echo "<td class='statusCRITICAL'><strong>CRITICAL</strong></td>";\r
++ break;\r
++ case "3":\r
++ echo "<td class='statusUNKNOWN'><strong>UNKNOWN</strong></td>";\r
++ break;\r
++ }\r
++ echo "</tr>";\r
++ break;\r
++ case "State Duration":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . formatTime($value) . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Check Command":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Plugin Output":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Performance Data":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Current Attempt":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "/" . $service_detail["Max Attempts"] . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Last Check":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ if (preg_match('/1969-12-31/', $value)) {\r
++ echo "<td>N/A</td>";\r
++ } else {\r
++ echo "<td>" . $value . "</td>";\r
++ }\r
++ echo "</tr>";\r
++ break;\r
++ case "Next Check":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Check Latency":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Check Duration":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "flapping":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>Flapping:</td>";\r
++ if ($service_detail["flapping"]) {\r
++ echo "<td>Yes</td>";\r
++ } else {\r
++ echo "<td>No</td>";\r
++ }\r
++ echo "</tr>";\r
++ break;\r
++ }\r
++\r
++ if($rowColor == $background1) {\r
++ $rowColor = $background2;\r
++ } else {\r
++ $rowColor = $background1;\r
++ }\r
++\r
++ if ($key == "flapping") {\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>Event Handler:</td>";\r
++ if (!$service_config["event_handler"]) {\r
++ echo "<td>N/A</td>";\r
++ } else {\r
++ echo "<td>" . $service_config["event_handler"] . "</td>";\r
++ }\r
++ echo "</tr>";\r
++ }\r
++\r
++\r
++ }\r
++\r
++\r
++?>\r
++\r
++ </tbody>\r
++ </table>\r
++\r
++ </td>\r
++ </tr>\r
++ </tbody>\r
++ </table>\r
++\r
++ </td>\r
++\r
++ <td valign="top">\r
++ <table width="70%" border="0" align="right">\r
++ <thead>\r
++ <tr class="textHeaderDark" bgcolor='#00438C'>\r
++ <td align="center"><strong>Service Monitoring Options</strong></td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++ <tr>\r
++ <td width="70%" valign="top">\r
++ <table width="100%" align="center" cellpadding="3">\r
++ <thead>\r
++ <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r
++ <td>Parameter</td>\r
++ <td>Value</td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++\r
++<?php\r
++ $rowColor = $background1;\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++\r
++\r
++ foreach ($service_config as $key => $value) {\r
++\r
++ if ($key == "event_handler") { continue; }\r
++\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++\r
++ switch($key)\r
++ {\r
++ case "active_checks_enabled":\r
++ echo "<td>Active Checks:</td>";\r
++ break;\r
++ case "passive_checks_enabled":\r
++ echo "<td>Passive Checks:</td>";\r
++ break;\r
++ case "event_handler_enabled":\r
++ echo "<td>Event Handler:</td>";\r
++ break;\r
++ case "flap_detection_enabled":\r
++ echo "<td>Flap Detection:</td>";\r
++ break;\r
++ case "notifications_enabled":\r
++ echo "<td>Notifications:</td>";\r
++ break;\r
++ case "failure_prediction_enabled":\r
++ echo "<td>Failure Prediction:</td>";\r
++ break;\r
++ case "process_performance_data":\r
++ echo "<td>Process Performance Data:</td>";\r
++ break;\r
++ case "obsess_over_service":\r
++ echo "<td>Obsess Over Service:</td>";\r
++ break;\r
++ }\r
++\r
++ if ($value == 0) {\r
++ echo "<td class='optionDISABLED'>Disabled</td></tr>";\r
++ } else {\r
++ echo "<td class='optionENABLED'>Enabled</td></tr>";\r
++ }\r
++\r
++ if($rowColor == $background1) {\r
++ $rowColor = $background2;\r
++ } else {\r
++ $rowColor = $background1;\r
++ }\r
++\r
++\r
++ }\r
++\r
++?>\r
++ </tbody>\r
++ </table>\r
++ </td>\r
++ </tr>\r
++ </table>\r
++\r
++ </td>\r
++\r
++\r
++\r
++<?php\r
++\r
++\r
++\r
++\r
++ echo "</tr>";\r
++ echo "<tr>";\r
++\r
++?>\r
++ <tr><td> </td><td> </td></tr>\r
++ <tr><td> </td><td> </td></tr>\r
++ <td valign="top" colspan='2'>\r
++ <table width="60%" border="0" align="center">\r
++ <thead>\r
++ <tr class="textHeaderDark" bgcolor='#00438C'>\r
++ <td align="center"><strong>Service Comments</strong></td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++ <tr>\r
++ <td width="60%" valign="top">\r
++ <table width="100%" align="center" cellpadding="3">\r
++ <thead>\r
++ <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r
++ <td>Entry Time</td>\r
++ <td>Author</td>\r
++ <td>Comment</td>\r
++ <td>Persistent</td>\r
++ <td>Type</td>\r
++ <td>Delete</td>\r
++ <tbody>\r
++<?php\r
++ for($i = 0; $i < $row_count; $i++) {\r
++ \r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td nowrap>" . $comments[$i]["timestamp"] . "</td>";\r
++ echo "<td>" . $comments[$i]["author"] . "</td>";\r
++ echo "<td>" . $comments[$i]["comment"] . "</td>";\r
++ echo "<td>";\r
++ if ($comments[$i]["persist"]) {\r
++ echo "Yes";\r
++ } else {\r
++ echo "No"; \r
++ }\r
++ echo "</td>";\r
++ echo "<td>";\r
++ if ($comments[$i]["type"] == 2) {\r
++ echo "Comment";\r
++ } elseif ($comments[$i]["type"] == 4) {\r
++ echo "Acknowledgment";\r
++ }\r
++ echo "</td>";\r
++ echo "<td>";\r
++ if ($comments[$i]["type"] == 2) {\r
++ echo "<a href='command.php?cmd=DEL_SVC_COMMENT&id=" . $comments[$i]["id"] . "&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='delete' title='Delete comment' border=0></a>";\r
++ } elseif ($comments[$i]["type"] == 4) {\r
++ echo "<a href='command.php?cmd=REMOVE_SVC_ACKNOWLEDGEMENT&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='Remove' title='Remove problem acknowledgment' border=0></a>";\r
++ }\r
++ echo "</td>";\r
++\r
++\r
++ if($rowColor == $background1) {\r
++ $rowColor = $background2;\r
++ } else {\r
++ $rowColor = $background1;\r
++ }\r
++ }\r
++\r
++\r
++\r
++\r
++\r
++\r
++\r
++?>\r
++ </tbody>\r
++ </table>\r
++ </td>\r
++ </tr>\r
++ <tr>\r
++ <td>\r
++ <?php \r
++ echo "<a href='command.php?cmd=ADD_SVC_COMMENT&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/comment.gif' alt='Add a comment' title='Add a comment' border=0></a>"; \r
++ echo "<a href='command.php?cmd=DEL_ALL_SVC_COMMENTS&host=" . $hostname . "&hostid=" . $hostid . "&service=" . $_REQUEST["service"] . "&serviceid=" . $serviceid . "'><img src='images/delete.gif' alt='Delete all comments' title='Delete all comments' border=0></a>"; \r
++ ?>\r
++ </td>\r
++ </tr>\r
++ </tbody>\r
++ </table>\r
++ </td>\r
++ <td></td>\r
++ <tr><td> </td><td> </td></tr>\r
++ <tr><td> </td><td> </td></tr>\r
++ <tr>\r
++\r
++\r
++\r
++\r
++\r
++ <td valign="top" colspan='2'>\r
++ <table width="60%" border="0" align="center">\r
++ <thead>\r
++ <tr align="center" class="textHeaderDark" bgcolor='#00438C'>\r
++ <td align="center"><strong>Graph Mapping</strong></td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++ <tr>\r
++ <td width="60%" valign="top">\r
++ <table width="100%" align="center" cellpadding="3">\r
++ <tbody>\r
++\r
++<?php\r
++\r
++$cacti_graphs = db_fetch_assoc("\r
++select\r
++ graph_templates_graph.id,\r
++ graph_templates_graph.local_graph_id,\r
++ graph_templates_graph.height,\r
++ graph_templates_graph.width,\r
++ graph_templates_graph.title_cache as title,\r
++ graph_templates.name,\r
++ graph_local.host_id\r
++ from graph_local,graph_templates_graph\r
++ left join graph_templates on graph_template_id=graph_templates.id\r
++ where graph_local.id=graph_templates_graph.local_graph_id\r
++ and graph_templates_graph.title_cache like '%'\r
++ order by graph_templates_graph.title_cache,graph_local.host_id");\r
++\r
++ $row_count = count($cacti_graphs);\r
++/* http://logindev/cacti/graph_image.php?local_graph_id=6&rra_id=0 */\r
++?>\r
++\r
++ <FORM NAME="gm" ACTION="" method="post">\r
++ <tr bgcolor='<?php echo $background1; ?>'>\r
++ <td>Associated graph:</td>\r
++ <td>\r
++ <select name="local_graph_id" size="1">\r
++ <?php\r
++ echo "<OPTION VALUE='NULL'>None</option>";\r
++ for($i = 0; $i < $row_count; $i++) {\r
++ echo "<OPTION VALUE='" . $cacti_graphs[$i]["local_graph_id"] . "'>" . $cacti_graphs[$i]["title"] . "</option>";\r
++ }\r
++ ?> \r
++\r
++\r
++ </select>\r
++ </td>\r
++ <td><INPUT TYPE="submit" VALUE="Map"></td>\r
++ </tr>\r
++ </FORM>\r
++\r
++\r
++ </tbody>\r
++ </table>\r
++ <?php \r
++ if ($service_detail["cacti_graph_id"]) {\r
++ echo "<table align='center'>";\r
++ echo "<tr><td width='100%'>";\r
++ echo "<img src='../../graph_image.php?local_graph_id=" . $service_detail["cacti_graph_id"] . "&rra_id=0'>";\r
++ echo "</td></tr>";\r
++ }\r
++ ?>\r
++ </td>\r
++ </tr>\r
++ </tbody>\r
++ </table>\r
++\r
++ </td>\r
++\r
++ </tr>\r
++ </table>\r
++\r
++<?php\r
++\r
++\r
++}\r
++\r
++\r
++function hostInfo() {\r
++\r
++ $hostid = $_REQUEST["hostid"];\r
++ $hostname = $_REQUEST["hostname"];\r
++\r
++ if (isset($_POST["local_graph_id"])) {\r
++ db_execute("update npc_host set cacti_graph_id = " . $_POST["local_graph_id"] . " where id = " . $hostid);\r
++ header("Location: extinfo.php?type=1&hostid=" . $hostid . "&hostname=" . $hostname);\r
++ }\r
++\r
++ include_once("top_npc_header.php");\r
++\r
++ $background1 = "#F5F5F5";\r
++ $background2 = "#E7E9F2";\r
++ $rowColor = $background1;\r
++\r
++ $host_flapping["flapping"] = db_fetch_cell("select id from npc_flapping_host where id = $hostid");\r
++\r
++ $host_history = db_fetch_row("select started, soft_state, hard_state, current_attempt, plugin_output from npc_host_history where hostid = $hostid order by started desc;");\r
++\r
++ $host_check = db_fetch_row("select check_command, check_execute_time, check_latency, from_unixtime(last_check) as last_check, from_unixtime(next_check) as next_check, max_attempts, last_notification, next_notification, no_more_notifications, check_type, performance_data from npc_host_check where hostid = $hostid;");\r
++\r
++ $host_config = db_fetch_row("select active_checks_enabled, passive_checks_enabled, event_handler_enabled, flap_detection_enabled, notifications_enabled, failure_prediction_enabled, process_performance_data, obsess_over_host, event_handler, cacti_graph_id from npc_host where id = $hostid");\r
++\r
++ $comments = db_fetch_assoc("select id,serviceid,timestamp,author,comment,persist,type from npc_comment where hostid = $hostid");\r
++\r
++ $graphView = db_fetch_cell("select id from graph_tree_items where host_id = (select id from host where npc_host_id = $hostid)");\r
++\r
++ $row_count = count($comments);\r
++\r
++ $duration = date("U") - $host_history["started"];\r
++\r
++?>\r
++\r
++\r
++\r
++\r
++ <table width="98%" border="0" cellpadding="0" cellspacing="0" align="center">\r
++ <tr class="textSubHeaderDark" bgcolor='#6d88ad'>\r
++ <td>\r
++ <h2> <strong><?php echo $hostname; ?></strong></h2>\r
++ </td>\r
++ <td align='right' nowrap>\r
++ <FORM NAME="cl" ACTION="command.php" method="POST">Command: \r
++ <INPUT TYPE='hidden' NAME='host' VALUE='<?php echo $hostname; ?>'>\r
++ <INPUT TYPE='hidden' NAME='hostid' VALUE='<?php echo $hostid; ?>'>\r
++ <select name="command" size="1">\r
++\r
++<?php \r
++ if (read_config_option("nagios_commands")) {\r
++\r
++ echo "<OPTION VALUE='NULL'>Execute a command</option>";\r
++\r
++ if ($host_config["active_checks_enabled"]) {\r
++ echo "<OPTION VALUE='DISABLE_HOST_CHECK'>Disable active checks</option>";\r
++ echo "<OPTION VALUE='SCHEDULE_HOST_CHECK'>Re-schedule the next check</option>";\r
++ echo "<OPTION VALUE='SCHEDULE_HOST_SVC_CHECKS'>Schedule a check of all services</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='ENABLE_HOST_CHECK'>Enable Active Checks</option>";\r
++ }\r
++ echo "<OPTION VALUE='DISABLE_HOST_SVC_CHECKS'>Disable checks of all services</option>";\r
++ echo "<OPTION VALUE='ENABLE_HOST_SVC_CHECKS'>Enabble checks of all services</option>";\r
++ if ($host_config["passive_checks_enabled"]) {\r
++ echo "<OPTION VALUE='PROCESS_HOST_CHECK_RESULT'>Submit passive check result</option>";\r
++ echo "<OPTION VALUE='DISABLE_PASSIVE_HOST_CHECKS'>Stop accepting passive checks</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='ENABLE_PASSIVE_HOST_CHECKS'>Start accepting passive checks</option>";\r
++ }\r
++ if ($host_config["obsess_over_service"]) {\r
++ echo "<OPTION VALUE='STOP_OBSESSING_OVER_HOST'>Stop obsessing</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='START_OBSESSING_OVER_HOST'>Start obsessing</option>";\r
++ }\r
++ if ($host_history["soft_state"] == 1 || $host_history["soft_state"] == 2 && $host_history["soft_state"] == $host_history["hard_state"]) {\r
++ if (!db_fetch_cell("select * from npc_comment where hostid = $hostid and type = 4;")) {\r
++ echo "<OPTION VALUE='ACKNOWLEDGE_HOST_PROBLEM'>Acknowledge This Host Problem</option>";\r
++ } elseif (db_fetch_cell("select * from npc_comment where hostid = $hostid and type = 4;")) {\r
++ echo "<OPTION VALUE='REMOVE_HOST_ACKNOWLEDGEMENT'>Remove Problem Acknowledgement</option>";\r
++ }\r
++ }\r
++ if ($host_config["notifications_enabled"]) {\r
++ echo "<OPTION VALUE='DISABLE_HOST_NOTIFICATIONS'>Disable Notifications</option>";\r
++ if ($host_history["soft_state"] != 0) {\r
++ echo "<OPTION VALUE='DELAY_HOST_NOTIFICATION'>Delay Next Service Notification</option>";\r
++ }\r
++ } else {\r
++ echo "<OPTION VALUE='ENABLE_HOST_NOTIFICATIONS'>Enable Notifications</option>";\r
++ }\r
++ echo "<OPTION VALUE='SCHEDULE_HOST_DOWNTIME'>Schedule Downtime</option>";\r
++ if ($host_config["event_handler_enabled"]) {\r
++ echo "<OPTION VALUE='DISABLE_HOST_EVENT_HANDLER'>Disable Event Handler</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='ENABLE_HOST_EVENT_HANDLER'>Enable Event Handler</option>";\r
++ }\r
++ if ($host_config["flap_detection_enabled"]) {\r
++ echo "<OPTION VALUE='DISABLE_HOST_FLAP_DETECTION'>Disable Flap Detection</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='ENABLE_HOST_FLAP_DETECTION'>Enable Flap Detection</option>";\r
++ }\r
++ echo "<OPTION VALUE='ADD_HOST_COMMENT'>Add Host Comment</option>";\r
++ echo "<OPTION VALUE='DEL_ALL_HOST_COMMENTS'>Delete All Host Comments</option>";\r
++ } else {\r
++ echo "<OPTION VALUE='NULL'>Command execution disabled</option>";\r
++ }\r
++?>\r
++\r
++ </select>\r
++ <input type='image' src='../../images/button_go.gif' alt='Go' value='Execute' align='absmiddle'>\r
++ </form>\r
++\r
++\r
++ </td>\r
++ </tr>\r
++ <tr><td></td><td></td></tr>\r
++ <tr bgcolor='#a9b7cb'>\r
++ <td><a href='statusDetail.php?filter=showHost&name=<?php echo $hostname; ?>'>View Services</a> | <?php if ($graphView) { ?><a href='<?php echo $config['url_path']?>graph_view.php?action=tree&tree_id=1&leaf_id=<?php echo $graphView; ?>'>View Graphs</a> | <?php } ?><a href='hostConfig.php?name=<?php echo $hostname; ?>&hostid=<?php echo $hostid; ?>'>Configure</a></td>\r
++ <td> </td></tr>\r
++ </tr>\r
++\r
++ <tr><td> </td><td> </td></tr>\r
++ <tr>\r
++ <td valign="top">\r
++ <table width="100%" border="0" align="left" valign="top">\r
++ <thead>\r
++ <tr class="textHeaderDark" bgcolor='#00438C'>\r
++ <td align="center"><strong>Host State Information</strong></td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++ <tr>\r
++ <td width="100%" valign="top">\r
++ <table width="100%" align="center" cellpadding="3">\r
++ <thead>\r
++ <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r
++ <td>Parameter</td>\r
++ <td>Value</td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++\r
++\r
++<?php\r
++\r
++\r
++ $host_detail = array(\r
++ 'Current Status' => $host_history["soft_state"],\r
++ 'State Duration' => formatTime($duration),\r
++ 'Check Command' => $host_check["check_command"],\r
++ 'Plugin Output' => $host_history["plugin_output"],\r
++ 'Performance Data' => $host_check["performance_data"],\r
++ 'Current Attempt' => $host_history["current_attempt"],\r
++ 'Last Check' => $host_check["last_check"],\r
++ 'Next Check' => $host_check["next_check"],\r
++ 'Check Latency' => $host_check["check_latency"],\r
++ 'Check Duration' => $host_check["check_execute_time"],\r
++ 'flapping' => $host_flapping["flapping"],\r
++ 'Event Handler' => $host_config["event_handler"],\r
++ );\r
++\r
++ foreach ($host_detail as $key => $value) {\r
++\r
++\r
++ switch($key) \r
++ {\r
++ case "Current Status":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ switch($value)\r
++ {\r
++ case "-1":\r
++ echo "<td class='statusPENDING'><strong>PENDING</strong></td>";\r
++ break;\r
++ case "0":\r
++ echo "<td class='statusHOSTUP'><strong>UP</strong></td>";\r
++ break;\r
++ case "1":\r
++ echo "<td class='statusHOSTDOWN'><strong>DOWN</strong></td>";\r
++ break;\r
++ case "2":\r
++ echo "<td class='statusHOSTUNREACHABLE'><strong>UNREACHABLE</strong></td>";\r
++ break;\r
++ }\r
++ echo "</tr>";\r
++ break;\r
++ case "State Duration":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Check Command":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Plugin Output":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Performance Data":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Current Attempt":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "/" . $host_check["max_attempts"] . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Last Check":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ if (preg_match('/1969-12-31/', $value)) {\r
++ echo "<td>N/A</td>";\r
++ } else {\r
++ echo "<td>" . $value . "</td>";\r
++ }\r
++ echo "</tr>";\r
++ break;\r
++ case "Next Check":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ if (preg_match('/1969-12-31/', $value)) {\r
++ echo "<td>N/A</td>";\r
++ } else {\r
++ echo "<td>" . $value . "</td>";\r
++ }\r
++ echo "</tr>";\r
++ break;\r
++ case "Check Latency":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "Check Duration":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ echo "<td>" . $value . "</td>";\r
++ echo "</tr>";\r
++ break;\r
++ case "flapping":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>Flapping:</td>";\r
++ if ($host_detail["flapping"]) {\r
++ echo "<td>Yes</td>";\r
++ } else {\r
++ echo "<td>No</td>";\r
++ }\r
++ echo "</tr>";\r
++ break;\r
++ case "Event Handler":\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td>" . $key . ":</td>";\r
++ if (!$value) {\r
++ echo "<td>N/A</td>";\r
++ } else {\r
++ echo "<td>" . $value . "</td>";\r
++ }\r
++ echo "</tr>";\r
++ break;\r
++ }\r
++\r
++ if($rowColor == $background1) {\r
++ $rowColor = $background2;\r
++ } else {\r
++ $rowColor = $background1;\r
++ }\r
++\r
++ }\r
++\r
++\r
++?>\r
++\r
++ </tbody>\r
++ </table>\r
++\r
++ </td>\r
++ </tr>\r
++ </tbody>\r
++ </table>\r
++\r
++ </td>\r
++\r
++ <td valign="top">\r
++ <table width="70%" border="0" align="right">\r
++ <thead>\r
++ <tr class="textHeaderDark" bgcolor='#00438C'>\r
++ <td align="center"><strong>Host Monitoring Options</strong></td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++ <tr>\r
++ <td width="70%" valign="top">\r
++ <table width="100%" align="center" cellpadding="3">\r
++ <thead>\r
++ <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r
++ <td>Parameter</td>\r
++ <td>Value</td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++\r
++<?php\r
++ $rowColor = $background1;\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++\r
++\r
++ foreach ($host_config as $key => $value) {\r
++\r
++ if ($key == "event_handler") { continue; }\r
++ if ($key == "cacti_graph_id") { continue; }\r
++\r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++\r
++ switch($key)\r
++ {\r
++ case "active_checks_enabled":\r
++ echo "<td>Active Checks:</td>";\r
++ break;\r
++ case "passive_checks_enabled":\r
++ echo "<td>Passive Checks:</td>";\r
++ break;\r
++ case "event_handler_enabled":\r
++ echo "<td>Event Handler:</td>";\r
++ break;\r
++ case "flap_detection_enabled":\r
++ echo "<td>Flap Detection:</td>";\r
++ break;\r
++ case "notifications_enabled":\r
++ echo "<td>Notifications:</td>";\r
++ break;\r
++ case "failure_prediction_enabled":\r
++ echo "<td>Failure Prediction:</td>";\r
++ break;\r
++ case "process_performance_data":\r
++ echo "<td>Process Performance Data:</td>";\r
++ break;\r
++ case "obsess_over_host":\r
++ echo "<td>Obsess Over Host:</td>";\r
++ break;\r
++ }\r
++\r
++ if ($value == 0) {\r
++ echo "<td class='optionDISABLED'>Disabled</td></tr>";\r
++ } else {\r
++ echo "<td class='optionENABLED'>Enabled</td></tr>";\r
++ }\r
++\r
++ if($rowColor == $background1) {\r
++ $rowColor = $background2;\r
++ } else {\r
++ $rowColor = $background1;\r
++ }\r
++\r
++\r
++ }\r
++\r
++?>\r
++ </tbody>\r
++ </table>\r
++ </td>\r
++ </tr>\r
++ </table>\r
++\r
++ </td>\r
++\r
++\r
++\r
++<?php\r
++\r
++\r
++\r
++\r
++ echo "</tr>";\r
++ echo "<tr>";\r
++\r
++?>\r
++ <tr><td> </td><td> </td></tr>\r
++ <tr><td> </td><td> </td></tr>\r
++ <td valign="top" colspan='2'>\r
++ <table width="60%" border="0" align="center">\r
++ <thead>\r
++ <tr class="textHeaderDark" bgcolor='#00438C'>\r
++ <td align="center"><strong>Host Comments</strong></td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++ <tr>\r
++ <td width="60%" valign="top">\r
++ <table width="100%" align="center" cellpadding="3">\r
++ <thead>\r
++ <tr align="center" class="textSubHeaderDark" bgcolor='#6d88ad'>\r
++ <td>Entry Time</td>\r
++ <td>Author</td>\r
++ <td>Comment</td>\r
++ <td>Persistent</td>\r
++ <td>Type</td>\r
++ <td>Delete</td>\r
++ <tbody>\r
++<?php\r
++ for($i = 0; $i < $row_count; $i++) {\r
++ \r
++ echo "<tr bgcolor='" . $rowColor . "'>";\r
++ echo "<td nowrap>" . $comments[$i]["timestamp"] . "</td>";\r
++ echo "<td>" . $comments[$i]["author"] . "</td>";\r
++ echo "<td>" . $comments[$i]["comment"] . "</td>";\r
++ echo "<td>";\r
++ if ($comments[$i]["persist"]) {\r
++ echo "Yes";\r
++ } else {\r
++ echo "No"; \r
++ }\r
++ echo "</td>";\r
++ echo "<td>";\r
++ if ($comments[$i]["type"] == 1) {\r
++ echo "Comment";\r
++ } elseif ($comments[$i]["type"] == 3) {\r
++ echo "Acknowledgment";\r
++ }\r
++ echo "</td>";\r
++ echo "<td>";\r
++ if ($comments[$i]["type"] == 1) {\r
++ echo "<a href='command.php?cmd=DEL_HOST_COMMENT&id=" . $comments[$i]["id"] . "&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='delete' title='Delete comment' border=0></a>";\r
++ } elseif ($comments[$i]["type"] == 3) {\r
++ echo "<a href='command.php?cmd=REMOVE_HOST_ACKNOWLEDGEMENT&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='Remove' title='Remove problem acknowledgment' border=0></a>";\r
++ }\r
++ echo "</td>";\r
++\r
++\r
++ if($rowColor == $background1) {\r
++ $rowColor = $background2;\r
++ } else {\r
++ $rowColor = $background1;\r
++ }\r
++ }\r
++\r
++\r
++\r
++\r
++\r
++\r
++\r
++?>\r
++ </tbody>\r
++ </table>\r
++ </td>\r
++ </tr>\r
++ <tr>\r
++ <td>\r
++ <?php \r
++ echo "<a href='command.php?cmd=ADD_HOST_COMMENT&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/comment.gif' alt='Add a comment' title='Add a comment' border=0></a>"; \r
++ echo "<a href='command.php?cmd=DEL_ALL_HOST_COMMENTS&host=" . $hostname . "&hostid=" . $hostid . "'><img src='images/delete.gif' alt='Delete all comments' title='Delete all comments' border=0></a>"; \r
++ ?>\r
++ </td>\r
++ </tr>\r
++ </tbody>\r
++ </table>\r
++ </td>\r
++ <td></td>\r
++ <tr><td> </td><td> </td></tr>\r
++ <tr><td> </td><td> </td></tr>\r
++ <tr>\r
++\r
++\r
++\r
++\r
++\r
++ <td valign="top" colspan='2'>\r
++ <table width="60%" border="0" align="center">\r
++ <thead>\r
++ <tr align="center" class="textHeaderDark" bgcolor='#00438C'>\r
++ <td align="center"><strong>Graph Mapping</strong></td>\r
++ </tr>\r
++ </thead>\r
++ <tbody>\r
++ <tr>\r
++ <td width="60%" valign="top">\r
++ <table width="100%" align="center" cellpadding="3">\r
++ <tbody>\r
++\r
++<?php\r
++\r
++$cacti_graphs = db_fetch_assoc("\r
++select\r
++ graph_templates_graph.id,\r
++ graph_templates_graph.local_graph_id,\r
++ graph_templates_graph.height,\r
++ graph_templates_graph.width,\r
++ graph_templates_graph.title_cache as title,\r
++ graph_templates.name,\r
++ graph_local.host_id\r
++ from graph_local,graph_templates_graph\r
++ left join graph_templates on graph_template_id=graph_templates.id\r
++ where graph_local.id=graph_templates_graph.local_graph_id\r
++ and graph_templates_graph.title_cache like '%'\r
++ order by graph_templates_graph.title_cache,graph_local.host_id");\r
++\r
++ $row_count = count($cacti_graphs);\r
++/* http://logindev/cacti/graph_image.php?local_graph_id=6&rra_id=0 */\r
++?>\r
++\r
++ <FORM NAME="gm" ACTION="" method="post">\r
++ <tr bgcolor='<?php echo $background1; ?>'>\r
++ <td>Associated graph:</td>\r
++ <td>\r
++ <select name="local_graph_id" size="1">\r
++ <?php\r
++ echo "<OPTION VALUE='NULL'>None</option>";\r
++ for($i = 0; $i < $row_count; $i++) {\r
++ echo "<OPTION VALUE='" . $cacti_graphs[$i]["local_graph_id"] . "'>" . $cacti_graphs[$i]["title"] . "</option>";\r
++ }\r
++ ?> \r
++\r
++\r
++ </select>\r
++ </td>\r
++ <td><INPUT TYPE="submit" VALUE="Map"></td>\r
++ </tr>\r
++ </FORM>\r
++\r
++\r
++ </tbody>\r
++ </table>\r
++ <?php \r
++ if ($host_config["cacti_graph_id"]) {\r
++ echo "<table align='center'>";\r
++ echo "<tr><td width='100%'>";\r
++ echo "<img src='../../graph_image.php?local_graph_id=" . $host_config["cacti_graph_id"] . "&rra_id=0'>";\r
++ echo "</td></tr>";\r
++ }\r
++ ?>\r
++ </td>\r
++ </tr>\r
++ </tbody>\r
++ </table>\r
++\r
++ </td>\r
++\r
++ </tr>\r
++ </table>\r
++\r
++<?php\r
++\r
++\r
++}\r
++\r
++\r
++\r
++\r
++?>\r