function save() { $q = new mysql_meta(); $f = array(); $f = explode("\n", $_POST["domains"]); while (list($index, $line) = each($f)) { $line = trim(strtolower($line)); if ($line == null) { continue; } $line = mysql_escape_string2($line); $md5 = md5($line); $n[] = "('{$md5}','{$line}')"; } $q->CheckTables(); $q->QUERY_SQL("TRUNCATE TABLE `squid_whitelists`"); if (count($n) > 0) { $q->QUERY_SQL("INSERT IGNORE INTO `squid_whitelists` (`zMD5`,`pattern`) VALUES " . @implode(",", $n)); if (!$q->ok) { echo $q->mysql_error; return; } } $sock = new sockets(); $EnableArticaMetaServer = intval($sock->GET_INFO("EnableArticaMetaServer")); if ($EnableArticaMetaServer == 0) { return; } $sock->getFrameWork("artica.php?meta-proxy-config=yes"); }
function Save() { $q = new mysql_meta(); if (!$q->FIELD_EXISTS("metahosts", "cloneFrom")) { $q->QUERY_SQL("ALTER TABLE `metahosts` ADD `cloneFrom` VARCHAR(90),ADD INDEX ( `cloneFrom` )"); if (!$q->ok) { echo $q->mysql_error . "\n"; return; } } $q->QUERY_SQL("UPDATE metahosts SET cloneFrom='{$_POST["cloneFrom"]}' WHERE uuid='{$_POST["uuid"]}'"); if (!$q->ok) { echo $q->mysql_error; return; } $sock = new sockets(); $sock->getFrameWork("artica.php?meta-metaclient-clonesource=yes&uuid={$_POST["uuid"]}"); }
function meta_groups() { $q = new mysql_meta(); $metagroups[0] = "{none}"; $sql = "SELECT * FROM metagroups ORDER BY groupname"; $results = $q->QUERY_SQL($sql); while ($ligne = mysql_fetch_assoc($results)) { $metagroups[$ligne["ID"]] = $ligne["groupname"]; } return $metagroups; }
function IMPORT_COMMUNITY_POST_VISITED() { $q = new mysql_meta(); $array = unserialize(base64_decode($_POST["COMMUNITY_POST_VISITED"])); $prefix = "INSERT IGNORE INTO dansguardian_community_nocat(zmd5,uuid,sitename,HitsNumber,familysite) VALUES " . @implode(",", $array); $q->QUERY_SQL($prefix); if (!$q->ok) { $q->meta_admin_mysql(0, "MySQL error", $q->mysql_error, __FILE__, __LINE__); return; } echo "<ANSWER>OK</ANSWER>"; }
function events_table() { $tpl = new templates(); $MyPage = CurrentPageName(); $q = new mysql_meta(); $FORCE2 = "AND uuid='{$_GET["uuid"]}'"; $FORCE = 1; $search = '%'; $table = "global_status"; $page = 1; $ORDER = "ORDER BY service_name asc"; if (isset($_GET["running"])) { if ($_GET["running"] == 0) { $FORCE = "running={$_GET["running"]} AND service_disabled=1"; } else { $FORCE = "running={$_GET["running"]}"; } } $uuid = $_GET["uuid"]; $total = 0; if ($q->COUNT_ROWS($table, "artica_events") == 0) { json_error_show("no data", 1); } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $severity[0] = "22-red.png"; $severity[1] = "22-warn.png"; $severity[2] = "22-infos.png"; $currentdate = date("Y-m-d"); $searchstring = string_to_flexquery(); if ($searchstring != null) { $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE {$FORCE} {$FORCE2} {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_events")); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } $total = $ligne["TCOUNT"]; } else { if (strlen($FORCE) > 2) { $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE {$FORCE} {$FORCE2}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_events")); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } $total = $ligne["TCOUNT"]; } else { $total = $q->COUNT_ROWS($table, "artica_events"); } } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT * FROM `{$table}` WHERE {$FORCE} {$FORCE2} {$searchstring} {$ORDER} {$limitSql}"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } if (!$q->ok) { json_error_show($q->mysql_error, 1); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $CurrentPage = CurrentPageName(); if (mysql_num_rows($results) == 0) { json_error_show("no data"); } while ($ligne = mysql_fetch_assoc($results)) { $master_cached_memory = 0; $service_name = $tpl->javascript_parse_text("{" . $ligne["service_name"] . "}"); $service_cmd = $ligne["service_cmd"]; $service_disabled = $ligne["service_disabled"]; $watchdog_features = $ligne["watchdog_features"]; $binpath = $ligne["binpath"]; $explain = $ligne["explain"]; $running = $ligne["running"]; $installed = $ligne["installed"]; $master_pid = $ligne["master_pid"]; $master_memory = FormatBytes($ligne["master_memory"]); $master_cached_memory = $ligne["master_cached_memory"]; $processes_number = $ligne["processes_number"]; $uptime = $ligne["uptime"]; $master_version = $ligne["master_version"]; if ($master_version != null) { $installed = 1; } $service_cmd = urlencode($service_cmd); $start = imgsimple("24-run.png", null, "Loadjs('{$MyPage}?service-cmd-js=yes&action=start&cmdline={$service_cmd}&uuid={$uuid}&app={$ligne["service_name"]}')"); $stop = imgsimple("24-stop.png", null, "Loadjs('{$MyPage}?service-cmd-js=yes&action=stop&cmdline={$service_cmd}&uuid={$uuid}&app={$ligne["service_name"]}')"); $restart = imgsimple("restart-24.png", null, "Loadjs('{$MyPage}?service-cmd-js=yes&action=restart&cmdline={$service_cmd}&uuid={$uuid}&app={$ligne["service_name"]}')"); if ($installed == 1) { if ($running == 1) { $severity_icon = "ok22.png"; $start = "-"; } else { $severity_icon = "22-red.png"; $stop = "-"; } } if ($service_disabled == 0) { $severity_icon = "22-warn.png"; if ($master_memory == 0) { $master_memory = "-"; } $stop = "-"; $start = "-"; $restart = "-"; if ($uptime == null) { $uptime = "-"; } } if ($installed == 0) { $severity_icon = "ok22-grey.png"; $master_version = "-"; $master_memory = "-"; $uptime = "-"; $stop = "-"; $start = "-"; $restart = "-"; } $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<img src='img/{$severity_icon}'>", $service_name, $master_version, $master_memory, $processes_number, $uptime, $stop, $start, $restart)); } echo json_encode($data); }
function search() { $MyPage = CurrentPageName(); $page = CurrentPageName(); $tpl = new templates(); $sock = new sockets(); $q = new mysql_meta(); $table = "snapshots"; $database = null; $uuid = $_GET["uuid"]; $uuidenc = urlencode($uuid); $gpid = intval($_GET["gpid"]); if (!$q->TABLE_EXISTS($table, $database)) { json_error_show("no data - no table"); } $searchstring = string_to_flexquery(); $page = 1; $table = "(SELECT \n\t\tsnapshots.zmd5,snapshots.zDate,\n\t\tsnapshots.size,\n\t\tmetahosts.hostname,\n\t\tmetahosts.hostag\n\t\tFROM snapshots,metahosts WHERE metahosts.uuid=snapshots.uuid) as t"; if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY `{$_POST["sortname"]}` {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $sql = "SELECT COUNT( * ) AS tcount FROM {$table} WHERE 1 {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, $database)); if (!$q->ok) { json_error_show("Mysql Error [" . __LINE__ . "]: <br>{$q->mysql_error}.<br>{$sql}", 1); } $total = $ligne["tcount"]; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 50; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT * FROM {$table} WHERE 1 {$searchstring} {$ORDER} {$limitSql} "; $results = $q->QUERY_SQL($sql, $database); if (!$q->ok) { if ($q->mysql_error != null) { json_error_show(date("H:i:s") . "<br>SORT:{$_POST["sortname"]}:<br>Mysql Error [L." . __LINE__ . "]: {$q->mysql_error}<br>{$sql}", 1); } } if (mysql_num_rows($results) == 0) { json_error_show("no data", 0); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $fontsize = "14"; $style = " style='font-size:{$fontsize}px'"; $styleHref = " style='font-size:{$fontsize}px;text-decoration:underline'"; $free_text = $tpl->javascript_parse_text("{free}"); $computers = $tpl->javascript_parse_text("{computers}"); $overloaded_text = $tpl->javascript_parse_text("{overloaded}"); $orders_text = $tpl->javascript_parse_text("{orders}"); $directories_monitor = $tpl->javascript_parse_text("{directories_monitor}"); while ($ligne = mysql_fetch_assoc($results)) { $LOGSWHY = array(); $overloaded = null; $loadcolor = "black"; $StatHourColor = "black"; $ColorTime = "black"; $hostname = $ligne["hostname"]; $hostag = utf8_encode($ligne["hostag"]); $zmd5 = $ligne["zmd5"]; $icon_warning_32 = "warning32.png"; $icon_red_32 = "32-red.png"; $icon = "ok-32.png"; $xdate = $ligne["zDate"]; $xtime = strtotime($xdate); $date = $tpl->time_to_date($xtime, true); $size = FormatBytes($ligne["size"] / 1024); $urijs = "Loadjs('{$MyPage}?content-js=yes&ID={$ligne["ID"]}');"; $link = "<a href=\"javascript:blur();\" OnClick=\"javascript:{$urijs}\" {$styleHref}>"; $delete = imgtootltip("delete-32.png", null, "Loadjs('{$MyPage}?unlink-js={$ligne["zmd5"]}')"); $restore = imgtootltip("32-import.png", null, "Loadjs('artica-meta.menus.php?snapshot-restore-js=yes&zmd5={$ligne["zmd5"]}&uuid={$uuidenc}&gpid={$gpid}')"); if ($uuid == null) { if ($gpid == 0) { $restore = " - "; } } $cell = array(); $cell[] = "<span {$style}>{$xdate}<br><i style='font-size:12px'>{$date}</i></a></span>"; $cell[] = "<span {$style}>{$hostname}<br><i style='font-size:12px'>{$hostag}</i></a></span>"; $cell[] = "<span {$style}>{$size}</a></span>"; $cell[] = $restore; $cell[] = "{$delete}"; $data['rows'][] = array('id' => $ligne['uuid'], 'cell' => $cell); } echo json_encode($data); }
function table_list() { $tpl = new templates(); $MyPage = CurrentPageName(); $q = new mysql_meta(); $fontsize = "16px"; $cs = 0; $page = 1; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 50; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $_POST["query"] = trim($_POST["query"]); $FORCE = "uuid='{$_GET["uuid"]}'"; $search = '%'; $table = "philesight"; if ($_GET["dev"] != null) { $FORCE = " ((partition='{$_GET["dev"]}') OR (hd='{$_GET["dev"]}')) AND (uuid='{$_GET["uuid"]}')"; } $page = 1; if (!$q->TABLE_EXISTS($table, "artica_backup")) { $q->check_storage_table(); } if (!$q->TABLE_EXISTS($table, "artica_backup")) { json_error_show("{$table} no such table", 1); } $total = 0; if ($q->COUNT_ROWS($table, "artica_backup") == 0) { json_error_show("no data", 1); } $searchstring = string_to_flexquery(); if ($searchstring != null) { $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE {$FORCE} {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } $total = $ligne["TCOUNT"]; } else { $total = $q->COUNT_ROWS($table, "artica_backup"); } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 50; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } $sql = "SELECT * FROM `{$table}` WHERE {$FORCE} {$searchstring} {$ORDER} {$limitSql}"; $results = $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } 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 (mysql_num_rows($results) == 0) { json_error_show("no data"); } $uuid = urlencode($_GET["uuid"]); while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) { $color = "black"; $icon = " "; $directory = $ligne["directory"]; $md5 = md5($directory); $partition = $ligne["partition"]; $hd = $ligne["hd"]; $maxtime = $ligne["maxtime"]; $lastscan = $ligne["lastscan"]; $USED = $ligne["USED"]; $md5 = $ligne["zmd5"]; $FREEMB = $ligne["FREEMB"]; if ($lastscan > 0) { $lastscan = date("Y-m-d H:i:s", $lastscan); } $FREEMB = FormatBytes($FREEMB * 1024); $directoryenc = urlencode($directory); $jslink = "<a href=\"javascript:blur();\"\n\tOnClick=\"javascript:Loadjs('{$MyPage}?directory-js=yes&directory={$directoryenc}');\"\n\tstyle='font-size:{$fontsize};text-decoration:underline;color:{$color}'>"; $distance = $tpl->_ENGINE_parse_body(distanceOfTimeInWords($ligne["lastscan"], time(), true)); $icon = imgsimple("graph-32.png", null, "Loadjs('{$MyPage}?graph-js={$directoryenc}&uuid={$_GET["uuid"]}&md5={$md5}')"); $delete = imgsimple("delete-32.png", null, "Loadjs('{$MyPage}?delete-js={$directoryenc}&uuid={$_GET["uuid"]}')"); $data['rows'][] = array('id' => md5(serialize($ligne)), 'cell' => array("<span style='font-size:{$fontsize};color:{$color}'>{$jslink}{$lastscan}</a></span><br><i>{$distance}</i>", "<span style='font-size:{$fontsize};color:{$color}'>{$jslink}{$directory}</a></span>", "<span style='font-size:{$fontsize};color:{$color}'>{$jslink}{$partition}</a></span>", "<span style='font-size:{$fontsize};color:{$color}'>{$jslink}{$hd}</a></span>", "<span style='font-size:{$fontsize};color:{$color}'>{$jslink}{$USED}%</a></span>", "<span style='font-size:{$fontsize};color:{$color}'>{$jslink}{$FREEMB}</a></span>", "<span style='font-size:{$fontsize};color:{$color}'>{$icon}</a></span>")); } echo json_encode($data); }
function events_table() { $tpl = new templates(); $MyPage = CurrentPageName(); $q = new mysql_meta(); $FORCE2 = "AND uuid='{$_GET["uuid"]}'"; $FORCE = 1; $search = '%'; $table = "psaux"; $page = 1; $ORDER = "ORDER BY CPU desc"; if ($_GET["sysalert"] == "yes") { $q = new mysql_meta(); } $uuid = $_GET["uuid"]; $total = 0; if ($q->COUNT_ROWS($table, "artica_events") == 0) { json_error_show("no data", 1); } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $severity[0] = "22-red.png"; $severity[1] = "22-warn.png"; $severity[2] = "22-infos.png"; $currentdate = date("Y-m-d"); $searchstring = string_to_flexquery(); if ($searchstring != null) { $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE {$FORCE} {$FORCE2} {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_events")); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } $total = $ligne["TCOUNT"]; } else { if (strlen($FORCE) > 2) { $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE {$FORCE} {$FORCE2}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_events")); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } $total = $ligne["TCOUNT"]; } else { $total = $q->COUNT_ROWS($table, "artica_events"); } } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT * FROM `{$table}` WHERE {$FORCE} {$FORCE2} {$searchstring} {$ORDER} {$limitSql}"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } if (!$q->ok) { json_error_show($q->mysql_error, 1); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $CurrentPage = CurrentPageName(); if (mysql_num_rows($results) == 0) { json_error_show("no data"); } while ($ligne = mysql_fetch_assoc($results)) { // (uuid,user,pid,CPU,MEM,VSZ,RSS,pTIME,pcmd) $user = $ligne["user"]; $pid = $ligne["pid"]; $CPU = $ligne["CPU"]; $MEM = $ligne["MEM"]; $VSZ = FormatBytes($ligne["VSZ"]); $RSS = FormatBytes($ligne["RSS"]); $pTIME = $ligne["pTIME"]; if (strlen($CPU) == 1) { $CPU = "{$CPU}.0"; } if (strlen($MEM) == 1) { $MEM = "{$MEM}.0"; } $pcmd = $ligne["pcmd"]; $pcmd = str_replace("/usr/bin/php5 /usr/share/artica-postfix/", "", $pcmd); $pcmd = str_replace("/bin/sh -c /usr/bin/ionice -c2 -n7 /usr/bin/nice --adjustment=19 ", "", $pcmd); $pcmd = str_replace("/usr/bin/php -q /usr/share/artica-postfix/", "", $pcmd); $pcmd = str_replace("php5 /usr/share/artica-postfix/", "", $pcmd); $pcmd = str_replace("/usr/sbin/apache2 -f /etc/artica-postfix/httpd.conf -k start", "Apache (Web interface)", $pcmd); // $start=imgsimple("24-run.png",null,"Loadjs('$MyPage?service-cmd-js=yes&action=start&cmdline=$service_cmd&uuid=$uuid&app={$ligne["service_name"]}')"); // $stop=imgsimple("24-stop.png",null,"Loadjs('$MyPage?service-cmd-js=yes&action=stop&cmdline=$service_cmd&uuid=$uuid&app={$ligne["service_name"]}')"); // $restart=imgsimple("restart-24.png",null,"Loadjs('$MyPage?service-cmd-js=yes&action=restart&cmdline=$service_cmd&uuid=$uuid&app={$ligne["service_name"]}')"); if ($installed == 1) { if ($running == 1) { $severity_icon = "ok22.png"; $start = "-"; } else { $severity_icon = "22-red.png"; $stop = "-"; } } $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array($user, $pid, "{$CPU}%", "{$MEM}%", $VSZ, $RSS, $pTIME, $pcmd)); } echo json_encode($data); }
function search() { $MyPage = CurrentPageName(); $page = CurrentPageName(); $tpl = new templates(); $sock = new sockets(); $q = new mysql_meta(); $ArticaMetaPooling = intval($sock->GET_INFO("ArticaMetaPooling")); $ArticaMetaUseSendClient = intval($sock->GET_INFO("ArticaMetaUseSendClient")); if ($ArticaMetaPooling == 0) { $ArticaMetaPooling = 15; } $switch = intval($_GET["switch"]); $table = "metahosts"; $searchstring = string_to_flexquery(); $page = 1; if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY `{$_POST["sortname"]}` {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } if ($searchstring != null) { $sql = "SELECT COUNT( * ) AS tcount FROM {$table} WHERE 1 {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql)); if (!$q->ok) { json_error_show("Mysql Error [" . __LINE__ . "]: <br>{$q->mysql_error}.<br>{$sql}", 1); } $total = $ligne["tcount"]; } else { $total = $q->COUNT_ROWS($table); } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 50; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT * FROM {$table} WHERE 1 {$searchstring} {$ORDER} {$limitSql} "; $results = $q->QUERY_SQL($sql); if (!$q->ok) { if ($q->mysql_error != null) { json_error_show(date("H:i:s") . "<br>SORT:{$_POST["sortname"]}:<br>Mysql Error [L." . __LINE__ . "]: {$q->mysql_error}<br>{$sql}", 1); } } if (mysql_num_rows($results) == 0) { json_error_show("no data", 1); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $fontsize = "18"; if ($switch == 1) { $fontsize = 12; } $style = "<span style='font-size:{$fontsize}px'>"; $free_text = $tpl->javascript_parse_text("{free}"); $computers = $tpl->javascript_parse_text("{computers}"); $overloaded_text = $tpl->javascript_parse_text("{overloaded}"); $orders_text = $tpl->javascript_parse_text("{orders}"); $policies_text = $tpl->javascript_parse_text("{policies}"); $directories_monitor = $tpl->javascript_parse_text("{directories_monitor}"); while ($ligne = mysql_fetch_assoc($results)) { $LOGSWHY = array(); $overloaded = null; $loadcolor = "black"; $StatHourColor = "black"; $uuid = $ligne["uuid"]; $hostname = $ligne["hostname"]; $public_ip = $ligne["public_ip"]; $updated = $ligne["updated"]; $version = $ligne["version"]; $ColorTime = "black"; $CPU_NUMBER = $ligne["CPU_NUMBER"]; $CPU_NUMBER_MAX = $ligne["CPU_NUMBER"] + 1.5; $load = $ligne["load"]; $mem_perc = $ligne["mem_perc"]; $mem_total = FormatBytes($ligne["mem_total"]); $proxyversion = null; $CountdeComputers_text = null; $policies_text_line = null; $CountdeComputers = $q->network_hosts_count($uuid); $icon_warning_32 = "warning32.png"; $icon_red_32 = "32-red.png"; $icon = "ok-32.png"; $BANDWIDTH = $ligne["BANDWIDTH"]; $BANDWIDTH_text = null; $hostag_switch = null; $uuidenc = urlencode($uuid); $PING_URI_SWITCH = null; if ($ArticaMetaUseSendClient == 1) { $PING_URI = " <a href=\"javascript:blur();\" \n\t\t\tOnClick=\"javascript:Loadjs('artica-meta.menus.php?send-ping-js=yes&uuid={$uuidenc}&gpid=0');\"\n\t\t\tstyle='font-size:12px;text-decoration:underline;color:#0021C6'\n\t\t\t>Ping</a>"; } if ($BANDWIDTH > 0) { $BANDWIDTH_text = " (" . FormatBytes($BANDWIDTH / 1024) . ")"; } if ($switch == 1) { $icon_warning_32 = "22-warn.png"; $icon_red_32 = "22-red.png"; $icon = "ok22.png"; } if ($load > $CPU_NUMBER_MAX) { $overloaded = "<br><strong style='color:red'>{$overloaded_text}</strong>"; $icon = $icon_warning_32; $loadcolor = "#CC0000"; $LOGSWHY[] = "{$overloaded_text} {$load}>{$CPU_NUMBER_MAX}"; } $xtime = strtotime($updated); $diff = time_diff_min($xtime); $Difftext = distanceOfTimeInWords($xtime, time(), true); if ($diff > $ArticaMetaPooling) { $icon = $icon_warning_32; $ColorTime = "#CC0000"; $LOGSWHY[] = $Difftext . "/{$ArticaMetaPooling}Mn"; } if ($diff > $ArticaMetaPooling * 4) { $icon = $icon_red_32; $ColorTime = "#CC0000"; $LOGSWHY[] = $Difftext . "/{$ArticaMetaPooling}Mn"; } $disks = unserialize($ligne["disks"]); $SIZE = 0; $USED = 0; $infodisk = null; $DISKS_TEXT = array(); if ($q->philesight_count($uuid) > 0) { $DISKS_TEXT[] = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('artica-meta.hosts.philesight.php?uuid={$uuid}')\"\n\t\t\tstyle='font-size:14px;font-weight:bold;text-decoration:underline'>{$directories_monitor}</a><hr style='margin-bottom:15px;border:0px;'>"; } if (is_array($disks)) { $DISKS_TEXT[] = "<ul>"; while (list($disks, $mainarray) = each($disks)) { $SIZE = FormatBytes(intval($mainarray["SIZE"]) / 1024); $DISKS_TEXT[] = "<li style='font-weight:bold;font-size:14px'>{$disks} {$SIZE}</li>"; $DISKS_TEXT[] = "<ul>"; while (list($part, $partArray) = each($mainarray["PARTS"])) { $color_disk = "black"; $POURC = $partArray["POURC"]; if ($POURC > 95) { $color_disk = "red"; $icon = $icon_red_32; $LOGSWHY[] = "{$part} {used}:{$POURC}%"; } $TOT = FormatBytes($partArray["TOT"] / 1024); $AIV = FormatBytes($partArray["AIV"] / 1024); $DISKS_TEXT[] = "<li style='color:{$color_disk}'>{$part} {$TOT} - {used}:{$POURC}% {free}: {$AIV}</li>"; } $DISKS_TEXT[] = "</ul>"; } $DISKS_TEXT[] = "</ul>"; $infodisk = $tpl->_ENGINE_parse_body(@implode("", $DISKS_TEXT)); } if ($switch == 1) { $infodisk = null; } $info = $tpl->_ENGINE_parse_body("<br>{last_status}: <span style='color:{$ColorTime}'>{$Difftext}</span><br><span style='font-size:12px'>{$CPU_NUMBER} CPU(s), {memory}:{$mem_total}{$overloaded}</span>"); $cell = array(); $linkver = "<a href=\"javascript:Loadjs('artica-meta.update.artica.php?uuid={$uuid}');\" \n\t\tstyle='text-decoration:underline'>"; if ($q->isOrder($uuid, "UPDATE_ARTICA")) { $version = "<center style='margin:10px'><img src='img/preloader.gif'></center>"; } if ($ligne["PROXY"] == 1) { $proxyuri = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('artica-meta.squid.watchdog-events.php?js=yes&uuid={$uuid}');\"\n\t\tstyle='text-decoration:underline'>"; $proxyversion = "<br><span style='font-size:12px'>{$proxyuri}Proxy: {$ligne["squidver"]}</a> {$BANDWIDTH_text}</span>"; } if ($CountdeComputers > 0) { $CountdeComputers = FormatNumber($CountdeComputers); $CountdeComputers_uri = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('artica-meta.networks.hosts.php?js=yes&uuid={$uuid}');\"\n\t\t\tstyle='text-decoration:underline'>"; $CountdeComputers_text = "<br><span style='font-size:12px'>{$CountdeComputers_uri}{$computers}: <strong>{$CountdeComputers}</strong></a></span>"; } $OrdersText = null; $ligneOrders = mysql_fetch_array($q->QUERY_SQL("SELECT COUNT(orderid) as tcount FROM `metaorders` WHERE `uuid`='{$uuid}'")); $OrdersCount = $ligneOrders["tcount"]; if ($OrdersCount > 0) { $OrdersText = "<br><a href=\"javascript:blur();\" \n\t\t\tOnClick=\"javascript:Loadjs('artica-meta.hosts.orders.php?uuid={$uuid}');\">\n\t\t\t<strong style='text-decoration:underline;color:#E48407'>{$orders_text}:{$OrdersCount}</strong>"; } $ligneOrders = mysql_fetch_array($q->QUERY_SQL("SELECT COUNT(uuid) as tcount FROM `policies_storage` WHERE `uuid`='{$uuid}'")); $OrdersCount = $ligneOrders["tcount"]; if ($OrdersCount > 0) { $policies_text_line = "<br><strong style='text-decoration:underline;color:#E48407'>{$policies_text}:{$OrdersCount}</strong>"; } $events = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('artica-meta.events.php?js=yes&uuid={$uuid}');\"\n\t\tstyle='float:right'><img src='css/images-flexigrid/magnifier.png'></a>"; $cpus = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('artica-meta.cpustats.php?js=yes&uuid={$uuid}');\"\n\t\tstyle='text-decoration:underline'>"; $hostsCommands = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('artica-meta.menus.php?js=yes&uuid={$uuid}');\"\n\t\tstyle='text-decoration:underline'>"; $hostag = utf8_encode($ligne["hostag"]); if ($hostag != null) { $hostag = "<br><i style='font-size:12px'>{$hostag}</i>"; } if ($switch == 1) { $info = null; $hostag = null; $proxyversion = null; $CountdeComputers_text = null; $events = null; $hostag_switch = utf8_encode($ligne["hostag"]); $PING_URI_SWITCH = $PING_URI; $PING_URI = null; if (count($LOGSWHY) > 0) { $infodisk = $tpl->_ENGINE_parse_body("<span style='color:red;font-size:12px'>" . @implode(", ", $LOGSWHY) . "</span>"); } } $cell = array(); $link_ip = "<a href=\"https://{$public_ip}:9000\" style='text-decoration:underline' target=_new>"; $cell[] = "<img src=\"img/{$icon}\">"; $cell[] = "{$style}{$hostsCommands}{$hostname}{$hostag}</a>{$PING_URI_SWITCH}{$events} </span>{$info}{$proxyversion}{$CountdeComputers_text}{$OrdersText}{$policies_text_line}"; $cell[] = "{$style}<span style='color:{$loadcolor}'>{$load}</span></span>"; $cell[] = "{$style}{$cpus}{$mem_perc}%</a></span>"; $cell[] = $hostag_switch . " " . $infodisk; $cell[] = "{$style}{$link_ip}{$public_ip}</a>{$PING_URI}</span>"; $cell[] = "{$style}{$linkver}{$version}</a></span>"; $data['rows'][] = array('id' => $ligne['uuid'], 'cell' => $cell); } echo json_encode($data); }
function GetGroups($uuid) { $q = new mysql_meta(); $f = array(); $sql = "SELECT metagroups.groupname,\n\tmetahosts.uuid,metagroups_link.zmd5\n\tFROM metahosts,metagroups_link,metagroups WHERE\n\tmetagroups_link.uuid=metahosts.uuid\n\tAND metagroups.ID=metagroups_link.gpid\n\tAND metahosts.uuid='{$uuid}' ORDER BY metagroups.groupname"; $results = $q->QUERY_SQL($sql); if (!$q->ok) { return "<li>{$q->mysql_error}</li>"; } while ($ligne = mysql_fetch_assoc($results)) { $f[] = "<li><a href=\"javascript:blur()\" OnClick=\"javascript:Loadjs('artica-meta.menus.php?gpid=1');\"\n\t\tstyle='text-decoration:underline'>{$ligne["groupname"]}</a>"; } if (count($f) > 0) { return "<ul style='margin-top:10px'>" . @implode("", $f) . "</ul>"; } }
function showlist(){ $page=1; $q=new mysql_squid_builder(); $table=date("Ymd")."_daccess"; if($_GET["uuid"]<>null){ $q=new mysql_meta(); $table="{$_GET["uuid"]}_CACHED_SITES"; } 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_flexquery(); if($searchstring<>null){ $sql="SELECT COUNT(*) as TCOUNT FROM $table WHERE 1 $searchstring"; $ligne=mysql_fetch_array($q->QUERY_SQL($sql,"artica_events")); $total = $ligne["TCOUNT"]; }else{ $sql="SELECT COUNT(*) as TCOUNT FROM $table"; $ligne=mysql_fetch_array($q->QUERY_SQL($sql,"artica_events")); $total = $ligne["TCOUNT"]; } if (isset($_POST['rp'])) {$rp = $_POST['rp'];} if(!is_numeric($rp)){$rp=50;} $pageStart = ($page-1)*$rp; $limitSql = "LIMIT $pageStart, $rp"; $sql="SELECT * FROM $table WHERE 1 $searchstring $ORDER $limitSql"; if(isset($_GET["verbose"])){echo "<hr><code>$sql</code></hr>";} $results = $q->QUERY_SQL($sql,"artica_events"); if(!$q->ok){json_error_show($q->mysql_error,1);} if(mysql_num_rows($results)==0){ json_error_show("$table no data",1); } $data = array(); $data['page'] = 1; $data['total'] = mysql_num_rows($results); $data['rows'] = array(); //if(mysql_num_rows($results)==0){$data['rows'][] = array('id' => $ligne[time()],'cell' => array($sql,"", "",""));} while ($ligne = mysql_fetch_assoc($results)) { $familysite=$ligne["familysite"]; $size=FormatBytes($ligne["size"]/1024); $hits=FormatNumber($ligne["hits"]); $macenc=urlencode($ligne["MAC"]); $macuri="<a href=\"javascript:blur();\" Onclick=\"javascript:Loadjs('squid.nodes.php?node-infos-js=yes&MAC=$macenc',true);\" style='text-decoration:underline;font-size:18px'>"; if(strlen($ligne["hour"])==1){$ligne["hour"]="0{$ligne["hour"]}";} $data['rows'][] = array( 'id' => md5(serialize($ligne)), 'cell' => array( "<span style='font-size:16px'>{$ligne["hour"]}h</span>", "<span style='font-size:16px'>$familysite</span>", "<span style='font-size:16px'>{$ligne["category"]}</span>", "<span style='font-size:16px'>{$ligne["uid"]}</span>", "<span style='font-size:16px'>{$ligne["ipaddr"]}</span>", "<span style='font-size:16px'>$macuri{$ligne["MAC"]}</a></span>", "<span style='font-size:16px'>$hits</span>", "<span style='font-size:16px'>$size</span>" ) ); } echo json_encode($data); }
function page() { $page = CurrentPageName(); $tpl = new templates(); $t = time(); $new_group = $tpl->javascript_parse_text("{new_group}"); $groups = $tpl->javascript_parse_text("{groups2}"); $memory = $tpl->javascript_parse_text("{memory}"); $load = $tpl->javascript_parse_text("{load}"); $version = $tpl->javascript_parse_text("{version}"); $servername = $tpl->javascript_parse_text("{servername2}"); $status = $tpl->javascript_parse_text("{status}"); $events = $tpl->javascript_parse_text("{events}"); $global_whitelist = $tpl->javascript_parse_text("{whitelist} (Meta)"); $policies = $tpl->javascript_parse_text("{policies}"); $orders = $tpl->javascript_parse_text("{orders}"); $restore = $tpl->javascript_parse_text("{restore}"); $create_a_snapshot = $tpl->javascript_parse_text("{create_a_snapshot}"); $link_all_hosts = $tpl->javascript_parse_text("{link_all_hosts}"); $link_all_hosts_ask = $tpl->javascript_parse_text("{link_all_hosts_ask}"); $date = $tpl->javascript_parse_text("{date}"); $size = $tpl->javascript_parse_text("{subject}"); $title = $tpl->javascript_parse_text("{system_health_checking}"); $download = $tpl->javascript_parse_text("{download2}"); $delete_all = $tpl->javascript_parse_text("{empty}"); $t = time(); $delete = "{display: 'delete', name : 'icon3', width : 35, sortable : false, align: 'left'},"; $categorysize = 387; $tag = $tpl->javascript_parse_text("{tag}"); $q = new mysql_meta(); $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT policy_name,policy_type FROM policies WHERE ID='{$_GET["policy-id"]}'")); $groupname = $tpl->javascript_parse_text($ligne["policy_name"]); $buttons = "\n\tbuttons : [\n\t{name: '<strong style=font-size:18px>{$delete_all}</strong>', bclass: 'Delz', onpress : run{$t}},\n\t\n\t\n\t],"; $html = "\n\n\t<table class='ARTICA_HEALTH_PERFS_TABLE' style='display: none' id='ARTICA_HEALTH_PERFS_TABLE' style='width:100%'></table>\n\t<script>\n\t\$(document).ready(function(){\n\t\$('#ARTICA_HEALTH_PERFS_TABLE').flexigrid({\n\turl: '{$page}?search=yes',\n\tdataType: 'json',\n\tcolModel : [\n\t{display: '<span style=font-size:18px>{$date}</span>', name : 'zDate', width : 538, sortable : true, align: 'left'},\n\t{display: '<span style=font-size:18px>{$size}</span>', name : 'subject', width : 505, sortable : true, align: 'right'},\n\t{display: '<span style=font-size:18px>{$download}</span>', name : 'download', width : 150, sortable : false, align: 'center'},\n\t{display: ' ', name : 'delete', width : 70, sortable : false, align: 'center'},\n\t\n\n\t],\n\t{$buttons}\n\tsearchitems : [\n\t{display: '{$date}', name : 'zDate'},\n\t\n\n\t],\n\tsortname: 'zDate',\n\tsortorder: 'desc',\n\tusepager: true,\n\ttitle: '<strong style=font-size:30px>{$title}</strong>',\n\tuseRp: true,\n\trpOptions: [10, 20, 30, 50,100,200],\n\trp:50,\n\tshowTableToggleBtn: false,\n\twidth: '99%',\n\theight: 400,\n\tsingleSelect: true\n\n});\n});\n\nfunction run{$t}(){\n\tvar XHR = new XHRConnection();\n\tXHR.appendData('deleteall','yes');\n\tXHR.sendAndLoad('{$page}', 'POST',xLinkEdHosts{$t});\n}\n\nvar xLinkEdHosts{$t}= function (obj) {\n\tvar res=obj.responseText;\n\tif (res.length>3){ alert(res); return; }\n\t\$('#ARTICA_HEALTH_PERFS_TABLE').flexReload();\n\t\n}\t\t\t\n\t\n\nfunction LinkEdHosts{$t}(uuid){\n\tvar XHR = new XHRConnection();\n\tXHR.appendData('link-host',uuid);\n\tXHR.appendData('gpid','{$_GET["ID"]}');\n\tXHR.sendAndLoad('{$page}', 'POST',xLinkEdHosts{$t});\n}\n\nfunction LinkHostsAll{$t}(){\n\tif(!confirm('{$link_all_hosts_ask}')){return;}\n\tvar XHR = new XHRConnection();\n\tXHR.appendData('link-all','{$_GET["ID"]}');\n\tXHR.sendAndLoad('{$page}', 'POST',xLinkEdHosts{$t});\n}\n\nfunction Orders{$t}(){\n\tLoadjs('artica-meta.menus.php?gpid={$_GET["ID"]}');\n}\n\nfunction Upload{$t}(){\n\tLoadjs('snapshots.upload.php');\n}\n\n</script>"; echo $html; }
function search() { $MyPage = CurrentPageName(); $page = CurrentPageName(); $tpl = new templates(); $sock = new sockets(); $q = new mysql_meta(); $table = "policies"; $searchstring = string_to_flexquery(); $page = 1; if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } if ($searchstring != null) { $sql = "SELECT COUNT( * ) AS tcount FROM {$table} WHERE 1 {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql)); if (!$q->ok) { json_error_show("Mysql Error [" . __LINE__ . "]: {$q->mysql_error}.<br>{$sql}", 1); } $total = $ligne["tcount"]; } else { $total = $q->COUNT_ROWS($table); } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 50; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT * FROM {$table} WHERE 1 {$searchstring} {$ORDER} {$limitSql} "; $results = $q->QUERY_SQL($sql); if (!$q->ok) { if ($q->mysql_error != null) { json_error_show(date("H:i:s") . "<br>SORT:{$_POST["sortname"]}:<br>Mysql Error [L." . __LINE__ . "]: {$q->mysql_error}<br>{$sql}", 1); } } if (mysql_num_rows($results) == 0) { json_error_show("no data", 1); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $fontsize = "18"; $style = "<span style='font-size:{$fontsize}px'>"; $free_text = $tpl->javascript_parse_text("{free}"); $computers = $tpl->javascript_parse_text("{computers}"); $overloaded_text = $tpl->javascript_parse_text("{overloaded}"); while ($ligne = mysql_fetch_assoc($results)) { $icon_warning_32 = "warning32.png"; $icon_red_32 = "32-red.png"; $icon = "ok-32.png"; $icon_disabled = "ok32-grey.png"; if ($switch == 1) { $icon_warning_32 = "22-warn.png"; $icon_red_32 = "22-red.png"; $icon = "ok22.png"; } $policy_name = utf8_encode($ligne["policy_name"]); $policy_type = $tpl->_ENGINE_parse_body($q->policy_type[$ligne["policy_type"]]); $delete = imgsimple("delete-32.png", null, "Loadjs('{$MyPage}?delete-js=yes&ID={$ligne["ID"]}')"); if ($_GET["function"] != null) { $delete = imgsimple("arrow-right-32.png", null, "{$_GET["function"]}('{$ligne["ID"]}')"); } if (trim($policy_type) == null) { $policy_type = "{policy_type} ID:{$ligne["policy_type"]}"; } $ligneCount = mysql_fetch_array($q->QUERY_SQL("SELECT COUNT(zmd5) as tcount FROM metapolicies_link WHERE `policy-id`='{$ligne["ID"]}'")); $CountDeGroup = $ligneCount["tcount"]; $js = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('{$MyPage}?policy-js=yes&ID={$ligne["ID"]}');\" style='text-decoration:underline'>"; $cell = array(); $cell[] = "<img src=\"img/{$icon}\">"; $cell[] = "{$style}{$js}{$policy_name}</a></span>"; $cell[] = "{$style}{$policy_type}</span>"; $cell[] = "{$style}{$CountDeGroup}</span>"; $cell[] = "{$style}{$delete}</span>"; $data['rows'][] = array('id' => $ligne['uuid'], 'cell' => $cell); } echo json_encode($data); }
function search() { $MyPage = CurrentPageName(); $page = CurrentPageName(); $tpl = new templates(); $sock = new sockets(); $q = new mysql_meta(); $table = "metagroups"; if (!$q->TABLE_EXISTS($table)) { $sql = "CREATE TABLE IF NOT EXISTS `metagroups` (\n\t\t\t\t`ID` INT(10) NOT NULL AUTO_INCREMENT,\n\t\t\t\t`groupname` varchar(90) NOT NULL,\n\t\t\t\t`CountHosts` smallint(3) NOT NULL DEFAULT 0,\n\t\t\t\tPRIMARY KEY (`ID`),\n\t\t\t\tKEY `groupname` (`groupname`),\n\t\t\t\tKEY `CountHosts` (`CountHosts`)\n\t\t\t\t) ENGINE=MYISAM;"; $q->QUERY_SQL($sql); if (!$q->ok) { echo json_error_show($q->mysql_error, 1); } } $searchstring = string_to_flexquery(); $page = 1; if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY `{$_POST["sortname"]}` {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } if ($searchstring != null) { $sql = "SELECT COUNT( * ) AS tcount FROM {$table} WHERE 1 {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql)); if (!$q->ok) { json_error_show("Mysql Error [" . __LINE__ . "]: <br>{$q->mysql_error}.<br>{$sql}", 1); } $total = $ligne["tcount"]; } else { $total = $q->COUNT_ROWS($table); } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 50; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT * FROM {$table} WHERE 1 {$searchstring} {$ORDER} {$limitSql} "; $results = $q->QUERY_SQL($sql); if (!$q->ok) { if ($q->mysql_error != null) { json_error_show(date("H:i:s") . "<br>SORT:{$_POST["sortname"]}:<br>Mysql Error [L." . __LINE__ . "]: {$q->mysql_error}<br>{$sql}", 1); } } if (mysql_num_rows($results) == 0) { json_error_show("no data", 1); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $fontsize = "22"; $style = " style='font-size:{$fontsize}px'"; $styleHref = " style='font-size:{$fontsize}px;text-decoration:underline'"; $free_text = $tpl->javascript_parse_text("{free}"); $computers = $tpl->javascript_parse_text("{computers}"); $overloaded_text = $tpl->javascript_parse_text("{overloaded}"); $orders_text = $tpl->javascript_parse_text("{orders}"); $directories_monitor = $tpl->javascript_parse_text("{directories_monitor}"); while ($ligne = mysql_fetch_assoc($results)) { $LOGSWHY = array(); $overloaded = null; $loadcolor = "black"; $StatHourColor = "black"; $ColorTime = "black"; $groupname = $ligne["groupname"]; $icon_warning_32 = "warning32.png"; $icon_red_32 = "32-red.png"; $icon = "ok-32.png"; $urijs = "Loadjs('{$MyPage}?group-js=yes&ID={$ligne["ID"]}')"; $link = "<a href=\"javascript:blur();\" OnClick=\"javascript:{$urijs}\" {$styleHref}>"; $orders = imgtootltip("48-settings.png", null, "Loadjs('artica-meta.menus.php?gpid={$ligne["ID"]}');"); $transparent = imgtootltip("ok-pass-48.png", null, "Loadjs('artica-meta.squidtransparent-white.php?gpid={$ligne["ID"]}');"); $delete = imgtootltip("delete-32.png", null, "Loadjs('{$MyPage}?delete-group-js={$ligne["ID"]}')"); $count = $q->group_count($ligne["ID"]); $cell = array(); $cell[] = "<center><img src=\"img/{$icon}\"></center>"; $cell[] = "<span {$style}>{$link}{$groupname}</a></span>"; $cell[] = "<center {$style}>{$link}{$count}</a></center>"; $cell[] = "<center {$style}>{$orders}</a></center>"; $cell[] = "<center {$style}>{$transparent}</a></center>"; $cell[] = "<center {$style}>{$delete}</a></center>"; $data['rows'][] = array('id' => $ligne['uuid'], 'cell' => $cell); } echo json_encode($data); }
function SearchComputers() { $tpl = new templates(); $MyPage = CurrentPageName(); $q = new mysql_meta(); $fontsize = "14px"; $cs = 0; $page = 1; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $_POST["query"] = trim($_POST["query"]); $FORCE = 1; if ($_GET["uuid"] != null) { $FORCE = "uuid='{$_GET["uuid"]}'"; } $search = '%'; $table = "networks_hosts"; $page = 1; $total = 0; if ($q->COUNT_ROWS($table) == 0) { json_error_show("no data", 1); } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } 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']; } $searchstring = string_to_flexquery(); if ($searchstring != null) { $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE {$FORCE} {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_events")); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } $total = $ligne["TCOUNT"]; } else { if (strlen($FORCE) > 2) { $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE {$FORCE}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_events")); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } $total = $ligne["TCOUNT"]; } else { $total = $q->COUNT_ROWS($table, "artica_events"); } } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 50; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT * FROM `{$table}` WHERE {$FORCE} {$searchstring} {$ORDER} {$limitSql}"; $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { if (preg_match("#marked as crashed#", $q->mysql_error)) { $q->QUERY_SQL("DROP TABLE `{$table}`", "artica_events"); } } 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 (mysql_num_rows($results) == 0) { json_error_show("no data"); } $uuid = urlencode($_GET["uuid"]); while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) { if ($ligne["OSNAME"] == "Unknown") { $ligne["OSNAME"] = null; } $cs++; $macenc = urlencode($ligne["MAC"]); $jslink = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('{$MyPage}?mac-js={$macenc}&uuid={$uuid}&t={$_GET["t"]}');\"\n\t\tstyle='font-size:{$fontsize};text-decoration:underline'>"; $data['rows'][] = array('id' => md5(serialize($ligne)), 'cell' => array("<span style='font-size:{$fontsize}'>{$jslink}{$ligne["hostname"]}</a></span>", "<span style='font-size:{$fontsize}'>{$jslink}{$ligne["IPADDR"]}</a></span>", "<span style='font-size:{$fontsize}'>{$jslink}{$ligne["MAC"]}</a></span>", "<span style='font-size:{$fontsize}'>{$jslink}{$ligne["OSNAME"]}</a></span>", "<span style='font-size:{$fontsize}'>{$jslink}{$ligne["username"]}</a></span>", "")); } echo json_encode($data); }
function query() { $category = null; $tpl = new templates(); $also = $tpl->_ENGINE_parse_body("{also}"); $MyPage = CurrentPageName(); $q = new mysql_meta(); $nowebsites = $tpl->_ENGINE_parse_body("{no_saved_web_site_catz}"); if ($category == null) { if ($_GET["category"] != null) { $category = $_GET["category"]; } } if ($category == null) { if ($_POST["qtype"] != null) { $category = $_POST["qtype"]; } } if ($_POST["query"] != null) { if ($_GET["website"] != null) { $_POST["query"] = $_GET["website"]; } } if ($category == null) { json_error_show("Please select a category first"); } if ($_POST["sortname"] == "sitename") { $_POST["sortname"] = "zDate"; $_POST["sortorder"] = "desc"; } $table = "webfiltering_categories_urls"; $search = '%'; $page = 1; $COUNT_ROWS = $q->COUNT_ROWS($table); if ($COUNT_ROWS == 0) { json_error_show("no data", 1); } 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_flexquery(); if ($searchstring != null) { $sql = "SELECT COUNT(zmd5) as TCOUNT FROM `{$table}` WHERE category='{$category}' {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); $total = $ligne["TCOUNT"]; } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT zDate,zmd5,pattern,enabled FROM `{$table}` WHERE category='{$category}' {$searchstring} {$ORDER} {$limitSql}"; $results = $q->QUERY_SQL($sql); if (!$q->ok) { json_error_show($q->mysql_error, 1); } if (mysql_num_rows($results) == 0) { json_error_show("{$nowebsites}", 1); } $disabled_text = $tpl->_ENGINE_parse_body("{disabled}"); $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); while ($ligne = mysql_fetch_assoc($results)) { $delete = imgtootltip("delete-24.png", "{delete}", "DeleteCategorizedURI('{$ligne["zmd5"]}','{$table}')"); $color = "color:black"; $jscat = "<a href=\"javascript:blur();\" \n\t\t\t\tOnClick=\"javascript:Loadjs('squid.categorize.php?www={$ligne["pattern"]}');\"\n\t\t\t\tstyle='font-size:14px;text-decoration:underline;{$color}'>"; $data['rows'][] = array('id' => $ligne['zmd5'], 'cell' => array("\n\t\t<span style='font-size:18px;{$color}'>{$ligne['zDate']}</span>", "<span style='font-size:18px;{$color}'>{$ligne['pattern']}</a></span>", "<center>{$delete}</center>")); } echo json_encode($data); }
function showlist(){ $page=1; $q=new mysql_squid_builder(); $tablesrc="WEEK_RTTH"; $today=date("d"); $thishour=date('H'); if($_GET["uuid"]<>null){ $q=new mysql_meta(); $tablesrc="{$_GET["uuid"]}_WEEK_RTTH"; } $table="( SELECT * FROM `$tablesrc` WHERE `day`='$today' AND `hour`='$thishour') 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_flexquery(); if($searchstring<>null){ $sql="SELECT COUNT(*) as TCOUNT FROM $table WHERE 1 $searchstring"; $ligne=mysql_fetch_array($q->QUERY_SQL($sql)); $total = $ligne["TCOUNT"]; }else{ $sql="SELECT COUNT(*) as TCOUNT FROM $table"; $ligne=mysql_fetch_array($q->QUERY_SQL($sql)); $total = $ligne["TCOUNT"]; } if (isset($_POST['rp'])) {$rp = $_POST['rp'];} if(!is_numeric($rp)){$rp=50;} $pageStart = ($page-1)*$rp; $limitSql = "LIMIT $pageStart, $rp"; $sql="SELECT * FROM $table WHERE 1 $searchstring $ORDER $limitSql"; 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(mysql_num_rows($results)==0){ if(!$q->TABLE_EXISTS($tablesrc)){$add=" no table!";} json_error_show("no data $add <i>$sql</i>",3); } $data = array(); $data['page'] = 1; $data['total'] = mysql_num_rows($results); $data['rows'] = array(); //if(mysql_num_rows($results)==0){$data['rows'][] = array('id' => $ligne[time()],'cell' => array($sql,"", "",""));} while ($ligne = mysql_fetch_assoc($results)) { $ipaddr=$ligne["ipaddr"]; $mac=$ligne["MAC"]; $familysite=$ligne["familysite"]; $loupe_uid=null; $uid=$ligne["uid"]; $size=FormatBytes($ligne["size"]/1024); $macenc=urlencode($mac); $category=$ligne["category"]; if($category<>null){$category=" <i>($category)</i>";} $ipaddr_enc=urlencode($ipaddr); $loupe_mac="<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('squid.access.log.php?js=yes&SearchString=$ipaddr&data=&minsize=1')\"> <img src='img/loupe-32.png' style='float:right'> </a>"; if($uid<>null){ $loupe_uid="<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('squid.access.log.php?js=yes&SearchString=$uid&data=&minsize=1')\"> <img src='img/loupe-32.png' style='float:right'> </a>"; } $macurl="<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('squid.nodes.php?node-infos-js=yes&MAC=$macenc',true);\" style='font-size:16px;text-decoration:underline'>"; $data['rows'][] = array( 'id' => md5(serialize($ligne)), 'cell' => array("$loupe_uid<span style='font-size:16px'>$uid</span>", "$loupe_mac<span style='font-size:16px'>$ipaddr</span>", "$loupe_mac<span style='font-size:16px'>$macurl$mac</a></span>", "<span style='font-size:16px'>$familysite$category</span>", "<span style='font-size:16px'>$size</span>" ) ); } echo json_encode($data); }
function change_hostname_save() { $uuid = $_POST["uuid"]; $hostname = $_POST["ChangeHostName"]; $meta = new mysql_meta(); $meta->QUERY_SQL("UPDATE metahosts SET `hostname`='{$hostname}' WHERE uuid='{$uuid}'"); if (!$q->ok) { echo $q->mysql_error; return; } if (!$meta->CreateOrder($uuid, "CHANGE_HOSTNAME", array("VALUE" => $hostname))) { echo "Failed\nFunction:" . __FUNCTION__ . "\nLine:" . __LINE__ . "\nFile:" . basename(__FILE__); } }
function showlist(){ $page=1; $q=new mysql_squid_builder(); $table="CACHED_SITES"; if($_GET["uuid"]<>null){ $q=new mysql_meta(); $table="{$_GET["uuid"]}_CACHED_SITES"; } 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_flexquery(); if($searchstring<>null){ $sql="SELECT COUNT(*) as TCOUNT FROM $table WHERE 1 $searchstring"; $ligne=mysql_fetch_array($q->QUERY_SQL($sql,"artica_events")); $total = $ligne["TCOUNT"]; }else{ $sql="SELECT COUNT(*) as TCOUNT FROM $table"; $ligne=mysql_fetch_array($q->QUERY_SQL($sql,"artica_events")); $total = $ligne["TCOUNT"]; } if (isset($_POST['rp'])) {$rp = $_POST['rp'];} if(!is_numeric($rp)){$rp=50;} $pageStart = ($page-1)*$rp; $limitSql = "LIMIT $pageStart, $rp"; $sql="SELECT * FROM $table WHERE 1 $searchstring $ORDER $limitSql"; if(isset($_GET["verbose"])){echo "<hr><code>$sql</code></hr>";} $results = $q->QUERY_SQL($sql,"artica_events"); if(!$q->ok){json_error_show($q->mysql_error,1);} if(mysql_num_rows($results)==0){ json_error_show("$table no data",1); } $data = array(); $data['page'] = 1; $data['total'] = mysql_num_rows($results); $data['rows'] = array(); //if(mysql_num_rows($results)==0){$data['rows'][] = array('id' => $ligne[time()],'cell' => array($sql,"", "",""));} while ($ligne = mysql_fetch_assoc($results)) { $familysite=$ligne["familysite"]; $size=FormatBytes($ligne["size"]/1024); $data['rows'][] = array( 'id' => md5(serialize($ligne)), 'cell' => array( "<span style='font-size:18px'>$familysite</span>", "<span style='font-size:18px'>$size</span>" ) ); } echo json_encode($data); }
function content_search() { $MyPage = CurrentPageName(); $page = CurrentPageName(); $tpl = new templates(); $sock = new sockets(); $q = new mysql_meta(); $table = "snapshots"; $database = null; $ID = $_GET["ID"]; if (!$q->TABLE_EXISTS($table, $database)) { json_error_show("no data - no table"); } $searchstring = string_to_flexquery(); $page = 1; $q = new mysql_meta(); $table = "(SELECT hotspot_members.creationtime, hotspot_members.uid, metahosts.hostname,hotspot_members.uuid FROM \n\thotspot_members,metahosts WHERE hotspot_members.uuid=metahosts.uuid) as t"; if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $sql = "SELECT COUNT(*) as TCOUNT FROM {$table} WHERE 1 {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, $database)); $total = $ligne["TCOUNT"]; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT * FROM {$table} WHERE 1 {$searchstring} {$ORDER} {$limitSql}"; $results = $q->QUERY_SQL($sql, $database); if (!$q->ok) { json_error_show($q->mysql_error_html(), 1); } if (mysql_num_rows($results) == 0) { json_error_show("no data {$sql}"); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); if (!$q->ok) { json_error_show($q->mysql_error); } $fontsize = 22; $c = 1; // //service,server_port,client_port,helper,enabled $style = "style='font-size:18px'"; while ($ligne = mysql_fetch_assoc($results)) { $c++; $creationtime = $ligne["creationtime"]; $zdate = $tpl->time_to_date($creationtime, true); $uid = $ligne["uid"]; $hostname = $ligne["hostname"]; $key = md5(serialize($ligne)); $cell = array(); $cell[] = "<span {$style}>{$zdate}</a></span>"; $cell[] = "<span {$style}>{$uid}</a></span>"; $cell[] = "<span {$style}>{$hostname}</a></span>"; $data['rows'][] = array('id' => $key, 'cell' => $cell); } $data['total'] = $c; echo json_encode($data); }
function meta_server_status() { include_once 'ressources/class.mysql-meta.inc'; $page = CurrentPageName(); $ini = new Bs_IniHandler(); $users = new usersMenus(); $tpl = new templates(); $sock = new sockets(); $icon = "disks-128-ok.png"; $GotoMeta = "GoToMeta()"; if (!$users->AsArticaMetaAdmin) { $GotoMeta = "blur();"; } $c = 0; $q = new mysql_meta(); $results = $q->QUERY_SQL("SELECT * FROM metahosts"); if (!$q->ok) { $err[] = proxy_status_warning("MySQL Error !!!", "{$q->mysql_error}", "blur();"); } $ArticaMetaPooling = intval($sock->GET_INFO("ArticaMetaPooling")); $ArticaMetaUseSendClient = intval($sock->GET_INFO("ArticaMetaUseSendClient")); $ArticaLinkAutoconnect = intval($sock->GET_INFO("ArticaLinkAutoconnect")); $MetaUfdbArticaVer = intval($sock->GET_INFO("MetaUfdbArticaVer")); if ($ArticaMetaPooling == 0) { $ArticaMetaPooling = 15; } while ($ligne = mysql_fetch_assoc($results)) { $load = $ligne["load"]; $uuid = $ligne["uuid"]; $PROXYEMERG = $ligne["PROXYEMERG"]; $hostname = $ligne["hostname"]; if (strpos($hostname, ".") > 0) { $xtr = explode(".", $hostname); $hostname = $xtr[0]; } $CPU_NUMBER_MAX = $ligne["CPU_NUMBER"] + 1.5; $updated = $ligne["updated"]; $mem_perc = $ligne["mem_perc"]; $WINDOWSAD = $ligne["WINDOWSAD"]; $ADEMERG = intval($ligne["ADEMERG"]); if ($load > $CPU_NUMBER_MAX) { $err[] = proxy_status_warning("{$hostname}: {overloaded} {$load}", "{$hostname}", "Loadjs('artica-meta.cpustats.php?js=yes&uuid={$uuid}');"); } if ($PROXYEMERG == 1) { $err[] = proxy_status_warning("{$hostname}: {proxy_in_emergency_mode}", "{$hostname}", "Loadjs('artica-meta.urgency.php?uuid={$uuid}');"); } if ($WINDOWSAD == 1) { if ($ADEMERG == 1) { $err[] = proxy_status_warning("{$hostname}: {activedirectory_emergency_mode}", "{$hostname}", "Loadjs('artica-meta.menus.php?activedirectory-emergency-disable-js=yes&uuid={$uuid}&gpid=0');"); } } if ($mem_perc > 80) { $mem_total = FormatBytes($ligne["mem_total"]); $alerts[] = status_important_event("{$hostname}: {memory_exceed_80} «{$mem_perc}%/{$mem_total}»", "{$hostname}", "Loadjs('artica-meta.cpustats.php?js=yes&uuid={$uuid}');"); } $xtime = strtotime($updated); $diff = time_diff_min($xtime); $Difftext = distanceOfTimeInWords($xtime, time(), true); if ($diff > $ArticaMetaPooling * 4) { $err[] = proxy_status_warning("{$hostname}: {did_not_talk_with_meta}", "{since} {$Difftext}", "Loadjs('artica-meta.cpustats.php?js=yes&uuid={$uuid}');"); } $c++; } if (count($alerts) > 0) { $icon = "disks-128-warn.png"; } if (count($err) > 0) { $icon = "disks-128-red.png"; } $master_version = @file_get_contents("VERSION"); $html = "\n\t<table style='width:100%'>\n\t<tr>\n\t<td valign='top' style='width:128px' >\n\t<img src='img/{$icon}'>\n\t</td>\n\t<td>\n\t<table style='width:100%'>\n\t<tr>\n\t<td style='font-size:30px'>\n\t" . $tpl->_ENGINE_parse_body(texttooltip("Artica Meta", "Artica Meta", "{$GotoMeta}")) . "\n\t<div style='width:100%;text-align:right'><span style='font-size:16px'>{version}:{$master_version}</div>\n\t</td>\n\t</tr>\n\t<tr>\n\t<td colspan=2> </td>\n\t</tR>\n\t<tr>\n\t\t<td style='font-size:26px'>\n\t\t\t<a href=\"javascript:blur();\"\n\t\t\tOnClick=\"javascript:{$GotoMeta}\"\n\t\t\tstyle='text-decoration:underline'>{servers}: " . FormatNumber($c) . "</a>\n\t\t</td>\n\t</tr>\n\t<tr>\n\t" . @implode("", $err) . "\n\t" . @implode("", $alerts) . "\n\t</table>\n</td>\n</tr>\n</table>\n"; $html = $tpl->_ENGINE_parse_body($html); return $html; }
function global_status_ini($uuid) { $workingdir = "/usr/share/artica-postfix/ressources/conf/meta/hosts/uploaded/{$uuid}"; if (!is_file("{$workingdir}/global.status.ini")) { if ($GLOBALS["VERBOSE"]) { echo "{$workingdir}/global.status.ini ( no such file )\n"; } return; } $ini = new Bs_IniHandler("{$workingdir}/global.status.ini"); $f = array(); $prefix = "INSERT IGNORE INTO global_status (\n\t`uuid`,`MAIN`,`service_name`,`service_cmd`,`service_disabled`,`watchdog_features`,`binpath`,\n\t`explain`,`running`,`installed`,`master_pid`,`master_memory`,`master_cached_memory`,`processes_number`,`uptime`,`master_version` ) VALUES "; while (list($MAIN, $subarray) = each($ini->_params)) { if (!isset($subarray["installed"])) { if ($subarray["master_memory"] != null) { $subarray["installed"] = 1; } else { $subarray["installed"] = 0; } } $f[] = "('{$uuid}','{$MAIN}','{$subarray["service_name"]}',\n\t\t'{$subarray["service_cmd"]}',\n\t\t'{$subarray["service_disabled"]}',\n\t\t'{$subarray["watchdog_features"]}',\n\t\t'{$subarray["binpath"]}',\n\t\t'{$subarray["explain"]}',\n\t\t'{$subarray["running"]}',\n\t\t'{$subarray["installed"]}',\n\t\t'{$subarray["master_pid"]}',\n\t\t'{$subarray["master_memory"]}',\n\t\t'{$subarray["master_cached_memory"]}',\n\t\t'{$subarray["processes_number"]}',\n\t\t'{$subarray["uptime"]}',\n\t\t'{$subarray["master_version"]}'\n\t\t\n\t\t)"; } if (count($f) > 0) { $q = new mysql_meta(); $q->CheckTables(); $q->QUERY_SQL("DELETE FROM global_status WHERE uuid='{$uuid}'"); $q->QUERY_SQL($prefix . @implode(",", $f)); if (!$q->ok) { return false; } @unlink("{$workingdir}/global.status.ini"); } }
function content_search() { $MyPage = CurrentPageName(); $page = CurrentPageName(); $tpl = new templates(); $sock = new sockets(); $q = new mysql_meta(); $table = "snapshots"; $database = null; $ID = $_GET["ID"]; if (!$q->TABLE_EXISTS($table, $database)) { json_error_show("no data - no table"); } $searchstring = string_to_flexquery(); $page = 1; $q = new mysql_meta(); $sql = "SELECT `content` FROM {$table} WHERE ID='{$ID}'"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, $database)); $MAIN = unserialize($ligne["content"]); $size_content = strlen($ligne["content"]); if (!is_array($MAIN)) { json_error_show("no data ID:{$ID} Size:{$size_content}"); } $searchstring = string_to_flexregex(); $total = count($MAIN); if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 50; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $fontsize = "22"; $style = " style='font-size:{$fontsize}px'"; $styleHref = " style='font-size:{$fontsize}px;text-decoration:underline'"; $c = 0; while (list($filename, $size) = each($MAIN)) { $sizeText = "{$size} Bytes"; if ($size > 1024) { $sizeText = FormatBytes($size / 1024); } if ($searchstring != null) { if (!preg_match("#{$searchstring}#i", $filename . "{$sizeText}")) { continue; } } $c++; $key = md5($filename); $size = FormatBytes($size / 1024); $cell = array(); $cell[] = "<span {$style}>{$filename}</a></span>"; $cell[] = "<span {$style}>{$sizeText}</a></span>"; $data['rows'][] = array('id' => $key, 'cell' => $cell); } $data['total'] = $c; echo json_encode($data); }
function delete_category() { $category = trim($_POST["remove_category"]); if (strlen($category) == 0) { return; } $q = new mysql_meta(); $q->QUERY_SQL("DELETE FROM webfiltering_categories WHERE `category`='{$category}'"); if (!$q->ok) { echo $q->mysql_error; return; } $q->QUERY_SQL("DELETE FROM webfiltering_categories_items WHERE `category`='{$category}'"); if (!$q->ok) { echo $q->mysql_error; return; } $q->QUERY_SQL("DELETE FROM webfiltering_categories_urls WHERE `category`='{$category}'"); $sock = new sockets(); $sock->getFrameWork("artica.php?scan-categories=yes"); }
function Replicate_policy_to_group($gpid, $content) { $q = new mysql_meta(); $sql = "SELECT uuid FROM metagroups_link WHERE gpid='{$gpid}'"; $results = $q->QUERY_SQL($sql); if (!$q->ok) { meta_admin_mysql(0, "Fatal error: Mysql Error", $q->mysql_error . "\n{$sql}", __FILE__, __LINE__); return; } $md5Content = md5($content); $content = mysql_escape_string2($content); if (mysql_num_rows($results) == 0) { return; } while ($ligne = mysql_fetch_assoc($results)) { $uuid = $ligne["uuid"]; $md5 = md5("{$md5Content}{$uuid}"); $q->QUERY_SQL("DELETE FROM `policies_storage` WHERE `zmd5`='{$md5}'"); $sql = "INSERT IGNORE INTO `policies_storage` (zmd5,uuid,policy_content) VALUES ('{$md5}','{$uuid}','{$content}')"; $q->QUERY_SQL($sql); if (!$q->ok) { meta_admin_mysql(0, "Fatal error: Mysql Error", $q->mysql_error . "\n{$sql}", __FILE__, __LINE__); continue; } $q->CreateOrder($uuid, "POLICY", array("VALUE" => $md5)); } }
function showlist(){ $page=1; $q=new mysql_squid_builder(); $tablesrc="WEEK_RTTH"; if($_GET["uuid"]<>null){ $q=new mysql_meta(); $tablesrc="{$_GET["uuid"]}_WEEK_RTTH"; } $table="(SELECT SUM(size) as size,COUNT(MAC) as members,familysite FROM `$tablesrc` GROUP BY familysite) 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_flexquery(); if($searchstring<>null){ $sql="SELECT COUNT(*) as TCOUNT FROM $table WHERE 1 $searchstring"; $ligne=mysql_fetch_array($q->QUERY_SQL($sql,"artica_events")); $total = $ligne["TCOUNT"]; }else{ $sql="SELECT COUNT(*) as TCOUNT FROM $table"; $ligne=mysql_fetch_array($q->QUERY_SQL($sql,"artica_events")); $total = $ligne["TCOUNT"]; } if (isset($_POST['rp'])) {$rp = $_POST['rp'];} if(!is_numeric($rp)){$rp=50;} $pageStart = ($page-1)*$rp; $limitSql = "LIMIT $pageStart, $rp"; $sql="SELECT * FROM $table WHERE 1 $searchstring $ORDER $limitSql"; if(isset($_GET["verbose"])){echo "<hr><code>$sql</code></hr>";} $results = $q->QUERY_SQL($sql,"artica_events"); if(!$q->ok){json_error_show($q->mysql_error,1);} if(mysql_num_rows($results)==0){ json_error_show("$table no data",1); } $data = array(); $data['page'] = 1; $data['total'] = mysql_num_rows($results); $data['rows'] = array(); //if(mysql_num_rows($results)==0){$data['rows'][] = array('id' => $ligne[time()],'cell' => array($sql,"", "",""));} while ($ligne = mysql_fetch_assoc($results)) { $ipaddr=$ligne["ipaddr"]; $mac=$ligne["MAC"]; $familysite=$ligne["familysite"]; $uid=$ligne["uid"]; $size=FormatBytes($ligne["size"]/1024); $macenc=urlencode($mac); $category=$ligne["category"]; if($category<>null){$category=" <i>($category)</i>";} $url="<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('squid.website-stats.currentmonth.php?field=familysite&value=$familysite',true);\" style='font-size:22px;text-decoration:underline'>"; $data['rows'][] = array( 'id' => md5(serialize($ligne)), 'cell' => array("<span style='font-size:22px'>$url$familysite</a>$category</span>", "<span style='font-size:22px'>{$ligne["members"]}</span>", "<span style='font-size:22px'>$size</span>" ) ); } echo json_encode($data); }
function search() { $MyPage = CurrentPageName(); $page = CurrentPageName(); $tpl = new templates(); $sock = new sockets(); $q = new mysql_meta(); $table = "metagroups"; if (!$q->TABLE_EXISTS("metagroups_link")) { $q->CheckTables(); } $table = "(SELECT metahosts.hostname,metahosts.hostag,\n\t\t\tmetahosts.uuid,metagroups_link.zmd5 \n\t\t\tFROM metahosts,metagroups_link WHERE\n\t\t\tmetagroups_link.uuid=metahosts.uuid\n\t\t\tAND metagroups_link.gpid={$_GET["ID"]}) as t"; $searchstring = string_to_flexquery(); $page = 1; if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY `{$_POST["sortname"]}` {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $sql = "SELECT COUNT( * ) AS tcount FROM {$table} WHERE 1 {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql)); if (!$q->ok) { json_error_show("Mysql Error [" . __LINE__ . "]: <br>{$q->mysql_error}.<br>{$sql}", 1); } $total = $ligne["tcount"]; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } if (!is_numeric($rp)) { $rp = 50; } $pageStart = ($page - 1) * $rp; $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT * FROM {$table} WHERE 1 {$searchstring} {$ORDER} {$limitSql} "; $results = $q->QUERY_SQL($sql); if (!$q->ok) { if ($q->mysql_error != null) { json_error_show(date("H:i:s") . "<br>SORT:{$_POST["sortname"]}:<br>Mysql Error [L." . __LINE__ . "]: {$q->mysql_error}<br>{$sql}", 1); } } if (mysql_num_rows($results) == 0) { json_error_show("no data", 1); } $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); $fontsize = "22"; $style = " style='font-size:{$fontsize}px'"; $styleHref = " style='font-size:{$fontsize}px;text-decoration:underline'"; $free_text = $tpl->javascript_parse_text("{free}"); $computers = $tpl->javascript_parse_text("{computers}"); $overloaded_text = $tpl->javascript_parse_text("{overloaded}"); $orders_text = $tpl->javascript_parse_text("{orders}"); $directories_monitor = $tpl->javascript_parse_text("{directories_monitor}"); while ($ligne = mysql_fetch_assoc($results)) { $LOGSWHY = array(); $overloaded = null; $loadcolor = "black"; $StatHourColor = "black"; $ColorTime = "black"; $uuid = $ligne["uuid"]; $hostname = $ligne["hostname"]; $hostag = utf8_encode($ligne["hostag"]); $zmd5 = $ligne["zmd5"]; $icon_warning_32 = "warning32.png"; $icon_red_32 = "32-red.png"; $icon = "ok-32.png"; $urijs = "Loadjs('artica-meta.menus.php?js=yes&uuid={$uuid}');"; $link = "<a href=\"javascript:blur();\" OnClick=\"javascript:{$urijs}\" {$styleHref}>"; $delete = imgtootltip("delete-32.png", null, "Loadjs('{$MyPage}?unlink-js={$zmd5}')"); $cell = array(); $cell[] = "<span {$style}>{$link}{$hostname}</a></span><br>{$uuid}"; $cell[] = "<span {$style}>{$hostag}</a></span>"; $cell[] = "{$delete}"; $data['rows'][] = array('id' => $ligne['uuid'], 'cell' => $cell); } echo json_encode($data); }
function ParseDB_FILE($path, $uuid = null, $asmeta = false) { $unix = new unix(); if (!is_file($path)) { return; } echo "Open {$path}\n"; $db_con = dba_open($path, "r", "db4"); if (!$db_con) { if ($asmeta) { meta_admin_mysql(1, "DB open failed {$path}", null, __FILE__, __LINE__); } echo "DB open failed\n"; die; } $mainkey = dba_firstkey($db_con); while ($mainkey != false) { $val = 0; $data = unserialize(dba_fetch($mainkey, $db_con)); $mainkey = dba_nextkey($db_con); if (!is_array($data)) { continue; } $q = new mysql_squid_builder(); $qCommon = new mysql_squid_builder(); if ($uuid != null) { $q = new mysql_stats($uuid); } if ($asmeta) { $q = new mysql_meta(); } if (!isset($data["HOURLY"])) { continue; } if (!isset($data["WWW"])) { continue; } $category = null; $ipaddr = mysql_escape_string2($data["IPADDR"]); if (isset($data["MAC"])) { $mac = mysql_escape_string2($data["MAC"]); } $uid = mysql_escape_string2($data["UID"]); $familysite = mysql_escape_string2($data["WWW"]); if (isset($data["category"])) { $category = mysql_escape_string2($data["category"]); } if ($uid == null) { $uid = $qCommon->UID_FROM_MAC($data["MAC"]); } if ($uid == null) { $uid = $qCommon->UID_FROM_IP($data["IPADDR"]); } $uid = mysql_escape_string2($uid); $length = strlen($ipaddr) + strlen($mac) + strlen($uid) + strlen($familysite); if ($length == 0) { continue; } while (list($day, $array) = each($data["HOURLY"])) { while (list($hour, $size) = each($array)) { $md5 = md5("'{$ipaddr}','{$mac}','{$uid}','{$familysite}','{$day}','{$hour}','{$size}','{$category}'"); $wwwUH[] = "('{$md5}','{$ipaddr}','{$mac}','{$uid}','{$familysite}','{$day}','{$hour}','{$size}','{$category}')"; if ($GLOBALS["VERBOSE"]) { echo "('{$md5}','{$ipaddr}','{$mac}','{$uid}','{$familysite}','{$day}','{$hour}','{$size}','{$category}')\n"; } } } } dba_close($db_con); $TABLE_WEEK_RTTH = "WEEK_RTTH"; $ENGINE = "MEMORY"; if ($asmeta) { $TABLE_WEEK_RTTH = "{$uuid}_WEEK_RTTH"; $ENGINE = "MYISAM"; } if ($asmeta) { xmeta_events("DROP TABLE `{$TABLE_WEEK_RTTH}`", __FUNCTION__, __FILE__, __LINE__); } $q->QUERY_SQL("DROP TABLE `{$TABLE_WEEK_RTTH}`"); if ($asmeta) { xmeta_events("CREATE TABLE `{$TABLE_WEEK_RTTH}`", __FUNCTION__, __FILE__, __LINE__); } $q->QUERY_SQL("CREATE TABLE IF NOT EXISTS `{$TABLE_WEEK_RTTH}` (\n\t\t\t`zmd5` varchar(90) NOT NULL,\n\t\t\t`familysite` varchar(128) NOT NULL,\n\t\t\t`ipaddr` varchar(50) NOT NULL DEFAULT '',\n\t\t\t`day` smallint(2) NOT NULL,\n\t\t\t`hour` smallint(2) NOT NULL,\n\t\t\t`uid` varchar(128) NOT NULL,\n\t\t\t`MAC` varchar(20) NOT NULL,\n\t\t\t`size` BIGINT UNSIGNED NOT NULL,\n\t\t\t`category` varchar(90) NOT NULL,\n\t\t\tPRIMARY KEY `zmd5` (`zmd5`),\n\t\t\tKEY `familysite` (`familysite`),\n\t\t\tKEY `ipaddr` (`ipaddr`),\n\t\t\tKEY `uid` (`uid`),\n\t\t\tKEY `category` (`category`),\n\t\t\tKEY `hour` (`hour`),\n\t\t\tKEY `day` (`day`),\n\t\t\tKEY `MAC` (`MAC`)\n\t) ENGINE={$ENGINE};"); if (!$q->ok) { if ($asmeta) { meta_admin_mysql(1, "MySQL error", $q->mysql_error, __FILE__, __LINE__); } echo $q->mysql_error; return; } $q->QUERY_SQL("INSERT IGNORE INTO `{$TABLE_WEEK_RTTH}` ( `zmd5`,`ipaddr`,`MAC`,`uid`,familysite,`day`,`hour`,`size`,`category`) VALUES " . @implode(",", $wwwUH)); if (!$q->ok) { if ($asmeta) { meta_admin_mysql(1, "MySQL error", $q->mysql_error, __FILE__, __LINE__); } echo $q->mysql_error; return; } if ($asmeta) { xmeta_events("Success parsing {$path} adding " . count($wwwUH) . " elements", __FUNCTION__, __FILE__, __LINE__); return; } $sock = new sockets(); $EnableArticaMetaClient = intval($sock->GET_INFO("EnableArticaMetaClient")); $EnableSquidRemoteMySQL = intval($sock->GET_INFO("EnableSquidRemoteMySQL")); if ($EnableSquidRemoteMySQL == 1) { return; } if ($EnableArticaMetaClient == 0) { return; } $DIR_TEMP = $unix->TEMP_DIR(); if (!$unix->compress($path, "{$DIR_TEMP}/SQUID_QUOTASIZE.gz")) { meta_admin_mysql(1, "Unable to compress {$path}", null, __FILE__, __LINE__); @unlink("{$DIR_TEMP}/SQUID_QUOTASIZE.gz"); return; } $artica_meta = new artica_meta(); if (!$artica_meta->SendFile("{$DIR_TEMP}/SQUID_QUOTASIZE.gz", "SQUID_QUOTASIZE")) { meta_admin_mysql(1, "Unable to updload {$DIR_TEMP}/SQUID_QUOTASIZE.gz", null, __FILE__, __LINE__); } @unlink("{$DIR_TEMP}/SQUID_QUOTASIZE.gz"); }
function search() { $tpl = new templates(); $MyPage = CurrentPageName(); $q = new mysql_meta(); $search = '%'; $table = "(SELECT * FROM system_schedules WHERE `uuid`='{$_GET["uuid"]}') as t"; $page = 1; $ORDER = "ORDER BY ID DESC"; $sock = new sockets(); $DisableSquidDefaultSchedule = $sock->GET_INFO("DisableSquidDefaultSchedule"); if (!is_numeric($DisableSquidDefaultSchedule)) { $DisableSquidDefaultSchedule = 0; } $schedules = new system_tasks(); $ForceTaskType = $_GET["ForceTaskType"]; if (!is_numeric($ForceTaskType)) { $ForceTaskType = 0; } $total = 0; $FORCE = 1; if ($ForceTaskType > 0) { $FORCE = "TaskType={$ForceTaskType}"; } 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_flexquery(); $sql = "SELECT COUNT(*) as TCOUNT FROM {$table} WHERE {$FORCE} {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql)); $total = $ligne["TCOUNT"]; if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; if (is_numeric($rp)) { $limitSql = "LIMIT {$pageStart}, {$rp}"; } $sql = "SELECT * FROM {$table} WHERE {$FORCE} {$searchstring} {$ORDER} {$limitSql}"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql); $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); if (!$q->ok) { json_error_show("no schedule"); } $q2 = new mysql(); if (mysql_num_rows($results) == 0) { json_error_show("no schedule", 1); } while ($ligne = mysql_fetch_assoc($results)) { $color = "black"; $events = " "; $md5 = md5("SquidTask{$ligne['ID']}"); $TaskType = $ligne["TaskType"]; $jstaskexplain = $tpl->javascript_parse_text($schedules->tasks_array[$ligne["TaskType"]]); $ligne["TaskType"] = $tpl->_ENGINE_parse_body($schedules->tasks_array[$ligne["TaskType"]]); $TimeDescription = $ligne["TimeDescription"]; $enable = Field_checkbox($md5, 1, $ligne["enabled"], "SystemTaskEnable('{$md5}',{$ligne['ID']})"); $delete = imgtootltip("delete-24.png", "{delete} {$ligne['ID']}", "SquidTaskDelete('{$ligne['ID']}')"); $run = $tpl->_ENGINE_parse_body(imgtootltip("24-run.png", "{run} {$ligne['ID']}", "SystemTaskRun('{$ligne['ID']}','{$jstaskexplain}')")); if ($ligne["enabled"] == 0) { $color = "#A0A0A0"; } $tablename = "Taskev{$ligne['ID']}"; if (!$q->TABLE_EXISTS($tablename, "artica_events")) { $events = imgsimple("delete_disabled.png"); } else { $evs = $q2->COUNT_ROWS($tablename, "artica_events"); if ($evs > 0) { $events = imgsimple("events-24.png", "{events} {$ligne['ID']}", "Loadjs('squid.update.events.php?taskid={$ligne['ID']}&table={$tablename}')"); } } $explainTXT = $tpl->_ENGINE_parse_body($schedules->tasks_explain_array[$TaskType]); $TimeText = $tpl->_ENGINE_parse_body($schedules->PatternToHuman($ligne["TimeText"])); $TimeText = str_replace("<br>", "", $TimeText); if (preg_match("#(.+?)\\s+(.+?)\\s+(.+?)\\s+(.+?)\\s+(.+?)#", $TimeDescription, $re)) { $TimeDescription = $TimeText; $TimeText = null; } $span = "<a href=\"javascript:blur();\" OnClick=\"javascript:Loadjs('{$MyPage}?AddNewSchedule-js=yes&ID={$ligne['ID']}');\"\n\t\t style='font-size:16px;font-weight:bold;color:{$color};text-decoration:underline'>"; $ligne["TimeDescription"] = utf8_encode($ligne["TimeDescription"]); $ligne["TaskType"] = utf8_encode($ligne["TaskType"]); //rowSquidTask $data['rows'][] = array('id' => "SquidTask" . $ligne['ID'], 'cell' => array("{$span}{$ligne['ID']}</a>", "{$span}{$ligne["TaskType"]}</a>", "{$span}{$TimeDescription}</a>\n\t\t<div style='font-size:11px'><i>{$explainTXT}</i></div>", "<div style='margin-top:5px'>{$enable}</div>", $delete)); } echo json_encode($data); }
function ident() { if (isset($_SERVER["REMOTE_ADDR"])) { $IPADDR = $_SERVER["REMOTE_ADDR"]; } if (isset($_SERVER["HTTP_X_REAL_IP"])) { $IPADDR = $_SERVER["HTTP_X_REAL_IP"]; } if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) { $IPADDR = $_SERVER["HTTP_X_FORWARDED_FOR"]; } $GLOBALS["CLIENT_META_IP"] = $IPADDR; $sock = new sockets(); $ARRAY = unserialize(base64_decode($_GET["ident"])); $EnableArticaMetaServer = intval($sock->GET_INFO("EnableArticaMetaServer")); $ArticaMetaServerUsername = trim(strtolower($sock->GET_INFO("ArticaMetaServerUsername"))); $ArticaMetaServerPassword = $sock->GET_INFO("ArticaMetaServerPassword"); if ($EnableArticaMetaServer == 0) { die; } $UUID = $ARRAY["uuid"]; $GLOBALS["UUID"] = $UUID; $hostname = $ARRAY["hostname"]; $version = $ARRAY["version"]; $username = trim(strtolower($ARRAY["username"])); $password = $ARRAY["password"]; if ($ArticaMetaServerUsername != $username) { writelogs_meta("Checking identification FROM {$IPADDR} failed, wrong username or password", __FUNCTION__, __FILE__, __LINE__); die; } if ($ArticaMetaServerPassword != $password) { writelogs_meta("Checking identification FROM {$IPADDR} failed, wrong username or password", __FUNCTION__, __FILE__, __LINE__); die; } $q = new mysql_meta(); if (!$q->TABLE_EXISTS("metahosts")) { if (!$q->CheckTables()) { echo $q->mysql_error; } } if (isset($ARRAY["ARTICA_META_EVENTS"])) { echo __LINE__ . " ** ARTICA_META_EVENTS:" . strlen($ARRAY["ARTICA_META_EVENTS"]) . " bytes\n"; $qev = new mysql(); $qev->QUERY_SQL($ARRAY["ARTICA_META_EVENTS"], "artica_events"); if (!$qev->ok) { echo "*********************************\n\${$qev->mysql_error}\n*********************************\n"; } } else { echo __LINE__ . " ** ARTICA_META_EVENTS: NONE\n"; } $CPU = $ARRAY["CPU"]; $load = $ARRAY["load"]; $pourc_mem = $ARRAY["memory"]["ram"]["percent"]; $ram_used = $ARRAY["memory"]["ram"]["used"]; $ram_total = $ARRAY["memory"]["ram"]["total"]; $ALL_DISKS_STATUS = mysql_escape_string2($ARRAY["ALL_DISKS_STATUS"]); echo "ALL_DISKS_STATUS:{$ALL_DISKS_STATUS}\n"; $sql = "SELECT hostname FROM metahosts WHERE uuid='{$UUID}'"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql)); $currentDate = date("Y-m-d H:i:s"); $squid = 0; $squidver = null; if (isset($ARRAY["SQUID"])) { $squid = $ARRAY["SQUID"]; } if (isset($ARRAY["squidver"])) { $squidver = $ARRAY["squidver"]; } if (trim($ligne["hostname"]) == null) { $q->QUERY_SQL("INSERT IGNORE INTO `metahosts` (uuid,hostname,public_ip,updated,blacklisted,`version`,`CPU_NUMBER`\n\t\t\t\t,`load`,`mem_perc`,`mem_used`,mem_total,disks,PROXY,squidver) \n\t\t\t\tVALUES('{$UUID}','{$hostname}','{$IPADDR}','{$currentDate}',0,'{$version}','{$CPU}'\n\t\t\t\t,'{$load}','{$pourc_mem}','{$ram_used}','{$ram_total}','{$ALL_DISKS_STATUS}','{$squid}','{$squidver}')"); if (!$q->ok) { echo $q->mysql_error; return false; } } else { $q->QUERY_SQL("UPDATE `metahosts` SET public_ip='{$IPADDR}', `hostname`='{$hostname}',\n\t\t\t\t`updated`='{$currentDate}',`version`='{$version}',\n\t\t\t\t`CPU_NUMBER`='{$CPU}',\n\t\t\t\t`load`='{$load}',\n\t\t\t\t`mem_perc`='{$pourc_mem}',\n\t\t\t\t`mem_used`='{$ram_used}',\n\t\t\t\tmem_total='{$ram_total}',\n\t\t\t\t`disks`='{$ALL_DISKS_STATUS}',\n\t\t\t\tPROXY='{$squid}',\n\t\t\t\tsquidver='{$squidver}'\n\t\t\t\tWHERE uuid='{$UUID}'"); if (!$q->ok) { if (preg_match("#Unknown column#", $q->mysql_error)) { $q->CheckTables(); } } if (!$q->ok) { echo $q->mysql_error; return false; } } return true; }