Example #1
0
    $query .= " AND cv2.`value` IN ({$idC}) ";
}
if (!$centreon->user->admin) {
    $pearDB = $db;
    $aclObj = new CentreonACL($centreon->user->user_id, $centreon->user->admin);
    $groupList = $aclObj->getAccessGroupsString();
    $query .= " AND h.host_id = acl.host_id\n\tAND acl.service_id = s.service_id\n\tAND acl.group_id IN ({$groupList})";
}
if (isset($preferences['output_search']) && $preferences['output_search'] != "") {
    $tab = split(" ", $preferences['output_search']);
    $op = $tab[0];
    if (isset($tab[1])) {
        $search = $tab[1];
    }
    if ($op && isset($search) && $search != "") {
        $query = CentreonUtils::conditionBuilder($query, "s.output " . CentreonUtils::operandToMysqlFormat($op) . " '" . $dbb->escape($search) . "' ");
    }
}
if (isset($preferences['ticket_id_search']) && $preferences['ticket_id_search'] != "") {
    $query .= " AND (mop1.ticket_value LIKE '" . $dbb->escape($preferences['ticket_id_search']) . "' OR mop2.ticket_value LIKE '" . $dbb->escape($preferences['ticket_id_search']) . "') ";
}
if (isset($preferences['ticket_subject_search']) && $preferences['ticket_subject_search'] != "") {
    $query .= " AND (mopd1.subject LIKE '" . $dbb->escape($preferences['ticket_subject_search']) . "' OR mopd2.subject LIKE '" . $dbb->escape($preferences['ticket_subject_search']) . "') ";
}
$orderby = "hostname ASC , description 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);
$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;
if (isset($preferences['enable_detailed_mode']) && $preferences['enable_detailed_mode']) {
    $detailMode = true;
}
while ($row = $res->fetchRow()) {
    } elseif ($preferences['downtime_filter'] == "ndowntime") {
        $query = CentreonUtils::conditionBuilder($query, " s.scheduled_downtime_depth = 0 ");
    }
}
if (isset($preferences['state_type_filter']) && $preferences['state_type_filter']) {
    if ($preferences['state_type_filter'] == "hardonly") {
        $query = CentreonUtils::conditionBuilder($query, " s.state_type = 1 ");
    } elseif ($preferences['state_type_filter'] == "softonly") {
        $query = CentreonUtils::conditionBuilder($query, " s.state_type = 0 ");
    }
}
if (isset($preferences['hostgroup']) && $preferences['hostgroup']) {
    $query = CentreonUtils::conditionBuilder($query, " s.host_id IN (\n      SELECT host_host_id\n      FROM " . $conf_centreon['db'] . ".hostgroup_relation\n      WHERE hostgroup_hg_id = " . $dbb->escape($preferences['hostgroup']) . ")");
}
if (isset($preferences['servicegroup']) && $preferences['servicegroup']) {
    $query = CentreonUtils::conditionBuilder($query, " s.service_id IN (SELECT service_service_id\n      FROM " . $conf_centreon['db'] . ".servicegroup_relation\n      WHERE servicegroup_sg_id = " . $dbb->escape($preferences['servicegroup']) . "\n      UNION\n      SELECT sgr.service_service_id\n      FROM " . $conf_centreon['db'] . ".servicegroup_relation sgr, " . $conf_centreon['db'] . ".host_service_relation hsr\n      WHERE hsr.hostgroup_hg_id = sgr.hostgroup_hg_id\n      AND sgr.servicegroup_sg_id = " . $dbb->escape($preferences['servicegroup']) . ") ");
}
if (isset($preferences["display_severities"]) && $preferences["display_severities"] && isset($preferences['criticality_filter']) && $preferences['criticality_filter'] != "") {
    $tab = split(",", $preferences['criticality_filter']);
    $labels = "";
    foreach ($tab as $p) {
        if ($labels != '') {
            $labels .= ',';
        }
        $labels .= "'" . trim($p) . "'";
    }
    $query2 = "SELECT sc_id FROM service_categories WHERE sc_name IN (" . $labels . ")";
    $RES = $db->query($query2);
    $idC = "";
    while ($d1 = $RES->fetchRow()) {
        if ($idC != '') {