$grouplistStr = $access->getAccessGroupsString(); } $widgetObj = new CentreonWidget($centreon, $db); $preferences = $widgetObj->getWidgetPreferences($widgetId); $autoRefresh = 0; if (isset($preferences['refresh_interval'])) { $autoRefresh = $preferences['refresh_interval']; } /* * Prepare URL */ if (isset($preferences['service']) && $preferences['service']) { $tab = split("-", $preferences['service']); $host_name = ""; $service_description = ""; $res = $db2->query("SELECT host_name, service_description\n \t\tFROM index_data\n \t\tWHERE host_id = " . $db->escape($tab[0]) . "\n \t\tAND service_id = " . $db->escape($tab[1]) . "\n \t\tLIMIT 1"); if ($res->numRows()) { $row = $res->fetchRow(); $host_name = $row["host_name"]; $service_description = $row["service_description"]; } } /* * Check ACL */ $acl = 1; if (isset($tab[0]) && isset($tab[1]) && $centreon->user->admin == 0) { $query = "SELECT host_id FROM centreon_acl WHERE host_id = " . $db->escape($tab[0]) . " AND service_id = " . $db->escape($tab[1]) . " AND group_id IN (" . $grouplistStr . ")"; $res = $db2->query($query); if (!$res->numRows()) { $acl = 0;
$serviceStateColors[4] = $row['value']; } } $hostStateLabels = array(0 => "Up", 1 => "Down", 2 => "Unreachable", 4 => "Pending"); $serviceStateLabels = array(0 => "Ok", 1 => "Warning", 2 => "Critical", 3 => "Unknown", 4 => "Pending"); $query = "SELECT SQL_CALC_FOUND_ROWS DISTINCT name1 as name "; $query .= "FROM {$ndoPrefix}servicegroups sg, {$ndoPrefix}objects o "; $query .= "WHERE sg.servicegroup_object_id = o.object_id "; if (isset($preferences['sg_name_search']) && $preferences['sg_name_search'] != "") { $tab = split(" ", $preferences['sg_name_search']); $op = $tab[0]; if (isset($tab[1])) { $search = $tab[1]; } if ($op && isset($search) && $search != "") { $query = CentreonUtils::conditionBuilder($query, "name1 " . CentreonUtils::operandToMysqlFormat($op) . " '" . $dbb->escape($search) . "' "); } } if (!$centreon->user->admin) { $query = CentreonUtils::conditionBuilder($query, "name1 IN (" . $aclObj->getServiceGroupsString("NAME") . ")"); } $orderby = "name ASC"; if (isset($preferences['order_by']) && $preferences['order_by'] != "") { $orderby = $preferences['order_by']; } $query .= "ORDER BY {$orderby}"; $query .= " LIMIT " . $page * $preferences['entries'] . "," . $preferences['entries']; $res = $dbb->query($query); $nbRows = $dbb->numberRows(); $data = array(); $detailMode = false;
$query .= " LEFT JOIN mod_open_tickets mop2 ON (cv3.value = mop2.ticket_value AND mop2.timestamp > s.last_hard_state_change) "; $query .= " LEFT JOIN mod_open_tickets_data mopd2 ON (mop2.ticket_id = mopd2.ticket_id) "; if (!$centreon->user->admin) { $query .= " , centreon_acl acl "; } $query .= " WHERE s.host_id = h.host_id "; $query .= " AND h.enabled = 1 AND h.name NOT LIKE '_Module_%' "; $query .= " AND s.enabled = 1 "; if (isset($preferences['host_name_search']) && $preferences['host_name_search'] != "") { $tab = split(" ", $preferences['host_name_search']); $op = $tab[0]; if (isset($tab[1])) { $search = $tab[1]; } if ($op && isset($search) && $search != "") { $query = CentreonUtils::conditionBuilder($query, "h.name " . CentreonUtils::operandToMysqlFormat($op) . " '" . $dbb->escape($search) . "' "); } } if (isset($preferences['service_description_search']) && $preferences['service_description_search'] != "") { $tab = split(" ", $preferences['service_description_search']); $op = $tab[0]; if (isset($tab[1])) { $search = $tab[1]; } if ($op && isset($search) && $search != "") { $query = CentreonUtils::conditionBuilder($query, "s.description " . CentreonUtils::operandToMysqlFormat($op) . " '" . $dbb->escape($search) . "' "); } } $stateTab = array(); if (isset($preferences['svc_warning']) && $preferences['svc_warning']) { $stateTab[] = 1;
* SVN : $Id: generateImage.php 12494 2011-09-15 07:28:16Z shotamchay $ * */ /** * Include config file */ include "../../require.php"; require_once $centreon_path . '/www/class/centreonGraph.class.php'; require_once $centreon_path . '/www/class/centreonDB.class.php'; session_start(); if (!isset($_GET['service']) || !isset($_GET['session_id'])) { exit; } list($hostId, $serviceId) = explode('-', $_GET['service']); $db = new CentreonDB("centstorage"); $res = $db->query("SELECT `id`\n\t\t\t\t FROM index_data\n \t\t\t WHERE host_id = " . $db->escape($hostId) . "\n \t\t\t AND service_id = " . $db->escape($serviceId) . "\n \t\t\t LIMIT 1"); if ($res->numRows()) { $row = $res->fetchRow(); $index = $row["id"]; } else { $index = 0; } /** * Create XML Request Objects */ $obj = new CentreonGraph($_GET["session_id"], $index, 0, 1); if (trim(session_id()) != trim($_GET['session_id'])) { $obj->displayError(); } require_once $centreon_path . "www/include/common/common-Func.php"; /**
if (false === isset($_GET['session_id'])) { sendJson("Forbidden access", 403); } $sid = $_GET['session_id']; /* Test session id format */ $match = preg_match("/^[\\w-]+\$/", $sid); if (false === $match || 0 === $match) { sendJson("Forbidden access", 403); } require_once $centreon_path . "/www/class/centreonDB.class.php"; require_once $centreon_path . "/www/class/centreonACL.class.php"; require_once dirname(dirname(__FILE__)) . "/class/GraphService.php"; #require_once dirname("GraphService.php"); $pearDB = new CentreonDB(); $pearDBD = new CentreonDB("centstorage"); $sid = CentreonDB::escape($sid); /* Check if session is initialised */ $res = $pearDB->query("SELECT s.user_id, c.contact_admin FROM session s, contact c WHERE s.user_id = c.contact_id AND s.session_id = '" . $sid . "'"); if (PEAR::isError($res)) { sendJson("Internal Server Error", 500); } $row = $res->fetchRow(); if (is_null($row)) { sendJson("Forbidden access", 403); } $isAdmin = $row['contact_admin']; $userId = $row['user_id']; /* Get ACL if user is not admin */ if (!$isAdmin) { $acl = new CentreonACL($userId, $isAdmin); $aclGroups = $acl->getAccessGroupsString();
$access = new CentreonACL($centreon->user->get_id()); $grouplist = $access->getAccessGroups(); $grouplistStr = $access->getAccessGroupsString(); } $widgetObj = new CentreonWidget($centreon, $db); $preferences = $widgetObj->getWidgetPreferences($widgetId); $autoRefresh = 0; if (isset($preferences['refresh_interval'])) { $autoRefresh = $preferences['refresh_interval']; } /* * Prepare URL */ if (isset($preferences['service']) && $preferences['service']) { $tab = split("-", $preferences['service']); $res = $db2->query("SELECT host_name, service_description\n FROM index_data\n WHERE host_id = " . $db->escape($tab[0]) . "\n AND service_id = " . $db->escape($tab[1]) . "\n LIMIT 1"); if ($res->numRows()) { $row = $res->fetchRow(); $host_name = $row["host_name"]; $service_description = $row["service_description"]; } } /* * Check ACL */ $acl = 1; if (isset($tab[0]) && isset($tab[1]) && $centreon->user->admin == 0) { $query = "SELECT host_id \n FROM centreon_acl \n WHERE host_id = " . $dbAcl->escape($tab[0]) . " \n AND service_id = " . $dbAcl->escape($tab[1]) . " \n AND group_id IN (" . $grouplistStr . ")"; $res = $dbAcl->query($query); if (!$res->numRows()) { $acl = 0;
$msg_req .= " (`msg_type` IN ('5'))"; } if ($flag_begin) { $msg_req = " AND (" . $msg_req . ") "; } // Remove virtual hosts and services $msg_req .= " AND host_name NOT LIKE '%_Module_%'"; // Search on object name if (isset($preferences['object_name_search']) && $preferences['object_name_search'] != "") { $tab = split(" ", $preferences['object_name_search']); $op = $tab[0]; if (isset($tab[1])) { $search = $tab[1]; } if ($op && isset($search) && $search != "") { $msg_req .= " AND (host_name " . CentreonUtils::operandToMysqlFormat($op) . " '" . $dbb->escape($search) . "' "; $msg_req .= " OR service_description " . CentreonUtils::operandToMysqlFormat($op) . " '" . $dbb->escape($search) . "' "; $msg_req .= " OR instance_name " . CentreonUtils::operandToMysqlFormat($op) . " '" . $dbb->escape($search) . "') "; } } // Search on output if (isset($preferences['output_search']) && $preferences['output_search'] != "") { $tab = split(" ", $preferences['output_search']); $op = $tab[0]; if (isset($tab[1])) { $outputSearch = $tab[1]; } if ($op && isset($outputSearch) && $outputSearch != "") { $msg_req .= " AND output " . CentreonUtils::operandToMysqlFormat($op) . " '" . $dbb->escape($outputSearch) . "' "; } }
$query .= " LEFT JOIN customvariables cv ON (s.service_id = cv.service_id AND s.host_id = cv.host_id AND cv.name = 'CRITICALITY_LEVEL') "; $query .= " LEFT JOIN customvariables cv2 ON (s.service_id = cv2.service_id AND s.host_id = cv2.host_id AND cv2.name = 'CRITICALITY_ID') "; if (!$centreon->user->admin) { $query .= " , centreon_acl acl "; } $query .= " WHERE s.host_id = h.host_id "; $query .= " AND h.name NOT LIKE '_Module_%' "; $query .= " AND s.enabled = 1 "; if (isset($preferences['host_name_search']) && $preferences['host_name_search'] != "") { $tab = split(" ", $preferences['host_name_search']); $op = $tab[0]; if (isset($tab[1])) { $search = $tab[1]; } if ($op && isset($search) && $search != "") { $query = CentreonUtils::conditionBuilder($query, "h.name " . CentreonUtils::operandToMysqlFormat($op) . " '" . $dbb->escape($search) . "' "); } } if (isset($preferences['service_description_search']) && $preferences['service_description_search'] != "") { $tab = split(" ", $preferences['service_description_search']); $op = $tab[0]; if (isset($tab[1])) { $search = $tab[1]; } if ($op && isset($search) && $search != "") { $query = CentreonUtils::conditionBuilder($query, "s.description " . CentreonUtils::operandToMysqlFormat($op) . " '" . $dbb->escape($search) . "' "); } } $stateTab = array(); if (isset($preferences['svc_ok']) && $preferences['svc_ok']) { $stateTab[] = 0;
$access = new CentreonACL($centreon->user->get_id()); $grouplist = $access->getAccessGroups(); $grouplistStr = $access->getAccessGroupsString(); } $widgetObj = new CentreonWidget($centreon, $db); $preferences = $widgetObj->getWidgetPreferences($widgetId); $autoRefresh = 0; if (isset($preferences['refresh_interval'])) { $autoRefresh = $preferences['refresh_interval']; } /* * Check ACL */ $acl = 1; if (isset($tab[0]) && isset($tab[1]) && $centreon->user->admin == 0) { $query = "SELECT host_id FROM centreon_acl WHERE host_id = " . $db->escape($tab[0]) . " AND service_id = " . $db->escape($tab[1]) . " AND group_id IN (" . $grouplistStr . ")"; $res = $db2->query($query); if (!$res->numRows()) { $acl = 0; } } } catch (Exception $e) { echo $e->getMessage() . "<br/>"; exit; } ?> <html> <style type="text/css"> body{ margin:0; padding:0 0 0 0; } div#actionBar { position:absolute; top:0; left:0; width:100%; height:25px; background-color: #FFFFFF; } @media screen { body>div#actionBar { position: fixed; } }