function search() { $tpl = new templates(); $MyPage = CurrentPageName(); $q = new postgres_sql(); $t = $_GET["t"]; $search = '%'; $table = "smtpstats_day"; $page = 1; $table = "(SELECT SUM(grey) as grey, SUM(black) AS black, SUM(cnx) as cnx,AVG(domains) as domains,cdir FROM smtpcdir_day GROUP BY cdir) as t"; if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { if ($_POST["sortname"] == "servername") { $_POST["sortname"] = "value"; } $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $searchstring = string_to_flexPostGresquery(); if ($searchstring != null) { $sql = "SELECT COUNT(*) as tcount FROM {$table} WHERE {$searchstring}"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql, "artica_events")); $total = $ligne["tcount"]; } else { $sql = "SELECT COUNT(*) as tcount FROM {$table}"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql, "artica_events")); $total = $ligne["tcount"]; } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$rp} OFFSET {$pageStart}"; $sql = "SELECT * FROM {$table} WHERE {$searchstring} {$FORCE} {$ORDER} {$limitSql}"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { json_error_show($q->mysql_error, 0); } $divstart = "<span style='font-size:12px;font-weight:normal'>"; $divstop = "</div>"; if (pg_num_rows($results) == 0) { pg_num_rows("no data"); } while ($ligne = pg_fetch_assoc($results)) { $id = md5(serialize($ligne)); $color = "black"; $color_black = "black"; $fontweight = "normal"; if ($ligne["black"] > 0) { $color_black = "#d32d2d"; } if ($ligne["grey"] > 0) { $fontweight = "bold"; } $BLACK = FormatNumber($ligne["black"]); $GREY = FormatNumber($ligne["grey"]); $CNX = FormatNumber($ligne["cnx"]); $CDIR = $ligne["cdir"]; $DOMAINS = FormatNumber($ligne["domains"]); $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<span style='font-size:18px;color:{$color}'>{$CDIR}</strong>", "<strong style='font-size:18px;color:{$color}'>{$DOMAINS}</strong><a>", "<strong style='font-size:18px;color:{$color}'>{$CNX}</strong><a>", "<span style='font-size:18px;color:{$color_black}'>{$BLACK}</span>", "<span style='font-size:18px;color:{$color};font-weight:{$fontweight}'>{$GREY}</strong></a>")); } echo json_encode($data); }
function build_table() { $q = new mysql_squid_builder(); $md5 = $_GET["zmd5"]; if ($md5 == null) { json_error_show('no key sended'); } $q = new mysql_squid_builder(); $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM reports_cache WHERE `zmd5`='{$md5}'")); $params = unserialize($ligne["params"]); $from = $params["FROM"]; $to = $params["TO"]; $interval = $params["INTERVAL"]; $userfield = strtolower($params["USER"]); $search = $params["SEARCH"]; $page = 1; $q = new postgres_sql(); $tpl = new templates(); $searchstring = string_to_flexPostGresquery(); $table = "(SELECT SUM(size) AS size,{$userfield} FROM \"{$md5}report\" GROUP BY {$userfield}) as t"; if (isset($_POST['page'])) { $page = $_POST['page']; } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if ($searchstring != null) { $sql = "SELECT COUNT(*) AS tcount FROM {$table} WHERE {$searchstring}"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql, "artica_backup")); $total = $ligne["tcount"]; } else { $sql = "SELECT COUNT(*) AS tcount FROM {$table}"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql, "artica_backup")); $total = $ligne["tcount"]; } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } else { $rp = 50; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$rp} OFFSET {$pageStart}"; $sql = "SELECT * FROM {$table} WHERE {$searchstring} {$ORDER} {$limitSql}"; if ($GLOBALS["VERBOSE"]) { echo "{$sql}<br>\n"; } $results = $q->QUERY_SQL($sql); if (!$q->ok) { json_error_show("{$q->mysql_error} {$sql}", 0); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); if (pg_num_rows($results) == 0) { json_error_show("No data", 1); } $fontsize = "22px"; $c = 1; while ($ligne = pg_fetch_assoc($results)) { $USER = trim($ligne[$userfield]); if (preg_match("#([0-9\\.]+)\\/[0-9]+#", $USER, $re)) { $USER = $re[1]; } $c++; $size = FormatBytes($ligne["size"] / 1024); $js = "Loadjs('postfix.statistics.report.member.php?from-zmd5={$md5}&USER_DATA=" . urlencode($USER) . "');"; if ($USER == null) { $USER = "******"; $js = "blur();"; } $href = "<a href=\"javascript:blur();\" OnClick=\"javascript:{$js}\" style='font-size:26px;text-decoration:underline'>"; $data['rows'][] = array('id' => $c, 'cell' => array("<span style='font-size:{$fontsize}'>{$href}{$USER}</a></span>", "<span style='font-size:{$fontsize}'>{$size}</a></span>")); } $data['total'] = $c; echo json_encode($data); }
function rules_list() { $search = '%'; $page = 1; $q = new postgres_sql(); $tpl = new templates(); $searchstring = string_to_flexPostGresquery(); if (isset($_POST['page'])) { $page = $_POST['page']; } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if ($searchstring != null) { $sql = "SELECT COUNT(*) AS tcount FROM suricata_sig WHERE {$searchstring}"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql, "artica_backup")); $total = $ligne["tcount"]; } else { $sql = "SELECT COUNT(*) AS tcount FROM suricata_sig"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql, "artica_backup")); $total = $ligne["tcount"]; } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$rp} OFFSET {$pageStart}"; $sql = "SELECT * FROM suricata_sig WHERE {$searchstring} {$ORDER} {$limitSql}"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { json_error_show($q->mysql_error . "<br>{$sql}", 1); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); if (pg_num_rows($results) == 0) { json_error_show("No data", 1); } while ($ligne = pg_fetch_assoc($results)) { $color = "black"; $icon = "checkbox-on-24.png"; $iconFW = "checkbox-off-24.png"; if ($ligne["enabled"] == 0) { $icon = "checkbox-off-grey-24.png"; $iconFW = "checkbox-off-grey-24.png"; $color = "#8a8a8a"; } if ($ligne["enabled"] == 1) { if ($ligne["firewall"] == 1) { $iconFW = "checkbox-on-24.png"; } } $explain = $ligne["description"]; $explain = wordwrap($explain, 110, "<br>"); $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<strong style='font-size:18px;color:{$color}'>{$ligne["signature"]}</strong>", "<span style='font-size:18px;color:{$color}'>{$explain}</span>", "<center>" . imgsimple($icon, null, "SuricataSignatureEnabled('{$ligne["signature"]}')") . "</center>", "<center>" . imgsimple($iconFW, null, "SuricataSignatureFWEnabled('{$ligne["signature"]}')") . "</center>")); } echo json_encode($data); }
function build_chronology_search() { $page = 1; $zmd5 = $_GET["zmd5"]; $q = new postgres_sql(); $table = "{$zmd5}report"; $MyPage = CurrentPageName(); if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } $searchstring = string_to_flexPostGresquery(); if ($searchstring != null) { $sql = "SELECT COUNT(*) as tcount FROM \"{$table}\" WHERE {$searchstring}"; $ligne = pg_fetch_array($q->QUERY_SQL($sql)); if (!$q->ok) { json_error_show($q->mysql_error, 0); } $total = $ligne["tcount"]; } else { $sql = "SELECT COUNT(*) as tcount FROM \"{$table}\""; $ligne = pg_fetch_array($q->QUERY_SQL($sql)); if (!$q->ok) { json_error_show($q->mysql_error, 0); } $total = $ligne["tcount"]; } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 50; } if (isset($_POST['page'])) { $page = $_POST['page']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$rp} OFFSET {$pageStart}"; $sql = "SELECT * FROM \"{$table}\" WHERE {$searchstring} {$ORDER} {$limitSql}"; //writelogs($sql,__FUNCTION__,__FILE__,__LINE__); if (isset($_GET["verbose"])) { echo "<hr><code>{$sql}</code></hr>"; } $results = $q->QUERY_SQL($sql); if (!$q->ok) { json_error_show($q->mysql_error, 1); } if (pg_num_rows($results) == 0) { json_error_show("{$table} no data", 1); } $fontsize = "26px"; $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); while ($ligne = @pg_fetch_assoc($results)) { $zDate = $ligne["zdate"]; $BYTES = $ligne["size"]; $RQS = $ligne["rqs"]; $SITE = $ligne["familysite"]; $RQS = FormatNumber($RQS); $BYTES = FormatBytes($BYTES / 1024); $zDate = str_replace("00:00:00", "", $zDate); $data['rows'][] = array('id' => md5(serialize($ligne)), 'cell' => array("<span style='font-size:16px'>{$zDate}</span>", "<span style='font-size:16px'>{$SITE}</a></span>", "<span style='font-size:16px'>{$RQS}</span>", "<span style='font-size:16px'>{$BYTES}</span>")); } echo json_encode($data); }
function rules_list() { $search = '%'; $page = 1; $q = new postgres_sql(); $tpl = new templates(); $searchstring = string_to_flexPostGresquery(); if (isset($_POST['page'])) { $page = $_POST['page']; } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if ($searchstring != null) { $sql = "SELECT COUNT(*) AS tcount FROM suricata_firewall WHERE signature='{$_GET["sig"]}' AND {$searchstring}"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql, "artica_backup")); $total = $ligne["tcount"]; } else { $sql = "SELECT COUNT(*) AS tcount FROM suricata_firewall WHERE signature='{$_GET["sig"]}'"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql, "artica_backup")); $total = $ligne["tcount"]; } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$rp} OFFSET {$pageStart}"; $sql = "SELECT * FROM suricata_firewall WHERE signature='{$_GET["sig"]}' AND {$searchstring} {$ORDER} {$limitSql}"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { json_error_show($q->mysql_error, 1); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); if (pg_num_rows($results) == 0) { json_error_show("No data", 1); } while ($ligne = pg_fetch_assoc($results)) { $color = "black"; $signature = intval($ligne["signature"]); $explain = "{block} {from} {$ligne["src_ip"]} {$ligne["proto"]}"; if ($ligne["dst_port"] > 0) { $explain = $explain . " {port} {$ligne["dst_port"]}"; } $explain = $tpl->javascript_parse_text($explain); $signature_js = "<a href=\"javascript:blur();\"\n\t\t\tOnClick=\"javascript:Loadjs('suricata.rule-zoom.php?sig={$ligne["signature"]}');\"\n\t\t\tstyle='font-size:18px;color:{$color};text-decoration:underline'>"; $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<strong style='font-size:18px;color:{$color}'>{$ligne["zdate"]}</strong>", "<span style='font-size:18px;color:{$color}'>{$explain}</span>", "<center>" . imgsimple("delete-24.png", null, "SuricataFwDelete('{$ligne["id"]}')") . "</center>")); } echo json_encode($data); }
function items() { //1.4.010916 $t = $_GET["t"]; $tpl = new templates(); $MyPage = CurrentPageName(); $q = new postgres_sql(); $users = new usersMenus(); $search = '%'; $table = "quarmsg"; $page = 1; $FORCE_FILTER = ""; if (!$users->AsPostfixAdministrator) { if ($users->AsMessagingOrg) { $ldap = new clladp(); $domains = $ldap->hash_get_domains_ou($_SESSION["ou"]); while (list($domain, $MAIN) = each($domains)) { $domain = trim(strtolower($domain)); if ($domain == null) { continue; } $FDOMS[] = "domainto='{$domain}'"; $FDOMS2[] = "domainfrom='{$domain}'"; } $imploded1 = @implode(" OR ", $FDOMS); $imploded2 = @implode(" OR ", $FDOMS2); $table = "(select * FROM quarmsg WHERE ({$imploded1}) OR ({$imploded2})) as t"; } } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $searchstring = string_to_flexPostGresquery(); $sql = "SELECT COUNT(*) as tcount FROM {$table} WHERE {$searchstring}"; $ligne = pg_fetch_array($q->QUERY_SQL($sql)); $total = $ligne["tcount"]; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$rp} OFFSET {$pageStart}"; $sql = "SELECT * FROM {$table} WHERE {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}"; $results = $q->QUERY_SQL($sql); $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); if (!$q->ok) { json_error_show($q->mysql_error); } if (pg_num_rows($results) == 0) { json_error_show("no rule"); } while ($ligne = pg_fetch_assoc($results)) { $id = $ligne["id"]; $color = "#000000"; $ligne["size"] = FormatBytes($ligne["size"] / 1024); $delete = imgsimple("delete-24.png", "", "Loadjs('{$MyPage}?delete-message-js={$id}')"); $urljs = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('{$MyPage}?zoom-js=yes&id={$id}');\"\n\tstyle='font-size:16px;color:{$color};text-decoration:underline'>"; $data['rows'][] = array('id' => "C{$zmd5}", 'cell' => array("<span style='font-size:16px;color:{$color}'>{$urljs}{$ligne["zdate"]}</a></span>", "<span style='font-size:16px;color:{$color}'>{$urljs}{$ligne["mailfrom"]}</a></span>", "<span style='font-size:16px;color:{$color}'>{$urljs}{$ligne["mailto"]}</a></span>", "<span style='font-size:16px;color:{$color}'>{$urljs}{$ligne["subject"]}</a></span>", "<span style='font-size:16px;color:{$color}'>{$urljs}{$ligne["size"]}</a></span>", "<center style='font-size:16px;color:{$color}'>{$delete}</a></center>")); } echo json_encode($data); }
function interfaces_list() { $search = '%'; $page = 1; $q = new postgres_sql(); $tpl = new templates(); $searchstring = string_to_flexPostGresquery(); if (isset($_POST['page'])) { $page = $_POST['page']; } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if ($searchstring != null) { $sql = "SELECT COUNT(*) AS tcount FROM suricata_events WHERE signature='{$_GET["sig"]}' {$searchstring}"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql)); $total = $ligne["tcount"]; } else { $sql = "SELECT COUNT(*) AS tcount FROM suricata_events signature='{$_GET["sig"]}'"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql)); $total = $ligne["tcount"]; } $rp = 50; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$rp} OFFSET {$pageStart}"; $sql = "SELECT * FROM suricata_events WHERE signature='{$_GET["sig"]}' AND {$searchstring} {$ORDER} {$limitSql}"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql); if (!$q->ok) { json_error_show($q->mysql_error, 1); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); if (pg_num_rows($results) == 0) { json_error_show("No data", 1); } $severity_array[1] = "24-red.png"; $severity_array[2] = "warning24.png"; $severity_array[3] = "info-24.png"; $severity_array[4] = "ok24-none.png"; $severity_array[5] = "ok24-grey.png"; while ($ligne = @pg_fetch_assoc($results)) { $color = "black"; $icon = $severity_array[$ligne["severity"]]; $src_ip = $ligne["src_ip"]; $zDate = $ligne["zdate"]; $dst_ip = $ligne["dst_ip"]; $dst_port = $ligne["dst_port"]; $proto = $ligne["proto"]; $signature = $ligne["signature"]; $xcount = $ligne["xcount"]; $ligne2 = pg_fetch_assoc($q->QUERY_SQL("SELECT description FROM suricata_sig WHERE signature='{$signature}'")); if (!$q->ok) { $ligne2["description"] = $q->mysql_error; } $description = $ligne2["description"]; $signature_js = "<a href=\"javascript:blur();\" \n\t\tOnClick=\"javascript:Loadjs('suricata.rule-zoom.php?sig={$signature}');\"\n\t\tstyle='font-size:16px;color:{$color};text-decoration:underline'>"; $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<center><img src='img/{$icon}'></center>", "<span style='font-size:16px;color:{$color}'>{$zDate}</span>", "<span style='font-size:16px;color:{$color}'>{$src_ip}</span>", "<span style='font-size:16px;color:{$color}'>{$proto} {$dst_ip}:{$dst_port}</span>", "<center style='font-size:16px;color:{$color}'>{$xcount}</center>", "<span style='font-size:16px;color:{$color}'>[{$signature_js}{$signature}</a>]: {$description}</span>")); } echo json_encode($data); }
function items() { //1.4.010916 $t = $_GET["t"]; $tpl = new templates(); $MyPage = CurrentPageName(); $q = new postgres_sql(); $users = new usersMenus(); $search = '%'; $table = "smtprefused"; $page = 1; $FORCE_FILTER = ""; if (!$users->AsPostfixAdministrator) { if ($users->AsMessagingOrg) { $ldap = new clladp(); $domains = $ldap->hash_get_domains_ou($_SESSION["ou"]); while (list($domain, $MAIN) = each($domains)) { $domain = trim(strtolower($domain)); if ($domain == null) { continue; } $FDOMS[] = "mailto LIKE '%{$domain}'"; $FDOMS2[] = "mailfrom LIKE '%{$domain}'"; } $imploded1 = @implode(" OR ", $FDOMS); $imploded2 = @implode(" OR ", $FDOMS2); $table = "(select * FROM smtprefused WHERE ({$imploded1}) OR ({$imploded2})) as t"; } } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $searchstring = string_to_flexPostGresquery(); $sql = "SELECT COUNT(*) as tcount FROM {$table} WHERE {$searchstring}"; $ligne = pg_fetch_array($q->QUERY_SQL($sql)); $total = $ligne["tcount"]; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$rp} OFFSET {$pageStart}"; $sql = "SELECT * FROM {$table} WHERE {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}"; $results = $q->QUERY_SQL($sql); $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); if (!$q->ok) { json_error_show($q->mysql_error); } if (pg_num_rows($results) == 0) { json_error_show("no rule"); } while ($ligne = pg_fetch_assoc($results)) { $color = "#000000"; $zmd5 = md5(serialize($ligne)); $data['rows'][] = array('id' => "C{$zmd5}", 'cell' => array("<span style='font-size:16px;color:{$color}'>{$ligne["zdate"]}</a></span>", "<span style='font-size:16px;color:{$color}'>{$ligne["mailfrom"]}</a></span>", "<span style='font-size:16px;color:{$color}'>{$ligne["mailto"]}</a></span>", "<span style='font-size:16px;color:{$color}'>{$ligne["ipaddr"]}</a></span>", "<span style='font-size:16px;color:{$color}'>{$ligne["hostname"]}</a></span>", "<span style='font-size:16px;color:{$color}'>{$ligne["reason"]}</a></span>")); } echo json_encode($data); }
function search() { $tpl = new templates(); $MyPage = CurrentPageName(); $table = "not_categorized"; $q = new postgres_sql(); $t = $_GET["t"]; $total = 0; if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $searchstring = string_to_flexPostGresquery(); $sql = "SELECT COUNT(*) as tcount FROM {$table} WHERE {$searchstring}"; $ligne = pg_fetch_assoc($q->QUERY_SQL($sql)); if (!$q->ok) { json_error_show($q->mysql_error . "<br>{$sql}", 0); } $total = $ligne["tcount"]; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 100; } $pageStart = ($page - 1) * $rp; if ($pageStart < 0) { $pageStart = 0; } $limitSql = "LIMIT {$rp} OFFSET {$pageStart}"; $sql = "SELECT * FROM {$table} WHERE {$searchstring} {$ORDER} {$limitSql}"; $results = $q->QUERY_SQL($sql); if (!$q->ok) { json_error_show($q->mysql_error . "<br>{$sql}", 0); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $CurrentPage = CurrentPageName(); if (pg_num_rows($results) == 0) { json_error_show("no data"); } $t = time(); $fontsize = 22; $span = "<span style='font-size:{$fontsize}px'>"; $IPTCP = new IP(); while ($ligne = pg_fetch_assoc($results)) { $zmd5 = $ligne["zmd5"]; $familysite = trim($ligne["familysite"]); $hits = FormatNumber($ligne["rqs"]); $size = FormatBytes($ligne["size"] / 1024); $ahref = null; $data['rows'][] = array('id' => $familysite, 'cell' => array("{$span}{$ahref}{$familysite}</a></span>", "{$span}{$hits}</a></span>", "{$span}{$size}</a></span>")); } echo json_encode($data); }
function items() { //1.4.010916 $t = $_GET["t"]; $tpl = new templates(); $MyPage = CurrentPageName(); $q = new postgres_sql(); $users = new usersMenus(); $search = '%'; $table = "smtpstats"; $page = 1; $FORCE_FILTER = ""; if (!$users->AsPostfixAdministrator) { if ($users->AsMessagingOrg) { $ldap = new clladp(); $domains = $ldap->hash_get_domains_ou($_SESSION["ou"]); while (list($domain, $MAIN) = each($domains)) { $domain = trim(strtolower($domain)); if ($domain == null) { continue; } $FDOMS[] = "domainto = '{$domain}'"; $FDOMS2[] = "domainfrom = '{$domain}'"; } $imploded1 = @implode(" OR ", $FDOMS); $imploded2 = @implode(" OR ", $FDOMS2); $table = "(select * FROM smtpstats WHERE ({$imploded1}) OR ({$imploded2})) as t"; } } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $searchstring = string_to_flexPostGresquery(); $sql = "SELECT COUNT(*) as tcount FROM {$table} WHERE {$searchstring}"; $ligne = pg_fetch_array($q->QUERY_SQL($sql)); $total = $ligne["tcount"]; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$rp} OFFSET {$pageStart}"; $sql = "SELECT * FROM {$table} WHERE {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}"; $results = $q->QUERY_SQL($sql); $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); if (!$q->ok) { json_error_show($q->mysql_error); } if (pg_num_rows($results) == 0) { json_error_show("no rule"); } while ($ligne = pg_fetch_assoc($results)) { $color = "#000000"; $spamreport_icon = " "; $zmd5 = $ligne["zmd5"]; $icon = "ok24.png"; $spamscore_text = null; $status = $tpl->_ENGINE_parse_body("{sent}"); $subject = $ligne["subject"]; $spamscore = $ligne["spamscore"]; $infected = $ligne["infected"]; $spamreport = $ligne["spamreport"]; if (strlen($spamreport) > 20) { $spamreport_icon = "<center><img src='img/scripts-24.png' OnClick=\"javascript:Loadjs('{$MyPage}?spam-report-js=yes&zmd5={$zmd5}');\"></center>"; } $whitelisted = intval($ligne["whitelisted"]); $size = FormatBytes($ligne["size"] / 1024); if ($spamscore > 0) { $spamscore_text = " AS: {$spamscore}"; } if ($spamscore >= 5) { $icon = "warning24.png"; } if ($spamscore >= 10) { $icon = "danger24.png"; } if ($infected == 1) { $status = $status . "/" . $tpl->_ENGINE_parse_body("{infected}"); $icon = "danger24.png"; } if ($whitelisted == 1) { $icon = "whitelist-24.png"; } $data['rows'][] = array('id' => "C{$zmd5}", 'cell' => array("<center style='font-size:13px;color:{$color}'><img src='img/{$icon}'></center>", "<center style='font-size:13px;color:{$color}'>{$spamreport_icon}</center>", "<span style='font-size:13px;color:{$color}'>{$ligne["zdate"]}</a></span>", "<span style='font-size:13px;color:{$color}'>{$ligne["mailfrom"]}</a></span>", "<span style='font-size:13px;color:{$color}'>{$ligne["mailto"]}</a></span>", "<span style='font-size:13px;color:{$color}'>{$status}{$spamscore_text}</a></span>", "<span style='font-size:13px;color:{$color}'>{$size}</a></span>", "<span style='font-size:13px;color:{$color}'>{$subject}</a></span>")); } echo json_encode($data); }
function list1() { $page = 1; $tpl = new templates(); $influx = new influx(); $q = new postgres_sql(); $USER_FIELD = $_GET["user"]; $search = $_GET["search"]; if ($search == null) { $search = "*"; } $table = "access_log"; if (!isset($_POST["rp"])) { $_POST["rp"] = 100; } $from = date("Y-m-d H:i:s", strtotime("-2 hour")); if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if ($GLOBALS["VERBOSE"]) { echo "string_to_flexPostGresquery\n"; } $searchstring = string_to_flexPostGresquery(); $searchstringORG = $searchstring; if ($searchstring != null) { $sql = "SELECT COUNT(*) as tcount FROM {$table} WHERE {$searchstring}"; if ($GLOBALS["VERBOSE"]) { echo "{$sql}\n"; } $ligne = @pg_fetch_assoc($q->QUERY_SQL($sql)); if (!$q->ok) { json_error_show($q->mysql_error); } $total = $ligne["tcount"]; } else { $sql = "SELECT COUNT(*) as tcount FROM {$table}"; if ($GLOBALS["VERBOSE"]) { echo "{$sql}\n"; } $ligne = @pg_fetch_assoc($q->QUERY_SQL($sql)); $total = $ligne["tcount"]; if (!$q->ok) { json_error_show($q->mysql_error); } if ($GLOBALS["VERBOSE"]) { echo "COUNT: {$total}\n"; } } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; if (is_numeric($rp)) { $limitSql = "LIMIT {$rp} OFFSET {$pageStart} "; } if ($searchstring != null) { $searchstring = " AND {$searchstring}"; } $sql = "SELECT * FROM access_log WHERE zdate > '{$from}' {$searchstring} {$ORDER} {$limitSql}"; if ($GLOBALS["VERBOSE"]) { echo "{$sql}\n"; } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $results = $q->QUERY_SQL($sql); if (!$q->ok) { json_error_show($q->mysql_error); } $SumoF = @pg_num_rows($results); if ($SumoF == 0) { json_error_show("no data {$sql}"); } $c = 0; $fontsize = "18px"; $color = null; $curday = date("Y-m-d"); $ipClass = new IP(); while ($ligne = pg_fetch_assoc($results)) { $USER = trim($ligne["userid"]); $size = intval($ligne["size"]); if ($size == 0) { continue; } $time = $ligne["zdate"]; $CATEGORY = $ligne["category"]; $SITE = $ligne["familysite"]; $RQS = $ligne["rqs"]; $MAC_link = null; $MAC = $ligne["mac"]; $IPADDR = $ligne["ipaddr"]; $size = FormatBytes($size / 1024); $RQS = FormatNumber($RQS); if ($ipClass->IsvalidMAC($MAC)) { $MAC_link = "<a href=\"javascript:blur();\"\n\t\t\tOnClick=\"javascript:Loadjs('squid.nodes.php?node-infos-js=yes&MAC=" . urlencode($MAC) . "');\"\n\t\t\t\t\tstyle='font-size:{$fontsize};text-decoration:underline'>\n\t\t\t\t\t"; } $time = str_replace($curday, "", $time); if ($ipClass->isValid($SITE)) { $SITE = "<a href=\"https://db-ip.com/{$SITE}\" style='text-decoration:underline;color:black' target=_new>{$SITE}</a>"; } $data['rows'][] = array('id' => $c, 'cell' => array("<span style='font-size:{$fontsize}'>{$time}</a></span>", "<span style='font-size:{$fontsize}'>{$SITE}</a></span>", "<span style='font-size:{$fontsize}'>{$CATEGORY}</a></span>", "<span style='font-size:{$fontsize}'>{$MAC_link}{$MAC}</a></span>", "<span style='font-size:{$fontsize}'>{$IPADDR}</a></span>", "<span style='font-size:{$fontsize}'>{$USER}</a></span>", "<span style='font-size:{$fontsize}'>{$RQS}</a></span>", "<span style='font-size:{$fontsize}'>{$size}</a></span>")); } echo json_encode($data); return; }