Example #1
0
function get_syslog_messages(&$sql_where, $row_limit, $tab)
{
    global $sql_where, $hostfilter, $current_tab, $syslog_incoming_config;
    include dirname(__FILE__) . "/config.php";
    $sql_where = "";
    /* form the 'where' clause for our main sql query */
    if ($_REQUEST["host"][0] == -1 && $tab != "syslog") {
        $sql_where .= "WHERE sl.host='N/A'";
    } else {
        if (!empty($_REQUEST["host"])) {
            sql_hosts_where($tab);
            if (strlen($hostfilter)) {
                $sql_where .= "WHERE " . $hostfilter;
            }
        }
    }
    if (isset($_SESSION["sess_current_date1"])) {
        $sql_where .= (!strlen($sql_where) ? "WHERE " : " AND ") . "logtime BETWEEN '" . $_SESSION["sess_current_date1"] . "'\n\t\t\t\tAND '" . $_SESSION["sess_current_date2"] . "'";
    }
    if (isset($_REQUEST["id"]) && $current_tab == "current") {
        $sql_where .= (!strlen($sql_where) ? "WHERE " : " AND ") . "sa.id=" . $_REQUEST["id"];
    }
    if (!empty($_REQUEST["filter"])) {
        if ($tab == "syslog") {
            $sql_where .= (!strlen($sql_where) ? "WHERE " : " AND ") . "message LIKE '%%" . $_REQUEST["filter"] . "%%'";
        } else {
            $sql_where .= (!strlen($sql_where) ? "WHERE " : " AND ") . "logmsg LIKE '%%" . $_REQUEST["filter"] . "%%'";
        }
    }
    if (!empty($_REQUEST["efacility"])) {
        $sql_where .= (!strlen($sql_where) ? "WHERE " : " AND ") . "facility_id='" . $_REQUEST["efacility"] . "'";
    }
    if (!empty($_REQUEST["elevel"])) {
        $sql_where .= (!strlen($sql_where) ? "WHERE " : " AND ") . "priority_id " . (substr_count($_REQUEST["elevel"], "o") ? "" : "<") . "=" . str_replace("o", "", $_REQUEST["elevel"]);
    }
    $sql_where = api_plugin_hook_function('syslog_sqlwhere', $sql_where);
    if (!isset($_REQUEST["export"])) {
        $limit = " LIMIT " . $row_limit * ($_REQUEST["page"] - 1) . "," . $row_limit;
    } else {
        $limit = " LIMIT 10000";
    }
    $sort = $_REQUEST["sort_column"];
    if ($tab == "syslog") {
        if ($_REQUEST["removal"] == "-1") {
            $query_sql = "SELECT *, 'main' AS mtype\n\t\t\t\tFROM `" . $syslogdb_default . "`.`syslog` " . $sql_where . "\n\t\t\t\tORDER BY " . $sort . " " . $_REQUEST["sort_direction"] . $limit;
        } elseif ($_REQUEST["removal"] == "1") {
            $query_sql = "(SELECT *, 'main' AS mtype\n\t\t\t\tFROM `" . $syslogdb_default . "`.`syslog` " . $sql_where . "\n\t\t\t\t) UNION (SELECT *, 'remove' AS mtype\n\t\t\t\tFROM `" . $syslogdb_default . "`.`syslog_removed` " . $sql_where . ")\n\t\t\t\tORDER BY " . $sort . " " . $_REQUEST["sort_direction"] . $limit;
        } else {
            $query_sql = "SELECT *, 'remove' AS mtype\n\t\t\t\tFROM `" . $syslogdb_default . "`.`syslog_removed` " . $sql_where . "\n\t\t\t\tORDER BY " . $sort . " " . $_REQUEST["sort_direction"] . $limit;
        }
    } else {
        $query_sql = "SELECT sl.*, sa.name, sa.severity\n\t\t\tFROM `" . $syslogdb_default . "`.`syslog_logs` AS sl\n\t\t\tLEFT JOIN `" . $syslogdb_default . "`.`syslog_facilities` AS sf\n\t\t\tON sl.facility=sf.facility\n\t\t\tLEFT JOIN `" . $syslogdb_default . "`.`syslog_priorities` AS sp\n\t\t\tON sl.priority=sp.priority\n\t\t\tLEFT JOIN `" . $syslogdb_default . "`.`syslog_hosts` AS sh\n\t\t\tON sl.host=sh.host\n\t\t\tLEFT JOIN `" . $syslogdb_default . "`.`syslog_alert` AS sa\n\t\t\tON sl.alert_id=sa.id " . $sql_where . "\n\t\t\tORDER BY " . $sort . " " . $_REQUEST["sort_direction"] . $limit;
    }
    //echo $query_sql;
    return syslog_db_fetch_assoc($query_sql);
}
Example #2
0
function get_syslog_messages(&$sql_where, $row_limit, $tab)
{
    global $sql_where, $hostfilter, $current_tab, $syslog_incoming_config;
    include dirname(__FILE__) . '/config.php';
    $sql_where = '';
    /* form the 'where' clause for our main sql query */
    if (get_request_var('host') == -1 && $tab != 'syslog') {
        $sql_where .= "WHERE sl.host='N/A'";
    } else {
        if (!isempty_request_var('host')) {
            sql_hosts_where($tab);
            if (strlen($hostfilter)) {
                $sql_where .= 'WHERE ' . $hostfilter;
            }
        }
    }
    if (isset($_SESSION['sess_current_date1'])) {
        $sql_where .= (!strlen($sql_where) ? 'WHERE ' : ' AND ') . "logtime BETWEEN '" . $_SESSION['sess_current_date1'] . "'\n\t\t\t\tAND '" . $_SESSION['sess_current_date2'] . "'";
    }
    if (isset_request_var('id') && $current_tab == 'current') {
        $sql_where .= (!strlen($sql_where) ? 'WHERE ' : ' AND ') . 'sa.id=' . get_request_var('id');
    }
    if (!isempty_request_var('filter')) {
        if ($tab == 'syslog') {
            $sql_where .= (!strlen($sql_where) ? 'WHERE ' : ' AND ') . "message LIKE '%" . get_request_var('filter') . "%'";
        } else {
            $sql_where .= (!strlen($sql_where) ? 'WHERE ' : ' AND ') . "logmsg LIKE '%" . get_request_var('filter') . "%'";
        }
    }
    if (get_request_var('eprogram') != '-1') {
        $sql_where .= (!strlen($sql_where) ? 'WHERE ' : ' AND ') . "syslog.program_id='" . get_request_var('eprogram') . "'";
    }
    if (get_request_var('efacility') != '-1') {
        $sql_where .= (!strlen($sql_where) ? 'WHERE ' : ' AND ') . "syslog.facility_id='" . get_request_var('efacility') . "'";
    }
    if (isset_request_var('epriority') && get_request_var('epriority') != '-1') {
        $priorities = '';
        switch (get_request_var('epriority')) {
            case '0':
                $priorities = "=0";
                break;
            case '1o':
                $priorities = "=1";
                break;
            case '1':
                $priorities = "<1";
                break;
            case '2o':
                $priorities = "=2";
                break;
            case '2':
                $priorities = "<=2";
                break;
            case '3o':
                $priorities = "=3";
                break;
            case '3':
                $priorities = "<=3";
                break;
            case '4o':
                $priorities = "=4";
                break;
            case '4':
                $priorities = "<=4";
                break;
            case '5o':
                $priorities = "=5";
                break;
            case '5':
                $priorities = "<=5";
                break;
            case '6o':
                $priorities = "=6";
                break;
            case '6':
                $priorities = "<=6";
                break;
            case '7':
                $priorities = "=7";
                break;
        }
        $sql_where .= (!strlen($sql_where) ? 'WHERE ' : ' AND ') . 'syslog.priority_id ' . $priorities;
    }
    $sql_where = api_plugin_hook_function('syslog_sqlwhere', $sql_where);
    if (!isset_request_var('export')) {
        $limit = ' LIMIT ' . $row_limit * (get_request_var('page') - 1) . ',' . $row_limit;
    } else {
        $limit = ' LIMIT 10000';
    }
    $sort = get_request_var('sort_column');
    if ($tab == 'syslog') {
        if (get_request_var('removal') == '-1') {
            $query_sql = "SELECT syslog.*, syslog_programs.program, 'main' AS mtype\n\t\t\t\tFROM `" . $syslogdb_default . "`.`syslog` \n\t\t\t\tLEFT JOIN  `" . $syslogdb_default . "`.`syslog_programs` \n\t\t\t\tON syslog.program_id=syslog_programs.program_id " . $sql_where . "\n\t\t\t\tORDER BY " . $sort . " " . get_request_var('sort_direction') . $limit;
        } elseif (get_request_var('removal') == '1') {
            $query_sql = "(SELECT syslog.*, syslog_programs.program, 'main' AS mtype\n\t\t\t\tFROM `" . $syslogdb_default . "`.`syslog` AS syslog\n\t\t\t\tLEFT JOIN  `" . $syslogdb_default . "`.`syslog_programs` \n\t\t\t\tON syslog.program_id=syslog_programs.program_id " . $sql_where . "\n\t\t\t\t) UNION (SELECT syslog.*, syslog_programs.program, 'remove' AS mtype\n\t\t\t\tFROM `" . $syslogdb_default . "`.`syslog_removed` AS syslog\n\t\t\t\tLEFT JOIN  `" . $syslogdb_default . "`.`syslog_programs` \n\t\t\t\tON syslog.program_id=syslog_programs.program_id " . $sql_where . ")\n\t\t\t\tORDER BY " . $sort . " " . get_request_var('sort_direction') . $limit;
        } else {
            $query_sql = "SELECT syslog.*, syslog_programs.program, 'remove' AS mtype\n\t\t\t\tFROM `" . $syslogdb_default . "`.`syslog_removed` AS syslog\n\t\t\t\tLEFT JOIN  `" . $syslogdb_default . "`.`syslog_programs` AS syslog\n\t\t\t\tON syslog.program_id=syslog_programs.program_id " . $sql_where . "\n\t\t\t\tORDER BY " . $sort . " " . get_request_var('sort_direction') . $limit;
        }
    } else {
        $query_sql = "SELECT syslog.*, sf.facility, sp.priority, spr.program, sa.name, sa.severity\n\t\t\tFROM `" . $syslogdb_default . "`.`syslog_logs` AS syslog\n\t\t\tLEFT JOIN `" . $syslogdb_default . "`.`syslog_facilities` AS sf\n\t\t\tON syslog.facility_id=sf.facility_id \n\t\t\tLEFT JOIN `" . $syslogdb_default . "`.`syslog_priorities` AS sp\n\t\t\tON syslog.priority_id=sp.priority_id \n\t\t\tLEFT JOIN `" . $syslogdb_default . "`.`syslog_alert` AS sa\n\t\t\tON syslog.alert_id=sa.id \n\t\t\tLEFT JOIN `" . $syslogdb_default . "`.`syslog_programs` AS spr\n\t\t\tON syslog.program_id=spr.program_id " . $sql_where . "\n\t\t\tORDER BY " . $sort . " " . get_request_var('sort_direction') . $limit;
    }
    //echo $query_sql;
    return syslog_db_fetch_assoc($query_sql);
}