示例#1
0
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 = "&nbsp;";
        }
        $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);
}
示例#2
0
function main()
{
    $tpl = new templates();
    $page = CurrentPageName();
    $servername = $_GET["servername"];
    $rv = new squid_reverse();
    $q = new mysql_squid_builder();
    $sock = new sockets();
    $title = "{new_webserver}";
    $bt = "{add}";
    $t = time();
    FORM_START();
    $q = new mysql_squid_builder();
    $squid_reverse = new squid_reverse();
    $tpl = new templates();
    $sslcertificates = $squid_reverse->ssl_certificates_list();
    $sources_list = $squid_reverse->sources_list();
    $array = $sources_list[0];
    $array2 = $sources_list[1];
    $CountDeSources = $sources_list[2];
    $nginx_caches = $squid_reverse->caches_list();
    $nginx_pools = $squid_reverse->pool_list();
    $nginx_replaces = $squid_reverse->replace_list();
    $AsFReeWeb = false;
    $EnableFreeWeb = $sock->GET_INFO("EnableFreeWeb");
    if ($servername != null) {
        $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM reverse_www WHERE servername='{$servername}'"));
        $title = $tpl->_ENGINE_parse_body("{port}:{$ligne["port"]} &laquo;{$servername}&raquo;");
        $bt = "{apply}";
        $Hidden = Field_hidden("servername-edit-{$t}", $servername) . $servername;
    } else {
        $ligne["enabled"] = 1;
        $Hidden = Field_text("servername-edit-{$t}", null, "font-size:18px;width:300px");
        FORM_CLOSE("YahooWin");
    }
    if (!is_numeric($ligne["port"])) {
        $ligne["port"] = 80;
    }
    if (!is_numeric($ligne["ArticaErrors"])) {
        $ligne["ArticaErrors"] = 1;
    }
    if ($servername == null) {
        $ligne["cache_peer_id"] = -1;
    }
    if (!is_numeric($EnableFreeWeb)) {
        $EnableFreeWeb = 0;
    }
    if ($ligne["cache_peer_id"] == 0) {
        if ($EnableFreeWeb == 1) {
            $q2 = new mysql();
            $ligne2 = mysql_fetch_array($q2->QUERY_SQL("SELECT `useSSL`,`sslcertificate` FROM `freeweb` WHERE `servername`='{$servername}'", "artica_backup"));
            $ligne["certificate"] = $ligne2["sslcertificate"];
            $AsFReeWeb = true;
            $title = $tpl->_ENGINE_parse_body("FreeWeb &laquo;{$servername}&raquo;");
        } else {
            $ligne["cache_peer_id"] = -1;
        }
    }
    $html[] = "<div style='width:98%' class=form>";
    $html[] = "<table style='width:100%'>";
    $html[] = "<tr><td colspan=2 style='font-size:22px'>{reverse_proxy}:</td></tr>";
    $html[] = "<tr><td class=legend style='font-size:18px'>{webserver}:</td>";
    $html[] = "<td style='font-size:18px'>{$Hidden}</td></tr>";
    $html[] = Field_checkbox_table("owa-{$t}", "{protect_owa}", $ligne["owa"], 18);
    $html[] = Field_checkbox_table("debug-{$t}", "{debug}", $ligne["debug"], 18);
    $html[] = Field_list_table("cacheid-{$t}", "{cache}", $ligne["cacheid"], 18, $nginx_caches);
    $html[] = Field_list_table("replaceid-{$t}", "{replace_rule}", $ligne["replaceid"], 18, $nginx_replaces);
    if ($ligne["cache_peer_id"] == 0) {
        $html[] = Field_hidden("cache_peer_id-{$t}", 0);
        $html[] = Field_hidden("enabled-{$t}", 1);
        $html[] = Field_hidden("certificate-{$t}", $ligne["certificate"]);
    } else {
        if (!AdminPrivs()) {
            $html[] = Field_hidden("cache_peer_id-{$t}", $ligne["cache_peer_id"]);
            $html[] = Field_hidden("start_directory-{$t}", $ligne["start_directory"]);
        } else {
            $html[] = Field_list_table("cache_peer_id-{$t}", "{destination}", $ligne["cache_peer_id"], 18, $array);
            $html[] = Field_text_table("start_directory-{$t}", "{start_path}", $ligne["start_directory"], 18, null, 300);
        }
        $html[] = Field_list_table("poolid-{$t}", "{pool}", $ligne["poolid"], 18, $nginx_pools);
        $html[] = Field_text_table("RedirectQueries-{$t}", "{RedirectQueries}", $ligne["RedirectQueries"], 18, null, 300);
        $html[] = Field_checkbox_table("ArticaErrors-{$t}", "{enable_template_errors}", $ligne["ArticaErrors"], 18);
        if ($CountDeSources == 0) {
            $html[] = "<tr><td colspan=2><p class=text-error>{you_need_to_define_sources_first}</p></td></tr>";
            FORM_LOCK();
        }
    }
    $html[] = Field_button_table($bt);
    echo $tpl->_ENGINE_parse_body(FORM_END(CurrentPageName(), $html));
}
function sources_search()
{
    $AdminPrivs = AdminPrivs();
    $prox = new squid_reverse();
    $searchstring = string_to_flexquery("sources-search");
    $q = new mysql_squid_builder();
    $sql = "SELECT * FROM reverse_sources WHERE 1 {$searchstring} ORDER BY servername LIMIT 0,250";
    if (!$AdminPrivs) {
        $sql = "SELECT reverse_sources.* FROM reverse_sources,reverse_privs\n\t\tWHERE reverse_privs.sourceid=reverse_sources.ID\n\t\tAND reverse_privs.uid='{$_SESSION["uid"]}' {$searchstring} ORDER BY servername LIMIT 0,250";
    }
    $results = $q->QUERY_SQL($sql, 'artica_backup');
    $tpl = new templates();
    $GLOBALS["CLASS_TPL"] = $tpl;
    $boot = new boostrap_form();
    $page = CurrentPageName();
    $t = time();
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $icon = "64-idisk-server.png";
        $icon_failed = "64-idisk-server-grey.png";
        $icon2 = "folder-network-64.png";
        $icon2_failed = "folder-network-64-grey.png";
        $isSuccessIcon = "none-20.png";
        $isSuccessIcon_failed = "check-32-grey.png";
        $isSuccessIcon_success = "check-32.png";
        $isSuccessLink = null;
        if ($ligne["OnlyTCP"] == 1) {
            $icon = "folder-network-64.png";
            $icon_failed = "folder-network-64-grey.png";
        }
        $color = "black";
        $md = md5(serialize($ligne));
        if ($ligne["enabled"] == 0) {
            $icon = $icon_failed;
            $icon2 = $icon2_failed;
            $color = "#8a8a8a";
        }
        $servername = $ligne["servername"];
        $delete = imgsimple("delete-48.png", null, "Delete{$t}('{$ligne["ID"]}','{$md}')");
        $jsedit = $boot->trswitch($js_edit);
        if ($ligne["ipaddr"] == "127.0.0.1") {
            $delete = "&nbsp;";
        }
        $isSuccess = $ligne["isSuccess"];
        if (!$AdminPrivs) {
            $delete = "&nbsp;";
        }
        $jsedit = $boot->trswitch("Loadjs('{$page}?js-source=yes&source-id={$ligne["ID"]}')");
        $isSuccesstxt = unserialize(base64_decode($ligne["isSuccesstxt"]));
        if (count($isSuccesstxt) > 1) {
            $isSuccessLink = $boot->trswitch("Loadjs('{$page}?js-source-tests={$ligne["ID"]}')");
            $isSuccessIcon = $isSuccessIcon_success;
            if ($isSuccess == 0) {
                $isSuccessIcon = $isSuccessIcon_failed;
                $color = "#C40000";
            }
        }
        $tr[] = "\n\t\t<tr style='color:{$color}' id='{$md}'>\n\t\t\t<td width=1% nowrap {$jsedit} style='vertical-align:middle'><img src='img/{$icon}'></td>\n\t\t\t<td width=80% {$jsedit} style='vertical-align:middle'><span style='font-size:18px;font-weight:bold'>{$servername}</span></td>\n\t\t\t<td width=1% nowrap style='vertical-align:middle' {$isSuccessLink}><img src='img/{$isSuccessIcon}'></td>\n\t\t\t<td width=1% nowrap {$jsedit} style='vertical-align:middle'><img src='img/{$icon2}'></td>\n\t\t\t<td width=1% nowrap {$jsedit} style='vertical-align:middle'><span style='font-size:18px;font-weight:bold'>{$ligne["ipaddr"]}:{$ligne["port"]}</span></td>\n\t\t\t<td width=1% nowrap style='vertical-align:middle'>{$delete}</td>\n\t\t</tr>\n\t\t";
    }
    $t = time();
    $page = CurrentPageName();
    $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_dnstext = $tpl->javascript_parse_text("{delete_freeweb_dnstext}");
    echo $tpl->_ENGINE_parse_body("\n\n\t\t\t<table class='table table-bordered table-hover'>\n\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan=2>{servers}</th>\n\t\t\t\t\t<th>Tests</th>\n\t\t\t\t\t<th colspan=2>{address}</th>\n\t\t\t\t\t<th>&nbsp;</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>") . @implode("", $tr) . "</tbody></table>\n<script>\nvar FreeWebIDMEM{$t}='';\n\n\nfunction ApacheAllstatus(){\nLoadjs('freeweb.status.php');\n}\n\n\nfunction FreeWebWebDavPerUsers(){\nLoadjs('freeweb.webdavusr.php?t={$t}')\n}\n\nfunction RestoreSite(){\nLoadjs('freeweb.restoresite.php?t={$t}')\n}\n\nfunction FreeWebsRefreshWebServersList(){\nExecuteByClassName('SearchFunction');\n}\n\n\nvar x_EmptyEvents= function (obj) {\nvar results=obj.responseText;\nif(results.length>3){alert(results);return;}\nExecuteByClassName('SearchFunction');\n\n\n}\n\nvar x_FreeWebsRebuildvHostsTable= function (obj) {\nvar results=obj.responseText;\nif(results.length>3){alert(results);return;}\nalert('{$freeweb_compile_background}');\nExecuteByClassName('SearchFunction');\n}\n\n\nvar x_klmsresetwebpassword{$t}= function (obj) {\nvar results=obj.responseText;\nif(results.length>3){alert(results);return;}\nExecuteByClassName('SearchFunction');\n}\n\nvar xDelete{$t}=function (obj) {\n\tvar results=obj.responseText;\n\tif(results.length>10){alert(results);return;}\n\t\$('#'+FreeWebIDMEM{$t}).remove();\n}\n\nfunction Delete{$t}(id,md){\n\tFreeWebIDMEM{$t}=md;\n\tif(confirm('{$delete_freeweb_text}')){\n\t\tvar XHR = new XHRConnection();\n\t\tXHR.appendData('source-delete',id);\n\t\tXHR.sendAndLoad('{$page}', 'POST',xDelete{$t});\n\t}\n}\n\nvar x_FreeWebRefresh=function (obj) {\nvar results=obj.responseText;\nif(results.length>10){alert(results);return;}\nExecuteByClassName('SearchFunction');\n}\n\nfunction FreeWebAddDefaultVirtualHost(){\nvar XHR = new XHRConnection();\nXHR.appendData('AddDefaultOne','yes');\nXHR.sendAndLoad('freeweb.php', 'POST',x_FreeWebRefresh);\n}\n\nfunction FreeWeCheckVirtualHost(){\nvar XHR = new XHRConnection();\nXHR.appendData('CheckAVailable','yes');\nXHR.sendAndLoad('freeweb.php', 'POST',x_FreeWebDelete);\n}\n\nvar x_RebuildFreeweb{$t}=function (obj) {\nvar results=obj.responseText;\nif(results.length>0){alert(results);}\nExecuteByClassName('SearchFunction');\n}\n\nfunction RebuildFreeweb(){\nvar XHR = new XHRConnection();\nXHR.appendData('rebuild-items','yes');\nXHR.sendAndLoad('freeweb.php', 'GET',x_RebuildFreeweb{$t});\n\n}\n\nfunction klmsresetwebpassword(){\nif(confirm('{$reset_admin_password} ?')){\nvar XHR = new XHRConnection();\nXHR.appendData('klms-reset-password','yes');\nXHR.sendAndLoad('klms.php', 'POST',x_klmsresetwebpassword{$t});\n}\n}\n\nfunction FreeWebsRebuildvHostsTable(servername){\nvar XHR = new XHRConnection();\nXHR.appendData('FreeWebsRebuildvHosts',servername);\nXHR.sendAndLoad('freeweb.edit.php', 'POST',x_FreeWebsRebuildvHostsTable);\n}\n\nfunction FreeWebsEnableSite(servername){\nvar XHR = new XHRConnection();\nXHR.appendData('FreeWebsEnableSite',servername);\nXHR.sendAndLoad('freeweb.servers.php', 'POST',x_FreeWebRefresh);\n}\n</script>\n";
}
function caches_search()
{
    $prox = new squid_reverse();
    $searchstring = string_to_flexquery("caches-search");
    $q = new mysql_squid_builder();
    $sql = "SELECT * FROM nginx_caches WHERE 1 {$searchstring} ORDER BY directory LIMIT 0,250";
    $results = $q->QUERY_SQL($sql, 'artica_backup');
    $tpl = new templates();
    $GLOBALS["CLASS_TPL"] = $tpl;
    $boot = new boostrap_form();
    $AdminPrivs = AdminPrivs();
    $page = CurrentPageName();
    $t = time();
    $delete_text = $tpl->javascript_parse_text("{delete}");
    $purge_cache = $tpl->javascript_parse_text("{purge_cache}");
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $icon = "disk-64.png";
        $icon2 = "folder-network-64.png";
        $color = "black";
        $md = md5(serialize($ligne));
        $keys_zone = $ligne["keys_zone"];
        $delete = imgsimple("delete-64.png", null, "Delete{$t}('{$ligne["ID"]}','{$md}')");
        $purge = imgsimple("dustbin-64.png", null, "Purge{$t}('{$ligne["ID"]}')");
        if (!$AdminPrivs) {
            $delete = imgsimple("delete-64-grey.png", null, "blur()");
            $purge = imgsimple("dustbin-64-grey.png", null, "blur()");
        }
        $jsedit = $boot->trswitch("Loadjs('{$page}?js-cache=yes&ID={$ligne["ID"]}')");
        $CurrentSize = $ligne["CurrentSize"];
        $CurrentSizeText = FormatBytes($CurrentSize / 1024);
        $tr[] = "\n\t\t<tr style='color:{$color}' id='{$md}'>\n\t\t<td width=1% nowrap {$jsedit} style='vertical-align:middle' nowrap><img src='img/{$icon}'></td>\n\t\t<td width=80% {$jsedit} style='vertical-align:middle'>\n\t\t\t<span style='font-size:18px;font-weight:bold'>{$ligne["directory"]}</span>\n\t\t\t<br><div style='font-size:16px'>{$CurrentSizeText}/{$ligne["max_size"]}G</div>\n\t\t</td>\n\t\t\n\t\t<td width=1% nowrap {$jsedit} style='vertical-align:middle' nowrap>\n\t\t\t<span style='font-size:18px;font-weight:bold'>{$keys_zone}</span>\n\t\t</td>\n\t\t<td width=1% nowrap {$jsedit} style='vertical-align:middle' nowrap>\n\t\t\t<span style='font-size:18px;font-weight:bold'>{$ligne["max_size"]}G</span>\n\t\t</td>\n\t\t<td width=1% nowrap style='vertical-align:middle;min-width:64px'>{$purge}</td>\n\t\t<td width=1% nowrap style='vertical-align:middle;min-width:64px'>{$delete}</td>\n\t\t\n\t\t\n\t\t</tr>\n\t\t";
    }
    echo $tpl->_ENGINE_parse_body("\n\t\n\t\t\t<table class='table table-bordered table-hover'>\n\t\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan=2>{directory}</th>\n\t\t\t\t\t<th >{name}</th>\n\t\t\t\t\t<th >{maxsize}</th>\n\t\t\t\t\t<th>&nbsp;</th>\n\t\t\t\t\t<th>&nbsp;</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t <tbody>") . @implode("", $tr) . "</tbody></table>\n<script>\nvar mem{$t}='';\n\nvar xDelete{$t} = function (obj) {\n\tvar tempvalue=obj.responseText;\n\tif(tempvalue.length>3){alert(tempvalue);return}\n\t\$('#'+mem{$t}).remove();\n}\nvar xPurge{$t} = function (obj) {\n\tvar tempvalue=obj.responseText;\n\tif(tempvalue.length>3){alert(tempvalue);return}\n\tExecuteByClassName('SearchFunction');\n\t\n}\t\t\t\n\nfunction Delete{$t}(id,md){\n\t\tmem{$t}=md;\n\t\tif(!confirm('{$delete_text}: '+id)){return;}\n\t\tvar XHR = new XHRConnection();\n\t\tXHR.appendData('DeleteCache',id);\n\t\tXHR.sendAndLoad('{$page}', 'POST',xDelete{$t});\t\t\t\n}\n\t\nfunction Purge{$t}(id){\n\tif(!confirm('{$purge_cache}: '+id)){return;}\n\tvar XHR = new XHRConnection();\n\tXHR.appendData('PurgeCache',id);\n\tXHR.sendAndLoad('{$page}', 'POST',xPurge{$t});\t\t\t\n}\t\n\t\n\t\n</script>\t\n\t\t\t \t\t\n";
}
示例#5
0
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"));
    $FORCE = 1;
    $search = '%';
    $table = "nginx_caches";
    $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, 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)) {
        $keys_zone = $ligne["keys_zone"];
        $delete = imgsimple("delete-48.png", null, "Loadjs('{$MyPage}?js-delete=yes&ID={$ligne["ID"]}')");
        $jsedit = "Loadjs('{$MyPage}?js-cache=yes&ID={$ligne["ID"]}')";
        $CurrentSize = $ligne["CurrentSize"];
        $CurrentSizeText = FormatBytes($CurrentSize / 1024);
        $purge = imgsimple("dustbin-48.png", null, "Loadjs('{$MyPage}?js-purge=yes&ID={$ligne["ID"]}')");
        $data['rows'][] = array('id' => $ligne['categorykey'], 'cell' => array("<span style='font-size:22px;font-weight:bold;padding-top:8px'>{$keys_zone}</span>", "<a href=\"javascript:blur();\"\n\t\t\t\t\t\t\tstyle='font-size:22px;font-weight:bold;text-decoration:underline'\n\t\t\t\t\t\t\tOnClick=\"javascript:{$jsedit}\">{$ligne["directory"]}</a>", "<span style='font-size:22px;font-weight:bold'>{$CurrentSizeText}/{$ligne["max_size"]}G</span>", "<center>{$purge}</center>", "<center>{$delete}</center>"));
    }
    echo json_encode($data);
}
function sources_search()
{
    $boot = new boostrap_form();
    $page = CurrentPageName();
    $tpl = new templates();
    $sock = new sockets();
    $q = new mysql_squid_builder();
    $table = "authenticator_authlnk";
    $ORDER = $boot->TableOrder(array("zorder" => "ASC"));
    $searchstring = string_to_flexquery("sources-search");
    if (!$q->TABLE_EXISTS("authenticator_authlnk")) {
        $f = new squid_reverse();
    }
    $table = "(\n\tSELECT\n\tauthenticator_authlnk.ID,\n\tauthenticator_authlnk.zorder,\n\tauthenticator_auth.groupname,\n\tauthenticator_auth.group_type,\n\tauthenticator_authlnk.groupid\n\tFROM authenticator_authlnk,authenticator_auth\n\tWHERE authenticator_authlnk.ruleid='{$_GET["mainrule"]}'\n\t\t\tAND authenticator_authlnk.groupid=authenticator_auth.ID\n\t\t\t) as t";
    $sql = "SELECT * FROM {$table} WHERE 1 {$searchstring} ORDER BY {$ORDER} LIMIT 0,250";
    $results = $q->QUERY_SQL($sql);
    if (!$q->ok) {
        senderrors($q->mysql_error . "<br>{$sql}");
    }
    $AdminPrivs = AdminPrivs();
    $t = time();
    while ($ligne = mysql_fetch_assoc($results)) {
        $edit = $boot->trswitch("Loadjs('{$page}?sources-group-js=yes&groupid={$ligne["groupid"]}');");
        $md = md5(serialize($ligne));
        if ($AdminPrivs) {
            $delete = imgsimple("delete-48.png", "{delete}", "Delete{$t}('{$ligne["ID"]}','{$md}')");
        }
        $tr[] = "\n\t\t\t<tr id='{$md}'>\n\t\t\t<td style='font-size:18px' width=99% nowrap {$edit}>{$ligne["groupname"]} - " . $tpl->_ENGINE_parse_body($GLOBALS["TYPES"][$ligne["group_type"]]) . "</td>\n\t\t\t<td style='font-size:18px' width=1% nowrap>{$delete}</td>\n\t\t\t\n\t\t\t</tr>\n\t\t\t";
    }
    $delete_text = $tpl->javascript_parse_text("{unlink}");
    echo $boot->TableCompile(array("rulename" => " {groupname}", "delete" => null), $tr) . "\n\n<script>\nvar mem{$t}='';\n\tvar xDelete{$t}=function(obj){\n\t\tvar tempvalue=obj.responseText;\n\t\tif(tempvalue.length>3){alert(tempvalue);return;}\n\t\t\$('#'+mem{$t}).remove();\n\t}\nfunction Delete{$t}(ID,mem){\n\tmem{$t}=mem;\n\tif(confirm('{$delete_text} ID: '+ID+'?')){\n\t\tmem{$t}=mem;\n\t\tvar XHR = new XHRConnection();\n\t\tXHR.appendData('source-unlink',ID);\n\t\tXHR.sendAndLoad('{$page}', 'POST',xDelete{$t});\n\t}\n}\n</script>\n\t";
}
function rules_search()
{
    $boot = new boostrap_form();
    $page = CurrentPageName();
    $tpl = new templates();
    $sock = new sockets();
    $q = new mysql_squid_builder();
    $table = "authenticator_rules";
    $t = time();
    $ORDER = $boot->TableOrder(array("ID" => "DESC"));
    if (!$q->TABLE_EXISTS($table)) {
        $f = new squid_reverse();
    }
    $searchstring = string_to_flexquery("rules-search");
    $sql = "SELECT * FROM {$table} WHERE 1 {$searchstring} ORDER BY {$ORDER} LIMIT 0,250";
    $results = $q->QUERY_SQL($sql);
    if (!$q->ok) {
        senderrors($q->mysql_error . "<br>{$sql}");
    }
    $AdminPrivs = AdminPrivs();
    while ($ligne = mysql_fetch_assoc($results)) {
        $edit = $boot->trswitch("Loadjs('{$page}?rules-js={$ligne["ID"]}');");
        $md = md5(serialize($ligne));
        if ($AdminPrivs) {
            $delete = imgsimple("delete-48.png", "{delete}", "Delete{$t}('{$ligne["ID"]}','{$md}')");
        }
        $explaintext = EXPLAIN_RULE($ligne["ID"]);
        $tr[] = "\n\t\t<tr id='{$md}'>\n\t\t<td style='font-size:18px' width=1% nowrap {$edit}>{$ligne["rulename"]}</td>\n\t\t<td style='font-size:18px' width=90% nowrap>{$ligne["explain"]}<div style='font-size:12px'>{$explaintext}</div></td>\n\t\t<td style='font-size:18px' width=1% nowrap>{$delete}</td>\n\t\t</tr>\n\t\t";
    }
    $delete_text = $tpl->javascript_parse_text("{delete}");
    echo $boot->TableCompile(array("rulename" => " {rulename}", "explain:no" => "{explain}", "delete" => null), $tr) . "\n\t\t\n<script>\nvar mem{$t}='';\nvar xDelete{$t}=function(obj){\n\tvar tempvalue=obj.responseText;\n\tif(tempvalue.length>3){alert(tempvalue);return;}\n\t\$('#'+mem{$t}).remove();\n}\nfunction Delete{$t}(ID,mem){\n\tmem{$t}=mem;\n\tif(confirm('{$delete_text} ID: '+ID+'?')){\n\t\tmem{$t}=mem;\n\t\tvar XHR = new XHRConnection();\n\t\tXHR.appendData('rules-delete',ID);\n\t\tXHR.sendAndLoad('{$page}', 'POST',xDelete{$t});\n\t}\n}\n</script>\n";
}
示例#8
0
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 = "&nbsp;";
            $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}&nbsp;|&nbsp;{accepteds}: {$ACCP}<br>{handles}:{$ACRAQS} ({$ss}/{second})";
                    $status[] = "&nbsp;|&nbsp;{keepalive}: {$waiting}&nbsp;|&nbsp;{reading}: {$reading}&nbsp;|&nbsp;{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}'>&laquo;&nbsp;{$SSL_CLIENT_VERIFICATION}&nbsp;&raquo;</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);
}