function list_items() { $STATUS = unserialize(@file_get_contents("/usr/share/artica-postfix/ressources/logs/web/nginx.status.acl")); $tpl = new templates(); $MyPage = CurrentPageName(); $all_text = $tpl->_ENGINE_parse_body("{all}"); $GLOBALS["CLASS_TPL"] = $tpl; $q = new mysql_squid_builder(); $OrgPage = "miniadmin.proxy.reverse.php"; $sock = new sockets(); $EnableFreeWeb = intval($sock->GET_INFO("EnableFreeWeb")); if (!$q->FIELD_EXISTS("reverse_www", "zOrder")) { $q->QUERY_SQL("ALTER TABLE `reverse_www` ADD `zOrder` smallint(100) NOT NULL default '0'"); if (!$q->ok) { echo $q->mysql_error_html(); } } $up = imgsimple("arrow-up-32.png", null, "Loadjs('{$MyPage}?move-item-js=yes&ID={$ligne["ID"]}&dir=0&t={$_GET["t"]}')"); $down = imgsimple("arrow-down-32.png", null, "Loadjs('{$MyPage}?move-item-js=yes&ID={$ligne["ID"]}&dir=1&t={$_GET["t"]}')"); $FORCE = "cache_peer_id={$_GET["ID"]}"; $search = '%'; $table = "reverse_www"; $page = 1; $freeweb_compile_background = $tpl->javascript_parse_text("{freeweb_compile_background}"); $reset_admin_password = $tpl->javascript_parse_text("{reset_admin_password}"); $delete_freeweb_text = $tpl->javascript_parse_text("{delete_freeweb_text}"); $delete_freeweb_nginx_text = $tpl->javascript_parse_text("{delete_freeweb_nginx_text}"); $delete_freeweb_dnstext = $tpl->javascript_parse_text("{delete_freeweb_dnstext}"); $total = 0; if ($q->COUNT_ROWS($table, "artica_backup") == 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(*) as TCOUNT FROM `{$table}` WHERE {$FORCE} {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "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")); $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}"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { json_error_show($q->mysql_error . "<br>{$sql}", 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"); } $searchstring = string_to_flexquery(); if (!AdminPrivs()) { $sql = "SELECT reverse_www.* FROM reverse_www,reverse_privs\n\t\tWHERE reverse_privs.servername=reverse_www.servername\n\t\tAND reverse_privs.uid='{$_SESSION["uid"]}' {$searchstring} ORDER BY servername LIMIT 0,250"; } $results = $q->QUERY_SQL($sql, 'artica_backup'); if (!$q->ok) { json_error_show($q->mysql_error . "<br>{$sql}"); } $q1 = new mysql(); $t = time(); while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $servername = $ligne["servername"]; $explain_text = NGINX_EXPLAIN_REVERSE($ligne["servername"]); $icon = "clound-in-64.png"; $freewebicon = "64-firewall-search.png"; $color = "black"; $status = array(); $portText = null; $md = md5(serialize($ligne)); $RedirectQueries = $ligne["RedirectQueries"]; $default_server = $ligne["default_server"]; $SiteEnabled = $ligne["enabled"]; $servername_enc = urlencode($servername); $Compile = imgsimple("apply-48.png", null, "Loadjs('nginx.single.progress.php?servername={$servername_enc}')"); $limit_rate = $ligne["limit_rate"]; $limit_rate_after = $ligne["limit_rate_after"]; $DeleteFreeWeb = "Loadjs('{$MyPage}?unlink-websites-js=yes&servername={$servername_enc}&md={$md}')"; $icon2 = imgsimple("reconfigure-48.png", null, "Loadjs('miniadmin.proxy.reverse.reconfigure.php?servername={$servername_enc}')"); $up = imgsimple("arrow-up-32.png", null, "Loadjs('{$MyPage}?move-item-js=yes&servername={$servername_enc}&dir=0&t={$_GET["t"]}')"); $down = imgsimple("arrow-down-32.png", null, "Loadjs('{$MyPage}?move-item-js=yes&servername={$servername_enc}&dir=1&t={$_GET["t"]}')"); if ($ligne["DenyConf"] == 1) { $icon = "hearth-blocked-64.png"; } if ($SiteEnabled == 0) { $icon = "domain-main-64-grey.png"; $color = "#8a8a8a"; $icon2 = " "; } $delete = imgsimple("delete-48.png", null, $DeleteFreeWeb); $jsedit = imgsimple($icon, null, "Loadjs('nginx.site.php?servername={$servername_enc}')"); $jsEditWW = $jsedit; $jseditA = $jsedit; $jseditC = imgsimple("script-48.png", null, "Loadjs('nginx.script.php?website-script-js=yes&servername={$servername_enc}')"); if ($limit_rate > 0) { $limit_rate_after_caption = $tpl->_ENGINE_parse_body("{limit_rate_after_caption}"); $limit_rate_after_caption = str_replace("%s", "{$limit_rate}MB/s", $limit_rate_after_caption); $limit_rate_after_caption = str_replace("%f", "{$limit_rate_after}MB", $limit_rate_after_caption); $status[] = "<br><span style='font-size:12px;font-weight:bold;color:#EEB853'>{$limit_rate_after_caption}</span>"; } if (count($status) > 0) { $status_text = $tpl->_ENGINE_parse_body("<div style='font-size:12px'>" . @implode("", $status) . "</div>"); } $FreeWebText = null; if ($EnableFreeWeb == 0) { if ($ligne["ipaddr"] == "127.0.0.1") { $ligne["ipaddr"] = "{error}"; } if ($ligne["cache_peer_id"] == 0) { $ligne["cache_peer_id"] = -1; } } if ($ligne["owa"] == 1) { $freewebicon = "exchange-2010-64.png"; } if ($ligne["poolid"] > 0) { $freewebicon = "64-cluster.png"; $ligne2 = mysql_fetch_array($q->QUERY_SQL("SELECT poolname FROM nginx_pools WHERE ID='{$ligne["poolid"]}'")); $ligne["ipaddr"] = $ligne2["poolname"]; } $stats = null; $FinalDestination = "{$ligne["ipaddr"]}{$FreeWebText}"; if ($default_server == 1) { $servername = "{$servername} ({$all_text} * )"; $icon = "free-web-64.png"; if ($SiteEnabled == 0) { $icon = "free-web-64-grey.png"; } } $data['rows'][] = array('id' => $ligne['categorykey'], 'cell' => array("{$jseditC}", "<a href=\"javascript:blur();\"\n\t\t\t\t\t\t\tstyle='font-size:18px;font-weight:bold;text-decoration:underline'\n\t\t\t\t\t\t\tOnClick=\"javascript:Loadjs('nginx.site.php?servername={$servername_enc}')\">{$servername}{$portText}</a>\n\t\t\t\t\t\t\t<br>{$status_text}\n\t\t\t\t\t\t\t{$explain_text}", $Compile, $delete)); } echo json_encode($data); }
function list_items() { $STATUS = unserialize(@file_get_contents("/usr/share/artica-postfix/ressources/logs/web/nginx.status.acl")); $tpl = new templates(); $MyPage = CurrentPageName(); $all_text = $tpl->_ENGINE_parse_body("{all}"); $GLOBALS["CLASS_TPL"] = $tpl; $q = new mysql_squid_builder(); $OrgPage = "miniadmin.proxy.reverse.php"; $sock = new sockets(); $EnableFreeWeb = intval($sock->GET_INFO("EnableFreeWeb")); if (!$q->FIELD_EXISTS("reverse_www", "zOrder")) { $q->QUERY_SQL("ALTER TABLE `reverse_www` ADD `zOrder` smallint(100) NOT NULL default '0'"); if (!$q->ok) { echo $q->mysql_error_html(); } } $up = imgsimple("arrow-up-32.png", null, "Loadjs('{$MyPage}?move-item-js=yes&ID={$ligne["ID"]}&dir=0&t={$_GET["t"]}')"); $down = imgsimple("arrow-down-32.png", null, "Loadjs('{$MyPage}?move-item-js=yes&ID={$ligne["ID"]}&dir=1&t={$_GET["t"]}')"); $FORCE = 1; $search = '%'; $table = "reverse_www"; $page = 1; $freeweb_compile_background = $tpl->javascript_parse_text("{freeweb_compile_background}"); $reset_admin_password = $tpl->javascript_parse_text("{reset_admin_password}"); $delete_freeweb_text = $tpl->javascript_parse_text("{delete_freeweb_text}"); $delete_freeweb_nginx_text = $tpl->javascript_parse_text("{delete_freeweb_nginx_text}"); $delete_freeweb_dnstext = $tpl->javascript_parse_text("{delete_freeweb_dnstext}"); $SSL_CLIENT_VERIFICATION = $tpl->javascript_parse_text("{SSL_CLIENT_VERIFICATION}"); $total = 0; if ($q->COUNT_ROWS($table, "artica_backup") == 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(*) as TCOUNT FROM `{$table}` WHERE {$FORCE} {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "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")); $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}"; writelogs($sql, __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql, "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"); } $searchstring = string_to_flexquery(); if (!AdminPrivs()) { $sql = "SELECT reverse_www.* FROM reverse_www,reverse_privs\n\t\tWHERE reverse_privs.servername=reverse_www.servername\n\t\tAND reverse_privs.uid='{$_SESSION["uid"]}' {$searchstring} ORDER BY servername LIMIT 0,250"; } $results = $q->QUERY_SQL($sql, 'artica_backup'); if (!$q->ok) { json_error_show($q->mysql_error); } $q1 = new mysql(); $t = time(); while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $status_text = null; $certificate_text = null; $icon = "clound-in-64.png"; $freewebicon = "64-firewall-search.png"; $color = "black"; $status = array(); $color_blue = "#1961FF"; $portText = null; $ssl_client_certificate_text = null; $RedirectQueries = $ligne["RedirectQueries"]; $zavail = $ligne["zavail"]; $md = md5(serialize($ligne)); $default_server = $ligne["default_server"]; $explain_text = null; $SiteEnabled = $ligne["enabled"]; $servername = $ligne["servername"]; $servername_enc = urlencode($servername); $Compile = imgsimple("apply-48.png", null, "Loadjs('nginx.single.progress.php?servername={$servername_enc}')"); $limit_rate = $ligne["limit_rate"]; $limit_rate_after = $ligne["limit_rate_after"]; $ssl_backend = $ligne["ssl_backend"]; $DeleteFreeWeb = "Loadjs('{$OrgPage}?delete-websites-js=yes&servername={$servername_enc}&md={$md}')"; $icon2 = imgsimple("reconfigure-48.png", null, "Loadjs('miniadmin.proxy.reverse.reconfigure.php?servername={$servername_enc}')"); $up = imgsimple("arrow-up-32.png", null, "Loadjs('{$MyPage}?move-item-js=yes&servername={$servername_enc}&dir=0&t={$_GET["t"]}')"); $down = imgsimple("arrow-down-32.png", null, "Loadjs('{$MyPage}?move-item-js=yes&servername={$servername_enc}&dir=1&t={$_GET["t"]}')"); $ssl_client_certificate = $ligne["ssl_client_certificate"]; if ($ligne["DenyConf"] == 1) { $icon = "hearth-blocked-64.png"; } if ($SiteEnabled == 0) { $icon = "domain-main-64-grey.png"; $color = "#8a8a8a"; $icon2 = " "; $color_blue = $color; } $NgINxDestColor = $color; $delete = imgsimple("delete-48.png", null, $DeleteFreeWeb); $jsedit = imgsimple($icon, null, "Loadjs('nginx.site.php?servername={$servername_enc}')"); $jsEditWW = $jsedit; $jseditA = $jsedit; $jseditC = imgsimple("script-48.png", null, "Loadjs('nginx.script.php?website-script-js=yes&servername={$servername_enc}')"); if ($RedirectQueries != null) { $NgINxDestColor = "#8a8a8a"; } if ($zavail == 0) { $jseditC = imgsimple("warning42.png", null, "Loadjs('nginx.script.php?website-script-js=yes&servername={$servername_enc}')"); } $NGINX_DESTINATION_EXPLAIN = NGINX_DESTINATION_EXPLAIN($ligne["cache_peer_id"], $NgINxDestColor); if ($SiteEnabled == 1) { if (isset($STATUS[$servername])) { if ($STATUS[$servername]["ACCP"] > 0) { $ac = FormatNumber($STATUS[$servername]["AC"]); $ACCP = FormatNumber($STATUS[$servername]["ACCP"]); $ACHDL = FormatNumber($STATUS[$servername]["ACHDL"]); $ACRAQS = FormatNumber($STATUS[$servername]["ACRAQS"]); if ($STATUS[$servername]["ACCP"] > 0) { $ss = round($STATUS[$servername]["ACRAQS"] / $STATUS[$servername]["ACCP"], 2); } $reading = FormatNumber($STATUS[$servername]["reading"]); $writing = FormatNumber($STATUS[$servername]["writing"]); $waiting = FormatNumber($STATUS[$servername]["waiting"]); $status[] = "{active_connections}: {$ac} | {accepteds}: {$ACCP}<br>{handles}:{$ACRAQS} ({$ss}/{second})"; $status[] = " | {keepalive}: {$waiting} | {reading}: {$reading} | {writing}:{$writing}"; } } } if ($limit_rate > 0) { $limit_rate_after_caption = $tpl->_ENGINE_parse_body("{limit_rate_after_caption}"); $limit_rate_after_caption = str_replace("%s", "{$limit_rate}MB/s", $limit_rate_after_caption); $limit_rate_after_caption = str_replace("%f", "{$limit_rate_after}MB", $limit_rate_after_caption); $status[] = "<br><span style='font-size:18px;font-weight:bold;color:#EEB853'>{$limit_rate_after_caption}</span>"; } if (count($status) > 0) { $status_text = $tpl->_ENGINE_parse_body("<br><span style='font-size:18px;color:{$color}'>" . @implode("", $status) . "</span>"); } $FreeWebText = null; $explain_text = null; if ($EnableFreeWeb == 0) { if ($ligne["ipaddr"] == "127.0.0.1") { $ligne["ipaddr"] = "{error}"; } if ($ligne["cache_peer_id"] == 0) { $ligne["cache_peer_id"] = -1; } } if ($ligne["ipaddr"] == "127.0.0.1" or $ligne["cache_peer_id"] == 0) { $jsedit = imgsimple($icon, null, "Loadjs('freeweb.edit.php?hostname={$servername}&t={$t}')"); $certificate_text = null; $explain_text = NGINX_EXPLAIN_REVERSE($ligne["servername"]); $delete = imgsimple("delete-48.png", null, $DeleteFreeWeb); $jseditS = null; $freewebicon = "domain-64.png"; $FreeWebText = "<a href=\"javascript:blur();\" \n\t\t\tOnClick=\"javascript:Loadjs('freeweb.edit.php?hostname={$servername}&t={$t}')\" style='color:{$color}'>127.0.0.1:82 (FreeWeb)</a>"; } else { $explain_text = NGINX_EXPLAIN_REVERSE($ligne["servername"], "{$color}"); if ($ligne["port"] > 0) { $portText = ":{$ligne["port"]}"; } $ligne2 = mysql_fetch_array($q->QUERY_SQL("SELECT servername,ipaddr,port,OnlyTCP FROM reverse_sources WHERE ID='{$ligne["cache_peer_id"]}'")); $OnlyTCP = $ligne2["OnlyTCP"]; $FreeWebText = "{$ligne2["servername"]}:{$ligne2["port"]}"; if ($OnlyTCP == 0) { $ligne["owa"] = 0; if ($ligne["ssl"] == 1) { if ($ligne["port"] == 80) { $portText = $portText . "/443"; } if ($ssl_client_certificate == 1) { $ssl_client_certificate_text = "<br><strong style='color:{$color_blue}'>« {$SSL_CLIENT_VERIFICATION} »</strong>"; } } } if ($OnlyTCP == 1) { $certificate_text = null; $portText = $portText . " <strong style='color:{$color}'>TCP</strong>"; } } if ($ligne["owa"] == 1) { $freewebicon = "exchange-2010-64.png"; } if ($ligne["poolid"] > 0) { $freewebicon = "64-cluster.png"; $ligne2 = mysql_fetch_array($q->QUERY_SQL("SELECT poolname FROM nginx_pools WHERE ID='{$ligne["poolid"]}'")); $ligne["ipaddr"] = $ligne2["poolname"]; } $stats = null; $FinalDestination = "{$ligne["ipaddr"]}{$FreeWebText}"; if ($default_server == 1) { $servername = "{$servername} ({$all_text} * )"; $icon = "free-web-64.png"; if ($SiteEnabled == 0) { $icon = "free-web-64-grey.png"; } } if ($ssl_backend == 1) { $NGINX_DESTINATION_EXPLAIN = $NGINX_DESTINATION_EXPLAIN . $tpl->_ENGINE_parse_body("<li style='font-weight:bold;color:{$color}'>{UseSSL}</li>"); } $data['rows'][] = array('id' => $ligne['categorykey'], 'cell' => array("<center>{$jseditC}</center>", "<a href=\"javascript:blur();\"\n\t\t\t\t\t\t\tstyle='font-size:26px;font-weight:bold;text-decoration:underline;color:{$color}'\n\t\t\t\t\t\t\tOnClick=\"javascript:GoToNginxOption('{$servername_enc}')\">{$servername}{$portText}</a>\n\t\t\t\t\t\t\t{$certificate_text}{$ssl_client_certificate_text}{$status_text}\n\t\t\t\t\t\t\t{$explain_text}", "<span style='font-size:18px;font-weight:bold;color:{$color}'>{$NGINX_DESTINATION_EXPLAIN}</span>", "<center style='margin-top:10px'>{$up}</center>", "<center style='margin-top:10px'>{$down}</center>", "<center>{$Compile}</center>", "<center>{$delete}</center>")); } echo json_encode($data); }