$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;
Example #3
0
$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; } }