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 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 table() { $page = CurrentPageName(); $tpl = new templates(); $t = time(); $disks = $tpl->javascript_parse_text("{disks}"); $ipaddr = $tpl->javascript_parse_text("{ipaddr}"); $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}"); $packages = $tpl->javascript_parse_text("{packages}"); $switch = $tpl->javascript_parse_text("{switch}"); $new_server = $tpl->javascript_parse_text("{new_server}"); $software = $tpl->javascript_parse_text("{software}"); $tablewith = 691; $compilesize = 35; $size_elemnts = 50; $size_size = 58; $delete = "{display: 'delete', name : 'icon3', width : 35, sortable : false, align: 'left'},"; $categorysize = 387; $tag = $tpl->javascript_parse_text("{tag}"); $q = new mysql_meta(); if (!$q->TABLE_EXISTS("metahosts")) { $q->CheckTables(); } if (!$q->TABLE_EXISTS("metahosts")) { echo FATAL_ERROR_SHOW_128("MySQL Error, table metahosts does not exists..."); return; } $sql = "SELECT version FROM metahosts GROUP BY version ORDER BY version"; $results = $q->QUERY_SQL($sql); if (!$q->ok) { if (stripos($q->mysql_error, "crashed and should be repaired") > 0) { $button = "<center style='margin:20px'>" . button("{repair_table}", "Loadjs('mysql.repair.progress.php?table=metahosts&database=articameta')", 40) . "</center>"; } echo FATAL_ERROR_SHOW_128(__FUNCTION__ . "/" . __LINE__ . "<br>" . $q->mysql_error . $button); return; } $ARTICAVER = trim(@file_get_contents("VERSION")); while ($ligne = mysql_fetch_assoc($results)) { $ligne["version"] = trim($ligne["version"]); if ($ligne["version"] == null) { continue; } $VVERS[] = "\t{display: '{$version}: {$ligne["version"]}', name : '{$ligne["version"]}'}"; } $proxy = 0; $sql = "SELECT squidver,PROXY FROM metahosts GROUP BY squidver,PROXY ORDER BY squidver"; $results = $q->QUERY_SQL($sql); if (!$q->ok) { if (stripos($q->mysql_error, "crashed and should be repaired") > 0) { $button = "<center style='margin:20px'>" . button("{repair_table}", "Loadjs('mysql.repair.progress.php?table=metahosts&database=articameta')", 40) . "</center>"; } echo FATAL_ERROR_SHOW_128(__FUNCTION__ . "/" . __LINE__ . "<br>" . $q->mysql_error . $button); return; } while ($ligne = mysql_fetch_assoc($results)) { if ($ligne["PROXY"] == 0) { continue; } $ligne["squidver"] = trim($ligne["squidver"]); $proxy++; $VVERS[] = "\t{display: 'Proxy {$version}: {$ligne["squidver"]}', name : 'prxy{$ligne["squidver"]}'}"; } $clientsNumber = $q->COUNT_ROWS("metahosts"); $policies_button = "{name: '<strong style=font-size:18px>{$policies}</strong>', bclass: 'Settings', onpress : Policies{$t}},"; if ($proxy > 0) { $proxy_whitelist = "{name: '<strong style=font-size:18px>{$global_whitelist}</strong>', bclass: 'export', onpress : MetaProxyWhiteList},"; } $buttons = "\tbuttons : [\n\t{name: '<strong style=font-size:18px>{$new_server}</strong>', bclass: 'add', onpress : MetaAddServ{$t}},\n\t{name: '<strong style=font-size:18px>{$events}</strong>', bclass: 'Search', onpress : MetaEvents},\n\t\n\t{name: '<strong style=font-size:18px>{$packages}</strong>', bclass: 'Search', onpress : Packages{$t}},{$policies_button}\n\t{name: '<strong style=font-size:18px>{$switch}</strong>', bclass: 'Search', onpress : Switch{$t}},\n\t\n\t{$proxy_whitelist}\n\t\n\t\n\t],"; $t = time(); $html = "\n\t<input type='hidden' id='ARTICA_META_MAIN_TABLE_SWITCH' value=0>\n<table class='ARTICA_META_MAIN_TABLE' style='display: none' id='ARTICA_META_MAIN_TABLE' style='width:1200px'></table>\n<script>\n\$(document).ready(function(){\n\t\$('#ARTICA_META_MAIN_TABLE').flexigrid({\n\turl: '{$page}?search=yes',\n\tdataType: 'json',\n\tcolModel : [\n\t{display: '<span style=font-size:18px>status</span>', name : 'icon1', width : 50, sortable : false, align: 'center'},\n\t{display: '<span style=font-size:18px>{$servername}</span>', name : 'hostname', width : 250, sortable : true, align: 'left'},\n\t{display: '<span style=font-size:18px>{$load}</span>', name : 'load', width : 206, sortable : true, align: 'center'},\n\t{display: '<span style=font-size:18px>{$memory}</span>', name : 'mem_perc', width : 122, sortable : true, align: 'center'},\n\t{display: '<span style=font-size:18px>{$disks}</span>', name : 'xdisks', width : 375, sortable : false, align: 'left'},\n\t{display: '<span style=font-size:18px>{$ipaddr}</span>', name : 'public_ip', width : 150, sortable : true, align: 'left'},\n\t{display: '<span style=font-size:18px>{$software}</span>', name : 'squidver', width : 89, sortable : true, align: 'right'},\n\t{display: '<span style=font-size:18px>{$version}</span>', name : 'version', width : 97, sortable : true, align: 'right'},\n\t\n\t],\n{$buttons}\n\tsearchitems : [\n\t{display: '{$servername}', name : 'hostname'},\n\t{display: '{$tag}', name : 'hostag'},\n\t{display: '{$ipaddr}', name : 'public_ip'},\n\t{display: '{$version}', name : 'version'},\n" . @implode($VVERS, ",\n") . "\n\t],\n\tsortname: 'hostname',\n\tsortorder: 'asc',\n\tusepager: true,\n\ttitle: '<strong style=font-size:30px>Meta Server v{$ARTICAVER} - {$clientsNumber} Client(s) </strong>',\n\tuseRp: true,\n\trpOptions: [10, 20, 30, 50,100,200],\n\trp:50,\n\tshowTableToggleBtn: false,\n\twidth: '99%',\n\theight: 800,\n\tsingleSelect: true\n\t\n\t});\n});\n\t\nfunction Profiles{$t}(){\n\tLoadjs('artica-meta.profiles.php');\n}\n\t\nfunction MetaAddServ{$t}(){\n\tLoadjs('artica-meta.NewServ.php');\n}\t\n\t\nfunction Switch{$t}(){\n\tvar ARTICA_META_MAIN_TABLE_SWITCH=document.getElementById('ARTICA_META_MAIN_TABLE_SWITCH').value;\n\tif(ARTICA_META_MAIN_TABLE_SWITCH==0){ARTICA_META_MAIN_TABLE_SWITCH=1;}else{ARTICA_META_MAIN_TABLE_SWITCH=0;}\n\tdocument.getElementById('ARTICA_META_MAIN_TABLE_SWITCH').value=ARTICA_META_MAIN_TABLE_SWITCH;\n\t\$('#ARTICA_META_MAIN_TABLE').flexOptions({url: '{$page}?search=yes&switch='+ARTICA_META_MAIN_TABLE_SWITCH}).flexReload();\n}\n\t\n\t\nfunction MetaEvents(){\n\tLoadjs('artica-meta.events.php?js=yes&t={$t}');\n}\n\t\nfunction MetaProxyWhiteList(){\n\tLoadjs('squid.whitelist-meta.php');\n}\n\t\nfunction Policies{$t}(){\n\tLoadjs('artica-meta.policies.php');\n}\n\t\nfunction SwitchToArtica(){\n\t\$('#dansguardian2-category-{$t}').flexOptions({url: '{$page}?category-search=yes&minisize={$_GET["minisize"]}&t={$t}&artica=1'}).flexReload();\n}\n\t\nfunction SaveAllToDisk(){\n\tLoadjs('{$page}?compile-all-dbs-js=yes')\n}\n\nfunction LoadCategoriesSize(){\n\tLoadjs('dansguardian2.compilesize.php')\n}\n\t\nfunction CategoryDansSearchCheck(e){\n\tif(checkEnter(e)){CategoryDansSearch();}\n}\n\t\nfunction CategoryDansSearch(){\n\tvar se=escape(document.getElementById('category-dnas-search').value);\n\tLoadAjax('dansguardian2-category-list','{$page}?category-search='+se,false);\n}\n\t\n\tfunction DansGuardianCompileDB(category){\n\tLoadjs('ufdbguard.compile.category.php?category='+category);\n\t}\n\t\n\tfunction CheckStatsApplianceC(){\n\tLoadAjax('CheckStatsAppliance','{$page}?CheckStatsAppliance=yes',false);\n\t}\n\t\n\tvar X_PurgeCategoriesDatabase= function (obj) {\n\tvar results=obj.responseText;\n\tif(results.length>2){alert(results);}\n\tRefreshAllTabs();\n\t}\n\t\n\tfunction PurgeCategoriesDatabase(){\n\tif(confirm('{$purge_catagories_database_explain}')){\n\tvar XHR = new XHRConnection();\n\tXHR.appendData('PurgeCategoriesDatabase','yes');\n\tAnimateDiv('dansguardian2-category-list');\n\tXHR.sendAndLoad('{$page}', 'POST',X_PurgeCategoriesDatabase);\n\t}\n\t\n\t}\n\t\n\tvar X_TableCategoryPurge= function (obj) {\n\tvar results=obj.responseText;\n\tif(results.length>2){alert(results);}\n\t\$('#dansguardian2-category-{$t}').flexReload();\n\t}\n\t\n\tfunction TableCategoryPurge(tablename){\n\tif(confirm('{$purge_catagories_table_explain}')){\n\tvar XHR = new XHRConnection();\n\tXHR.appendData('PurgeCategoryTable',tablename);\n\tXHR.sendAndLoad('dansguardian2.databases.compiled.php', 'POST',X_TableCategoryPurge);\n\t}\n\t}\n\t\n\tfunction Packages{$t}(){\n\t\tLoadjs('artica-meta.packages.php');\n\t}\n\t\n\t\n\t\n\t</script>\n\t\n\t"; echo $tpl->_ENGINE_parse_body($html); }
function table() { $page = CurrentPageName(); $tpl = new templates(); $t = time(); $new_policy = $tpl->javascript_parse_text("{new_policy}"); $ipaddr = $tpl->javascript_parse_text("{ipaddr}"); $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}"); $type = $tpl->javascript_parse_text("{type}"); $policies = $tpl->javascript_parse_text("{policies}"); $packages = $tpl->javascript_parse_text("{packages}"); $policies = $tpl->javascript_parse_text("{policies}"); $groups = $tpl->javascript_parse_text("{groups2}"); $tablewith = 691; $compilesize = 35; $size_elemnts = 50; $size_size = 58; $delete = $tpl->javascript_parse_text("{delete}"); $categorysize = 387; $function = urlencode($_GET["function"]); $q = new mysql_meta(); if ($_GET["function"] != null) { $delete = $tpl->javascript_parse_text("{link}"); } $q->CheckTables(); $buttons = "\tbuttons : [\n\t{name: '{$new_policy}', bclass: 'add', onpress : NewPolicy{$t}},\n\t\n\t],"; $t = time(); $html = "\n\t\n<table class='ARTICA_META_POLICY_TABLE' style='display: none' id='ARTICA_META_POLICY_TABLE' style='width:1200px'></table>\n<script>\n\$(document).ready(function(){\n\t\$('#ARTICA_META_POLICY_TABLE').flexigrid({\n\turl: '{$page}?search=yes&function={$function}',\n\tdataType: 'json',\n\tcolModel : [\n\t{display: 'status', name : 'icon1', width : 50, sortable : false, align: 'center'},\n\t{display: '{$policies}', name : 'policy_name', width : 250, sortable : true, align: 'left'},\n\t{display: '{$type}', name : 'policy_type', width : 250, sortable : true, align: 'left'},\n\t{display: '{$groups}', name : 'null1', width : 70, sortable : true, align: 'center'},\n\t{display: '{$delete}', name : 'delete', width : 60, sortable : true, align: 'center'},\n\t\n\t],\n{$buttons}\n\tsearchitems : [\n\t{display: '{$policies}', name : 'policy_name'},\n\t],\n\tsortname: 'policy_name',\n\tsortorder: 'asc',\n\tusepager: true,\n\ttitle: '<strong style=font-size:22px>Artica Meta {$policies}</strong>',\n\tuseRp: true,\n\trpOptions: [10, 20, 30, 50,100,200],\n\trp:50,\n\tshowTableToggleBtn: false,\n\twidth: '99%',\n\theight: 450,\n\tsingleSelect: true\n\t\n\t});\n\t});\n\n\t\n\t\n\tfunction NewPolicy{$t}(){\n\t\tLoadjs('{$page}?policy-js=yes&ID=0');\n\t}\n\t\n\tfunction MetaProxyWhiteList(){\n\t\tLoadjs('squid.whitelist-meta.php');\n\t}\n\t\n\tfunction Policies{$t}(){\n\t\tLoadjs('artica-meta.policies.php');\n\t\n\t}\n\t\n\tfunction SwitchToArtica(){\n\t\$('#dansguardian2-category-{$t}').flexOptions({url: '{$page}?category-search=yes&minisize={$_GET["minisize"]}&t={$t}&artica=1'}).flexReload();\n\t}\n\t\n\tfunction SaveAllToDisk(){\n\tLoadjs('{$page}?compile-all-dbs-js=yes')\n\t\n\t}\n\t\n\tfunction LoadCategoriesSize(){\n\tLoadjs('dansguardian2.compilesize.php')\n\t}\n\t\n\tfunction CategoryDansSearchCheck(e){\n\tif(checkEnter(e)){CategoryDansSearch();}\n\t}\n\t\n\tfunction CategoryDansSearch(){\n\tvar se=escape(document.getElementById('category-dnas-search').value);\n\tLoadAjax('dansguardian2-category-list','{$page}?category-search='+se,false);\n\t\n\t}\n\t\n\tfunction DansGuardianCompileDB(category){\n\tLoadjs('ufdbguard.compile.category.php?category='+category);\n\t}\n\t\n\tfunction CheckStatsApplianceC(){\n\tLoadAjax('CheckStatsAppliance','{$page}?CheckStatsAppliance=yes',false);\n\t}\n\t\n\tvar X_PurgeCategoriesDatabase= function (obj) {\n\tvar results=obj.responseText;\n\tif(results.length>2){alert(results);}\n\tRefreshAllTabs();\n\t}\n\t\n\tfunction PurgeCategoriesDatabase(){\n\tif(confirm('{$purge_catagories_database_explain}')){\n\tvar XHR = new XHRConnection();\n\tXHR.appendData('PurgeCategoriesDatabase','yes');\n\tAnimateDiv('dansguardian2-category-list');\n\tXHR.sendAndLoad('{$page}', 'POST',X_PurgeCategoriesDatabase);\n\t}\n\t\n\t}\n\t\n\tvar X_TableCategoryPurge= function (obj) {\n\tvar results=obj.responseText;\n\tif(results.length>2){alert(results);}\n\t\$('#dansguardian2-category-{$t}').flexReload();\n\t}\n\t\n\tfunction TableCategoryPurge(tablename){\n\tif(confirm('{$purge_catagories_table_explain}')){\n\tvar XHR = new XHRConnection();\n\tXHR.appendData('PurgeCategoryTable',tablename);\n\tXHR.sendAndLoad('dansguardian2.databases.compiled.php', 'POST',X_TableCategoryPurge);\n\t}\n\t}\n\t\n\tfunction Packages{$t}(){\n\t\tLoadjs('artica-meta.packages.php');\n\t}\n\t\n\t\n\t\n\t</script>\n\t\n\t"; echo $tpl->_ENGINE_parse_body($html); }
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; }
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 add_tag_save() { $q = new mysql_meta(); $uuid = $_POST["uuid"]; $q->CheckTables(); $sql = "SELECT hostag FROM metahosts WHERE uuid='{$uuid}'"; $tag = mysql_escape_string2($_POST["tag"]); $q->QUERY_SQL("UPDATE metahosts SET `hostag`='{$tag}' WHERE uuid='{$uuid}'"); if (!$q->ok) { echo $q->mysql_error; } }
function table() { $page = CurrentPageName(); $tpl = new templates(); $t = time(); $q = new mysql_meta(); if (!$q->TABLE_EXISTS("metaorders")) { $q->CheckTables(); } if (!$q->TABLE_EXISTS("metaorders")) { echo FATAL_ERROR_SHOW_128("Unable to stat metaorders table!"); die; } $disks = $tpl->javascript_parse_text("{disks}"); $ipaddr = $tpl->javascript_parse_text("{ipaddr}"); $memory = $tpl->javascript_parse_text("{memory}"); $load = $tpl->javascript_parse_text("{load}"); $package = $tpl->javascript_parse_text("{package}"); $servername = $tpl->javascript_parse_text("{servername2}"); $status = $tpl->javascript_parse_text("{status}"); $delete = "{display: 'delete', name : 'icon3', width : 35, sortable : false, align: 'left'},"; $upload = $tpl->javascript_parse_text("{upload}"); $title = $tpl->javascript_parse_text("{packages}"); if ($_GET["uuid"] != null) { $hostname = $q->uuid_to_host($_GET["uuid"]); $title = "Meta Client:{$hostname} - {$package}"; } if ($_GET["gpid"] > 0) { $hostname = $q->gpid_to_name($_GET["gpid"]); $title = "Meta Clients:{$hostname} - {$package}"; } $buttons = "\tbuttons : [\n\t{name: '{$upload}', bclass: 'export', onpress : Upload{$t}},\n\t],"; $html = "\n\t<table class='ARTICA_META_PACKAGE_TABLE' style='display: none' id='ARTICA_META_PACKAGE_TABLE'></table>\n\t<script>\n\t\$(document).ready(function(){\n\t\$('#ARTICA_META_PACKAGE_TABLE').flexigrid({\n\turl: '{$page}?search=yes&uuid={$_GET["uuid"]}&gpid={$_GET["gpid"]}&KEY=RELEASES',\n\tdataType: 'json',\n\tcolModel : [\n\t\t{display: '{$package}', name : 'version', width : 609, sortable : false, align: 'left'},\n\t\t{display: ' ', name : 'update', width : 50, sortable : false, align: 'center'},\n\t\t{display: ' ', name : 'delete', width : 50, sortable : false, align: 'center'},\n\t\n\t],\n\t{$buttons}\n\tsearchitems : [\n\t{display: '{$package}', name : 'version'},\n\t],\n\tsortname: 'hostname',\n\tsortorder: 'asc',\n\tusepager: true,\n\ttitle: '<strong style=font-size:22px>{$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\t\n\t});\n\t});\n\t\nfunction Upload{$t}(){\n\tLoadjs('artica-meta.packages.upload.php');\n} \nfunction Nightly{$t}(){\n\t\$('#ARTICA_META_UPDATEART_TABLE').flexOptions({url: '{$page}?search=yes&uuid={$_GET["uuid"]}&KEY=NIGHTLY'}).flexReload();\n} \t\n</script>"; echo $html; }
function search() { $tpl = new templates(); $MyPage = CurrentPageName(); $q = new mysql_meta(); if (!$q->TABLE_EXISTS("proxy_ports_wbl")) { $q->CheckTables(null, true); } $sock = new sockets(); $t = $_GET["t"]; $search = '%'; $table = "proxy_ports_wbl"; $page = 1; $total = 0; $OKFW = true; if (!$q->TABLE_EXISTS("proxy_ports_wbl")) { json_error_show("Fatal! table does not exists"); } if (!is_numeric($_GET["include"])) { if ($_GET["include"] == "yes") { $_GET["include"] = 1; } else { $_GET["include"] = 0; } } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $searchstring = string_to_flexquery(); if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; if (is_numeric($rp)) { $limitSql = "LIMIT {$pageStart}, {$rp}"; } $sql = "SELECT * FROM `{$table}` WHERE include={$_GET["include"]} AND groupid={$_GET["gpid"]} {$searchstring} {$ORDER} {$limitSql}"; $results = $q->QUERY_SQL($sql); $no_rule = $tpl->_ENGINE_parse_body("{no_rule}"); $data = array(); $data['page'] = $page; $data['total'] = mysql_num_rows($results); $data['rows'] = array(); if (!$q->ok) { json_error_show($q->mysql_error . "<br>{$sql}"); } if (mysql_num_rows($results) == 0) { json_error_show("{$no_rule}"); } $tpl = new templates(); while ($ligne = mysql_fetch_assoc($results)) { $color = "black"; $ID = $ligne["ID"]; $pattern = $ligne["pattern"]; $delete = imgsimple("delete-48.png", null, "Loadjs('{$MyPage}?delete-pattern-js=yes&ID={$ID}&include={$_GET["include"]}',true)"); $destport = $ligne["destport"]; $data['rows'][] = array('id' => $ID, 'cell' => array("<span style='font-size:30px;font-weight:normal;color:{$color}'>{$pattern} - {$destport}</span>", "<center style='margin-top:3px;font-size:30px;font-weight:normal;color:{$color}'>{$delete}</center>")); } echo json_encode($data); }