function popup()
{
    $tpl = new templates();
    $page = CurrentPageName();
    $ID = $_GET["ID"];
    $title = "{new_page}";
    $buttonname = "{add}";
    if ($ID > 0) {
        $q = new mysql_squid_builder();
        $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM reverse_pages_content WHERE ID='{$ID}'"));
        $title = $ligne["subject"];
        $buttonname = "{apply}";
    }
    if ($ligne["content"] == null) {
        $ligne["content"] = "<html>\n<head>\n<title>It's works</title>\n</head>\n<body>\n\t<H1>It works!</H1>\n</body>\n</html>";
    }
    $boot = new boostrap_form();
    $boot->set_hidden("ID", $ID);
    $boot->set_formtitle($title);
    if (!is_numeric($ligne["cachemin"])) {
        $ligne["cachemin"] = 5;
    }
    $boot->set_list("cachemin", "{cache}", $ligne["cachemin"], $q->CACHE_AGES);
    $boot->set_field("subject", "{subject}", $ligne["subject"]);
    $boot->set_textarea("content", "{content}", $ligne["content"], array("ENCODE" => true, "HEIGHT" => 350));
    $boot->set_button($buttonname);
    $boot->set_RefreshSearchs();
    if ($ID == 0) {
        $boot->set_CloseYahoo("YahooWin6");
    }
    echo $boot->Compile();
}
function policy_domain()
{
    $page = CurrentPageName();
    $tpl = new templates();
    $t = time();
    $q = new amavisdb();
    $boot = new boostrap_form();
    $email = $_GET["policy-domain"];
    $sql = "SELECT id,policy_name FROM policy WHERE ou='{$_SESSION["ou"]}' ORDER BY policy_name";
    $results = $q->QUERY_SQL($sql);
    if (!$q->ok) {
        echo "<p class=text-error>{$q->mysql_error}<br>{$sql}<hr></p>";
    }
    $policies[0] = "{default}";
    while ($ligne = mysql_fetch_assoc($results)) {
        $policies[$ligne["id"]] = $ligne["policy_name"];
    }
    $email_id = $q->emailid_from_email("@{$email}");
    $policy_id = $q->policyid_from_mail("@{$email}");
    $boot->set_hidden("policy_domain", $email);
    $boot->set_hidden("email_id", $email_id);
    $boot->set_list("policy_id", "{policy}", $policies, $policy_id);
    $boot->set_button("{apply}");
    $boot->set_CallBack("YahooWin2Hide");
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function etchosts_popup()
{
    $boot = new boostrap_form();
    $sock = new sockets();
    $users = new usersMenus();
    $ldap = new clladp();
    $ID = $_GET["ID"];
    $title_button = "{add_new_entry}";
    $boot->set_field("hostname", "{hostname}", $ligne["name"]);
    $boot->set_field("ipaddr", "{tcp_address}", $ligne["ipaddr"], array("IPV4" => true));
    $boot->set_field("alias", "{alias}", null);
    if (!$users->AsSystemAdministrator) {
        $boot->set_form_locked();
    }
    if ($ID == 0) {
        $boot->set_CloseYahoo("YahooWin2");
    }
    $boot->set_button("{add}");
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function group_popup()
{
    $ID = $_GET["ID"];
    $q = new mysql_squid_builder();
    $title = "{new_group}";
    $bt = "{add}";
    $q = new mysql_squid_builder();
    if (!$q->TABLE_EXISTS("nginx_exploits_groups")) {
        $sql = "CREATE TABLE IF NOT EXISTS `nginx_exploits_groups` (\n\t\t\t  `ID` INT NOT NULL AUTO_INCREMENT,\n\t\t\t  `groupname` CHAR(255)  NOT NULL,\n\t\t\t  PRIMARY KEY (`ID`),\n\t\t\t  KEY `groupname` (`groupname`)\n\t\t\t)  ENGINE = MYISAM;";
        if (!$q->QUERY_SQL($sql)) {
            echo $q->mysql_error_html();
        }
    }
    $boot = new boostrap_form();
    $sock = new sockets();
    if ($ID > 0) {
        $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM nginx_exploits_groups WHERE ID='{$ID}'"));
        $bt = "{apply}";
        $title = "{$ligne["groupname"]}";
    }
    $boot->set_hidden("editgroupid", $ID);
    $boot->set_hidden("servername", $_GET["servername"]);
    $boot->set_formtitle($title);
    $boot->set_field("groupname", "{groupname}", $ligne["groupname"]);
    if ($ID == 0) {
        $boot->set_checkbox("addef", "{add_defaults}", 0);
    }
    $boot->set_button($bt);
    if ($ID == 0) {
        $boot->set_CloseYahoo("YahooWin5");
    }
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function websites_popup_webserver_replace_popup()
{
    $tpl = new templates();
    $page = CurrentPageName();
    $servername = $_GET["servername"];
    $q = new mysql_squid_builder();
    $title = "{new_rule}";
    $bt = "{add}";
    $ID = $_GET["replaceid"];
    $boot = new boostrap_form();
    $sock = new sockets();
    $servername = $_GET["servername"];
    if ($ID > 0) {
        $q = new mysql_squid_builder();
        $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM nginx_replace_www WHERE ID='{$ID}'"));
        $bt = "{apply}";
        $title = "{$ligne["rulename"]}";
        $ligne["stringtosearch"] = stripslashes($ligne["stringtosearch"]);
        $ligne["replaceby"] = stripslashes($ligne["replaceby"]);
        $servername = $ligne["servername"];
    }
    if ($ligne["tokens"] == null) {
        $ligne["tokens"] = "g";
    }
    if ($ligne["rulename"] == null) {
        $ligne["rulename"] = time();
    }
    $boot->set_hidden("replaceid", $ID);
    $boot->set_hidden("servername", $servername);
    $boot->set_formtitle($title);
    $boot->set_field("rulename", "{name}", $ligne["rulename"]);
    $boot->set_field("zorder", "{order}", $ligne["zorder"]);
    $boot->set_spacertitle("{search}");
    $boot->set_textarea("stringtosearch", "{search}", $ligne["stringtosearch"], array("MANDATORY" => true, "ENCODE" => true));
    $boot->set_checkbox("AsRegex", "{regex}", $ligne["AsRegex"], array("TOOLTIP" => "{replace_regex_explain}"));
    $boot->set_spacertitle("{replace}");
    $boot->set_textarea("replaceby", "{replace}", $ligne["replaceby"], array("MANDATORY" => true, "ENCODE" => true));
    $boot->set_field("tokens", "{flags}", $ligne["tokens"], array("MANDATORY" => true));
    $boot->set_button($bt);
    if ($ID == 0) {
        $boot->set_CloseYahoo("YahooWin3");
    }
    $boot->set_RefreshSearchs();
    $boot->set_formdescription("{nginx_subst_explain}");
    echo $boot->Compile();
}
function charter_settings()
{
    $ID = $_GET["ID"];
    $users = new usersMenus();
    $page = CurrentPageName();
    $sock = new sockets();
    $boot = new boostrap_form();
    $users = new usersMenus();
    $title = "Acceptable Use Policy";
    $btname = "{add}";
    if ($ID > 0) {
        $q = new mysql_squid_builder();
        $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT TextIntro,TextButton,title FROM itcharters WHERE ID='{$ID}'"));
        if (!$q->ok) {
            echo "<p class=text-error>{$q->mysql_error}</p>";
        }
        $title = $ligne["title"];
        $btname = "{apply}";
    }
    if ($ligne["TextIntro"] == null) {
        $ligne["TextIntro"] = "<p style='font-size:18px'>Please read the IT chart before accessing trough Internet</p>";
    }
    if ($ligne["TextButton"] == null) {
        $ligne["TextButton"] = "I accept the terms and conditions of this agreement";
    }
    $boot->set_formtitle($title);
    $boot->set_hidden("ID", $ID);
    $boot->set_field("title", "{page_title}", $title);
    $boot->set_textarea("TextIntro", "{introduction_text}", $ligne["TextIntro"], array("ENCODE" => true));
    $boot->set_field("TextButton", "{text_button}", $ligne["TextButton"], array("ENCODE" => true));
    if (!$users->AsDansGuardianAdministrator) {
        $boot->set_form_locked();
    }
    $boot->set_button($btname);
    if ($ID == 0) {
        $boot->set_CloseYahoo("YahooWin2");
    }
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function NewipaddrLink_popup()
{
    $tpl = new templates();
    $_GET["ipaddr"] = trim($_GET["ipaddr"]);
    $q = new mysql_squid_builder();
    $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM webfilters_ipaddr WHERE ipaddr='{$_GET["ipaddr"]}'"));
    $boot = new boostrap_form();
    if ($_GET["ipaddr"] == null) {
        $boot->set_field("ipaddr", "{ipaddr}", null, array("MANDATORY" => true, "IPV4" => true));
    } else {
        $boot->set_formtitle("{ipaddr}:{$_GET["ipaddr"]}");
        $boot->set_hidden("ipaddr", $_GET["ipaddr"]);
        $ips = array();
        $linkstats = "<div style='width:100%'>\n\t\t\t\t<a href=\"javascript:blur();\" \n\t\t\t\tOnClick=\"javascript:miniadm.squid.ipaddrbrowser.php?visits-day-js={$_GET["ipaddr"]}');>{statistics}</a></div>";
    }
    $linkstats = null;
    $boot->set_hidden("save-ipaddr", 'yes');
    $boot->set_field("uid", "{member}", $ligne["uid"], array("MANDATORY" => true));
    $boot->set_field("hostname", "{hostname}", $ligne["hostname"]);
    $boot->set_button("{add}");
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
示例#8
0
function lang_popup()
{
    $htmlT = new htmltools_inc();
    $page = CurrentPageName();
    $lang = $htmlT->LanguageArray();
    $tpl = new templates();
    $boot = new boostrap_form();
    $boot->set_list("lang", "{language}", $lang, $tpl->language, array("COOKIE" => "artica-language"));
    $boot->set_AjaxFinal("window.location.href='{$page}';");
    $boot->set_button("{apply}");
    $boot->set_CloseYahoo("YahooWin3");
    echo $boot->Compile();
}
function ldap_auth_parameters()
{
    $boot = new boostrap_form();
    $squid = new squidbee();
    $users = new usersMenus();
    $sock = new sockets();
    $SquidLdapAuthEnableGroups = $sock->GET_INFO("SquidLdapAuthEnableGroups");
    $EnableKerbAuth = $sock->GET_INFO("EnableKerbAuth");
    $SquidLdapAuthBanner = $sock->GET_INFO("SquidLdapAuthBanner");
    if ($SquidLdapAuthBanner == null) {
        $SquidLdapAuthBanner = "Basic credentials, Please logon...";
    }
    if ($EnableKerbAuth == 1) {
        $error = "<p class=text-error>{ldap_with_ad_explain}</p>";
    }
    $boot->set_spacertitle("{local_ldap}");
    $boot->set_spacerexplain("{authenticate_users_explain}");
    $boot->set_checkbox("ldap_auth", "{local_ldap}", $squid->LDAP_AUTH);
    //$boot->set_checkbox("SquidLdapAuthEnableGroups", "{enable_group_checking}",$SquidLdapAuthEnableGroups);
    $boot->set_field("SquidLdapAuthBanner", "{auth_banner}", $SquidLdapAuthBanner, array("ENCODE" => true));
    $boot->set_spacertitle("{remote_database}");
    $boot->set_spacerexplain("{SQUID_LDAP_AUTH_EXT}");
    $ldap_server = $squid->EXTERNAL_LDAP_AUTH_PARAMS["ldap_server"];
    $ldap_port = $squid->EXTERNAL_LDAP_AUTH_PARAMS["ldap_port"];
    $userdn = $squid->EXTERNAL_LDAP_AUTH_PARAMS["ldap_user"];
    $ldap_password = $squid->EXTERNAL_LDAP_AUTH_PARAMS["ldap_password"];
    $ldap_suffix = $squid->EXTERNAL_LDAP_AUTH_PARAMS["ldap_suffix"];
    $ldap_filter_users = $squid->EXTERNAL_LDAP_AUTH_PARAMS["ldap_filter_users"];
    $ldap_filter_group = $squid->EXTERNAL_LDAP_AUTH_PARAMS["ldap_filter_group"];
    $ldap_server = $squid->EXTERNAL_LDAP_AUTH_PARAMS["ldap_server"];
    $auth_banner = $squid->EXTERNAL_LDAP_AUTH_PARAMS["auth_banner"];
    $EnableSquidExternalLDAP = $squid->LDAP_EXTERNAL_AUTH;
    if ($auth_banner == null) {
        $auth_banner = $SquidLdapAuthBanner;
    }
    if ($ldap_filter_users == null) {
        $ldap_filter_users = "sAMAccountName=%s";
    }
    if ($ldap_filter_group == null) {
        $ldap_filter_group = "(&(objectclass=person)(sAMAccountName=%u)(memberof=*))";
    }
    if ($ldap_port == null) {
        $ldap_port = 389;
    }
    $boot->set_checkbox("EnableSquidExternalLDAP", "{activate}", $EnableSquidExternalLDAP);
    $boot->set_field("ldap_server", "{hostname}", $ldap_server);
    $boot->set_field("ldap_port", "{listen_port}", $ldap_port);
    $boot->set_field("auth_banner", "{auth_banner}", $auth_banner);
    $boot->set_field("ldap_user", "{userdn}", $userdn);
    $boot->set_fieldpassword("ldap_password", "{ldap_password}", $ldap_password, array("ENCODE" => true));
    $boot->set_field("ldap_suffix", "{ldap_suffix}", $ldap_suffix);
    $boot->set_field("ldap_filter_users", "{ldap_filter_users}", $ldap_filter_users);
    $boot->set_field("ldap_filter_group", "{ldap_filter_group}", $ldap_filter_group);
    $boot->set_button("{apply}");
    if (!$users->AsSquidAdministrator) {
        $boot->set_form_locked();
    }
    $boot->set_Newbutton("{restart_onlysquid}", "Loadjs('squid.restart.php?onlySquid=yes&ask=yes');");
    echo $error . $boot->Compile();
}
function settings()
{
    $schedules = new system_tasks();
    $q = new mysql_squid_builder();
    $tpl = new templates();
    $buttontext = "{apply}";
    $ID = $_GET["ID"];
    $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM webfilters_schedules WHERE ID={$ID}"));
    $ligne["TimeDescription"] = utf8_encode($ligne["TimeDescription"]);
    $TimeText = $tpl->_ENGINE_parse_body($schedules->PatternToHuman($ligne["TimeText"]));
    $TimeText = str_replace("<br>", "", $TimeText);
    $explain = $tpl->_ENGINE_parse_body($q->tasks_explain_array[$ligne["TaskType"]]);
    $boot = new boostrap_form();
    $boot->set_hidden("ID", $ID);
    $boot->set_checkbox("enabled", "{enabled}", $ligne["enabled"]);
    $boot->set_field("TimeDescription", "{description}", $ligne["TimeDescription"], array("ENCODE" => TRUE));
    $boot->set_button("{apply}");
    $boot->set_formtitle("{task} {$ligne["ID"]}");
    $runtask = $tpl->_ENGINE_parse_body("<div style='text-align:right'><i class='icon-play'></i> <a href=\"javascript:Blurz();\" OnClick=\"javascript:Loadjs('miniadm.ajax.squid.schedules.php?schedule-run-js=yes&ID={$ID}');\">{run} {task}</div>");
    $boot->set_formdescription("{$explain}<br>{$TimeText}{$runtask}");
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function item_config()
{
    $ldap = new clladp();
    $tpl = new templates();
    $id = $_GET["item-id"];
    if (!is_numeric($id)) {
        $id = 0;
    }
    $t = $_GET["t"];
    if (!is_numeric($t)) {
        $t = time();
    }
    $bname = "{add}";
    $page = CurrentPageName();
    $explian = "<div class=text-info style='font-size:14px'>{ADD_DNS_ENTRY_TEXT}</div>";
    $q = new mysql();
    if ($id > 0) {
        $bname = "{apply}";
        $sql = "SELECT * FROM records WHERE id={$id}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "powerdns"));
        $hostname = $ligne["name"];
        $tr = explode(".", $hostname);
        $computername = $tr[0];
        unset($tr[0]);
        $DnsZoneNameV = @implode(".", $tr);
        $DnsType = $ligne["type"];
        $ComputerIP = $ligne["content"];
        $ttl = $ligne["ttl"];
        $prio = $ligne["prio"];
        $explainthis = $ligne["explainthis"];
        $domain_id = $ligne["domain_id"];
        $ligneZ = mysql_fetch_array($q->QUERY_SQL("SELECT name FROM domains WHERE id={$domain_id}", "powerdns"));
        $DnsZoneName = $ligneZ["name"];
    }
    if (!is_numeric($domain_id)) {
        $domain_id = 0;
    }
    $dnstypeTable = array("" => "{select}", "MX" => "{mail_exchanger}", "A" => "{dnstypea}");
    $DnsType = Field_array_Hash($dnstypeTable, "DnsType", $DnsType, null, null, 0, null);
    $ERROR_VALUE_MISSING_PLEASE_FILL_THE_FORM = $tpl->javascript_parse_text('{ERROR_VALUE_MISSING_PLEASE_FILL_THE_FORM}');
    $addDomain = imgtootltip("plus-24.png", "{new_dnsdomain}", "Loadjs('postfix.transport.table.php?localdomain-js=yes&domain=&t={$t}&callback=RefreshFieldDomain{$t}')");
    if (!$users->AsSystemAdministrator) {
        if (!$users->AsDnsAdministrator) {
            $ldap = new clladp();
            $addDomain = null;
        }
    }
    if ($ttl == null) {
        $ttl = 8600;
    }
    if (!is_numeric($prio)) {
        $prio = 0;
    }
    $boot = new boostrap_form();
    $boot->set_field("ComputerIP", "{computer_ip}", $ComputerIP);
    if ($domain_id > 0) {
        $boot->set_field("DnsZoneName", "{DnsZoneName}", $DnsZoneName, array("DISABLED" => true));
    } else {
        $boot->set_field("DnsZoneName", "{DnsZoneName}", $DnsZoneName);
    }
    $boot->set_field("computername", "{computer_name}", $computername);
    $boot->set_field("TTL", "TTL", $ttl);
    $boot->set_field("PRIO", "PRIO", $prio);
    $boot->set_field("explainthis", "{explain}", $explainthis, array("ENCODE" => true));
    $boot->set_button($bname);
    $boot->set_hidden("id", $id);
    $boot->set_RefreshSearchs();
    $boot->set_formtitle("{record}");
    $form = $boot->Compile();
    echo $tpl->_ENGINE_parse_body($form);
}
function activedirectory()
{
    $sock = new sockets();
    $ChilliConf = unserialize(base64_decode($sock->GET_INFO("ChilliConf")));
    $boot = new boostrap_form();
    if (!is_numeric($ChilliConf["AD_PORT"])) {
        $ChilliConf["AD_PORT"] = 389;
    }
    $ip = new networking();
    $Interfaces = $ip->Local_interfaces();
    $Interfaces[null] = "{none}";
    unset($Interfaces["lo"]);
    if ($ChilliConf["AD_DOMAIN"] == null) {
        $ChilliConf["AD_DOMAIN"] = "my-ad-domain.tld";
    }
    $boot->set_spacertitle("Microsoft Active Directory");
    $boot->set_checkbox("EnableActiveDirectory", "{enable}", $ChilliConf["EnableActiveDirectory"], array("DISABLEALL" => true));
    $boot->set_field("AD_SERVER", "{hostname}", $ChilliConf["AD_SERVER"]);
    $boot->set_field("AD_PORT", "{ldap_port}", $ChilliConf["AD_PORT"]);
    $boot->set_field("AD_DOMAIN", "{domain}", $ChilliConf["AD_DOMAIN"]);
    $boot->set_button("{apply}");
    echo $boot->Compile();
}
function sources_add_group_popup()
{
    $boot = new boostrap_form();
    $sock = new sockets();
    $users = new usersMenus();
    $ldap = new clladp();
    $ID = $_GET["groupid"];
    $title_button = "{add}";
    $title = "{new_group}";
    if ($ID > 0) {
        $sql = "SELECT * FROM authenticator_auth WHERE ID='{$ID}'";
        $q = new mysql_squid_builder();
        $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
        if (!$q->ok) {
            echo "<p class=text-error>{$q->mysql_error}</p>";
        }
        $title_button = "{apply}";
        $title = $ligne["groupname"] . "&nbsp;&raquo;&raquo;&nbsp;" . $GLOBALS["TYPES"][$ligne["group_type"]];
    }
    $mainrule = $_GET["mainrule"];
    if (!is_numeric($mainrule)) {
        $mainrule = 0;
    }
    $boot->set_formtitle($title);
    $boot->set_hidden("rules-sources-add-group-save", "yes");
    $boot->set_hidden("mainrule", $mainrule);
    $boot->set_hidden("groupid", $ID);
    $boot->set_field("groupname", "{groupname}", $ligne["groupname"], array("ENCODE" => true));
    $boot->set_checkbox("enabled", "{enabled}", $ligne["enabled"]);
    if ($ID == 0) {
        $boot->set_list("group_type", "{groupe_type}", $GLOBALS["TYPES"], $ligne["group_type"]);
    } else {
        $boot->set_hidden("group_type", $ligne["group_type"]);
    }
    $boot->set_button($title_button);
    $AdminPrivs = AdminPrivs();
    if (!$AdminPrivs) {
        $boot->set_form_locked();
    }
    if ($ID == 0) {
        $boot->set_CloseYahoo("YahooWin3");
    }
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function parameters()
{
    $users = new usersMenus();
    $page = CurrentPageName();
    $boot = new boostrap_form();
    $squid = new squidbee();
    $squid_reverse = new squid_reverse();
    if (!$users->AsSquidAdministrator) {
        senderror("{ERROR_NO_PRIVS}");
        return;
    }
    $sock = new sockets();
    $SquidReverseDefaultWebSite = $sock->GET_INFO("SquidReverseDefaultWebSite");
    $SquidReverseDefaultCert = $sock->GET_INFO("SquidReverseDefaultWebSite");
    if ($SquidReverseDefaultWebSite == null) {
        $SquidReverseDefaultWebSite = $squid->visible_hostnameF();
    }
    $boot->set_formtitle("{global_parameters}");
    $boot->set_field("SquidReverseDefaultWebSite", "{default_website}", "{$SquidReverseDefaultWebSite}");
    $squid_reverse = new squid_reverse();
    $sslcertificates = $squid_reverse->ssl_certificates_list();
    $q = new mysql();
    $boot->set_list("certificate_center", "{default_certificate}", $sslcertificates, $squid->certificate_center);
    $boot->set_button("{apply}");
    echo $boot->Compile();
}
function parameters()
{
    $tpl = new templates();
    $page = CurrentPageName();
    $sock = new sockets();
    $CacheReplacementPolicy = $sock->GET_INFO("CacheReplacementPolicy");
    $DisableAnyCache = $sock->GET_INFO("DisableAnyCache");
    if ($CacheReplacementPolicy == null) {
        $CacheReplacementPolicy = "heap_LFUDA";
    }
    $SquidDebugCacheProc = $sock->GET_INFO("SquidDebugCacheProc");
    $ForceWindowsUpdateCaching = $sock->GET_INFO("ForceWindowsUpdateCaching");
    $ProxyDedicateMicrosoftRules = $sock->GET_INFO("ProxyDedicateMicrosoftRules");
    if (!is_numeric($SquidDebugCacheProc)) {
        $SquidDebugCacheProc = 0;
    }
    if (!is_numeric($DisableAnyCache)) {
        $DisableAnyCache = 0;
    }
    if (!is_numeric($ForceWindowsUpdateCaching)) {
        $ForceWindowsUpdateCaching = 0;
    }
    $squid = new squidbee();
    $t = time();
    $array["lru"] = "{cache_lru}";
    $array["heap_GDSF"] = "{heap_GDSF}";
    $array["heap_LFUDA"] = "{heap_LFUDA}";
    $array["heap_LRU"] = "{heap_LRU}";
    if (preg_match("#([0-9]+)#", $squid->global_conf_array["maximum_object_size"], $re)) {
        $maximum_object_size = $re[1];
        if (preg_match("#([A-Z]+)#", $squid->global_conf_array["maximum_object_size"], $re)) {
            $unit = $re[1];
        }
        if ($unit == "KB") {
            $maximum_object_size_in_memory = round($maximum_object_size_in_memory / 1024);
        }
    }
    if (preg_match("#([0-9]+)#", $squid->global_conf_array["maximum_object_size_in_memory"], $re)) {
        $maximum_object_size_in_memory = $re[1];
        if (preg_match("#([A-Z]+)#", $squid->global_conf_array["maximum_object_size_in_memory"], $re)) {
            $unit = $re[1];
        }
        if ($unit == "KB") {
            $maximum_object_size_in_memory = round($maximum_object_size_in_memory / 1024);
        }
    }
    $boot = new boostrap_form();
    $boot->set_formtitle("{caches}::{parameters}");
    $boot->set_checkbox("DisableAnyCache", "{DisableAnyCache}", $DisableAnyCache);
    $boot->set_checkbox("ForceWindowsUpdateCaching", "{ForceWindowsUpdateCaching}", $ForceWindowsUpdateCaching);
    $boot->set_checkbox("ProxyDedicateMicrosoftRules", "{ProxyDedicateMicrosoftRules}", $ProxyDedicateMicrosoftRules);
    $boot->set_checkbox("SquidDebugCacheProc", "{debug_cache_processing}", $SquidDebugCacheProc);
    $boot->set_list("CacheReplacementPolicy", "{cache_replacement_policy}", $array, $CacheReplacementPolicy, array("TOOLTIP" => "{cache_replacement_policy_explain}"));
    $boot->set_field("maximum_object_size", "{maximum_object_size_in_memory} (MB)", $maximum_object_size_in_memory, array("TOOLTIP" => "{maximum_object_size_text}"));
    $boot->set_field("maximum_object_size", "{maximum_object_size_in_memory} (MB)", $maximum_object_size, array("TOOLTIP" => "{maximum_object_size_in_memory_text}"));
    $boot->set_button("{apply}");
    echo $boot->Compile();
}
function cache_popup()
{
    $tpl = new templates();
    $page = CurrentPageName();
    $servername = $_GET["servername"];
    $q = new mysql_squid_builder();
    $title = "{new_cache}";
    $bt = "{add}";
    $ID = $_GET["ID"];
    $boot = new boostrap_form();
    $sock = new sockets();
    $NginxProxyStorePath = $sock->GET_INFO("NginxProxyStorePath");
    if ($NginxProxyStorePath == null) {
        $NginxProxyStorePath = "/home/nginx";
    }
    if ($ID > 0) {
        $q = new mysql_squid_builder();
        $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM nginx_caches WHERE ID='{$ID}'"));
        $bt = "{apply}";
        $title = "{$ligne["keys_zone"]}";
    }
    if ($ligne["keys_zone"] == null) {
        $ligne["keys_zone"] = time();
    }
    if (trim($ligne["directory"]) == null) {
        $ligne["directory"] = $NginxProxyStorePath . "/{$ligne["keys_zone"]}";
    }
    if ($ligne["levels"] == null) {
        $ligne["levels"] = "1:2";
    }
    if (!is_numeric($ligne["keys_zone_size"])) {
        $ligne["keys_zone_size"] = 1;
    }
    if (!is_numeric($ligne["max_size"])) {
        $ligne["max_size"] = 2;
    }
    if (!is_numeric($ligne["inactive"])) {
        $ligne["inactive"] = 10;
    }
    if (!is_numeric($ligne["loader_files"])) {
        $ligne["loader_files"] = 100;
    }
    if (!is_numeric($ligne["loader_sleep"])) {
        $ligne["loader_sleep"] = 10;
    }
    if (!is_numeric($ligne["loader_threshold"])) {
        $ligne["loader_threshold"] = 100;
    }
    $boot->set_hidden("ID", $ID);
    $boot->set_formtitle($title);
    $boot->set_field("keys_zone", "{name}", $ligne["keys_zone"]);
    $boot->set_field("directory", "{directory}", $ligne["directory"], array("BROWSE" => true, "MANDATORY" => true, "ENCODE" => true));
    $boot->set_field("levels", "{levels}", $ligne["levels"]);
    $boot->set_field("keys_zone_size", "{memory_size} (MB)", $ligne["keys_zone_size"]);
    $boot->set_field("max_size", "{max_size} (GB)", $ligne["max_size"]);
    $boot->set_field("inactive", "{inactive} ({minutes})", $ligne["inactive"], array("TOOLTIP" => "{nginx_inactive_explain}"));
    $boot->set_field("loader_files", "{loader_files}", $ligne["loader_files"]);
    $boot->set_field("loader_sleep", "{loader_sleep} {milliseconds}", $ligne["loader_sleep"]);
    $boot->set_field("loader_threshold", "{loader_threshold} {milliseconds}", $ligne["loader_threshold"]);
    $boot->set_button($bt);
    if ($servername == null) {
        $boot->set_CloseYahoo("YahooWin");
    }
    $boot->set_RefreshSearchs();
    if (!AdminPrivs()) {
        $boot->set_form_locked();
    }
    echo $boot->Compile();
}
function section_ports()
{
    $boot = new boostrap_form();
    $sock = new sockets();
    $squid = new squidbee();
    $tpl = new templates();
    $sock = new sockets();
    $arrayParams = unserialize(base64_decode($sock->getFrameWork("squid.php?compile-list=yes")));
    $SSL = 1;
    if (!isset($arrayParams["--enable-ssl"])) {
        echo $tpl->_ENGINE_parse_body("<p class=text-error>{SSL_NOT_COMPILED}</p>");
    }
    $KernelSendRedirects = $sock->GET_INFO("KernelSendRedirects");
    $SquidTransparentMixed = $sock->GET_INFO("SquidTransparentMixed");
    $SQUIDEnable = $sock->GET_INFO("SQUIDEnable");
    if (!is_numeric($KernelSendRedirects)) {
        $KernelSendRedirects = 1;
    }
    if (!is_numeric($SquidTransparentMixed)) {
        $SquidTransparentMixed = 0;
    }
    if (!is_numeric($SQUIDEnable)) {
        $SQUIDEnable = 1;
    }
    $sql = "SELECT CommonName FROM sslcertificates ORDER BY CommonName";
    $q = new mysql();
    $sslcertificates[null] = "{select}";
    $results = $q->QUERY_SQL($sql, 'artica_backup');
    while ($ligneZ = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $sslcertificates[$ligneZ["CommonName"]] = $ligneZ["CommonName"];
    }
    $boot->set_formtitle("{behavior}");
    $boot->set_checkbox("SQUIDEnable", "{enable_squid_service}", $SQUIDEnable, array("TOOLIP" => "{enable_squid_service_explain}", "DISABLEALL" => true));
    $boot->set_field("visible_hostname", "{visible_hostname}", $squid->visible_hostname, array("TOOLIP" => "{visible_hostname_text}"));
    $boot->set_checkbox("hasProxyTransparent", "{transparent_mode}", $squid->hasProxyTransparent, array("TOOLIP" => "{transparent_mode_text}", "LINK" => "SquidTransparentMixed,KernelSendRedirects"));
    $boot->set_checkbox("SquidTransparentMixed", "{SquidTransparentMixed}", $SquidTransparentMixed, array("TOOLIP" => "{SquidTransparentMixed_text}"));
    $boot->set_checkbox("KernelSendRedirects", "{KernelSendRedirects}", $KernelSendRedirects, array("TOOLIP" => "{KernelSendRedirects_explain}"));
    $boot->set_spacertitle("{listen_ports}");
    $boot->set_spacerexplain("{listen_port_text}");
    $boot->set_field("listen_port", "HTTP", $squid->listen_port);
    $boot->set_field("second_listen_port", "HTTP (2)", $squid->second_listen_port, array("TOOLTIP" => "{squid_second_port_explain}"));
    $boot->set_field("ssl_port", "HTTPS", $squid->ssl_port, array("TOOLTIP" => "{squid_ssl_port_explain}"));
    $boot->set_list("certificate_center", "{certificate}", $sslcertificates, $squid->certificate_center);
    $boot->set_field("icp_port", "{icp_port}", $squid->ICP_PORT, array("TOOLTIP" => "{icp_port_explain}"));
    $boot->set_field("htcp_port", "{htcp_port}", $squid->HTCP_PORT, array("TOOLTIP" => "{htcp_port_explain}"));
    $boot->set_button("{apply}");
    $users = new usersMenus();
    if (!$users->AsSquidAdministrator) {
        $boot->set_form_locked();
    }
    echo $boot->Compile();
}
function settings_stats()
{
    $tpl = new templates();
    $page = CurrentPageName();
    $q = new mysql_squid_builder();
    $users = new usersMenus();
    $sock = new sockets();
    $EnableMacAddressFilter = $sock->GET_INFO("EnableMacAddressFilter");
    $WebstatisticsByMember = $sock->GET_INFO("WebstatisticsByMember");
    $PerMembersYoutubeDetails = $sock->GET_INFO("PerMembersYoutubeDetails");
    if (!is_numeric($PerMembersYoutubeDetails)) {
        $PerMembersYoutubeDetails = 0;
    }
    if (!is_numeric($WebstatisticsByMember)) {
        $WebstatisticsByMember = 0;
    }
    if (!is_numeric($EnableMacAddressFilter)) {
        $EnableMacAddressFilter = 1;
    }
    $t = time();
    $boot = new boostrap_form();
    $boot->set_checkbox("WebstatisticsByMember", "{WebstatisticsByMember}", $WebstatisticsByMember);
    $boot->set_checkbox("PerMembersYoutubeDetails", "{PerMembersYoutubeDetails}", $PerMembersYoutubeDetails);
    $boot->set_checkbox("EnableMacAddressFilter", "{enable_mac_squid_filters}", $EnableMacAddressFilter);
    $boot->set_button("{apply}");
    $form = $boot->Compile();
    $html = "<div class=form style='width:95%'>\n\t\t<table style='width:100%'>\n\t\t<tr>\n\t\t\t<td style='vertical-align:top;style='width:250px'><div id='{$t}'></div></td>\n\t\t\t<td style='vertical-align:top;padding:10px;width:100%'>{$form}</td>\n\t\t</tr>\t\n\t</div>\n\t<script>\n\t\tLoadAjax('{$t}','{$page}?db-status=yes',true);\n\t</script>\n\t";
    echo $html;
}
function search_database_popup()
{
    $boot = new boostrap_form();
    $q = new mysql_storelogs();
    if (!isset($_SESSION["QUERY_SYSLOG_HOST_DAY_FIELDY"])) {
        $sql = "SELECT DATE_FORMAT(filetime,'%Y-%m-%d') as filetime FROM files_info GROUP BY filetime ORDER BY filetime DESC";
        $results = $q->QUERY_SQL($sql);
        $dayz[null] = "{select}";
        while ($ligne = mysql_fetch_assoc($results)) {
            $time = time_to_date(strtotime($ligne["filetime"] . " 00:00:00"));
            $dayz[$ligne["filetime"]] = $time;
        }
        $_SESSION["QUERY_SYSLOG_HOST_DAY_FIELDY"] = serialize($dayz);
    }
    if (!isset($_SESSION["QUERY_SYSLOG_HOST_FIELDZ"])) {
        $sql = "SELECT hostname FROM files_info GROUP BY hostname ORDER BY hostname ASC";
        $results = $q->QUERY_SQL($sql);
        $hostz[null] = "{select}";
        while ($ligne = mysql_fetch_assoc($results)) {
            $hostz[$ligne["hostname"]] = $ligne["hostname"];
        }
        $_SESSION["QUERY_SYSLOG_HOST_FIELDZ"] = serialize($hostz);
    }
    $LIMITS[50] = 50;
    $LIMITS[250] = 250;
    $LIMITS[500] = 250;
    $LIMITS[1000] = 1000;
    $LIMITS[2000] = 2000;
    if (!isset($_SESSION["QUERY_SYSLOG_LIMIT"])) {
        $_SESSION["QUERY_SYSLOG_LIMIT"] = 250;
    }
    if (!is_numeric($_GET["xtime"])) {
        $boot->set_list("QUERY_SYSLOG_DATE", "{date}", unserialize($_SESSION["QUERY_SYSLOG_HOST_DAY_FIELDY"]), $_SESSION["QUERY_SYSLOG_DATE"]);
    }
    $boot->set_list("QUERY_SYSLOG_HOST", "{hostname}", unserialize($_SESSION["QUERY_SYSLOG_HOST_FIELDZ"]), $_SESSION["QUERY_SYSLOG_HOST"]);
    $boot->set_field("QUERY_SYSLOG_FILE", "{filename}", $_SESSION["QUERY_SYSLOG_FILE"]);
    $boot->set_list("QUERY_SYSLOG_LIMIT", "{rows}", $LIMITS, $_SESSION["QUERY_SYSLOG_LIMIT"]);
    $boot->set_button("{search}");
    $boot->set_CloseYahoo("YahooWin2");
    $boot->set_formdescription("{advanced_search_explain}");
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function NewMacLink_popup()
{
    $tpl = new templates();
    $_GET["MAC"] = trim($_GET["MAC"]);
    if ($_GET["MAC"] != null) {
        if (!IsPhysicalAddress($_GET["MAC"])) {
            unset($_GET["MAC"]);
        }
    } else {
        unset($_GET["MAC"]);
    }
    $q = new mysql_squid_builder();
    $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM webfilters_nodes WHERE MAC='{$_GET["MAC"]}'"));
    $boot = new boostrap_form();
    if ($_GET["MAC"] == null) {
        $boot->set_field("MAC", "{MAC}", null, array("MANDATORY" => true, "BUTTON" => array("JS" => "Loadjs('miniadm.squid.macbrowser.php?field=%f')", "LABEL" => $tpl->_ENGINE_parse_body("{browse}"))));
    } else {
        $boot->set_formtitle("{MAC}:{$_GET["MAC"]}");
        $boot->set_hidden("MAC", $_GET["MAC"]);
        $ips = array();
        $results2 = $q->QUERY_SQL("SELECT ipaddr FROM members_macip WHERE MAC='{$_GET["MAC"]}' ORDER BY ipaddr");
        while ($ligne2 = mysql_fetch_assoc($results2)) {
            $ips[] = $ligne2["ipaddr"];
        }
        if (count($ips) > 0) {
            $boot->set_formdescription(@implode(", ", $ips));
        }
        $linkstats = "<div style='width:100%'>\n\t\t\t\t<a href=\"javascript:blur();\" \n\t\t\t\tOnClick=\"javascript:miniadm.squid.macbrowser.php?visits-day-js={$_GET["MAC"]}');>{statistics}</a></div>";
    }
    $boot->set_hidden("save-mac", 'yes');
    $boot->set_field("hostname", "{hostname}", $ligne["hostname"]);
    $boot->set_field("uid", "{member}", $ligne["uid"], array("MANDATORY" => true));
    $boot->set_button("{add}");
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function new_port()
{
    $t = $_GET["t"];
    include_once dirname(__FILE__) . "/ressources/class.system.network.inc";
    $page = CurrentPageName();
    $tpl = new templates();
    $boot = new boostrap_form();
    $ip = new networking();
    $ips = $ip->ALL_IPS_GET_ARRAY();
    $ipz["0.0.0.0"] = "{all}";
    while (list($ip, $line) = each($ips)) {
        $ipz[$ip] = $ip;
    }
    $boot->set_field("portname", "{rulename}", "MyNew port", array("ENCODE" => true));
    $boot->set_field("aclport", "{listen_port}", "9090");
    $boot->set_list("interface", "{listen_address}", $ipz, "0.0.0.0");
    $boot->set_button("{add}");
    $boot->set_hidden("bubble-add", "yes");
    $boot->set_formtitle("{new_port}");
    $boot->set_CallBack("LoadAjax('center-{$t}','{$page}?tabs=yes&t={$t}');");
    $form = $boot->Compile();
    echo $tpl->_ENGINE_parse_body($form);
}
function firewall_popup()
{
    $ID = $_GET["ID"];
    $q = new mysql_squid_builder();
    $bt = "{apply}";
    $servername = $_GET["servername"];
    if (!$q->TABLE_EXISTS("nginx_exploits_fw")) {
        $sql = "CREATE TABLE IF NOT EXISTS `nginx_exploits_fw` (\n\t\t`servername` CHAR(255) NOT NULL  PRIMARY KEY,\n\t\t`maxaccess` smallint(1)  NOT NULL DEFAULT 0,\n\t\t`sendlogs` smallint(1)  NOT NULL DEFAULT 0,\n\t\tKEY `maxaccess` (`maxaccess`),\n\t\tKEY `sendlogs` (`sendlogs`)\n\t\t)  ENGINE = MYISAM;";
        if (!$q->QUERY_SQL($sql)) {
            echo $q->mysql_error_html();
        }
    }
    $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM nginx_exploits_fw WHERE servername='{$servername}'"));
    if (!is_numeric($ligne["maxaccess"])) {
        $ligne["maxaccess"] = 0;
    }
    $boot = new boostrap_form();
    $sock = new sockets();
    $boot->set_hidden("servername", $_GET["servername"]);
    $boot->set_hidden("firewall", $_GET["servername"]);
    $boot->set_formtitle("{firewall}");
    $boot->set_formdescription("{NGINX_FW_EXPLAIN}");
    $boot->set_field("maxaccess", "{MAX_EVENTS}", $ligne["maxaccess"], array("TOOLTIP" => "{NGINX_MAXACCESS_FW_EXPLAIN}"));
    $boot->set_checkbox("sendlogs", "{write_logs}", $ligne["sendlogs"]);
    $boot->set_button($bt);
    if ($ID == 0) {
        $boot->set_CloseYahoo("YahooWin4");
    }
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function section_blocked_form()
{
    $boot = new boostrap_form();
    $q = new mysql_squid_builder();
    $ARRAYTABLES = $q->LIST_TABLES_BLOCKED();
    while (list($tablename, $none) = each($ARRAYTABLES)) {
        $time = $q->TIME_FROM_DAY_TABLE($tablename);
        $days[$time] = time_to_date($time);
    }
    $BLOCKED_CATEGORY_LIMITS[50] = 50;
    $BLOCKED_CATEGORY_LIMITS[250] = 250;
    $BLOCKED_CATEGORY_LIMITS[500] = 250;
    $BLOCKED_CATEGORY_LIMITS[1000] = 1000;
    $BLOCKED_CATEGORY_LIMITS[2000] = 2000;
    krsort($days);
    $boot->set_list("QUERY_BLOCKED_DATE", "{date}", $days, $_SESSION["QUERY_BLOCKED_DATE"]);
    $boot->set_field("QUERY_BLOCKED_UID", "{member}", $_SESSION["QUERY_BLOCKED_UID"]);
    $boot->set_field("QUERY_BLOCKED_CATEGORY", "{category}", $_SESSION["QUERY_BLOCKED_CATEGORY"]);
    $boot->set_list("BLOCKED_CATEGORY_LIMIT", "{rows}", $BLOCKED_CATEGORY_LIMITS, $_SESSION["BLOCKED_CATEGORY_LIMIT"]);
    $boot->set_button("{search}");
    $boot->set_CloseYahoo("YahooWin2");
    $boot->set_formdescription("{advanced_search_explain}");
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function replace_group_popup()
{
    $ID = $_GET["ID"];
    $q = new mysql_squid_builder();
    $title = "{new_group}";
    $bt = "{add}";
    $boot = new boostrap_form();
    $sock = new sockets();
    if ($ID > 0) {
        $q = new mysql_squid_builder();
        $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM nginx_replace_group WHERE ID='{$ID}'"));
        $bt = "{apply}";
        $title = "{$ligne["groupname"]}";
    }
    if ($ligne["groupname"] == null) {
        $ligne["groupname"] = "New Group";
    }
    $boot->set_hidden("editgroupid", $ID);
    $boot->set_formtitle($title);
    $boot->set_field("groupname", "{groupname}", $ligne["groupname"]);
    $boot->set_button($bt);
    if ($ID == 0) {
        $boot->set_CloseYahoo("YahooWin");
    }
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
示例#25
0
function proxy_behavior()
{
    $boot = new boostrap_form();
    $boot->set_formtitle("{proxy_behavior}");
    $boot->set_formdescription("{proxy_behavior_explain}");
    $sock = new sockets();
    $exclusive_internet_proxy = 1;
    $exclusive_reverse_proxy = 0;
    $mixed_mode = 0;
    $SquidActHasReverse = $sock->GET_INFO("SquidActHasReverse");
    $SquidActHasReverseOnly = $sock->GET_INFO("SquidActHasReverseOnly");
    if (!is_numeric($SquidActHasReverse)) {
        $SquidActHasReverse = 0;
    }
    if (!is_numeric($SquidActHasReverseOnly)) {
        $SquidActHasReverseOnly = 0;
    }
    if ($SquidActHasReverseOnly == 1) {
        $exclusive_internet_proxy = 0;
        $exclusive_reverse_proxy = 1;
        $mixed_mode = 0;
    }
    if ($SquidActHasReverseOnly == 0) {
        if ($SquidActHasReverse == 1) {
            $exclusive_internet_proxy = 0;
            $exclusive_reverse_proxy = 0;
            $mixed_mode = 1;
        }
    }
    $boot->set_checkbox("exclusive_reverse_proxy", "{exclusive_reverse_proxy}", $exclusive_reverse_proxy);
    $boot->set_checkbox("exclusive_internet_proxy", "{exclusive_internet_proxy}", $exclusive_internet_proxy);
    $boot->set_checkbox("mixed_mode", "{mixed_mode}", $mixed_mode);
    $boot->set_button("{apply}");
    echo $boot->Compile();
}
function remotedomain_add()
{
    $ldap = new clladp();
    $ou = $_SESSION["ou"];
    $btname = "{add}";
    $domain = $_GET["domain"];
    if ($domain != null) {
        $btname = "{apply}";
    }
    if ($ou == null) {
        $ou = $ldap->ou_by_smtp_domain($domain);
    }
    $HashDomains = $ldap->Hash_relay_domains();
    $tools = new DomainsTools();
    $arr = $tools->transport_maps_explode($HashDomains[$domain]);
    $dn = "cn=@{$domain},cn=relay_recipient_maps,ou={$ou},dc=organizations,{$ldap->suffix}";
    $trusted_smtp_domain = 0;
    if ($ldap->ExistsDN($dn)) {
        $trusted_smtp_domain = 1;
    }
    if (!is_numeric($arr[2])) {
        $arr[2] = 25;
    }
    if ($arr[3] == null) {
        $arr[3] = 0;
    } else {
        if ($arr[3] == "no") {
            $arr[3] = 0;
        } else {
            $arr[3] = 1;
        }
    }
    $boot = new boostrap_form();
    $ldap = new clladp();
    if ($domain != null) {
        $boot->set_field("remotedomain", "{domain}", $domain, array("MANDATORY" => true, "DISABLED" => true));
    } else {
        $boot->set_field("remotedomain", "{domain}", $domain, array("MANDATORY" => true));
    }
    $users = new usersMenus();
    if ($users->AsPostfixAdministrator) {
        $ous = $ldap->hash_get_ou(true);
        $boot->set_list("ou", "{ou}", $ous, $ou);
    } else {
        $boot->set_hidden("ou", $ou);
    }
    $boot->set_field("destination", "{destination}", $arr[1], null, array("MANDATORY" => true));
    $boot->set_field("destination_port", "{port}", $arr[2], null, array("MANDATORY" => true));
    $boot->set_checkbox("MX", "{MX_lookups}", $arr[3], array('TOOLTIP' => "{mx_look}"));
    $boot->set_checkbox("trusted_smtp_domain", "{trusted_smtp_domain}", $trusted_smtp_domain, array('TOOLTIP' => "{trusted_smtp_domain_text}"));
    $boot->set_button($btname);
    $boot->set_RefreshSearchs();
    $boot->set_CloseYahoo("YahooWin");
    echo $boot->Compile();
}
function settings()
{
    $tpl = new templates();
    $page = CurrentPageName();
    $q = new mysql_catz();
    $users = new usersMenus();
    $sock = new sockets();
    $SquidDBTuningParameters = unserialize(base64_decode($sock->GET_INFO("MySQLCatzParams")));
    $query_cache_size = $SquidDBTuningParameters["query_cache_size"];
    $max_allowed_packet = $SquidDBTuningParameters["max_allowed_packet"];
    $max_connections = $SquidDBTuningParameters["max_connections"];
    $connect_timeout = $SquidDBTuningParameters["connect_timeout"];
    $interactive_timeout = $SquidDBTuningParameters["interactive_timeout"];
    $key_buffer_size = $SquidDBTuningParameters["key_buffer_size"];
    $table_open_cache = $SquidDBTuningParameters["table_open_cache"];
    $myisam_sort_buffer_size = $SquidDBTuningParameters["myisam_sort_buffer_size"];
    $ListenPort = $SquidDBTuningParameters["ListenPort"];
    $tmpdir = $SquidDBTuningParameters["tmpdir"];
    if (!isset($SquidDBTuningParameters["net_read_timeout"])) {
        $SquidDBTuningParameters["net_read_timeout"] = 120;
    }
    $serverMem = round(($users->MEM_TOTAL_INSTALLEE - 300) / 1024);
    $VARIABLES = $q->SHOW_VARIABLES();
    if (is_array($SquidDBTuningParameters)) {
        while (list($key, $value) = each($SquidDBTuningParameters)) {
            if (isset($SquidDBTuningParameters[$key])) {
                if ($GLOBALS["VERBOSE"]) {
                    echo "VARIABLES[{$key}]={$VARIABLES[$key]} MySQLCatzParams[{$key}]={$SquidDBTuningParameters[$key]}<br>\n";
                }
                if ($VARIABLES[$key] == null) {
                    $VARIABLES[$key] = $SquidDBTuningParameters[$key];
                }
            }
        }
    }
    $read_buffer_size = round($VARIABLES["read_buffer_size"] / 1024 / 1000, 2);
    $read_rnd_buffer_size = round($VARIABLES["read_rnd_buffer_size"] / 1024 / 1000, 2);
    $sort_buffer_size = round($VARIABLES["sort_buffer_size"] / 1024 / 1000, 2);
    $thread_stack = round($VARIABLES["thread_stack"] / 1024 / 1000, 2);
    $join_buffer_size = round($VARIABLES["join_buffer_size"] / 1024 / 1000, 2);
    $max_tmp_table_size = round($VARIABLES["max_tmp_table_size"] / 1024 / 1000, 2);
    $innodb_log_buffer_size = round($VARIABLES["innodb_log_buffer_size"] / 1024 / 1000, 2);
    $innodb_additional_mem_pool_size = round($VARIABLES["innodb_additional_mem_pool_size"] / 1024 / 1000, 2);
    $innodb_log_buffer_size = round($VARIABLES["innodb_log_buffer_size"] / 1024 / 1000, 2);
    $innodb_buffer_pool_size = round($VARIABLES["innodb_buffer_pool_size"] / 1024 / 1000, 2);
    $max_connections = $VARIABLES["max_connections"];
    $per_thread_buffers = $sort_buffer_size + $read_rnd_buffer_size + $sort_buffer_size + $thread_stack + $join_buffer_size;
    $total_per_thread_buffers = $per_thread_buffers * $max_connections;
    if ($total_per_thread_buffers > $serverMem) {
        $color = "#EB0000";
    }
    $query_cache_size = round($VARIABLES["query_cache_size"] / 1024 / 1000, 2);
    $key_buffer_size = round($VARIABLES["key_buffer_size"] / 1024 / 1000, 2);
    if ($tmpdir == null) {
        $tmpdir = "/tmp";
    }
    $server_buffers = $key_buffer_size + $max_tmp_table_size + $innodb_buffer_pool_size + $innodb_additional_mem_pool_size + $innodb_log_buffer_size + $query_cache_size;
    if ($server_buffers > $serverMem) {
        $color = "#EB0000";
    }
    $max_used_memory = $server_buffers + $total_per_thread_buffers;
    if ($max_used_memory > $serverMem) {
        $color = "#EB0000";
    }
    $UNIT = "M";
    if ($max_used_memory > 1000) {
        $max_used_memory = round($max_used_memory / 1000, 2);
        $UNIT = "G";
    }
    if (!is_numeric($ListenPort)) {
        $ListenPort = 0;
    }
    $boot = new boostrap_form();
    $boot->set_hidden("innodb_buffer_pool_size", $innodb_buffer_pool_size);
    $boot->set_hidden("innodb_additional_mem_pool_size", $innodb_additional_mem_pool_size);
    $boot->set_hidden("innodb_log_buffer_size", $innodb_log_buffer_size);
    $boot->set_spacertitle("{threads}:");
    $boot->set_field("read_buffer_size", "{read_buffer_size} (MB)", $read_buffer_size, array("TOOLTIP" => "{read_buffer_size_text}"));
    $boot->set_field("read_rnd_buffer_size", "{read_rnd_buffer_size} (MB)", $read_rnd_buffer_size, array("TOOLTIP" => "{read_rnd_buffer_size_text}"));
    $boot->set_field("sort_buffer_size", "{sort_buffer_size} (MB)", $sort_buffer_size, array("TOOLTIP" => "{sort_buffer_size_text}"));
    $boot->set_field("thread_stack", "Thread Stack", $thread_stack, array("TOOLTIP" => "{thread_stack_text}"));
    $boot->set_spacertitle("{server}:");
    $boot->set_field("ListenPort", "{listen_port}", $ListenPort);
    $boot->set_field("tmpdir", "{working_directory}", $tmpdir, array("BUTTON" => array("LABEL" => "{browse}", "JS" => "Loadjs('SambaBrowse.php?no-shares=yes&field=%f&no-hidden=yes')")));
    $boot->set_field("net_read_timeout", "{net_read_timeout} ({seconds})", $SquidDBTuningParameters["net_read_timeout"]);
    $boot->set_field("max_connections", "{max_connections}", $max_connections);
    $boot->set_field("key_buffer_size", "{key_buffer_size} (MB)", $key_buffer_size);
    $boot->set_field("max_tmp_table_size", "MAX TMP Table size (MB)", $max_tmp_table_size);
    $boot->set_field("query_cache_size", "{query_cache_size} (MB)", $query_cache_size, array("TOOLTIP" => "{thread_stack_text}"));
    $boot->set_button("{apply}");
    $boot->set_formdescription("{$server_buffers}M + {$total_per_thread_buffers}M = {$max_used_memory}{$UNIT}");
    $html = $boot->Compile();
    echo $tpl->_ENGINE_parse_body($html);
}
function subrules_popup()
{
    $ruleid = $_GET["rule-id"];
    $ID = $_GET["subrule"];
    $users = new usersMenus();
    $page = CurrentPageName();
    $tpl = new templates();
    $t = time();
    $buttonname = "{add}";
    $boot = new boostrap_form();
    if ($ID > 0) {
        $q = new mysql();
        $sql = "SELECT *  FROM iproute_rules WHERE ID={$ID}";
        $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
        $title = $tpl->_ENGINE_parse_body("{$ID}::{$ligne["src"]} - {$ligne["destination"]}");
        $buttonname = "{apply}";
    } else {
        $boot->set_CloseYahoo("YahooWin3");
    }
    if (!is_numeric($ligne["enable"])) {
        $ligne["enable"] = 1;
    }
    $boot->set_formtitle($title);
    $boot->set_formdescription("{iprules_explain}");
    $boot->set_hidden("subruleid", $ID);
    $boot->set_hidden("ruleid", $ruleid);
    $boot->set_field("src", "{source}", $ligne["source"]);
    $boot->set_field("destination", "{destination}", $ligne["destination"]);
    $boot->set_field("priority", "{priority}", $ligne["priority"]);
    $boot->set_checkbox("enable", "{enabled}", $ligne["enable"]);
    $users = new usersMenus();
    if (!$users->AsSystemAdministrator) {
        $boot->set_form_locked();
    }
    $boot->set_button($buttonname);
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function table_all_videos_search_popup()
{
    $boot = new boostrap_form();
    $q = new mysql_squid_builder();
    if (isset($_SESSION["QUERY_YOUTUBE_CATZ"])) {
        $testCatz = unserialize($_SESSION["QUERY_YOUTUBE_CATZ"]);
        if (!is_array($testCatz)) {
            unset($_SESSION["QUERY_YOUTUBE_CATZ"]);
        }
    }
    if (!isset($_SESSION["QUERY_YOUTUBE_CATZ"])) {
        $sql = "SELECT category  FROM youtube_objects GROUP BY category";
        $results = $q->QUERY_SQL($sql);
        $dayz[null] = "{select}";
        while ($ligne = mysql_fetch_assoc($results)) {
            $time = time_to_date(strtotime($ligne["filetime"] . " 00:00:00"));
            $dayz[$ligne["category"]] = $ligne["category"];
        }
        $_SESSION["QUERY_YOUTUBE_CATZ"] = serialize($dayz);
    }
    $LIMITS[50] = 50;
    $LIMITS[250] = 250;
    $LIMITS[500] = 250;
    $LIMITS[1000] = 1000;
    $LIMITS[2000] = 2000;
    if (!isset($_SESSION["QUERY_YOUTUBE_LIMIT"])) {
        $_SESSION["QUERY_YOUTUBE_LIMIT"] = 250;
    }
    $boot->set_list("QUERY_YOUTUBE_CATE", "{category}", unserialize($_SESSION["QUERY_YOUTUBE_CATZ"]), $_SESSION["QUERY_YOUTUBE_CATE"]);
    $boot->set_list("QUERY_YOUTUBE_LIMIT", "{rows}", $LIMITS, $_SESSION["QUERY_YOUTUBE_LIMIT"]);
    $boot->set_button("{search}");
    $boot->set_CloseYahoo("YahooWin2");
    $boot->set_formdescription("{advanced_search_explain}");
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function daemon_settings()
{
    $t = time();
    $sock = new sockets();
    $ci = new cicap();
    $page = CurrentPageName();
    $CicapEnabled = $sock->GET_INFO("CicapEnabled");
    $EnableClamavInCiCap2 = $sock->GET_INFO("EnableClamavInCiCap2");
    if (!is_numeric($CicapEnabled)) {
        $CicapEnabled = 0;
    }
    $notifyVirHTTPServer = false;
    if ($ci->main_array["CONF"]["ViralatorMode"] == 1) {
        if (preg_match('#https://(.*?)/exec#', $ci->main_array["CONF"]["VirHTTPServer"], $re)) {
            if (trim($re[1]) == null) {
                $notifyVirHTTPServer = true;
            }
            if (trim($re[1]) == "127.0.0.1") {
                $notifyVirHTTPServer = true;
            }
            if (trim($re[1]) == "localhost") {
                $notifyVirHTTPServer = true;
            }
        }
    }
    if ($notifyVirHTTPServer == true) {
        $color = "color:red;font-weight:bolder";
    }
    for ($i = 1; $i < 13; $i++) {
        $f[$i] = $i;
    }
    $boot = new boostrap_form();
    $boot->set_spacertitle("{daemon_settings}");
    $boot->set_checkbox("CicapEnabled", "{enable}", $CicapEnabled, array("DISABLEALL" => true));
    //set_field($field_name,$caption,$value,$params=array()){
    $boot->set_field("Timeout", "{Timeout} ({seconds})", $ci->main_array["CONF"]["Timeout"], array("TOOLTIP" => "{Timeout_text}"));
    $boot->set_field("MaxKeepAliveRequests", "{MaxKeepAliveRequests}", $ci->main_array["CONF"]["Timeout"], array("TOOLTIP" => "{Timeout_text}"));
    $boot->set_field("KeepAliveTimeout", "{KeepAliveTimeout}", $ci->main_array["CONF"]["KeepAliveTimeout"], array("TOOLTIP" => "{KeepAliveTimeout_text}"));
    $boot->set_field("MaxServers", "{MaxServers}", $ci->main_array["CONF"]["MaxServers"], array("TOOLTIP" => "{MaxServers_text}"));
    $boot->set_field("MaxServers", "{MinSpareThreads}", $ci->main_array["CONF"]["MinSpareThreads"], array("TOOLTIP" => "{MinSpareThreads_text}"));
    $boot->set_field("MaxSpareThreads", "{MaxSpareThreads}", $ci->main_array["CONF"]["MaxSpareThreads"], array("TOOLTIP" => "{MaxSpareThreads_text}"));
    $boot->set_field("ThreadsPerChild", "{ThreadsPerChild}", $ci->main_array["CONF"]["ThreadsPerChild"], array("TOOLTIP" => "{ThreadsPerChild_text}"));
    $boot->set_field("MaxRequestsPerChild", "{MaxRequestsPerChild}", $ci->main_array["CONF"]["MaxRequestsPerChild"], array("TOOLTIP" => "{MaxRequestsPerChild_text}"));
    $boot->set_list("DebugLevel", "{debug_mode}", $f, $ci->main_array["CONF"]["DebugLevel"], array("TOOLTIP" => "{MaxRequestsPerChild_text}"));
    $boot->set_checkbox("ViralatorMode", "{ViralatorMode}", $ci->main_array["CONF"]["ViralatorMode"], array("TOOLTIP" => "{ViralatorMode_text}"));
    $boot->set_field("VirSaveDir", "{VirSaveDir}", $ci->main_array["CONF"]["VirSaveDir"], array("TOOLTIP" => "{VirSaveDir_text}"));
    $boot->set_field("VirHTTPServer", "{VirHTTPServer}", $ci->main_array["CONF"]["VirHTTPServer"], array("TOOLTIP" => "{VirHTTPServer_text}"));
    $boot->set_spacertitle("{cicap_title}");
    $boot->set_field("srv_clamav.SendPercentData", "{srv_clamav.SendPercentData} (MB)", $ci->main_array["CONF"]["srv_clamav.SendPercentData"], array("TOOLTIP" => "{srv_clamav.SendPercentData_text}"));
    $boot->set_field("srv_clamav.StartSendPercentDataAfter", "{srv_clamav.StartSendPercentDataAfter} (MB)", $ci->main_array["CONF"]["srv_clamav.StartSendPercentDataAfter"], array("TOOLTIP" => "{srv_clamav.StartSendPercentDataAfter_text}"));
    $boot->set_field("srv_clamav.MaxObjectSize", "{srv_clamav.MaxObjectSize} (MB)", $ci->main_array["CONF"]["srv_clamav.MaxObjectSize"], array("TOOLTIP" => "{srv_clamav.MaxObjectSize_text}"));
    $boot->set_field("srv_clamav.ClamAvMaxFilesInArchive", "{srv_clamav.ClamAvMaxFilesInArchive} {files}", $ci->main_array["CONF"]["srv_clamav.ClamAvMaxFilesInArchive"], array("TOOLTIP" => "{srv_clamav.ClamAvMaxFilesInArchive}"));
    $boot->set_field("srv_clamav.ClamAvMaxFileSizeInArchive", "{srv_clamav.ClamAvMaxFileSizeInArchive} (MB)", $ci->main_array["CONF"]["srv_clamav.ClamAvMaxFileSizeInArchive"], array("TOOLTIP" => "{srv_clamav.ClamAvMaxFileSizeInArchive}"));
    $boot->set_field("srv_clamav.ClamAvMaxRecLevel", "{srv_clamav.ClamAvMaxRecLevel} (MB)", $ci->main_array["CONF"]["srv_clamav.ClamAvMaxRecLevel"], array("TOOLTIP" => "{srv_clamav.ClamAvMaxRecLevel}"));
    $boot->set_formtitle("Antivirus");
    $boot->set_button("{apply}");
    $form = $boot->Compile();
    $html = "<table style=width:100%'>\n\t<tr>\n\t\t<td style='vertical-align:top;width:300px'>\n\t\t\t<div id='status-{$t}'></div>\n\t\t\t\n\t\t\t<div style='margin:10px;text-align:right'>" . imgtootltip("refresh-32.png", "{refresh}", "LoadAjax('status-{$t}','{$page}?status=yes')") . "</div>\n\t\t\t\n\t\t<td style='vertical-align:top;padding-left:10px'>{$form}</td>\n\t</tr>\n\t</table>\t\n\t<script>\n\t\tLoadAjax('status-{$t}','{$page}?status=yes')\n\t</script>\n\t\t";
    echo $html;
}