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); }
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); }