function displayCounters($type, $display = 1) { global $DB, $CFG_GLPI; $ok = 0; $warningdata = 0; $warningconnection = 0; $critical = 0; $ok_soft = 0; $warningdata_soft = 0; $warningconnection_soft = 0; $critical_soft = 0; $acknowledge = 0; $play_sound = 0; if ($type == 'Ressources') { $ok = countElementsInTable("glpi_plugin_monitoring_services", "(`state`='OK' OR `state`='UP') AND `state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $warningdata = countElementsInTable("glpi_plugin_monitoring_services", "((`state`='WARNING' AND `event` IS NOT NULL) \n OR `state`='RECOVERY' OR `state`='FLAPPING')\n AND `event` IS NOT NULL\n AND `state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $warningconnection = countElementsInTable("glpi_plugin_monitoring_services", "(`state`='UNKNOWN' OR `state` IS NULL\n OR (`state`='WARNING' AND `event` IS NULL))\n AND `state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $critical = countElementsInTable("glpi_plugin_monitoring_services", "(`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME')\n AND `state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $warningdata_soft = countElementsInTable("glpi_plugin_monitoring_services", "((`state`='WARNING' AND `event` IS NOT NULL) \n OR `state`='RECOVERY' OR `state`='FLAPPING')\n AND `state_type`='SOFT'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $warningconnection_soft = countElementsInTable("glpi_plugin_monitoring_services", "(`state`='UNKNOWN' OR `state` IS NULL\n OR (`state`='WARNING' AND `event` IS NULL))\n AND `state_type`='SOFT'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $critical_soft = countElementsInTable("glpi_plugin_monitoring_services", "(`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME')\n AND `state_type`='SOFT'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $ok_soft = countElementsInTable("glpi_plugin_monitoring_services", "(`state`='OK' OR `state`='UP') AND `state_type`='SOFT'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $acknowledge = countElementsInTable("glpi_plugin_monitoring_services", "`state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='1'"); // ** Manage play sound if critical increase since last refresh if (isset($_SESSION['plugin_monitoring_dashboard_Ressources'])) { if ($critical > $_SESSION['plugin_monitoring_dashboard_Ressources']) { $play_sound = 1; } } $_SESSION['plugin_monitoring_dashboard_Ressources'] = $critical; } else { if ($type == 'Componentscatalog') { $pmComponentscatalog_Host = new PluginMonitoringComponentscatalog_Host(); $queryCat = "SELECT * FROM `glpi_plugin_monitoring_componentscatalogs`"; $resultCat = $DB->query($queryCat); while ($data = $DB->fetch_array($resultCat)) { $query = "SELECT COUNT(*) AS cpt FROM `" . $pmComponentscatalog_Host->getTable() . "`\n LEFT JOIN `glpi_plugin_monitoring_services` \n ON `plugin_monitoring_componentscatalogs_hosts_id`=`" . $pmComponentscatalog_Host->getTable() . "`.`id`\n WHERE `plugin_monitoring_componentscalalog_id`='" . $data['id'] . "'\n AND (`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME')\n AND `state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $critical++; } else { $query = "SELECT COUNT(*) AS cpt, `glpi_plugin_monitoring_services`.`state` \n FROM `" . $pmComponentscatalog_Host->getTable() . "`\n LEFT JOIN `glpi_plugin_monitoring_services` \n ON `plugin_monitoring_componentscatalogs_hosts_id`=`" . $pmComponentscatalog_Host->getTable() . "`.`id`\n WHERE `plugin_monitoring_componentscalalog_id`='" . $data['id'] . "'\n AND (`state`='WARNING' OR `state`='UNKNOWN' OR `state`='RECOVERY' OR `state`='FLAPPING' OR `state` IS NULL)\n AND `state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $warningdata++; } else { $query = "SELECT COUNT(*) AS cpt FROM `" . $pmComponentscatalog_Host->getTable() . "`\n LEFT JOIN `glpi_plugin_monitoring_services` \n ON `plugin_monitoring_componentscatalogs_hosts_id`=`" . $pmComponentscatalog_Host->getTable() . "`.`id`\n WHERE `plugin_monitoring_componentscalalog_id`='" . $data['id'] . "'\n AND (`state`='OK' OR `state`='UP') AND `state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $ok++; } } } $query = "SELECT COUNT(*) AS cpt FROM `" . $pmComponentscatalog_Host->getTable() . "`\n LEFT JOIN `glpi_plugin_monitoring_services` \n ON `plugin_monitoring_componentscatalogs_hosts_id`=`" . $pmComponentscatalog_Host->getTable() . "`.`id`\n WHERE `plugin_monitoring_componentscalalog_id`='" . $data['id'] . "'\n AND (`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME')\n AND `state_type`='SOFT'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $critical_soft++; } else { $query = "SELECT COUNT(*) AS cpt FROM `" . $pmComponentscatalog_Host->getTable() . "`\n LEFT JOIN `glpi_plugin_monitoring_services` \n ON `plugin_monitoring_componentscatalogs_hosts_id`=`" . $pmComponentscatalog_Host->getTable() . "`.`id`\n WHERE `plugin_monitoring_componentscalalog_id`='" . $data['id'] . "'\n AND (`state`='WARNING' OR `state`='UNKNOWN' OR `state`='RECOVERY' OR `state`='FLAPPING' OR `state` IS NULL)\n AND `state_type`='SOFT'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $warningdata_soft++; } else { $query = "SELECT COUNT(*) AS cpt FROM `" . $pmComponentscatalog_Host->getTable() . "`\n LEFT JOIN `glpi_plugin_monitoring_services` \n ON `plugin_monitoring_componentscatalogs_hosts_id`=`" . $pmComponentscatalog_Host->getTable() . "`.`id`\n WHERE `plugin_monitoring_componentscalalog_id`='" . $data['id'] . "'\n AND (`state`='OK' OR `state`='UP') AND `state_type`='SOFT'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $ok_soft++; } } } } // ** Manage play sound if critical increase since last refresh if (isset($_SESSION['plugin_monitoring_dashboard_Componentscatalog'])) { if ($critical > $_SESSION['plugin_monitoring_dashboard_Componentscatalog']) { $play_sound = 1; } } $_SESSION['plugin_monitoring_dashboard_Componentscatalog'] = $critical; } else { if ($type == 'Businessrules') { $ok = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='OK' OR `state`='UP') AND `state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $warningdata = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='WARNING' OR `state`='UNKNOWN'\n OR `state`='RECOVERY' OR `state`='FLAPPING')\n AND `state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $critical = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME')\n AND `state_type`='HARD'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $warningdata_soft = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='WARNING' OR `state`='UNKNOWN' \n OR `state`='RECOVERY' OR `state`='FLAPPING')\n AND `state_type`='SOFT'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $critical_soft = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME')\n AND `state_type`='SOFT'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); $ok_soft = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='OK' OR `state`='UP') AND `state_type`='SOFT'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")\n AND `is_acknowledged`='0'"); // ** Manage play sound if critical increase since last refresh if (isset($_SESSION['plugin_monitoring_dashboard_Businessrules'])) { if ($critical > $_SESSION['plugin_monitoring_dashboard_Businessrules']) { $play_sound = 1; } } $_SESSION['plugin_monitoring_dashboard_Businessrules'] = $critical; } } } if ($display == '0') { $a_return = array(); $a_return['ok'] = strval($ok); $a_return['ok_soft'] = strval($ok_soft); $a_return['warningdata'] = strval($warningdata); $a_return['warningconnection'] = strval($warningconnection); $a_return['warningdata_soft'] = strval($warningdata_soft); $a_return['warningconnection_soft'] = strval($warningconnection_soft); $a_return['critical'] = strval($critical); $a_return['critical_soft'] = strval($critical_soft); $a_return['acknowledge'] = strval($acknowledge); return $a_return; } $critical_link = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php?hidesearch=1&reset=reset" . "&field[0]=3&searchtype[0]=contains&contains[0]=CRITICAL&link[1]=AND" . "&field[1]=23&searchtype[1]=equals&contains[1]=0&link[2]=OR" . "&field[2]=3&searchtype[2]=contains&contains[2]=DOWN&link[3]=AND" . "&field[3]=23&searchtype[3]=equals&contains[3]=0&link[4]=OR" . "&field[4]=3&searchtype[4]=contains&contains[4]=UNREACHABLE&link[5]=AND" . "&field[5]=23&searchtype[5]=equals&contains[5]=0" . "&itemtype=PluginMonitoringService&start=0&glpi_tab=3'"; $warning_link = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php?hidesearch=1&reset=reset" . "&field[0]=3&searchtype[0]=contains&contains[0]=FLAPPING&link[1]=OR" . "&field[1]=3&searchtype[1]=contains&contains[1]=RECOVERY&link[2]=OR" . "&field[2]=3&searchtype[2]=contains&contains[2]=WARNING&link[3]=OR" . "&field[3]=3&searchtype[3]=contains&contains[3]=UNKNOWN" . "&itemtype=PluginMonitoringService&start=0&glpi_tab=3'"; $warningdata_link = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php?hidesearch=1&reset=reset" . "&field[0]=3&searchtype[0]=contains&contains[0]=FLAPPING&link[1]=OR" . "&field[1]=3&searchtype[1]=contains&contains[1]=RECOVERY&link[2]=OR" . "&field[2]=3&searchtype[2]=contains&contains[2]=WARNING&link[3]=AND" . "&field[3]=9&searchtype[3]=contains&contains[3]=^" . "&itemtype=PluginMonitoringService&start=0&glpi_tab=3'"; $warningconnection_link = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php?hidesearch=1&reset=reset" . "&field[0]=3&searchtype[0]=contains&contains[0]=UNKNOWN&link[1]=OR" . "&field[1]=3&searchtype[1]=contains&contains[1]=NULL&link[2]=OR" . "&field[2]=3&searchtype[2]=contains&contains[2]=WARNING&link[3]=AND" . "&field[3]=9&searchtype[3]=contains&contains[3]=^\$" . "&itemtype=PluginMonitoringService&start=0&glpi_tab=3'"; $ok_link = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php?hidesearch=1&reset=reset&" . "field[0]=3&searchtype[0]=contains&contains[0]=OK&link[1]=OR" . "&field[1]=3&searchtype[1]=contains&contains[1]=UP" . "&itemtype=PluginMonitoringService&start=0&glpi_tab=3'"; $acknowledge_link = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php?hidesearch=1&reset=reset&" . "field[0]=23&searchtype[0]=equals&contains[0]=1" . "&itemtype=PluginMonitoringService&start=0&glpi_tab=3'"; echo "<table align='center'>"; echo "<tr>"; echo "<td>"; $background = ''; if ($critical > 0) { $background = 'background="' . $CFG_GLPI['root_doc'] . '/plugins/monitoring/pics/bg_critical.png"'; } echo "<table class='tab_cadre' width='414' height='130' " . $background . " >"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' or $type == 'Componentscatalog') { echo "<a href='" . $critical_link . ">" . "<font color='black' style='font-size: 12px;font-weight: bold;'>" . __('Critical', 'monitoring') . "</font></a>"; } else { echo __('Critical', 'monitoring'); } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' or $type == 'Componentscatalog') { echo "<a href='" . $critical_link . ">" . "<font color='black' style='font-size: 52px;font-weight: bold;'>" . $critical . "</font></a>"; } else { echo "<font style='font-size: 52px;'>" . $critical . "</font>"; } echo "</th>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; echo "<font style='font-size: 11px;'>Soft : " . $critical_soft . "</font>"; echo "</th>"; echo "</tr>"; echo "</table>"; echo "</td>"; echo "<td>"; $background = ''; if ($warningdata > 0) { $background = 'background="' . $CFG_GLPI['root_doc'] . '/plugins/monitoring/pics/bg_warning.png"'; } if ($type == 'Ressources') { echo "<table class='tab_cadre' width='188' height='130' " . $background . " >"; } else { echo "<table class='tab_cadre' width='316' height='130' " . $background . " >"; } echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources') { echo "<a href='" . $warningdata_link . ">" . "<font color='black' style='font-size: 12px;font-weight: bold;'>" . __('Warning', 'monitoring') . "</font></a>"; } else { if ($type == 'Componentscatalog') { echo "<a href='" . $warning_link . ">" . "<font color='black' style='font-size: 12px;font-weight: bold;'>" . __('Warning', 'monitoring') . "</font></a>"; } else { echo __('Warning', 'monitoring'); } } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources') { echo "<a href='" . $warningdata_link . ">" . "<font color='black' style='font-size: 52px;'>" . $warningdata . "</font></a>"; } else { if ($type == 'Componentscatalog') { echo "<a href='" . $warning_link . ">" . "<font color='black' style='font-size: 52px;'>" . $warningdata . "</font></a>"; } else { echo "<font style='font-size: 52px;'>" . $warningdata . "</font>"; } } echo "</th>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; echo "<font style='font-size: 11px;'>Soft : " . $warningdata_soft . "</font>"; echo "</th>"; echo "</tr>"; echo "</table>"; echo "</td>"; if ($type == 'Ressources') { echo "<td>"; $background = ''; if ($warningconnection > 0) { $background = 'background="' . $CFG_GLPI['root_doc'] . '/plugins/monitoring/pics/bg_warning_yellow.png"'; } echo "<table class='tab_cadre' width='188' height='130' " . $background . " >"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' or $type == 'Componentscatalog') { echo "<a href='" . $warningconnection_link . ">" . "<font color='black' style='font-size: 12px;font-weight: bold;'>" . __('Warning (connection)', 'monitoring') . "</font></a>"; } else { echo __('Warning (connection)', 'monitoring'); } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' or $type == 'Componentscatalog') { echo "<a href='" . $warningconnection_link . ">" . "<font color='black' style='font-size: 52px;'>" . $warningconnection . "</font></a>"; } else { echo "<font style='font-size: 52px;'>" . $warningconnection . "</font>"; } echo "</th>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; echo "<font style='font-size: 11px;'>Soft : " . $warningconnection_soft . "</font>"; echo "</th>"; echo "</tr>"; echo "</table>"; echo "</td>"; } echo "<td>"; $background = ''; if ($ok > 0) { $background = 'background="' . $CFG_GLPI['root_doc'] . '/plugins/monitoring/pics/bg_ok.png"'; } echo "<table class='tab_cadre' width='158' height='130' " . $background . " >"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' or $type == 'Componentscatalog') { echo "<a href='" . $ok_link . ">" . "<font color='black' style='font-size: 12px;font-weight: bold;'>" . __('OK', 'monitoring') . "</font></a>"; } else { echo __('OK', 'monitoring'); } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' or $type == 'Componentscatalog') { echo "<a href='" . $ok_link . ">" . "<font color='black' style='font-size: 52px;font-weight: bold;'>" . $ok . "</font></a>"; } else { echo "<font style='font-size: 52px;'>" . $ok . "</font>"; } echo "</th>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; echo "<font style='font-size: 11px;'>Soft : " . $ok_soft . "</font>"; echo "</th>"; echo "</tr>"; echo "</table>"; echo "</td>"; echo "<td>"; $background = ''; if ($acknowledge > 0) { $background = 'background="' . $CFG_GLPI['root_doc'] . '/plugins/monitoring/pics/bg_acknowledge.png"'; } echo "<table class='tab_cadre' width='120' height='130' " . $background . " >"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' or $type == 'Componentscatalog') { echo "<a href='" . $acknowledge_link . "'>" . "<font color='black' style='font-size: 12px;font-weight: bold;'>" . __('Acknowledge', 'monitoring') . "</font></a>"; } else { echo __('Acknowledge', 'monitoring'); } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' or $type == 'Componentscatalog') { echo "<a href='" . $acknowledge_link . "'>" . "<font color='black' style='font-size: 52px;font-weight: bold;'>" . $acknowledge . "</font></a>"; } else { echo "<font style='font-size: 52px;'>" . $acknowledge . "</font>"; } echo "</th>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'> "; echo "</th>"; echo "</tr>"; echo "</table>"; echo "</td>"; echo "</tr>"; echo "</table><br/>"; // ** play sound if ($play_sound == '1') { echo '<audio autoplay="autoplay"> <source src="../audio/star-trek.ogg" type="audio/ogg" /> Your browser does not support the audio element. </audio>'; } }
static function getServicesList($statetype, $view) { global $DB; $services = array(); if ($view == 'Ressources') { switch ($statetype) { case "ok": $query = "SELECT * FROM `glpi_plugin_monitoring_services` LEFT JOIN `glpi_plugin_monitoring_componentscatalogs_hosts` ON `plugin_monitoring_componentscatalogs_hosts_id`= `glpi_plugin_monitoring_componentscatalogs_hosts`.`id` WHERE (`state`='OK' OR `state`='UP') AND `state_type`='HARD'"; $result = $DB->query($query); while ($data=$DB->fetch_array($result)) { $itemtype = $data['itemtype']; $item = new $itemtype(); $item->getFromDB($data['items_id']); $services[] = "(".$itemtype.") ".$item->getName()."\n=> ".$data['name']; } break; case "warning": $query = "SELECT * FROM `glpi_plugin_monitoring_services` LEFT JOIN `glpi_plugin_monitoring_componentscatalogs_hosts` ON `plugin_monitoring_componentscatalogs_hosts_id`= `glpi_plugin_monitoring_componentscatalogs_hosts`.`id` WHERE (`state`='WARNING' OR `state`='UNKNOWN' OR `state`='RECOVERY' OR `state`='FLAPPING' OR `state` IS NULL) AND `state_type`='HARD'"; $result = $DB->query($query); while ($data=$DB->fetch_array($result)) { $itemtype = $data['itemtype']; $item = new $itemtype(); $item->getFromDB($data['items_id']); $services[] = "(".$itemtype.") ".$item->getName()."\n=> ".$data['name']; } break; case "critical": $query = "SELECT * FROM `glpi_plugin_monitoring_services` LEFT JOIN `glpi_plugin_monitoring_componentscatalogs_hosts` ON `plugin_monitoring_componentscatalogs_hosts_id`= `glpi_plugin_monitoring_componentscatalogs_hosts`.`id` WHERE (`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME') AND `state_type`='HARD'"; $result = $DB->query($query); while ($data=$DB->fetch_array($result)) { $itemtype = $data['itemtype']; $item = new $itemtype(); $item->getFromDB($data['items_id']); $services[] = "(".$itemtype.") ".$item->getName()."\n=> ".$data['name']; } break; } } else if ($view == 'Componentscatalog') { $pmComponentscatalog_Host = new PluginMonitoringComponentscatalog_Host(); $queryCat = "SELECT * FROM `glpi_plugin_monitoring_componentscatalogs`"; $resultCat = $DB->query($queryCat); while ($data=$DB->fetch_array($resultCat)) { $query = "SELECT * FROM `".$pmComponentscatalog_Host->getTable()."` WHERE `plugin_monitoring_componentscalalog_id`='".$data['id']."'"; $result = $DB->query($query); $state = array(); $state['ok'] = 0; $state['warning'] = 0; $state['critical'] = 0; while ($dataComponentscatalog_Host=$DB->fetch_array($result)) { $state['ok'] += countElementsInTable("glpi_plugin_monitoring_services", "(`state`='OK' OR `state`='UP') AND `state_type`='HARD' AND `plugin_monitoring_componentscatalogs_hosts_id`='".$dataComponentscatalog_Host['id']."'"); $state['warning'] += countElementsInTable("glpi_plugin_monitoring_services", "(`state`='WARNING' OR `state`='UNKNOWN' OR `state`='RECOVERY' OR `state`='FLAPPING' OR `state` IS NULL) AND `state_type`='HARD' AND `plugin_monitoring_componentscatalogs_hosts_id`='".$dataComponentscatalog_Host['id']."'"); $state['critical'] += countElementsInTable("glpi_plugin_monitoring_services", "(`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME') AND `state_type`='HARD' AND `plugin_monitoring_componentscatalogs_hosts_id`='".$dataComponentscatalog_Host['id']."'"); } if ($state['critical'] > 0) { if ($statetype == 'critical') { $services[] = "(Catalog) ".$data['name']; } } else if ($state['warning'] > 0) { if ($statetype == 'warning') { $services[] = "(Catalog) ".$data['name']; } } else if ($state['ok'] > 0) { if ($statetype == 'ok') { $services[] = "(Catalog) ".$data['name']; } } } } else if ($view == 'Businessrules') { } return $services; }
function showWidget($id) { global $LANG, $DB, $CFG_GLPI; $pmService = new PluginMonitoringService(); $pmComponentscatalog_Host = new PluginMonitoringComponentscatalog_Host(); $input = ''; $this->getFromDB($id); $data = $this->fields; $input .= '<table class="tab_cadre_fixe" style="width:158px;">'; $input .= '<tr class="tab_bg_1">'; $input .= '<th colspan="2" style="font-size:18px;" height="60">'; $input .= $data['name'] . " "; $input .= '</th>'; $input .= '</tr>'; $stateg = array(); $stateg['OK'] = 0; $stateg['WARNING'] = 0; $stateg['CRITICAL'] = 0; $a_gstate = array(); $nb_ressources = 0; $query = "SELECT * FROM `" . $pmComponentscatalog_Host->getTable() . "`\n WHERE `plugin_monitoring_componentscalalog_id`='" . $data['id'] . "'"; $result = $DB->query($query); while ($dataComponentscatalog_Host = $DB->fetch_array($result)) { $queryService = "SELECT * FROM `" . $pmService->getTable() . "`\n WHERE `plugin_monitoring_componentscatalogs_hosts_id`='" . $dataComponentscatalog_Host['id'] . "'\n AND `entities_id` IN (" . $_SESSION['glpiactiveentities_string'] . ")"; $resultService = $DB->query($queryService); while ($dataService = $DB->fetch_array($resultService)) { $nb_ressources++; $state = array(); $state['OK'] = 0; $state['WARNING'] = 0; $state['CRITICAL'] = 0; if ($dataService['state_type'] != "HARD") { $a_gstate[$dataService['id']] = "OK"; } else { switch ($dataService['state']) { case 'UP': case 'OK': $state['OK']++; break; case 'DOWN': case 'UNREACHABLE': case 'CRITICAL': case 'DOWNTIME': $state['CRITICAL']++; break; case 'WARNING': case 'UNKNOWN': case 'RECOVERY': case 'FLAPPING': $state['WARNING']++; break; } if ($state['CRITICAL'] >= 1) { $a_gstate[$dataService['id']] = "CRITICAL"; } else { if ($state['WARNING'] >= 1) { $a_gstate[$dataService['id']] = "WARNING"; } else { $a_gstate[$dataService['id']] = "OK"; } } } } } foreach ($a_gstate as $value) { $stateg[$value]++; } $input .= '<tr class="tab_bg_1">'; $input .= '<td>'; $input .= $LANG['plugin_monitoring']['service'][0] . " :"; $input .= '</td>'; $input .= '<th align="center" height="40" width="50%">'; $link = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php?reset=reset&field[0]=8&searchtype[0]=equals&contains[0]=" . $id . "&itemtype=PluginMonitoringService&start=0&glpi_tab=3"; $input .= '<a href="' . $link . '">' . $nb_ressources . '</a>'; $input .= '</th>'; $input .= '</tr>'; $background = ''; $count = 0; $link = ''; if ($stateg['CRITICAL'] > 0) { $count = $stateg['CRITICAL']; $background = 'background="' . $CFG_GLPI['root_doc'] . '/plugins/monitoring/pics/bg_critical.png"'; $link = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php?reset=reset&field[0]=3&searchtype[0]=equals&contains[0]=CRITICAL" . "&link[1]=AND&field[1]=8&searchtype[1]=equals&contains[1]=" . $id . "&link[2]=OR&field[2]=3&searchtype[2]=equals&contains[2]=DOWN" . "&link[3]=AND&field[3]=8&searchtype[3]=equals&contains[3]=" . $id . "&link[4]=OR&field[4]=3&searchtype[4]=equals&contains[4]=UNREACHABLE" . "&link[5]=AND&field[5]=8&searchtype[5]=equals&contains[5]=" . $id . "&itemtype=PluginMonitoringService&start=0&glpi_tab=3"; } else { if ($stateg['WARNING'] > 0) { $count = $stateg['WARNING']; $background = 'background="' . $CFG_GLPI['root_doc'] . '/plugins/monitoring/pics/bg_warning.png"'; $link = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php?reset=reset&field[0]=3&searchtype[0]=equals&contains[0]=WARNING" . "&link[1]=AND&field[1]=8&searchtype[1]=equals&contains[1]=" . $id . "&link[2]=OR&field[2]=3&searchtype[2]=equals&contains[2]=UNKNOWN" . "&link[3]=AND&field[3]=8&searchtype[3]=equals&contains[3]=" . $id . "&link[4]=OR&field[4]=3&searchtype[4]=equals&contains[4]=RECOVERY" . "&link[5]=AND&field[5]=8&searchtype[5]=equals&contains[5]=" . $id . "&link[6]=OR&field[6]=3&searchtype[6]=equals&contains[6]=FLAPPING" . "&link[7]=AND&field[7]=8&searchtype[7]=equals&contains[7]=" . $id . "&itemtype=PluginMonitoringService&start=0&glpi_tab=3"; } else { if ($stateg['OK'] > 0) { $count = $stateg['OK']; $background = 'background="' . $CFG_GLPI['root_doc'] . '/plugins/monitoring/pics/bg_ok.png"'; $link = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php?reset=reset&field[0]=3&searchtype[0]=equals&contains[0]=OK" . "&link[1]=AND&field[1]=8&searchtype[1]=equals&contains[1]=" . $id . "&link[2]=OR&field[2]=3&searchtype[2]=equals&contains[2]=UP" . "&itemtype=PluginMonitoringService&start=0&glpi_tab=3"; } } } $input .= "<tr " . $background . ">"; $input .= '<th style="background-color:transparent;" ' . $background . ' colspan="2" height="100">'; $input .= '<a href="' . $link . '"><font style="font-size: 52px; color:black">' . $count . '</font></a>'; $input .= '</th>'; $input .= '</tr>'; $input .= '</table>'; return $input; }
function getRessources($componentscatalogs_id, $state, $state_type='HARD') { global $DB; $a_services = array(); $pmComponentscatalog_Host = new PluginMonitoringComponentscatalog_Host(); $pmService = new PluginMonitoringService(); $query = "SELECT * FROM `glpi_plugin_monitoring_services` LEFT JOIN `".$pmComponentscatalog_Host->getTable()."` ON `plugin_monitoring_componentscatalogs_hosts_id`= `".$pmComponentscatalog_Host->getTable()."`.`id` WHERE `plugin_monitoring_componentscalalog_id`='".$componentscatalogs_id."' AND `state_type` LIKE '".$state_type."' ORDER BY `name`"; $result = $DB->query($query); while ($data=$DB->fetch_array($result)) { $pmService->getFromDB($dataService["id"]); if ($pmService->getShortState()) { // if (PluginMonitoringHost::getState($data['state'], // $data['state_type'], // '', // $data['is_acknowledged']) == $state) { $a_services[] = $data; } } return $a_services; }
function getRessources($componentscatalogs_id, $state, $state_type = 'HARD') { global $DB; $a_services = array(); $pmComponentscatalog_Host = new PluginMonitoringComponentscatalog_Host(); $query = "SELECT * FROM `glpi_plugin_monitoring_services` \n LEFT JOIN `" . $pmComponentscatalog_Host->getTable() . "`\n ON `plugin_monitoring_componentscatalogs_hosts_id`=\n `" . $pmComponentscatalog_Host->getTable() . "`.`id`\n WHERE `plugin_monitoring_componentscalalog_id`='" . $componentscatalogs_id . "'\n AND `state_type` LIKE '" . $state_type . "'\n ORDER BY `name`"; $result = $DB->query($query); while ($data = $DB->fetch_array($result)) { if (PluginMonitoringDisplay::getState($data['state'], $data['state_type'], '', $data['is_acknowledged']) == $state) { $a_services[] = $data; } } return $a_services; }
function displayCounters($type, $display=1) { global $DB,$CFG_GLPI; $ok = 0; $warningdata = 0; $warningconnection = 0; $critical = 0; $ok_soft = 0; $warningdata_soft = 0; $warningconnection_soft = 0; $critical_soft = 0; $acknowledge = 0; $play_sound = 0; if ($type == 'Ressources') { $ok = $this->countServicesQuery(" `glpi_plugin_monitoring_services`.`state_type`='HARD' AND `glpi_plugin_monitoring_services`.`state`='OK' AND `glpi_plugin_monitoring_hosts`.`is_acknowledged`='0' AND `glpi_plugin_monitoring_services`.`is_acknowledged`='0'"); $warningdata = $this->countServicesQuery(" `glpi_plugin_monitoring_services`.`state_type`='HARD' AND ( (`glpi_plugin_monitoring_services`.`state`='WARNING' AND `glpi_plugin_monitoring_services`.`event` IS NOT NULL AND `glpi_plugin_monitoring_services`.`event` <> '') OR (`glpi_plugin_monitoring_services`.`state`='RECOVERY') OR (`glpi_plugin_monitoring_services`.`state`='FLAPPING') ) AND `glpi_plugin_monitoring_hosts`.`is_acknowledged`='0' AND `glpi_plugin_monitoring_services`.`is_acknowledged`='0'"); $warningconnection = $this->countServicesQuery(" `glpi_plugin_monitoring_services`.`state_type`='HARD' AND ( (`glpi_plugin_monitoring_services`.`state`='WARNING' AND `glpi_plugin_monitoring_services`.`event` IS NULL) OR (`glpi_plugin_monitoring_services`.`state`='UNKNOWN') OR (`glpi_plugin_monitoring_services`.`state` IS NULL) ) AND `glpi_plugin_monitoring_hosts`.`is_acknowledged`='0' AND `glpi_plugin_monitoring_services`.`is_acknowledged`='0'"); $critical = $this->countServicesQuery(" `glpi_plugin_monitoring_services`.`state_type`='HARD' AND `glpi_plugin_monitoring_services`.`state`='CRITICAL' AND `glpi_plugin_monitoring_hosts`.`is_acknowledged`='0' AND `glpi_plugin_monitoring_services`.`is_acknowledged`='0'"); $ok_soft = $this->countServicesQuery(" `glpi_plugin_monitoring_services`.`state_type`!='HARD' AND `glpi_plugin_monitoring_services`.`state`='OK' AND `glpi_plugin_monitoring_hosts`.`is_acknowledged`='0' AND `glpi_plugin_monitoring_services`.`is_acknowledged`='0'"); $warningdata_soft = $this->countServicesQuery(" `glpi_plugin_monitoring_services`.`state_type`!='HARD' AND ( (`glpi_plugin_monitoring_services`.`state`='WARNING' AND `glpi_plugin_monitoring_services`.`event` IS NOT NULL) OR (`glpi_plugin_monitoring_services`.`state`='RECOVERY') OR (`glpi_plugin_monitoring_services`.`state`='FLAPPING') ) AND `glpi_plugin_monitoring_hosts`.`is_acknowledged`='0' AND `glpi_plugin_monitoring_services`.`is_acknowledged`='0'"); $warningconnection_soft = $this->countServicesQuery(" `glpi_plugin_monitoring_services`.`state_type`!='HARD' AND ( (`glpi_plugin_monitoring_services`.`state`='WARNING' AND `glpi_plugin_monitoring_services`.`event` IS NULL) OR (`glpi_plugin_monitoring_services`.`state`='UNKNOWN') OR (`glpi_plugin_monitoring_services`.`state` IS NULL) ) AND `glpi_plugin_monitoring_hosts`.`is_acknowledged`='0' AND `glpi_plugin_monitoring_services`.`is_acknowledged`='0'"); $critical_soft = $this->countServicesQuery(" `glpi_plugin_monitoring_services`.`state_type`!='HARD' AND `glpi_plugin_monitoring_services`.`state`='CRITICAL' AND `glpi_plugin_monitoring_hosts`.`is_acknowledged`='0' AND `glpi_plugin_monitoring_services`.`is_acknowledged`='0'"); $acknowledge = $this->countServicesQuery(" `glpi_plugin_monitoring_services`.`is_acknowledged`='1'"); // `glpi_plugin_monitoring_hosts`.`is_acknowledged`='1' // OR `glpi_plugin_monitoring_services`.`is_acknowledged`='1'"); // ** Manage play sound if critical increase since last refresh if (isset($_SESSION['plugin_monitoring_dashboard_Ressources'])) { if ($critical > $_SESSION['plugin_monitoring_dashboard_Ressources']) { $play_sound = 1; } } $_SESSION['plugin_monitoring_dashboard_Ressources'] = $critical; } else if ($type == 'Componentscatalog') { $pmComponentscatalog_Host = new PluginMonitoringComponentscatalog_Host(); $queryCat = "SELECT * FROM `glpi_plugin_monitoring_componentscatalogs`"; $resultCat = $DB->query($queryCat); while ($data=$DB->fetch_array($resultCat)) { $query = "SELECT COUNT(*) AS cpt FROM `".$pmComponentscatalog_Host->getTable()."` LEFT JOIN `glpi_plugin_monitoring_services` ON `plugin_monitoring_componentscatalogs_hosts_id`=`".$pmComponentscatalog_Host->getTable()."`.`id` WHERE `plugin_monitoring_componentscalalog_id`='".$data['id']."' AND (`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME') AND `state_type`='HARD' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"; // Toolbox::logInFile("pm", "Query critical - $query\n"); $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $critical++; } else { $query = "SELECT COUNT(*) AS cpt, `glpi_plugin_monitoring_services`.`state` FROM `".$pmComponentscatalog_Host->getTable()."` LEFT JOIN `glpi_plugin_monitoring_services` ON `plugin_monitoring_componentscatalogs_hosts_id`=`".$pmComponentscatalog_Host->getTable()."`.`id` WHERE `plugin_monitoring_componentscalalog_id`='".$data['id']."' AND (`state`='WARNING' OR `state`='UNKNOWN' OR `state`='RECOVERY' OR `state`='FLAPPING' OR `state` IS NULL) AND `state_type`='HARD' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $warningdata++; } else { $query = "SELECT COUNT(*) AS cpt FROM `".$pmComponentscatalog_Host->getTable()."` LEFT JOIN `glpi_plugin_monitoring_services` ON `plugin_monitoring_componentscatalogs_hosts_id`=`".$pmComponentscatalog_Host->getTable()."`.`id` WHERE `plugin_monitoring_componentscalalog_id`='".$data['id']."' AND (`state`='OK' OR `state`='UP') AND `state_type`='HARD' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $ok++; } } } $query = "SELECT COUNT(*) AS cpt FROM `".$pmComponentscatalog_Host->getTable()."` LEFT JOIN `glpi_plugin_monitoring_services` ON `plugin_monitoring_componentscatalogs_hosts_id`=`".$pmComponentscatalog_Host->getTable()."`.`id` WHERE `plugin_monitoring_componentscalalog_id`='".$data['id']."' AND (`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME') AND `state_type`='SOFT' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $critical_soft++; } else { $query = "SELECT COUNT(*) AS cpt FROM `".$pmComponentscatalog_Host->getTable()."` LEFT JOIN `glpi_plugin_monitoring_services` ON `plugin_monitoring_componentscatalogs_hosts_id`=`".$pmComponentscatalog_Host->getTable()."`.`id` WHERE `plugin_monitoring_componentscalalog_id`='".$data['id']."' AND (`state`='WARNING' OR `state`='UNKNOWN' OR `state`='RECOVERY' OR `state`='FLAPPING' OR `state` IS NULL) AND `state_type`='SOFT' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $warningdata_soft++; } else { $query = "SELECT COUNT(*) AS cpt FROM `".$pmComponentscatalog_Host->getTable()."` LEFT JOIN `glpi_plugin_monitoring_services` ON `plugin_monitoring_componentscatalogs_hosts_id`=`".$pmComponentscatalog_Host->getTable()."`.`id` WHERE `plugin_monitoring_componentscalalog_id`='".$data['id']."' AND (`state`='OK' OR `state`='UP') AND `state_type`='SOFT' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"; $result = $DB->query($query); $data2 = $DB->fetch_assoc($result); if ($data2['cpt'] > 0) { $ok_soft++; } } } } // ** Manage play sound if critical increase since last refresh if (isset($_SESSION['plugin_monitoring_dashboard_Componentscatalog'])) { if ($critical > $_SESSION['plugin_monitoring_dashboard_Componentscatalog']) { $play_sound = 1; } } $_SESSION['plugin_monitoring_dashboard_Componentscatalog'] = $critical; } else if ($type == 'Businessrules') { $ok = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='OK' OR `state`='UP') AND `state_type`='HARD' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"); $warningdata = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='WARNING' OR `state`='UNKNOWN' OR `state`='RECOVERY' OR `state`='FLAPPING') AND `state_type`='HARD' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"); $critical = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME') AND `state_type`='HARD' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"); $warningdata_soft = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='WARNING' OR `state`='UNKNOWN' OR `state`='RECOVERY' OR `state`='FLAPPING') AND `state_type`='SOFT' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"); $critical_soft = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='DOWN' OR `state`='UNREACHABLE' OR `state`='CRITICAL' OR `state`='DOWNTIME') AND `state_type`='SOFT' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"); $ok_soft = countElementsInTable("glpi_plugin_monitoring_servicescatalogs", "(`state`='OK' OR `state`='UP') AND `state_type`='SOFT' AND `entities_id` IN (".$_SESSION['glpiactiveentities_string'].") AND `is_acknowledged`='0'"); // ** Manage play sound if critical increase since last refresh if (isset($_SESSION['plugin_monitoring_dashboard_Businessrules'])) { if ($critical > $_SESSION['plugin_monitoring_dashboard_Businessrules']) { $play_sound = 1; } } $_SESSION['plugin_monitoring_dashboard_Businessrules'] = $critical; } if ($display == '0') { $a_return = array(); $a_return['ok'] = strval($ok); $a_return['ok_soft'] = strval($ok_soft); $a_return['warningdata'] = strval($warningdata); $a_return['warningconnection'] = strval($warningconnection); $a_return['warningdata_soft'] = strval($warningdata_soft); $a_return['warningconnection_soft'] = strval($warningconnection_soft); $a_return['critical'] = strval($critical); $a_return['critical_soft'] = strval($critical_soft); $a_return['acknowledge'] = strval($acknowledge); return $a_return; } $critical_link = $CFG_GLPI['root_doc']. "/plugins/monitoring/front/service.php?hidesearch=1" // . "&reset=reset" . "&criteria[0][field]=3" . "&criteria[0][searchtype]=contains" . "&criteria[0][value]=CRITICAL" . "&criteria[1][link]=AND" . "&criteria[1][field]=7" . "&criteria[1][searchtype]=equals" . "&criteria[1][value]=0" . "&criteria[2][link]=AND" . "&criteria[2][field]=8" . "&criteria[2][searchtype]=equals" . "&criteria[2][value]=0" . "&search=Search" . "&itemtype=PluginMonitoringService" . "&start=0" . "&glpi_tab=3'"; //_glpi_csrf_token= $warning_link = $CFG_GLPI['root_doc']. "/plugins/monitoring/front/service.php?hidesearch=1" // . "&reset=reset" . "&criteria[0][field]=3" . "&criteria[0][searchtype]=contains" . "&criteria[0][value]=FLAPPING" . "&criteria[1][link]=AND" . "&criteria[1][field]=7" . "&criteria[1][searchtype]=equals" . "&criteria[1][value]=0" . "&criteria[2][link]=AND" . "&criteria[2][field]=8" . "&criteria[2][searchtype]=equals" . "&criteria[2][value]=0" . "&criteria[3][link]=OR" . "&criteria[3][field]=3" . "&criteria[3][searchtype]=contains" . "&criteria[3][value]=RECOVERY" . "&criteria[4][link]=AND" . "&criteria[4][field]=7" . "&criteria[4][searchtype]=equals" . "&criteria[4][value]=0" . "&criteria[5][link]=AND" . "&criteria[5][field]=8" . "&criteria[5][searchtype]=equals" . "&criteria[5][value]=0" . "&criteria[6][link]=OR" . "&criteria[6][field]=3" . "&criteria[6][searchtype]=contains" . "&criteria[6][value]=UNKNOWN" . "&criteria[7][link]=AND" . "&criteria[7][field]=7" . "&criteria[7][searchtype]=equals" . "&criteria[7][value]=0" . "&criteria[8][link]=AND" . "&criteria[8][field]=8" . "&criteria[8][searchtype]=equals" . "&criteria[8][value]=0" . "&criteria[9][link]=AND" . "&criteria[9][field]=3" . "&criteria[9][searchtype]=contains" . "&criteria[9][value]=WARNING" . "&criteria[10][link]=AND" . "&criteria[10][field]=7" . "&criteria[10][searchtype]=equals" . "&criteria[10][value]=0" . "&criteria[11][link]=AND" . "&criteria[11][field]=8" . "&criteria[11][searchtype]=equals" . "&criteria[11][value]=0" . "&search=Search" . "&itemtype=PluginMonitoringService" . "&start=0" . "&glpi_tab=3'"; $warningdata_link = $CFG_GLPI['root_doc']. "/plugins/monitoring/front/service.php?hidesearch=1" // . "&reset=reset" . "&criteria[0][field]=3" . "&criteria[0][searchtype]=contains" . "&criteria[0][value]=FLAPPING" . "&criteria[1][link]=AND" . "&criteria[1][field]=7" . "&criteria[1][searchtype]=equals" . "&criteria[1][value]=0" . "&criteria[2][link]=AND" . "&criteria[2][field]=8" . "&criteria[2][searchtype]=equals" . "&criteria[2][value]=0" . "&criteria[2][link]=OR" . "&criteria[3][field]=3" . "&criteria[3][searchtype]=contains" . "&criteria[3][value]=RECOVERY" . "&criteria[4][link]=AND" . "&criteria[4][field]=7" . "&criteria[4][searchtype]=equals" . "&criteria[4][value]=0" . "&criteria[5][link]=AND" . "&criteria[5][field]=8" . "&criteria[5][searchtype]=equals" . "&criteria[5][value]=0" . "&criteria[6][link]=OR" . "&criteria[6][field]=3" . "&criteria[6][searchtype]=contains" . "&criteria[6][value]=WARNING" . "&criteria[7][link]=AND" . "&criteria[7][field]=7" . "&criteria[7][searchtype]=equals" . "&criteria[7][value]=0" . "&criteria[8][link]=AND" . "&criteria[8][field]=8" . "&criteria[8][searchtype]=equals" . "&criteria[8][value]=0" . "&itemtype=PluginMonitoringService" . "&start=0" . "&glpi_tab=3'"; $warningconnection_link = $CFG_GLPI['root_doc']. "/plugins/monitoring/front/service.php?hidesearch=1" // . "&reset=reset" . "&criteria[0][field]=3" . "&criteria[0][searchtype]=contains" . "&criteria[0][value]=UNKNOWN" . "&criteria[1][link]=AND" . "&criteria[1][field]=7" . "&criteria[1][searchtype]=equals" . "&criteria[1][value]=0" . "&criteria[2][link]=AND" . "&criteria[2][field]=8" . "&criteria[2][searchtype]=equals" . "&criteria[2][value]=0" . "&criteria[3][link]=OR" . "&criteria[3][field]=3" . "&criteria[3][searchtype]=contains" . "&criteria[3][value]=NULL" . "&criteria[4][link]=AND" . "&criteria[4][field]=7" . "&criteria[4][searchtype]=equals" . "&criteria[4][value]=0" . "&criteria[5][link]=AND" . "&criteria[5][field]=8" . "&criteria[5][searchtype]=equals" . "&criteria[5][value]=0" . "&itemtype=PluginMonitoringService" . "&start=0" . "&glpi_tab=3'"; $ok_link = $CFG_GLPI['root_doc']. "/plugins/monitoring/front/service.php?hidesearch=1" // . "&reset=reset" . "&criteria[0][field]=3" . "&criteria[0][searchtype]=contains" . "&criteria[0][value]=OK" . "&itemtype=PluginMonitoringService" . "&start=0" . "&glpi_tab=3'"; $acknowledge_link = $CFG_GLPI['root_doc']. "/plugins/monitoring/front/service.php?hidesearch=1" // . "&reset=reset" . "&criteria[0][field]=7" . "&criteria[0][searchtype]=equals" . "&criteria[0][value]=1" . "&itemtype=PluginMonitoringService" . "&start=0" . "&glpi_tab=3'"; echo "<table align='center'>"; echo "<tr>"; echo "<td width='414'>"; $background = ''; if ($critical > 0) { $background = 'background="'.$CFG_GLPI['root_doc'].'/plugins/monitoring/pics/bg_critical.png"'; } echo "<table class='tab_cadre' width='100%' height='130' ".$background." >"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' OR $type == 'Componentscatalog') { echo "<a href='".$critical_link.">". "<font color='black' style='font-size: 12px;font-weight: bold;'>".__('Critical', 'monitoring')."</font></a>"; } else { echo __('Critical', 'monitoring'); } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' OR $type == 'Componentscatalog') { echo "<a href='".$critical_link.">". "<font color='black' style='font-size: 52px;font-weight: bold;'>".$critical."</font></a>"; } else { echo "<font style='font-size: 52px;'>".$critical."</font>"; } echo "</th>"; echo "</tr>"; echo "<tr><td>"; echo "<p style='font-size: 11px; text-align: center;'> Soft : ".$critical_soft."</p>"; echo "</td></tr>"; echo "</table>"; echo "</td>"; echo "<td width='188'>"; $background = ''; if ($warningdata > 0) { $background = 'background="'.$CFG_GLPI['root_doc'].'/plugins/monitoring/pics/bg_warning.png"'; } if ($type == 'Ressources') { echo "<table class='tab_cadre' width='100%' height='130' ".$background." >"; } else { echo "<table class='tab_cadre' width='100%' height='130' ".$background." >"; } echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources') { echo "<a href='".$warningdata_link.">". "<font color='black' style='font-size: 12px;font-weight: bold;'>".__('Warning', 'monitoring')."</font></a>"; } else { if ($type == 'Componentscatalog') { echo "<a href='".$warning_link.">". "<font color='black' style='font-size: 12px;font-weight: bold;'>".__('Warning', 'monitoring')."</font></a>"; } else { echo __('Warning', 'monitoring'); } } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources') { echo "<a href='".$warningdata_link.">". "<font color='black' style='font-size: 52px;'>".$warningdata."</font></a>"; } else if ($type == 'Componentscatalog') { echo "<a href='".$warning_link.">". "<font color='black' style='font-size: 52px;'>".$warningdata."</font></a>"; } else { echo "<font style='font-size: 52px;'>".$warningdata."</font>"; } echo "</th>"; echo "</tr>"; echo "<tr><td>"; echo "<p style='font-size: 11px; text-align: center;'> Soft : ".$warningdata_soft."</p>"; echo "</td></tr>"; echo "</table>"; echo "</td>"; if ($type == 'Ressources') { echo "<td width='188'>"; $background = ''; if ($warningconnection > 0) { $background = 'background="'.$CFG_GLPI['root_doc'].'/plugins/monitoring/pics/bg_warning_yellow.png"'; } echo "<table class='tab_cadre' width='100%' height='130' ".$background." >"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' OR $type == 'Componentscatalog') { echo "<a href='".$warningconnection_link.">". "<font color='black' style='font-size: 12px;font-weight: bold;'>".__('Warning (connection)', 'monitoring')."</font></a>"; } else { echo __('Warning (connection)', 'monitoring'); } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' OR $type == 'Componentscatalog') { echo "<a href='".$warningconnection_link.">". "<font color='black' style='font-size: 52px;'>".$warningconnection."</font></a>"; } else { echo "<font style='font-size: 52px;'>".$warningconnection."</font>"; } echo "</th>"; echo "</tr>"; echo "<tr><td>"; echo "<p style='font-size: 11px; text-align: center;'> Soft : ".$warningconnection_soft."</p>"; echo "</td></tr>"; echo "</table>"; echo "</td>"; } echo "<td width='148'>"; $background = ''; if ($ok > 0) { $background = 'background="'.$CFG_GLPI['root_doc'].'/plugins/monitoring/pics/bg_ok.png"'; } echo "<table class='tab_cadre' width='100%' height='130' ".$background." >"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' OR $type == 'Componentscatalog') { echo "<a href='".$ok_link.">". "<font color='black' style='font-size: 12px;font-weight: bold;'>".__('OK', 'monitoring')."</font></a>"; } else { echo __('OK', 'monitoring'); } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' OR $type == 'Componentscatalog') { echo "<a href='".$ok_link.">". "<font color='black' style='font-size: 52px;font-weight: bold;'>".$ok."</font></a>"; } else { echo "<font style='font-size: 52px;'>".$ok."</font>"; } echo "</th>"; echo "</tr>"; echo "<tr><td>"; echo "<p style='font-size: 11px; text-align: center;'> Soft : ".$ok_soft."</p>"; echo "</td></tr>"; echo "</table>"; echo "</td>"; echo "<td width='120'>"; $background = ''; if ($acknowledge > 0) { $background = 'background="'.$CFG_GLPI['root_doc'].'/plugins/monitoring/pics/bg_acknowledge.png"'; } echo "<table class='tab_cadre' width='100%' height='130' ".$background." >"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' OR $type == 'Componentscatalog') { echo "<a href='".$acknowledge_link."'>". "<font color='black' style='font-size: 12px;font-weight: bold;'>".__('Acknowledge', 'monitoring')."</font></a>"; } else { echo __('Acknowledge', 'monitoring'); } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<th style='background-color:transparent;'>"; if ($type == 'Ressources' OR $type == 'Componentscatalog') { echo "<a href='".$acknowledge_link."'>". "<font color='black' style='font-size: 52px;font-weight: bold;'>".$acknowledge."</font></a>"; } else { echo "<font style='font-size: 52px;'>".$acknowledge."</font>"; } echo "</th>"; echo "</tr>"; echo "<tr><td>"; echo "<p style='font-size: 11px; text-align: center;'> </p>"; echo "</td></tr>"; echo "</table>"; echo "</td>"; echo "</tr>"; echo "</table><br/>"; // ** play sound if ($play_sound == '1') { echo '<audio autoplay="autoplay"> <source src="../audio/star-trek.ogg" type="audio/ogg" /> Your browser does not support the audio element. </audio>'; } }