function search() { if (!CheckRights()) { senderror("{ERROR_NO_PRIVS}"); } $boot = new boostrap_form(); $sock = new sockets(); $users = new usersMenus(); $maillog_path = $users->maillog_path; $tpl = new templates(); $t = time(); $query = base64_encode($_GET["search"]); if (!is_numeric($_POST["rp"])) { $_POST["rp"] = 500; } $array = unserialize(base64_decode($sock->getFrameWork("postfix.php?query-maillog=yes&filter={$query}&maillog={$maillog_path}&rp={$_POST["rp"]}&zarafa-filter={$_GET["zarafa-filter"]}&mimedefang-filter={$_GET["mimedefang-filter"]}"))); $array = explode("\n", @file_get_contents("/usr/share/artica-postfix/ressources/logs/web/query.mail.log")); krsort($array); $zDate = $tpl->_ENGINE_parse_body("{zDate}"); $hostTXT = $tpl->_ENGINE_parse_body("{host}"); $serviceTXT = $tpl->_ENGINE_parse_body("{servicew}"); $eventsTXT = $tpl->_ENGINE_parse_body("{events}"); while (list($index, $line) = each($array)) { $lineenc = base64_encode($line); if (preg_match("#^[a-zA-Z]+\\s+[0-9]+\\s+([0-9\\:]+)\\s+(.+?)\\s+(.+?)\\[([0-9]+)\\]:(.+)#", $line, $re)) { $date = "{$re[1]}"; $host = $re[2]; $service = $re[3]; $pid = $re[4]; $line = $re[5]; } $class = LineToClass($line); $img = statusLogs($line); $loupejs = "ZoomEvents('{$lineenc}')"; $trSwitch = $boot->trswitch("blur()"); $tr[] = "\n\t\t<tr id='{$id}' class={$class} {$trSwitch}>\n\t\t<td style='font-size:12px' {$trSwitch} width=1% nowrap><i class='icon-time'></i> {$date}</td>\n\t\t<td style='font-size:12px' nowrap {$trSwitch} width=1% nowrap><i class='icon-arrow-right'></i> {$host}</td>\n\t\t<td style='font-size:12px' nowrap {$trSwitch} width=1% nowrap>{$service}</td>\n\t\t<td style='text-align:center;font-size:12px' width=1% nowrap>{$pid}</td>\n\t\t<td style='text-align:center;font-size:12px' width=1% nowrap><img src='{$img}'></td>\n\t\t<td style='font-size:12px' nowrap {$trSwitch} width=99% nowrap>{$line}</td>\n\t\t</tr>"; } echo $tpl->_ENGINE_parse_body("\n\t\n\t\t\t<table class='table table-bordered table-hover'>\n\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>{$zDate}</th>\n\t\t\t\t\t<th>{$hostTXT}</th>\n\t\t\t\t\t<th>{$serviceTXT}</th>\n\t\t\t\t\t<th>PID</th>\n\t\t\t\t\t<th colspan=2>{$eventsTXT}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>\n\t\t\t") . @implode("\n", $tr) . " </tbody>\n\t\t\t\t</table>\n\t\t\t\t<script>\n\n\t</script>\n\t"; }
function websites_popup_events_search() { $tpl = new templates(); $servername = $_GET["servername"]; $port = $_GET["port"]; $sock = new sockets(); $search = urlencode($_GET["popup-webserver-events-search"]); $datas = unserialize(base64_decode($sock->getFrameWork("nginx.php?www-events=yes&servername={$servername}&port={$_GET["port"]}&search={$search}&type={$_GET["type"]}"))); krsort($datas); $boot = new boostrap_form(); while (list($key, $value) = each($datas)) { $class = LineToClass($value); $tr[] = "\n\t\t<tr class={$class}>\n\t\t<td style='vertical-align:middle;font-size:11px'>{$value}</td>\n\t\t</tr>\n\t\t"; } echo $tpl->_ENGINE_parse_body("\n\t\n\t\t\t<table class='table table-bordered table-hover'>\n\t\n\t\t\t<thead>\n\t\t\t<tr>\n\t\t\t<th>{events}</th>\n\t\t\t</tr>\n\t\t\t</thead>" . @implode("", $tr) . "</table>"); }
function table_ufdb() { if ($_GET["ufdb-logs"] != null) { $search = base64_encode($_GET["ufdb-logs"]); $search = "&search={$search}"; } $sock = new sockets(); $tables = unserialize(base64_decode($sock->getFrameWork("squid.php?ufdbguard-events=yes&rp=500{$search}"))); if (count($tables) == 0) { senderror("no data"); } krsort($tables); while (list($ID, $line) = each($tables)) { if (!preg_match('#(.+?)\\s+\\[(.+?)\\]\\s+(.+)#', $line, $re)) { continue; } $color = "black"; $date = $re[1]; $pid = $re[2]; $event = $re[3]; $class = LineToClass($event); $tr[] = "<tr class={$class}>\n\t\t<td nowrap style='font-size:12px'>{$date}</td>\n\t\t<td style='font-size:12px' width=1% nowrap>{$pid}</td>\n\t\t<td style='font-size:12px'>{$event}</td>\n\t\t</tr>\n\t\t"; } $tpl = new templates(); echo $tpl->_ENGINE_parse_body("<table class='table table-bordered'>\n\t\t\t\t\n\t\t\t<thead>\n\t\t\t<tr>\n\t\t\t<th>{date}</th>\n\t\t\t<th>PID</th>\n\t\t\t<th>{events}</th>\n\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t") . @implode("\n", $tr) . " </tbody></table>"; }
function watchdog_events_search() { $sock = new sockets(); $boot = new boostrap_form(); $tpl = new templates(); $rp = $_GET["rp"]; if (!is_numeric($rp)) { $rp = 250; } $search = urlencode($_GET["watchdog-events-search"]); $content = unserialize(base64_decode($sock->getFrameWork("squid.php?watchdog-logs=yes&rp={$rp}&search={$search}"))); $boot = new boostrap_form(); $c = 0; krsort($content); while (list($num, $ligne) = each($content)) { if (preg_match("#^(.+?)\\s+(.*?)\\s+\\[([0-9]+)\\](.*?)\$#", $ligne, $re)) { $date = $re[1] . " " . $re[2]; $pid = $re[3]; $ligne = $re[4]; } $class = LineToClass($ligne); //$link=$boot->trswitch($jslink); $ligne = $tpl->javascript_parse_text("{$ligne}"); $tr[] = "\n\t\t<tr class='{$class}'>\n\t\t<td style='font-size:12px;' width=1% nowrap><i class='icon-time'></i> {$date}</a></td>\n\t\t<td style='font-size:12px;'>{$pid}</td>\n\t\t<td style='font-size:12px;'>{$ligne}</td>\n\t\t</tr>"; } echo $tpl->_ENGINE_parse_body("\n\t\n\t\t<table class='table table-bordered'>\n\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>{date}</th>\n\t\t\t\t\t<th> </th>\n\t\t\t\t\t<th>{events}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>\n\t\t\t") . @implode("", $tr) . "</tbody></table>"; }
function events_table() { $tpl = new templates(); $sock = new sockets(); $pattern = base64_encode($_GET["search-events"]); $sock = new sockets(); $datas = unserialize(base64_decode($sock->getFrameWork("system.php?squid-db-query={$pattern}"))); krsort($datas); while (list($key, $line) = each($datas)) { $newdate = null; if (preg_match("#^([0-9]+)\\s+([0-9\\:]+)(.*)#", $line, $re)) { $y = substr($re[1], 0, 2); $m = substr($re[1], 2, 4); $d = substr($re[1], 4, 6); $datestr = date("Y") . "-{$m}-{$d} {$re[2]}"; $time = strtotime($datestr); $line = $re[3]; $newdate = date("Y l F d H:i:s"); } $class = LineToClass($line); $line = htmlentities($line); $tr[] = "\n\t\t<tr class='{$class}'>\n\t\t<td nowrap>{$newdate}</td>\n\t\t<td width=95%>{$line}</td>\n\t\t</tr>\n\t\t"; } $tpl = new templates(); echo $tpl->_ENGINE_parse_body("<table class='table table-bordered'>\n\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th width=1%>{events}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>\n\t\t\t") . @implode("\n", $tr) . " </tbody>\n\t\t\n\t\t\t</table>"; }
function SearchLogs() { $tpl = new templates(); $q = new mysql(); $tablename = "TaskSq{$_GET['ID']}"; // $prefix="INSERT IGNORE INTO ufdbguard_admin_events (`zDate`,`function`,`filename`,`line`,`description`,`category`,`TASKID`) VALUES "; $searchstring = string_to_flexquery("SearchLogs"); $sql = "SELECT * FROM {$tablename} WHERE 1 {$searchstring} ORDER BY zDate DESC LIMIT 0,250"; $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { $tr[] = "<tr class=error><td colspan=2>{$q->mysql_error}</td></tr>"; } while ($ligne = mysql_fetch_assoc($results)) { $class = null; $description = $ligne["description"]; $class = LineToClass($description); $description = nl2br($description); $description = $tpl->_ENGINE_parse_body($description); $tr[] = "\n\t\t<tr class='{$class}'>\n\t\t\t<td width=1% style='font-size:11px' nowrap>{$ligne['zDate']}</td>\n\t\t\t<td style='font-size:11px'>{$description}</td>\n\t\t</tr>\n\t\t"; } echo $tpl->_ENGINE_parse_body("<table class='table table-bordered'>\n\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th width=1%>{date}</th>\n\t\t\t\t\t<th width=98%>{events}</th>\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>\n\t\t\t") . @implode("\n", $tr) . " </tbody>\n\t\n\t\t\t</table>"; }
function table() { $_GET["query"] = url_decode_special_tool($_GET["query"]); $page = CurrentPageName(); $tpl = new templates(); $sock = new sockets(); if (!isset($_GET["rp"])) { $_GET["rp"] = 150; } if ($_GET["query"] != null) { $search = base64_encode($_POST["query"]); $datas = unserialize(base64_decode($sock->getFrameWork("squid.php?cachelogs={$search}&rp={$_GET["rp"]}"))); $total = count($datas); } else { $datas = unserialize(base64_decode($sock->getFrameWork("squid.php?cachelogs=&rp={$_GET["rp"]}"))); $total = count($datas); } while (list($key, $line) = each($datas)) { $line = trim($line); $lineS = $line; if (preg_match("#^([0-9\\.\\/\\s+\\:]+)\\s+([0-9\\:]+)#", $line, $re)) { $date = $re[1] . " " . $re[2]; $line = str_replace($date, "", $line); } $class = LineToClass($line); $tr[] = "\n\t\t\t\t<tr class='{$class}'>\n\t\t\t\t\t<td>{$date}</td>\n\t\t\t\t\t<td>{$line}</td>\n\t\t\t\t</tr>\n\t\t"; } echo $tpl->_ENGINE_parse_body("<table class='table table-bordered'>\n\t\t\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>{date}</th>\n\t\t\t\t\t<th>{event}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>\n\t\t\t") . @implode("\n", $tr) . " </tbody>\n\t\t\t\t\t\n\t\t\t</table>"; }
function syslog_search() { $tpl = new templates(); $MyPage = CurrentPageName(); $pattern = base64_encode(string_to_flexregex("search")); $sock = new sockets(); $removeService = false; if ($pattern != null) { $search = base64_encode($_POST["query"]); $sock->getFrameWork("cmd.php?syslog-query={$search}&prepend={$_GET["prepend"]}&rp={$_POST["rp"]}&prefix={$_GET["prefix"]}"); $array = explode("\n", @file_get_contents("/usr/share/artica-postfix/ressources/logs/web/syslog.query")); $total = count($array); } else { $sock->getFrameWork("cmd.php?syslog-query=&prepend={$_GET["prepend"]}&rp={$_POST["rp"]}&prefix={$_GET["prefix"]}"); $array = explode("\n", @file_get_contents("/usr/share/artica-postfix/ressources/logs/web/syslog.query")); $total = count($array); } if ($_POST["sortname"] != null) { if ($_POST["sortorder"] == "desc") { krsort($array); } else { ksort($array); } } $today = $tpl->_ENGINE_parse_body("{today}"); $c = 0; while (list($key, $line) = each($array)) { if (trim($line) == null) { continue; } $date = null; $host = null; $service = null; $pid = null; $trClass = LineToClass($line); if (preg_match("#^(.*?)\\s+([0-9]+)\\s+([0-9:]+)\\s+(.*?)\\s+(.*?)\\[([0-9]+)\\]:\\s+(.*)#", $line, $re)) { $date = "{$re[1]} {$re[2]} " . date('Y') . " {$re[3]}"; $host = $re[4]; $service = $re[5]; $pid = $re[6]; $line = $re[7]; $strtotime = strtotime($date); if (date("Y-m-d", $strtotime) == date("Y-m-d")) { $date = $today . " " . date('H:i:s', strtotime($date)); } else { $date = date('m-d H:i:s', strtotime($date)); } $tr[] = "\n\t\t\t<tr class={$trClass}>\n\t\t\t<td width=1% nowrap>{$date}</td>\n\t\t\t<td width=1% nowrap>{$service}</td>\n\t\t\t<td width=1% nowrap>{$pid}</td>\n\t\t\t<td width=80%>{$line}</td>\n\t\t\t</tr>\n\t\t\t"; continue; } if (preg_match("#^(.*?)\\s+([0-9]+)\\s+([0-9:]+)\\s+(.*?)\\s+(.*?):\\s+(.*)#", $line, $re)) { $date = "{$re[1]} {$re[2]} " . date('Y') . " {$re[3]}"; $host = $re[4]; $service = $re[5]; $pid = null; $line = $re[6]; $strtotime = strtotime($date); if (date("Y-m-d", $strtotime) == date("Y-m-d")) { $date = $today . " " . date('H:i:s', strtotime($date)); } else { $date = date('m-d H:i:s', strtotime($date)); } $tr[] = "\n\t\t\t<tr class={$trClass}>\n\t\t\t<td width=1% nowrap>{$date}</td>\n\t\t\t<td width=1% nowrap>{$service}</td>\n\t\t\t<td width=1% nowrap>{$pid}</td>\n\t\t\t<td width=80%>{$line}</td>\n\t\t\t</tr>\n\t\t\t"; continue; } $tr[] = "\n\t\t\t<tr class={$trClass}>\n\t\t\t\t<td width=1% nowrap>{$date}</td>\n\t\t\t\t<td width=1% nowrap>{$service}</td>\n\t\t\t\t<td width=1% nowrap>{$pid}</td>\n\t\t\t\t<td width=80%>{$line}</td>\n\t\t\t</tr>\n\t\t\t"; } echo $tpl->_ENGINE_parse_body("\n\t\n\t\t<table class='table table-bordered'>\n\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>{date}</th>\n\t\t\t\t\t<th>{service}</th>\n\t\t\t\t\t<th>PID</th>\n\t\t\t\t\t<th>{event} ( {$total} {events} )</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>") . @implode("", $tr) . "</tbody>\n\t\t\t </table>\n\t\t\t "; }
function search_events() { $tpl = new templates(); $MyPage = CurrentPageName(); $total = 0; $pattern = base64_encode($_GET["search"]); $sock = new sockets(); $removeService = false; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } if ($_POST["qtype"] == "service") { if ($_POST["query"] != null) { $_GET["prefix"] = $_POST["query"]; $_POST["query"] = null; } } if ($_POST["qtype"] == "service") { if ($_POST["query"] != null) { $_GET["prefix"] = $_POST["query"]; $_POST["query"] = null; } } if ($_GET["force-prefix"] != null) { if ($_POST["qtype"] == "service") { $_POST["query"] = null; } $_GET["prefix"] = $_GET["force-prefix"]; $removeService = true; } if ($_GET["search-events"] != null) { $search = base64_encode($_GET["search-events"]); $sock->getFrameWork("cmd.php?syslog-query={$search}&prepend={$_GET["prepend"]}&rp={$_POST["rp"]}&prefix={$_GET["prefix"]}"); $array = explode("\n", @file_get_contents("/usr/share/artica-postfix/ressources/logs/web/syslog.query")); $total = count($array); } else { $sock->getFrameWork("cmd.php?syslog-query=&prepend={$_GET["prepend"]}&rp={$_POST["rp"]}&prefix={$_GET["prefix"]}"); $array = explode("\n", @file_get_contents("/usr/share/artica-postfix/ressources/logs/web/syslog.query")); $total = count($array); } krsort($array); $today = $tpl->_ENGINE_parse_body("{today}"); $c = 0; while (list($key, $line) = each($array)) { if (trim($line) == null) { continue; } $date = null; $host = null; $service = null; $pid = null; $color = "black"; $class = LineToClass($line); $style = "<span style='color:{$color}'>"; $styleoff = "</span>"; if (preg_match("#^(.*?)\\s+([0-9]+)\\s+([0-9:]+)\\s+(.*?)\\s+(.*?)\\[([0-9]+)\\]:\\s+(.*)#", $line, $re)) { $date = "{$re[1]} {$re[2]} " . date('Y') . " {$re[3]}"; $host = $re[4]; $service = strtolower($re[5]); $pid = $re[6]; $line = $re[7]; $strtotime = strtotime($date); if (date("Y-m-d", $strtotime) == date("Y-m-d")) { $date = $today . " " . date('H:i:s', strtotime($date)); } else { $date = date('m-d H:i:s', strtotime($date)); } $line = zClean($line); $tr[] = "\n\t\t\t<tr class='{$class}'>\n\t\t\t<td width=5% nowrap>{$date}</td>\n\t\t\t<td nowrap>{$service}</td>\n\t\t\t<td nowrap>{$pid}</td>\n\t\t\t<td width=95%>{$line}</td>\n\t\t\t</tr>\n\t\t\t"; continue; } if (preg_match("#^(.*?)\\s+([0-9]+)\\s+([0-9:]+)\\s+(.*?)\\s+(.*?):\\s+(.*)#", $line, $re)) { $date = "{$re[1]} {$re[2]} " . date('Y') . " {$re[3]}"; $host = $re[4]; $service = strtolower($re[5]); $pid = null; $line = $re[6]; $strtotime = strtotime($date); if (date("Y-m-d", $strtotime) == date("Y-m-d")) { $date = $today . " " . date('H:i:s', strtotime($date)); } else { $date = date('m-d H:i:s', strtotime($date)); } $line = zClean($line); $tr[] = "\n\t\t\t<tr class='{$class}'>\n\t\t\t<td width=5% nowrap>{$date}</td>\n\t\t\t<td nowrap>{$service}</td>\n\t\t\t<td nowrap>{$pid}</td>\n\t\t\t<td width=95%>{$line}</td>\n\t\t\t</tr>\n\t\t\t"; continue; } $service = strtolower($re[5]); $line = zClean($line); $tr[] = "\n\t\t\t<tr class='{$class}'>\n\t\t\t<td width=5% nowrap>{$date}</td>\n\t\t\t<td nowrap>{$service}</td>\n\t\t\t<td nowrap>{$pid}</td>\n\t\t\t<td width=95%>{$line}</td>\n\t\t\t</tr>\n\t\t\t"; } $tpl = new templates(); echo $tpl->_ENGINE_parse_body("<table class='table table-bordered'>\n\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th width=1%>{date}</th>\n\t\t\t\t\t<th width=1%> </th>\n\t\t\t\t\t<th width=1%> </th>\n\t\t\t\t\t<th width=99%>{events}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>\n\t\t\t") . @implode("\n", $tr) . " </tbody>\n\t\n\t\t\t</table>"; }
function artica_search() { $tpl = new templates(); $MyPage = CurrentPageName(); $sock = new sockets(); $title = $tpl->_ENGINE_parse_body("{event}"); $q = new mysql(); $searchstring = string_to_flexquery("search"); $today = $tpl->_ENGINE_parse_body("{today}"); $contextQ = "1"; if ($_GET["context"] != null) { $contextQ = " category='{$_GET["context"]}'"; } if ($q->TABLE_EXISTS("Taskev0", "artica_events")) { $sql = "SELECT * FROM `Taskev0` WHERE {$contextQ} AND \n\tdescription LIKE '%" . string_to_sql_search($_GET["search"]) . "%' ORDER BY zDate DESC LIMIT 0,500"; } writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { senderror($q->mysql_error . "<br>{$sql}"); } $tt = date("Y-m-d"); while ($ligne = mysql_fetch_assoc($results)) { $original_date = $ligne["zDate"]; $ligne["zDate"] = str_replace($tt, $today, $ligne["zDate"]); $affiche_text = $ligne["description"]; $trClass = LineToClass($affiche_text); $tooltip = "\n\t\t<div style='font-size:11px'>\n\t\t<strong>{date}: {$original_date} | \n\t\t<strong>{function}: {$ligne["function"]} in line {$ligne["line"]}</strong> | \n\t\t<strong>{process}: {$ligne["filename"]}</strong>"; $tooltip = $tpl->_ENGINE_parse_body($tooltip); $tr[] = "\n\t\t<tr class={$trClass}>\n\t\t<td width=1% nowrap>{$ligne["zDate"]}</td>\n\t\t<td width=1% nowrap>{$ligne["category"]}</td>\n\t\t<td width=1% nowrap>{$affiche_text}{$tooltip}</td>\n\t\t</tr>\n\t\t"; } $contextQ = "1"; if ($_GET["context"] != null) { $contextQ = " context='{$_GET["context"]}'"; } $sql = "SELECT * FROM `events` WHERE {$contextQ} {$searchstring} ORDER BY zDate DESC LIMIT 0,1000"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { senderror($q->mysql_error . "<br>{$sql}"); } $tt = date("Y-m-d"); while ($ligne = mysql_fetch_assoc($results)) { if ($ligne["process"] == null) { $ligne["process"] = "{unknown}"; } $original_date = $ligne["zDate"]; $ligne["zDate"] = str_replace($tt, $today, $ligne["zDate"]); if ($ligne["process"] == null) { $ligne["process"] = "{unknown}"; } $ligne["context"] = $tpl->_ENGINE_parse_body($ligne["context"]); $ligne["content"] = $tpl->_ENGINE_parse_body($ligne["content"]); if (preg_match("#\\[.+?\\]:\\s+\\[.+?\\]:\\s+\\((.+?)\\)\\s+:(.+)#", $ligne["text"], $re)) { $ligne["text"] = $re[2]; $computer = $re[1]; } if (preg_match("#\\[.+?\\]:\\s+\\[.+?\\]:\\s+\\((.+?)\\)\\:\\s+(.+)#", $ligne["text"], $re)) { $ligne["text"] = $re[2]; $computer = $re[1]; } if (preg_match("#\\[.+?\\]:\\s+\\[.+?\\]:\\s+\\((.+?)\\)\\s+(.+)#", $ligne["text"], $re)) { $ligne["text"] = $re[2]; $computer = $re[1]; } if (preg_match("#\\[.+?\\]:\\s+\\[.+?\\]:\\((.+?)\\)\\s+(.+)#", $ligne["text"], $re)) { $ligne["text"] = $re[2]; $computer = $re[1]; } if (preg_match("#\\[.+?\\]:\\s+\\[.+?\\]:\\s+(.+)#", $ligne["text"], $re)) { $ligne["text"] = $re[1]; } $affiche_text = $ligne["text"]; $trClass = LineToClass($affiche_text); $tooltip = "\n\t\t<div style='font-size:11px'>\n\t\t\t<strong>{date}: {$original_date} | \n\t\t\t<strong>{computer}: {$computer}</strong> | \n\t\t\t<strong>{process}: {$ligne["process"]}</strong>"; if (preg_match("#<body>(.+?)</body>#is", $ligne["content"], $re)) { $content = strip_tags($re[1]); } else { $content = strip_tags($ligne["content"]); } if (strlen($content) > 300) { $content = substr($content, 0, 290) . "..."; } $ID = $ligne["ID"]; $js = "articaShowEvent({$ID});"; $color = "5C81A7"; if (preg_match("#(error|fatal|unable)#i", $affiche_text)) { $color = "B50113"; } $time = strtotime($original_date . " 00:00:00"); $tooltip = $tpl->_ENGINE_parse_body($tooltip); $OBS = "<div style='font-weight:bold;margin:0px;padding:0px'>{$affiche_text}</div><div>{$content}</div>\n\t\t"; $ligne["zDate"] = $tpl->_ENGINE_parse_body($ligne["zDate"]); $tr[] = "\n\t\t<tr class={$trClass}>\n\t\t<td width=1% nowrap>{$ligne["zDate"]}</td>\n\t\t<td width=1% nowrap>{$ligne["context"]}</td>\n\t\t<td width=1% nowrap>{$OBS}{$tooltip}</td>\n\t\t</tr>\n\t\t"; } echo $tpl->_ENGINE_parse_body("\n\t\n\t\t<table class='table table-bordered'>\n\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>{date}</th>\n\t\t\t\t\t<th>{context}</th>\n\t\t\t\t\t<th>{event}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>") . @implode("", $tr) . "</tbody>\n\t\t\t </table>\n<script>\n\t\t\t \t\t\nfunction articaShowEvent(ID){\n\t\t YahooWin6('900','artica.events.php?ShowID='+ID,'{$title}::'+ID);\n\t}\t\t\t\n\n</script>\n"; }
function events_search() { $boot = new boostrap_form(); $tpl = new templates(); $q = new mysql(); $t = time(); if (isset($_GET["t"])) { $t = $_GET["t"]; } $page = CurrentPageName(); $table = "Taskev{$_GET['ID']}"; $searchstring = string_to_flexquery("events-search"); $ORDER = $boot->TableOrder(array("zDate" => "DESC")); if ($q->COUNT_ROWS($table, "artica_events") == 0) { senderrors("no data"); } $sql = "SELECT * FROM {$table} WHERE 1 {$searchstring} ORDER BY {$ORDER} LIMIT 0,250"; $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { senderrors($q->mysql_error . "<br>{$sql}"); } $line = $tpl->_ENGINE_parse_body("{line}"); while ($ligne = mysql_fetch_assoc($results)) { $description = $tpl->_ENGINE_parse_body($ligne["description"]); $class = LineToClass($description); $description = str_replace("\n", "<br>", $description); $description = wordwrap($description, 150, "<br>"); $description = str_replace("<br><br>", "<br>", $description); $ttim = strtotime($ligne['zDate']); $dateD = date('Y-m-d', $ttim); $function = "\n\t\t<div style='margin-top:-4px;margin-left:-5px'>\n\t\t\t<i style='font-size:11px'>{$ligne["filename"]}:{$ligne["function"]}() {$line} {$ligne["line"]}</i>\n\t\t</div>"; $tr[] = "\n\t\t<tr id='{$md}' class='{$class}'>\n\t\t<td style='font-size:12px' width=1% nowrap>{$ligne["zDate"]}</td>\n\t\t<td style='font-size:12px' width=70% >{$description}{$function}</td>\n\t\t</tr>\n\t\t"; } echo $boot->TableCompile(array("zDate" => "{date}", "description" => "{description}"), $tr); }
function events_table() { $sock = new sockets(); $users = new usersMenus(); $maillog_path = $users->maillog_path; $query = base64_encode($_GET["search-events"]); $datas = unserialize(base64_decode($sock->getFrameWork("postfix.php?query-maillog=yes&filter={$query}&maillog={$maillog_path}&rp=700&prefix=amavis"))); $datas = explode("\n", @file_get_contents("/usr/share/artica-postfix/ressources/logs/web/query.mail.log")); krsort($array); $tpl = new templates(); while (list($key, $line) = each($datas)) { $lineOrg = $line; if (preg_match("#^[a-zA-Z]+\\s+[0-9]+\\s+([0-9\\:]+)\\s+(.+?)\\s+(.+?)\\[([0-9]+)\\]:(.+)#", $line, $re)) { $date = "{$re[1]}"; $host = $re[2]; $service = $re[3]; $pid = $re[4]; $line = $re[5]; } $class = LineToClass($line); $line = htmlentities($line); $tr[] = "\n\t\t<tr class='{$class}'>\n\t\t<td nowrap>{$date}</td>\n\t\t<td>{$pid}</td>\n\t\t<td>{$line}</td>\n\t\t</tr>\n\t\t"; } $tpl = new templates(); echo $tpl->_ENGINE_parse_body("<table class='table table-bordered'>\n\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th width=1%>{date}</th>\n\t\t\t\t\t<th>PID</th>\n\t\t\t\t\t<th>{event}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>\n\t\t\t") . @implode("\n", $tr) . " </tbody>\n\t\t\n\t\t\t</table>"; }
function table() { $_GET["query"] = url_decode_special_tool($_GET["query"]); $page = CurrentPageName(); $tpl = new templates(); $sock = new sockets(); if (!isset($_GET["rp"])) { $_GET["rp"] = 150; } if ($_GET["query"] != null) { $search = base64_encode($_GET["query"]); $sock->getFrameWork("cmd.php?syslog-query={$search}&prepend=ucarp&rp={$_POST["rp"]}&prefix={$_GET["prefix"]}"); $datas = explode("\n", @file_get_contents("/usr/share/artica-postfix/ressources/logs/web/syslog.query")); } else { $sock->getFrameWork("cmd.php?syslog-query=&prepend=ucarp&rp={$_POST["rp"]}&prefix={$_GET["prefix"]}"); $datas = explode("\n", @file_get_contents("/usr/share/artica-postfix/ressources/logs/web/syslog.query")); $total = count($datas); } $today = $tpl->_ENGINE_parse_body("{today}"); while (list($key, $line) = each($datas)) { $color = "black"; if (preg_match("#(ERROR|WARN|FATAL|UNABLE|Failed|not found|denied)#i", $line)) { $color = "#D61010"; } $style = "<span style='color:{$color}'>"; $styleoff = "</span>"; if (preg_match("#^(.*?)\\s+([0-9]+)\\s+([0-9:]+)\\s+(.*?)\\s+(.*?)\\[([0-9]+)\\]:\\s+(.*)#", $line, $re)) { $date = "{$re[1]} {$re[2]} " . date('Y') . " {$re[3]}"; $host = $re[4]; $service = $re[5]; $pid = $re[6]; $line = $re[7]; $strtotime = strtotime($date); if (date("Y-m-d", $strtotime) == date("Y-m-d")) { $date = $today . " " . date('H:i:s', strtotime($date)); } else { $date = date('m-d H:i:s', strtotime($date)); } $class = LineToClass($line); $tr[] = "\n\t\t\t<tr class='{$class}'>\n\t\t\t<td style='font-size:12px' width=1% nowrap>{$date}</td>\n\t\t\t<td style='font-size:12px' width=1% nowrap>{$host}</td>\n\t\t\t<td style='font-size:12px' width=1% nowrap>{$service}</td>\n\t\t\t<td style='font-size:12px' width=1% nowrap>{$pid}</td>\n\t\t\t<td style='font-size:12px' width=99%>{$line}</td>\n\t\t\t</tr>\n\t\t\t"; continue; } if (preg_match("#^(.*?)\\s+([0-9]+)\\s+([0-9:]+)\\s+(.*?)\\s+(.*?):\\s+(.*)#", $line, $re)) { $date = "{$re[1]} {$re[2]} " . date('Y') . " {$re[3]}"; $host = $re[4]; $service = $re[5]; $pid = null; $line = $re[6]; $strtotime = strtotime($date); if (date("Y-m-d", $strtotime) == date("Y-m-d")) { $date = $today . " " . date('H:i:s', strtotime($date)); } else { $date = date('m-d H:i:s', strtotime($date)); } $class = LineToClass($line); $tr[] = "\n\t\t\t<tr class='{$class}'>\n\t\t\t<td style='font-size:12px' width=1% nowrap>{$date}</td>\n\t\t\t<td style='font-size:12px' width=1% nowrap>{$host}</td>\n\t\t\t<td style='font-size:12px' width=1% nowrap>{$service}</td>\n\t\t\t<td style='font-size:12px' width=1% nowrap>{$pid}</td>\n\t\t\t<td style='font-size:12px' width=99%>{$line}</td>\n\t\t\t</tr>\n\t\t\t"; continue; } } echo $tpl->_ENGINE_parse_body("<table class='table table-bordered'>\n\t\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>{date}</th>\n\t\t\t\t\t<th>{host}</th>\n\t\t\t\t\t<th> </th>\n\t\t\t\t\t<th>PID</th>\n\t\t\t\t\t<th>{event}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>\n\t\t\t") . @implode("\n", $tr) . " </tbody>\n\t\t\t\n\t\t\t</table>"; }
function events_search() { $tpl = new templates(); $sock = new sockets(); $search = urlencode($_GET["events-search"]); $datas = unserialize(base64_decode($sock->getFrameWork("haarp.php?access-events={$search}"))); krsort($datas); $boot = new boostrap_form(); while (list($key, $value) = each($datas)) { $class = LineToClass($value); $tr[] = "\n\t\t<tr class={$class}>\n\t\t<td style='vertical-align:middle'>{$value}</td>\n\t\t</tr>\n\t\t"; } echo $tpl->_ENGINE_parse_body("\n\n\t\t\t<table class='table table-bordered table-hover'>\n\n\t\t\t<thead>\n\t\t\t<tr>\n\t\t\t<th>{events}</th>\n\t\t\t</tr>\n\t\t\t</thead>" . @implode("", $tr) . "</table>"); }
function events_search() { $sock = new sockets(); $boot = new boostrap_form(); $tpl = new templates(); $rp = $_GET["rp"]; if (!is_numeric($rp)) { $rp = 250; } $results = array(); if (is_file("/usr/bin/sarg")) { exec("/usr/bin/sarg -v", $results); } while (list($num, $ligne) = each($results)) { if (preg_match("#SARG Version:(.+)#i", $ligne, $re)) { $sargv = $ligne; } } $search = urlencode($_GET["events-search"]); $content = unserialize(base64_decode($sock->getFrameWork("squid.php?sarg-log=yes&rp={$rp}&search={$search}"))); $boot = new boostrap_form(); $c = 0; krsort($content); $today = date("Y-m-d"); while (list($num, $ligne) = each($content)) { if (preg_match("#^(.+?)\\s+(.*?)\\s+\\[([0-9]+)\\](.*?)\$#", $ligne, $re)) { $date = $re[1] . " " . $re[2]; $pid = $re[3]; $ligne = $re[4]; } $class = LineToClass($ligne); //$link=$boot->trswitch($jslink); $ligne = $tpl->javascript_parse_text("{$ligne}"); $date = str_replace($today, "", $date); $ligne = utf8_decode($ligne); $tr[] = "\n\t\t<tr class='{$class}'>\n\t\t<td style='font-size:12px;' width=1% nowrap><i class='icon-time'></i> {$date}</a></td>\n\t\t<td style='font-size:12px;' width=1% nowrap>{$pid}</td>\n\t\t<td style='font-size:12px;'width=99%>{$ligne}</td>\n\t\t</tr>"; } $page = CurrentPageName(); echo $tpl->_ENGINE_parse_body("\n\t\n\t\t<table class='table table-bordered'>\n\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>{date}</th>\n\t\t\t\t\t<th> </th>\n\t\t\t\t\t<th>{events} {$sargv}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>\n\t\t\t") . @implode("", $tr) . "</tbody></table>\n\n<script>\n\t\tvar x_RunSarg= function (obj) {\n\t\t\tvar tempvalue=obj.responseText;\n\t\t\tif(tempvalue.length>3){alert(tempvalue)};\n\t\t\t\n\t\t}\n\t\t\t\t\n\t\tfunction RunSarg(){\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tXHR.appendData('run-compile','yes');\t\n\t\t\tXHR.sendAndLoad('{$page}', 'POST',x_RunSarg);\t\n\t\t}\n</script>\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n"; }