Example #1
0
function parameters()
{
    $users = new usersMenus();
    $sock = new sockets();
    $FailOverArtica = $sock->GET_INFO("FailOverArtica");
    if (!is_numeric($FailOverArtica)) {
        $FailOverArtica = 1;
    }
    $FailOverArticaParams = unserialize(base64_decode($sock->GET_INFO("FailOverArticaParams")));
    if (!is_numeric($FailOverArticaParams["squid-internal-mgr-info"])) {
        $FailOverArticaParams["squid-internal-mgr-info"] = 1;
    }
    if (!is_numeric($FailOverArticaParams["ExternalPageToCheck"])) {
        $FailOverArticaParams["ExternalPageToCheck"] = 1;
    }
    $boot = new boostrap_form();
    $boot->set_checkbox("FailOverArtica", "{FailOverArtica}", $FailOverArtica, array("TOOLTIP" => "{FailOverArtica_explain}", "DISABLEALL" => true));
    $boot->set_spacertitle("{APP_PROXY}");
    $boot->set_checkbox("squid-internal-mgr-info", "{failover_mgrinfo}", $FailOverArticaParams["squid-internal-mgr-info"], array("TOOLTIP" => "{failover_mgrinfo_explain}"));
    $boot->set_checkbox("ExternalPageToCheck", "{failover_ExternalPageToCheck}", $FailOverArticaParams["ExternalPageToCheck"], array("TOOLTIP" => "{failover_ExternalPageToCheck_explain}"));
    if (!$users->CORP_LICENSE) {
        $boot->set_form_locked();
    }
    echo $boot->Compile();
}
function virtip_popup()
{
    $boot = new boostrap_form();
    $sock = new sockets();
    $users = new usersMenus();
    $ldap = new clladp();
    $ID = $_GET["ID"];
    $title_button = "{add}";
    $nics = unserialize(base64_decode($sock->getFrameWork("cmd.php?list-nics=yes")));
    if ($_GET["ID"] > 0) {
        $sql = "SELECT * FROM nics_virtuals WHERE ID='{$ID}'";
        $q = new mysql();
        $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
        $title_button = "{apply}";
    }
    $ous = $ldap->hash_get_ou(true);
    $ous["openvpn_service"] = "{APP_OPENVPN}";
    while (list($num, $val) = each($nics)) {
        $nics_array[$val] = $val;
    }
    $nics_array[null] = "{select}";
    $ous[null] = "{select}";
    $boot->set_list("nic", "{nic}", $nics_array, $ligne["nic"]);
    $boot->set_list("org", "{organization}", $ous, $ligne["org"]);
    $boot->set_field("ipaddr", "{tcp_address}", $ligne["ipaddr"], array("IPV4" => true));
    $boot->set_field("netmask", "{netmask}", $ligne["netmask"], array("IPV4" => true));
    $boot->set_field("cdir", "CDIR", $ligne["cdir"], array("CDIR" => "ipaddr,netmask"));
    $boot->set_field("gateway", "{gateway}", $ligne["gateway"], array("IPV4" => true));
    $boot->set_field("metric", "{metric}", $ligne["metric"]);
    $boot->set_hidden("ID", $_GET["ID"]);
    $boot->set_checkbox("ForceGateway", "{ForceGateway}", $ligne["ForceGateway"]);
    if (!$users->AsSystemAdministrator) {
        $boot->set_form_locked();
    }
    if ($ID == 0) {
        $boot->set_CloseYahoo("YahooWin2");
    }
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
Example #3
0
function settings_retention()
{
    $page = CurrentPageName();
    $tpl = new templates();
    $sock = new sockets();
    $users = new usersMenus();
    if ($users->CORP_LICENSE) {
        $LICENSE = 1;
    } else {
        $LICENSE = 0;
    }
    $ArticaProxyStatisticsBackupFolder = $sock->GET_INFO("ArticaProxyStatisticsBackupFolder");
    $ArticaProxyStatisticsBackupDays = $sock->GET_INFO("ArticaProxyStatisticsBackupDays");
    $ArticaProxyStatisticsBackHourTables = $sock->GET_INFO("ArticaProxyStatisticsBackHourTables");
    if (!is_numeric($ArticaProxyStatisticsBackHourTables)) {
        $ArticaProxyStatisticsBackHourTables = 1;
    }
    if ($ArticaProxyStatisticsBackupFolder == null) {
        $ArticaProxyStatisticsBackupFolder = "/home/artica/squid/backup-statistics";
    }
    $q = new mysql_squid_builder();
    if (!is_numeric($ArticaProxyStatisticsBackupDays)) {
        $ArticaProxyStatisticsBackupDays = 90;
    }
    if (!$users->CORP_LICENSE) {
        $error = "<p class=text-error>{this_feature_is_disabled_corp_license}</p>";
        $ArticaProxyStatisticsBackupDays = 5;
    }
    $t = time();
    $new_schedule = $tpl->javascript_parse_text("{new_schedule}");
    $EnableSquidRemoteMySQL = $sock->GET_INFO("EnableSquidRemoteMySQL");
    if (!is_numeric($EnableSquidRemoteMySQL)) {
        $EnableSquidRemoteMySQL = 0;
    }
    if ($EnableSquidRemoteMySQL == 1) {
        $EnableSquidRemoteMySQL_text = "{EnableSquidRemoteMySQL_text}";
    }
    $lock = false;
    $boot = new boostrap_form();
    $boot->set_formdescription($EnableSquidRemoteMySQL_text . "<br>{purge_statistics_database_explain2}");
    $boot->set_checkbox("ArticaProxyStatisticsBackHourTables", "{backup_hourly_tables}", $ArticaProxyStatisticsBackHourTables, array("TOOLTIP" => "{backup_hourly_tables_explain}"));
    $boot->set_field("ArticaProxyStatisticsBackupFolder", "{backup_folder}", $ArticaProxyStatisticsBackupFolder, array("BROWSE" => true));
    $boot->set_field("ArticaProxyStatisticsBackupDays", "{max_days}", $ArticaProxyStatisticsBackupDays);
    $BackupSquidStatsUseNas = $sock->GET_INFO("BackupSquidStatsUseNas");
    $BackupSquidStatsNASIpaddr = $sock->GET_INFO("BackupSquidStatsNASIpaddr");
    $BackupSquidStatsNASFolder = $sock->GET_INFO("BackupSquidStatsNASFolder");
    $BackupSquidStatsNASUser = $sock->GET_INFO("BackupSquidStatsNASUser");
    $BackupSquidStatsNASPassword = $sock->GET_INFO("BackupSquidStatsNASPassword");
    $BackupSquidStatsNASRetry = $sock->GET_INFO("BackupSquidStatsNASRetry");
    if (!is_numeric($BackupSquidStatsUseNas)) {
        $BackupSquidStatsUseNas = 0;
    }
    if (!is_numeric($BackupSquidStatsNASRetry)) {
        $BackupSquidStatsNASRetry = 0;
    }
    $boot->set_spacertitle("{NAS_storage}");
    $boot->set_checkbox("BackupSquidStatsUseNas", "{use_remote_nas}", $BackupSquidStatsUseNas, array("TOOLTIP" => "{BackupSquidStatsUseNas_explain}", "LINK" => "BackupSquidStatsNASIpaddr,BackupSquidStatsNASFolder,BackupSquidStatsNASUser,BackupSquidStatsNASPassword"));
    $boot->set_field("BackupSquidStatsNASIpaddr", "{hostname}", $BackupSquidStatsNASIpaddr);
    $boot->set_field("BackupSquidStatsNASFolder", "{shared_folder}", $BackupSquidStatsNASFolder, array("ENCODE" => true));
    $boot->set_field("BackupSquidStatsNASUser", "{username}", $BackupSquidStatsNASUser, array("ENCODE" => true));
    $boot->set_fieldpassword("BackupSquidStatsNASPassword", "{password}", $BackupSquidStatsNASPassword, array("ENCODE" => true));
    $boot->set_checkbox("BackupSquidStatsNASRetry", "{retry}", $BackupSquidStatsNASRetry, array("TOOLTIP" => "{BackupSquidLogsNASRetry_explain}"));
    $boot->set_button("{apply}");
    $boot->set_formtitle("{purge_statistics_database}");
    if (!$users->CORP_LICENSE) {
        $boot->set_form_locked();
        $lock = true;
    }
    if ($EnableSquidRemoteMySQL == 1) {
        $boot->set_form_locked();
        $lock = true;
    }
    $new_schedule = $tpl->javascript_parse_text("{new_schedule}");
    if (!$lock) {
        $boot->set_Newbutton("{new_schedule}", "YahooWin3('650','squid.databases.schedules.php?AddNewSchedule-popup=yes&ID=0&t={$t}&ForceType=47&YahooWin=3&jsback=ReloadSchedules{$t}','{$new_schedule}')");
        $ReloadSchedules = "ReloadSchedules{$t}()";
    }
    $boot->set_Newbutton("{test_connection}", "Loadjs('{$page}?test-nas-js=yes')");
    $form = $boot->Compile();
    $html = "\n\n\t\t<div id='title-{$t}'></div>\n\t\t{$error}\n\t\t{$form}\n\t\t<div id='schedules-{$t}'></div>\n\n\t\t<script>\n\t\tfunction ReloadSchedules{$t}(){\n\t\tLoadAjax('schedules-{$t}','squid.artica.statistics.purge.php?schedules=yes');\n}\n\nfunction RefreshTableTitle{$t}(){\nLoadAjaxTiny('title-{$t}','squid.artica.statistics.purge.php?title=yes&t={$t}');\n}\nRefreshTableTitle{$t}();\n{$ReloadSchedules};\n</script>\n\n";
    echo $tpl->_ENGINE_parse_body($html);
}
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 settings()
{
    $page = CurrentPageName();
    $sock = new sockets();
    $boot = new boostrap_form();
    $sock = new sockets();
    $tpl = new templates();
    $EnableITChart = $sock->GET_INFO("EnableITChart");
    $ItChartFreeWeb = $sock->GET_INFO("ItChartFreeWeb");
    if (!is_numeric($EnableITChart)) {
        $EnableITChart = 0;
    }
    $q = new mysql_squid_builder();
    $q->CheckTables();
    $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT COUNT(*) as tcount FROM itcharters"));
    if ($ligne["tcount"] == 0) {
        echo "<p class=text-error>" . $tpl->_ENGINE_parse_body("{ERROR_NO_ITCHART_CREATED}") . "</p>";
    }
    $boot->set_formtitle("{IT_charter}");
    $boot->set_formdescription("{IT_charter_explain}<br>{IT_charter_explain2}");
    $boot->set_checkbox("EnableITChart", "{enable_it_charter}", $EnableITChart);
    $sql = "SELECT servername,UseSSL FROM freeweb WHERE groupware='ERRSQUID'";
    $me = $_SERVER["SERVER_ADDR"] . ":" . $_SERVER["SERVER_PORT"];
    $q = new mysql();
    $results = $q->QUERY_SQL($sql, "artica_backup");
    if (!$q->ok) {
        echo "<p class=text-error>{$q->mysql_error}</p>";
    }
    $hash[$me] = $me;
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $servername = $ligne["servername"];
        if ($ligne["UseSSL"] == 1) {
            $servername = $servername . ":443";
        }
        $hash[$servername] = $servername;
    }
    if ($ItChartFreeWeb == null) {
        $sock->SET_INFO("ItChartFreeWeb", $me);
    }
    $boot->set_list("ItChartFreeWeb", "{webserver}", $hash, $ItChartFreeWeb);
    $users = new usersMenus();
    if (!$users->AsDansGuardianAdministrator) {
        $boot->set_form_locked();
    }
    echo $boot->Compile();
}
function parameters()
{
    $users = new usersMenus();
    $sock = new sockets();
    $boot = new boostrap_form();
    $boot->set_formtitle("{logs_retention}");
    $boot->set_formdescription("{squid_logs_retention_explain}");
    $BackupMaxDays = $sock->GET_INFO("BackupMaxDays");
    $BackupMaxDaysDir = $sock->GET_INFO("BackupMaxDaysDir");
    if ($BackupMaxDaysDir == null) {
        $BackupMaxDaysDir = "/home/logrotate_backup";
    }
    $BackupSquidLogsUseNas = $sock->GET_INFO("BackupSquidLogsUseNas");
    $BackupSquidLogsNASIpaddr = $sock->GET_INFO("BackupSquidLogsNASIpaddr");
    $BackupSquidLogsNASFolder = $sock->GET_INFO("BackupSquidLogsNASFolder");
    $BackupSquidLogsNASUser = $sock->GET_INFO("BackupSquidLogsNASUser");
    $BackupSquidLogsNASPassword = $sock->GET_INFO("BackupSquidLogsNASPassword");
    if (!is_numeric($BackupSquidLogsUseNas)) {
        $BackupSquidLogsUseNas = 0;
    }
    if (!is_numeric($BackupMaxDays)) {
        $BackupMaxDays = 30;
    }
    $MySQLSyslogType = $sock->GET_INFO("MySQLSyslogType");
    if (!is_numeric($MySQLSyslogType)) {
        $MySQLSyslogType = 1;
    }
    $boot->set_field("BackupMaxDays", "{max_day_in_database}", $BackupMaxDays, array("TOOLTIP" => "{syslog_max_day_in_database_explain}"));
    $boot->set_field("BackupMaxDaysDir", "{backup_folder}", $BackupMaxDaysDir, array("BROWSE" => true, "TOOLTIP" => "{syslog_backup_folder_explain}"));
    $boot->set_spacertitle("{NAS_storage}");
    $boot->set_checkbox("BackupSquidLogsUseNas", "{use_remote_nas}", $BackupSquidLogsUseNas, array("TOOLTIP" => "{BackupSquidLogsUseNas_explain}", "LINK" => "BackupSquidLogsNASIpaddr,BackupSquidLogsNASFolder,BackupSquidLogsNASUser,BackupSquidLogsNASPassword"));
    $boot->set_field("BackupSquidLogsNASIpaddr", "{hostname}", $BackupSquidLogsNASIpaddr);
    $boot->set_field("BackupSquidLogsNASFolder", "{shared_folder}", $BackupSquidLogsNASFolder, array("ENCODE" => true));
    $boot->set_field("BackupSquidLogsNASUser", "{username}", $BackupSquidLogsNASUser, array("ENCODE" => true));
    $boot->set_fieldpassword("BackupSquidLogsNASPassword", "{password}", $BackupSquidLogsNASPassword, array("ENCODE" => true));
    $boot->set_button("{apply}");
    if ($MySQLSyslogType != 1) {
        $boot->set_spacerexplain("{MySQLSyslogTypediff_explain}");
        $boot->set_form_locked();
    }
    if (!$users->AsSquidAdministrator) {
        $boot->set_form_locked();
    }
    $t = time();
    $page = CurrentPageName();
    echo $boot->Compile() . "<hr>\n\t<div id='{$t}'></div>\n\t<script>\n\t\tLoadAjax('{$t}','{$page}?mysql-syslogs-status=yes');\n\t</script>\t\t\n\t";
}
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;
}
function engine_params()
{
    $page = CurrentPageName();
    $tpl = new templates();
    $sock = new sockets();
    $LogRotatePath = $sock->GET_INFO("LogRotatePath");
    $SystemLogsPath = $sock->GET_INFO("SystemLogsPath");
    $BackupMaxDays = $sock->GET_INFO("BackupMaxDays");
    $BackupMaxDaysDir = $sock->GET_INFO("BackupMaxDaysDir");
    $LogsRotateDeleteSize = $sock->GET_INFO("LogsRotateDeleteSize");
    $LogsRotateDefaultSizeRotation = $sock->GET_INFO("LogsRotateDefaultSizeRotation");
    if (!is_numeric($LogsRotateDefaultSizeRotation)) {
        $LogsRotateDefaultSizeRotation = 100;
    }
    $MySQLSyslogType = $sock->GET_INFO("MySQLSyslogType");
    if (!is_numeric($MySQLSyslogType)) {
        $MySQLSyslogType = 1;
    }
    if ($SystemLogsPath == null) {
        $SystemLogsPath = "/var/log";
    }
    if (!is_numeric($BackupMaxDays)) {
        $BackupMaxDays = 30;
    }
    $BackupSquidLogsUseNas = $sock->GET_INFO("BackupSquidLogsUseNas");
    $BackupSquidLogsNASIpaddr = $sock->GET_INFO("BackupSquidLogsNASIpaddr");
    $BackupSquidLogsNASFolder = $sock->GET_INFO("BackupSquidLogsNASFolder");
    $BackupSquidLogsNASUser = $sock->GET_INFO("BackupSquidLogsNASUser");
    $BackupSquidLogsNASPassword = $sock->GET_INFO("BackupSquidLogsNASPassword");
    if (!is_numeric($BackupSquidLogsUseNas)) {
        $BackupSquidLogsUseNas = 0;
    }
    $BackupSquidLogsNASRetry = $sock->GET_INFO("BackupSquidLogsNASRetry");
    if (!is_numeric($BackupSquidLogsNASRetry)) {
        $BackupSquidLogsNASRetry = 0;
    }
    if ($LogRotatePath == null) {
        $LogRotatePath = "/home/logrotate";
    }
    if ($BackupMaxDaysDir == null) {
        $BackupMaxDaysDir = "/home/logrotate_backup";
    }
    if (!is_numeric($LogsRotateDeleteSize)) {
        $LogsRotateDeleteSize = 5000;
    }
    $boot = new boostrap_form();
    $boot->set_field("LogsRotateDeleteSize", "{delete_if_file_exceed} (MB)", $LogsRotateDeleteSize);
    $boot->set_field("LogsRotateDefaultSizeRotation", "{default_size_for_rotation} (MB)", $LogsRotateDefaultSizeRotation);
    $boot->set_field("SystemLogsPath", "{system_logs_path}", $SystemLogsPath, array("BROWSE" => true));
    $boot->set_spacertitle("{storage}");
    if ($MySQLSyslogType == 1) {
        $boot->set_field("storage_files_path", "{storage_files_path}", $LogRotatePath, array("BROWSE" => true, "TOOLTIP" => "{LogRotatePath_explain}"));
        $boot->set_field("BackupMaxDays", "{max_day_in_database}", $BackupMaxDays);
        $boot->set_field("BackupMaxDaysDir", "{backup_folder}", $BackupMaxDaysDir, array("BROWSE" => true, "TOOLTIP" => "{BackupMaxDaysDir_explain}"));
        $boot->set_spacertitle("{NAS_storage}");
        $boot->set_checkbox("BackupSquidLogsUseNas", "{use_remote_nas}", $BackupSquidLogsUseNas, array("TOOLTIP" => "{BackupSquidLogsUseNas_explain}", "LINK" => "BackupSquidLogsNASIpaddr,BackupSquidLogsNASFolder,BackupSquidLogsNASUser,BackupSquidLogsNASPassword"));
        $boot->set_checkbox("BackupSquidLogsNASRetry", "{retry}", $BackupSquidLogsNASRetry, array("TOOLTIP" => "{BackupSquidLogsNASRetry_explain}"));
        $boot->set_field("BackupSquidLogsNASIpaddr", "{hostname}", $BackupSquidLogsNASIpaddr);
        $boot->set_field("BackupSquidLogsNASFolder", "{shared_folder}", $BackupSquidLogsNASFolder, array("ENCODE" => true));
        $boot->set_field("BackupSquidLogsNASUser", "{username}", $BackupSquidLogsNASUser, array("ENCODE" => true));
        $boot->set_fieldpassword("BackupSquidLogsNASPassword", "{password}", $BackupSquidLogsNASPassword, array("ENCODE" => true));
    } else {
        $boot->set_spacerexplain("{syslogs_store_use_remote}");
    }
    $boot->set_Newbutton("{test_connection}", "Loadjs('miniadm.system.syslogstore.php?test-nas-js=yes')");
    echo $boot->Compile() . "<hr style='margin-bottom:10px'>";
}
function add_www_import()
{
    $boot = new boostrap_form();
    $boot->set_formdescription("{free_catgorized_explain}");
    $boot->set_hidden("category", $_GET["category"]);
    $boot->set_checkbox("ForceCat", "{force}", 0, array("TOOLTIP" => "{free_cat_force_explain}"));
    $boot->set_textarea("categorize", "{items}", null, array("HEIGHT" => 250));
    $boot->set_button("{add}");
    $boot->set_RefreshSearchs();
    $boot->set_RefreshSearchsForced();
    echo $boot->Compile();
}
Example #10
0
function settings()
{
    $tpl = new templates();
    $page = CurrentPageName();
    $sock = new sockets();
    $t = time();
    $EnablePDNS = $sock->GET_INFO("EnablePDNS");
    $PDNSRestartIfUpToMB = $sock->GET_INFO("PDNSRestartIfUpToMB");
    $DisablePowerDnsManagement = $sock->GET_INFO("DisablePowerDnsManagement");
    $EnablePDNS = $sock->GET_INFO("EnablePDNS");
    $PowerUseGreenSQL = $sock->GET_INFO("PowerUseGreenSQL");
    $PowerDisableDisplayVersion = $sock->GET_INFO("PowerDisableDisplayVersion");
    $PowerActHasMaster = $sock->GET_INFO("PowerActHasMaster");
    $PowerDNSDNSSEC = $sock->GET_INFO("PowerDNSDNSSEC");
    $PowerDNSDisableLDAP = $sock->GET_INFO("PowerDNSDisableLDAP");
    $PowerChroot = $sock->GET_INFO("PowerChroot");
    $PowerActAsSlave = $sock->GET_INFO("PowerActAsSlave");
    $PowerDNSLogLevel = $sock->GET_INFO("PowerDNSLogLevel");
    $PowerSkipCname = $sock->GET_INFO("PowerSkipCname");
    if (!is_numeric($EnablePDNS)) {
        $EnablePDNS = 0;
    }
    $PowerDNSMySQLEngine = 1;
    if (!is_numeric($PowerActHasMaster)) {
        $PowerActHasMaster = 0;
    }
    if (!is_numeric($PDNSRestartIfUpToMB)) {
        $PDNSRestartIfUpToMB = 700;
    }
    if (!is_numeric($DisablePowerDnsManagement)) {
        $DisablePowerDnsManagement = 0;
    }
    if (!is_numeric($PowerUseGreenSQL)) {
        $PowerUseGreenSQL = 0;
    }
    if (!is_numeric($PowerDisableDisplayVersion)) {
        $PowerDisableDisplayVersion = 0;
    }
    if (!is_numeric($PowerDNSDNSSEC)) {
        $PowerDNSDNSSEC = 0;
    }
    if (!is_numeric($PowerDNSDisableLDAP)) {
        $PowerDNSDisableLDAP = 1;
    }
    if (!is_numeric($PowerChroot)) {
        $PowerChroot = 0;
    }
    if (!is_numeric($PowerActAsSlave)) {
        $PowerActAsSlave = 0;
    }
    if (!is_numeric($PowerDNSLogLevel)) {
        $PowerDNSLogLevel = 1;
    }
    if (!is_numeric($PowerSkipCname)) {
        $PowerSkipCname = 0;
    }
    $PowerDNSMySQLType = $sock->GET_INFO("PowerDNSMySQLType");
    $PowerDNSMySQLRemoteServer = $sock->GET_INFO("PowerDNSMySQLRemoteServer");
    $PowerDNSMySQLRemotePort = $sock->GET_INFO("PowerDNSMySQLRemotePort");
    $PowerDNSMySQLRemoteAdmin = $sock->GET_INFO("PowerDNSMySQLRemoteAdmin");
    $PowerDNSMySQLRemotePassw = $sock->GET_INFO("PowerDNSMySQLRemotePassw");
    if (!is_numeric($PowerDNSMySQLType)) {
        $PowerDNSMySQLType = 1;
    }
    if (!is_numeric($PowerDNSMySQLRemotePort)) {
        $PowerDNSMySQLRemotePort = 3306;
    }
    $PowerDNSMySQLTypeA[1] = "{main_mysql_server_2}";
    $PowerDNSMySQLTypeA[2] = "{main_mysql_server_4}";
    $PowerDNSMySQLTypeA[3] = "{main_mysql_server_5}";
    for ($i = 0; $i < 10; $i++) {
        $loglevels[$i] = $i;
    }
    $boot = new boostrap_form();
    $boot->set_checkbox("EnablePDNS", "{EnablePDNS}", $EnablePDNS, array("ONDISABLE" => "{EnablePDNS_disable_text}"));
    $boot->set_checkbox("DisablePowerDnsManagement", "{DisablePowerDnsManagement}", $DisablePowerDnsManagement);
    $boot->set_checkbox("PowerActHasMaster", "{ActHasMaster}", $PowerActHasMaster);
    $boot->set_checkbox("PowerActAsSlave", "{ActHasSlave}", $PowerActAsSlave);
    $boot->set_checkbox("PowerDNSDNSSEC", "DNSSEC", $PowerDNSDNSSEC);
    $boot->set_checkbox("PowerUseGreenSQL", "{useGreenSQL}", $PowerUseGreenSQL);
    $boot->set_checkbox("PowerDisableDisplayVersion", "{DisableDisplayVersion}", $PowerDisableDisplayVersion);
    $boot->set_checkbox("PowerChroot", "{chroot}", $PowerChroot);
    $boot->set_list("PowerDNSLogLevel", "{log level}", $loglevels, $PowerDNSLogLevel);
    $boot->set_field("PDNSRestartIfUpToMB", "{RestartServiceifReachMb}", $PDNSRestartIfUpToMB);
    $boot->set_list("PowerDNSMySQLType", "{mysql_database}", $PowerDNSMySQLTypeA, $PowerDNSMySQLType);
    $boot->set_field("PowerDNSMySQLRemoteServer", "{remote_mysql_server}", $PowerDNSMySQLRemoteServer);
    $boot->set_field("PowerDNSMySQLRemotePort", "{mysql_server_port}", $PowerDNSMySQLRemotePort);
    $boot->set_field("PowerDNSMySQLRemoteAdmin", "{mysql_admin}", $PowerDNSMySQLRemoteAdmin);
    $boot->set_fieldpassword("PowerDNSMySQLRemotePassw", "{password}", $PowerDNSMySQLRemotePassw);
    $boot->set_button("{apply}");
    $boot->setAjaxPage("pdns.php");
    $boot->set_PROTO("GET");
    echo $tpl->_ENGINE_parse_body("<div class=text-info>{pdns_explain}</div>") . $boot->Compile();
}
function failover()
{
    //this_feature_is_disabled_corp_license
    $users = new usersMenus();
    $boot = new boostrap_form();
    $tpl = new templates();
    $t = time();
    $page = CurrentPageName();
    $sock = new sockets();
    $eth = $_GET["nic"];
    $nic = new system_nic($eth);
    for ($i = 1; $i < 256; $i++) {
        $ucarp_vids[$i] = $i;
    }
    $boot->set_hidden("save_nic", $eth);
    $array = unserialize(base64_decode($sock->getFrameWork("system.php?ucarp-status={$eth}")));
    if (!isset($array["PID"])) {
        $boot->set_formdescription("{status}:{stopped}");
        $boot->set_Newbutton("{start}", "Start{$t}()");
    } else {
        $boot->set_Newbutton("{stop}", "Stop{$t}()");
        $boot->set_formdescription("{status}:{running} PID:{$array["PID"]} {since} {$array["TIME"]}Mn");
    }
    $XHR = array();
    $XHR["start-vip"] = "yes";
    $boot->set_AddScript("Start{$t}", array("XHR" => $XHR));
    $XHR = array();
    $XHR["stop-vip"] = "yes";
    $boot->set_AddScript("Stop{$t}", array("XHR" => $XHR));
    $boot->set_checkbox("ucarp_enabled", "{enabled}", $nic->ucarp_enabled, array("DISABLEALL" => true));
    $boot->set_checkbox("ucarp_master", "{isamaster}", $nic->ucarp_master, array("TOOLTIP" => "{ucarp_master_explain}"));
    $boot->set_list("ucarp_vid", "{ucarp-vid}", $ucarp_vids, $nic->ucarp_vid);
    $boot->set_field("ucarp_vip", "{ucarp-vip}", $nic->ucarp_vip, array("MANDATORY" => true, "IPV4" => true, "TOOLTIP" => "{ucarp_vip_explain}"));
    $boot->set_list("ucarp_advskew", "{ucarp-advskew}", $ucarp_vids, $nic->ucarp_advskew);
    $boot->set_field("ucarp_advbase", "{interval} ({seconds})", $nic->ucarp_advbase, array("MANDATORY" => true));
    $boot->set_button("{apply}");
    $boot->set_RefreshSearchs();
    if (!$users->AsSystemAdministrator) {
        $boot->set_form_locked();
    }
    if (!$users->CORP_LICENSE) {
        $error = "<p class=text-error>{this_feature_is_disabled_corp_license}</p>";
        $boot->set_form_locked();
    }
    $form = $boot->Compile();
    $tpl = new templates();
    echo $tpl->_ENGINE_parse_body($error . $form);
}
function activedirectory()
{
    $page = CurrentPageName();
    $tpl = new templates();
    echo "<p class=text-error>Under Construction</p>";
    $page = CurrentPageName();
    $tpl = new templates();
    $users = new usersMenus();
    $active = new ActiveDirectory();
    $sock = new sockets();
    $severtype["WIN_2003"] = "Windows 2003";
    $severtype["WIN_2008AES"] = "Windows 2008 with AES";
    $samba_version = $sock->getFrameWork("samba.php?fullversion=yes");
    $ldap_parameters = $tpl->_ENGINE_parse_body("{ldap_parameters2}");
    $about_this_section = $tpl->_ENGINE_parse_body("{about_this_section}");
    $schedule_parameters = $tpl->javascript_parse_text("{schedule_parameters}");
    $disconnect = $tpl->_ENGINE_parse_body("{disconnect}");
    $samba36 = 0;
    if (preg_match("#^3\\.6\\.#", $samba_version)) {
        $samba36 = 1;
    }
    $array = unserialize(base64_decode($sock->GET_INFO("KerbAuthInfos")));
    $configADSamba = unserialize(base64_decode($sock->GET_INFO("SambaAdInfos")));
    $EnableKerbAuth = $sock->GET_INFO("EnableKerbAuth");
    $EnableKerberosAuthentication = $sock->GET_INFO("EnableKerberosAuthentication");
    $LockKerberosAuthentication = $sock->GET_INFO("LockKerberosAuthentication");
    $KerbAuthDisableNsswitch = $sock->GET_INFO("KerbAuthDisableNsswitch");
    $KerbAuthDisableGroupListing = $sock->GET_INFO("KerbAuthDisableGroupListing");
    $KerbAuthDisableNormalizeName = $sock->GET_INFO("KerbAuthDisableNormalizeName");
    $KerbAuthMapUntrustedDomain = $sock->GET_INFO("KerbAuthMapUntrustedDomain");
    $KerbAuthMethod = $sock->GET_INFO("KerbAuthMethod");
    $NtpdateAD = $sock->GET_INFO("NtpdateAD");
    $arrayAuth[0] = "{all_methods}";
    $arrayAuth[1] = "{only_ntlm}";
    $arrayAuth[2] = "{only_basic_authentication}";
    $NTPDATE_INSTALLED = 0;
    if ($users->NTPDATE) {
        $NTPDATE_INSTALLED = 1;
    }
    $KerbAuthTrusted = $sock->GET_INFO("KerbAuthTrusted");
    $EnableWebProxyStatsAppliance = $sock->GET_INFO("EnableWebProxyStatsAppliance");
    $EnableRemoteStatisticsAppliance = $sock->GET_INFO("EnableRemoteStatisticsAppliance");
    if (!is_numeric($EnableWebProxyStatsAppliance)) {
        $EnableWebProxyStatsAppliance = 0;
    }
    if ($users->WEBSTATS_APPLIANCE) {
        $EnableWebProxyStatsAppliance = 1;
    }
    if (!is_numeric($KerbAuthMethod)) {
        $KerbAuthMethod = 0;
    }
    if (!is_numeric($KerbAuthTrusted)) {
        $KerbAuthTrusted = 1;
    }
    if (!is_numeric($KerbAuthDisableNsswitch)) {
        $KerbAuthDisableNsswitch = 0;
    }
    if (!is_numeric($KerbAuthDisableGroupListing)) {
        $KerbAuthDisableGroupListing = 0;
    }
    if (!is_numeric($KerbAuthDisableNormalizeName)) {
        $KerbAuthDisableNormalizeName = 1;
    }
    if (!is_numeric($KerbAuthMapUntrustedDomain)) {
        $KerbAuthMapUntrustedDomain = 1;
    }
    if (!is_numeric($NtpdateAD)) {
        $NtpdateAD = 0;
    }
    if (!is_numeric("{$EnableKerbAuth}")) {
        $EnableKerbAuth = 0;
    }
    if (!is_numeric("{$EnableKerberosAuthentication}")) {
        $EnableKerberosAuthentication = 0;
    }
    if (!is_numeric("{$LockKerberosAuthentication}")) {
        $LockKerberosAuthentication = 1;
    }
    if (!is_numeric($EnableRemoteStatisticsAppliance)) {
        $EnableRemoteStatisticsAppliance = 0;
    }
    $samba_installed = 1;
    if (!$users->SAMBA_INSTALLED) {
        $samba_installed = 0;
    }
    if (!isset($array["SAMBA_BACKEND"])) {
        $array["SAMBA_BACKEND"] = "tdb";
    }
    if (!isset($array["COMPUTER_BRANCH"])) {
        $array["COMPUTER_BRANCH"] = "CN=Computers";
    }
    if ($array["COMPUTER_BRANCH"] == null) {
        $array["COMPUTER_BRANCH"] = "CN=Computers";
    }
    if ($samba36 == 1) {
        $arrayBCK["autorid"] = "autorid";
    }
    $arrayBCK["ad"] = "ad";
    $arrayBCK["rid"] = "rid";
    $arrayBCK["tdb"] = "tdb";
    if ($LockKerberosAuthentication == 1) {
        $EnableKerberosAuthentication = 0;
    }
    $char_alert_error = $tpl->javascript_parse_text("{char_alert_error}");
    $UseDynamicGroupsAcls = $sock->GET_INFO("UseDynamicGroupsAcls");
    if (!is_numeric($UseDynamicGroupsAcls)) {
        $UseDynamicGroupsAcls = 0;
    }
    $DynamicGroupsAclsTTL = $sock->GET_INFO("DynamicGroupsAclsTTL");
    if (!is_numeric($UseDynamicGroupsAcls)) {
        $UseDynamicGroupsAcls = 0;
    }
    if (!is_numeric($DynamicGroupsAclsTTL)) {
        $DynamicGroupsAclsTTL = 3600;
    }
    if ($DynamicGroupsAclsTTL < 5) {
        $DynamicGroupsAclsTTL = 5;
    }
    $arrayLDAP = unserialize(base64_decode($sock->GET_INFO("KerbAuthInfos")));
    $t = time();
    if ($arrayLDAP["LDAP_DN"] == null) {
        $arrayLDAP["LDAP_DN"] = $active->ldap_dn_user;
    }
    if ($arrayLDAP["LDAP_SUFFIX"] == null) {
        $arrayLDAP["LDAP_SUFFIX"] = $active->suffix;
    }
    if ($arrayLDAP["LDAP_SERVER"] == null) {
        $arrayLDAP["LDAP_SERVER"] = $active->ldap_host;
    }
    if ($arrayLDAP["LDAP_PORT"] == null) {
        $arrayLDAP["LDAP_PORT"] = $active->ldap_port;
    }
    if ($arrayLDAP["LDAP_PASSWORD"] == null) {
        $arrayLDAP["LDAP_PASSWORD"] = $active->ldap_password;
    }
    if (!is_numeric($array["LDAP_RECURSIVE"])) {
        $arrayLDAP["LDAP_RECURSIVE"] = 0;
    }
    if (!is_numeric($array["LDAP_PORT"])) {
        $array["LDAP_PORT"] = 389;
    }
    $boot = new boostrap_form();
    $boot->set_checkbox("EnableKerbAuth", "{EnableWindowsAuthentication}", $EnableKerbAuth, array("DISABLEALL" => true));
    $boot->set_checkbox("KerbAuthDisableNsswitch", "{KerbAuthDisableNsswitch}", $KerbAuthDisableNsswitch);
    $boot->set_checkbox("KerbAuthTrusted", "{KerbAuthTrusted}", $KerbAuthTrusted);
    $boot->set_checkbox("KerbAuthDisableGroupListing", "{KerbAuthDisableGroupListing}", $KerbAuthDisableGroupListing);
    $boot->set_checkbox("KerbAuthDisableNormalizeName", "{KerbAuthDisableNormalizeName}", $KerbAuthDisableNormalizeName);
    $boot->set_checkbox("KerbAuthMapUntrustedDomain", "{map_untrusted_to_domain}", $KerbAuthMapUntrustedDomain);
    $boot->set_checkbox("NtpdateAD", "{synchronize_time_with_ad}", $NtpdateAD);
    //$boot->set_checkbox("EnableKerberosAuthentication", "{authenticate_from_kerberos}",$EnableKerberosAuthentication);
    $boot->set_field("WINDOWS_DNS_SUFFIX", "{WINDOWS_DNS_SUFFIX}", $array["WINDOWS_DNS_SUFFIX"]);
    $boot->set_field("WINDOWS_SERVER_NETBIOSNAME", "{WINDOWS_SERVER_NETBIOSNAME}", $array["WINDOWS_SERVER_NETBIOSNAME"]);
    $boot->set_field("ADNETBIOSDOMAIN", "{ADNETBIOSDOMAIN}", $array["ADNETBIOSDOMAIN"], array("TOOLTIP" => "{howto_ADNETBIOSDOMAIN}"));
    $boot->set_field("ADNETIPADDR", "{ADNETIPADDR}", $array["ADNETIPADDR"], array("TOOLTIP" => "{howto_ADNETIPADDR}"));
    $boot->set_field("LDAP_PORT", "{ldap_port}", $array["LDAP_PORT"]);
    $boot->set_list("WINDOWS_SERVER_TYPE", "{WINDOWS_SERVER_TYPE}", $severtype, $array["WINDOWS_SERVER_TYPE"]);
    $boot->set_field("COMPUTER_BRANCH", "{COMPUTERS_BRANCH}", $array["COMPUTER_BRANCH"]);
    $boot->set_list("SAMBA_BACKEND", "{database_backend}", $arrayBCK, $array["SAMBA_BACKEND"]);
    $boot->set_field("WINDOWS_SERVER_ADMIN", "{administrator}", $array["WINDOWS_SERVER_ADMIN"]);
    $boot->set_fieldpassword("WINDOWS_SERVER_PASS", "{password}", $array["WINDOWS_SERVER_PASS"], array("ENCODE" => true, "SPECIALSCHARS" => true));
    echo $boot->Compile();
}
function wizard_popup()
{
    $boot = new boostrap_form();
    $tpl = new templates();
    $ID = $_GET["ID"];
    $sock = new sockets();
    $ApacheDisableModDavFS = $sock->GET_INFO("ApacheDisableModDavFS");
    if (!is_numeric($ApacheDisableModDavFS)) {
        $ApacheDisableModDavFS = 0;
    }
    $users = new usersMenus();
    $q = new mysql();
    $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT maxsize FROM storage_containers WHERE `groupid`='" . mysql_escape_string2($_GET["gpid"]) . "'", "artica_backup"));
    $maxsize = $ligne["maxsize"];
    if ($maxsize == 0) {
        $maxsizeText = $tpl->_ENGINE_parse_body("{unlimited} ");
    } else {
        $maxsizeText = $maxsize;
    }
    if ($maxsize > 0) {
        if ($ID == 0) {
            $uidenc = mysql_escape_string2($_SESSION["uid"]);
            $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT SUM(container_size) as tSize FROM users_containers WHERE `uid`='{$uidenc}'", "artica_backup"));
            $tSize = $ligne["tSize"];
            if ($tSize >= $maxsize) {
                senderror("{error_quota_exceed}");
            }
        }
    }
    $ligne = array();
    if ($ID > 0) {
        $q = new mysql();
        $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM users_containers WHERE `container_id`='{$ID}'", "artica_backup"));
        $boot->set_formtitle("{$ligne["container_name"]} ({$ligne["container_size"]}MB)");
    }
    if ($ligne["container_name"] == null) {
        $ligne["container_name"] = $tpl->_ENGINE_parse_body("{new_container}");
    }
    if ($maxsize > 0) {
        if (!is_numeric($ligne["container_size"])) {
            $ligne["container_size"] = $maxsize;
        }
    }
    $new_container_user_explain = $tpl->_ENGINE_parse_body("{new_container_user_explain}");
    $new_container_user_explain = str_replace("%S", $maxsize, $new_container_user_explain);
    if ($ID == 0) {
        $boot->set_formdescription($new_container_user_explain);
    }
    $boot->set_hidden("gpid", $_GET["gpid"]);
    $boot->set_hidden("ID", $_GET["ID"]);
    $boot->set_field("container_name", "{container_name}", $ligne["container_name"], array("ENCODE" => true));
    if ($ID == 0) {
        $boot->set_field("container_size", "{container_size}", $ligne["container_size"], array("TOOLTIP" => "{container_size_explain}"));
    } else {
        $boot->set_hidden("container_size", $ligne["container_size"]);
    }
    $webdav_creds = unserialize(base64_decode($ligne["webdav_creds"]));
    if ($webdav_creds["username"] == null) {
        $webdav_creds["username"] = $_SESSION["uid"];
    }
    if ($ApacheDisableModDavFS == 0) {
        $boot->set_checkbox("webdav", "{http_sharing}", $ligne["webdav"], array("TOOLTIP" => "{container_http_sharing_explain}"));
    }
    if ($users->ISCSI_INSTALLED) {
        if (!is_numeric($ligne["iscsid"])) {
            $ligne["iscsid"] = 0;
        }
        $boot->set_checkbox("iscsid", "{network_disk}", $ligne["iscsid"], array("TOOLTIP" => "{container_iscsid_sharing_explain}"));
    }
    $lengthpass = strlen($webdav_creds["password"]);
    $boot->set_field("webdav_username", "{username}", $webdav_creds["username"], array("ENCODED" => true));
    $boot->set_fieldpassword("webdav_password", "{password} ({$lengthpass} chars)", $webdav_creds["password"], array("ENCODED" => true));
    if ($ID == 0) {
        $boot->set_button("{create}");
    } else {
        $boot->set_button("{apply}");
    }
    $boot->set_RefreshSearchs();
    $boot->set_RefreshSearchsForced();
    echo $boot->Compile();
}
function certificate_edit_settings()
{
    $commonName = $_GET["CommonName"];
    $q = new mysql();
    $db = file_get_contents(dirname(__FILE__) . '/ressources/databases/ISO-3166-Codes-Countries.txt');
    $tbl = explode("\n", $db);
    while (list($num, $ligne) = each($tbl)) {
        if (preg_match('#(.+?);\\s+([A-Z]{1,2})#', $ligne, $regs)) {
            $regs[2] = trim($regs[2]);
            $regs[1] = trim($regs[1]);
            $array_country_codes["{$regs[1]}_{$regs[2]}"] = $regs[1];
        }
    }
    $ENC[1024] = 1024;
    $ENC[2048] = 2048;
    $ENC[4096] = 4096;
    if (!$q->FIELD_EXISTS("sslcertificates", "UsePrivKeyCrt", "artica_backup")) {
        $sql = "ALTER TABLE `sslcertificates` ADD `UsePrivKeyCrt` smallint(1) DEFAULT 0";
        $q->QUERY_SQL($sql, 'artica_backup');
    }
    $sql = "SELECT * FROM sslcertificates WHERE CommonName='{$commonName}'";
    $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
    if ($ligne["CountryName"] == null) {
        $ligne["CountryName"] = "UNITED STATES_US";
    }
    if ($ligne["stateOrProvinceName"] == null) {
        $ligne["stateOrProvinceName"] = "New York";
    }
    if ($ligne["localityName"] == null) {
        $ligne["localityName"] = "Brooklyn";
    }
    if ($ligne["emailAddress"] == null) {
        $ligne["emailAddress"] = "*****@*****.**";
    }
    if ($ligne["OrganizationName"] == null) {
        $ligne["OrganizationName"] = "MyCompany Ltd";
    }
    if ($ligne["OrganizationalUnit"] == null) {
        $ligne["OrganizationalUnit"] = "IT service";
    }
    if (!is_numeric($ligne["CertificateMaxDays"])) {
        $ligne["CertificateMaxDays"] = 730;
    }
    if (!is_numeric($ligne["levelenc"])) {
        $ligne["levelenc"] = 1024;
    }
    $boot = new boostrap_form();
    $boot->set_formtitle($commonName);
    $boot->set_hidden("CommonName", $commonName);
    $boot->set_checkbox("UsePrivKeyCrt", "{UsePrivKeyCrt}", $ligne["UsePrivKeyCrt"]);
    $boot->set_list("CountryName", "{countryName}", $array_country_codes, $ligne["CountryName"]);
    $boot->set_field("stateOrProvinceName", "{stateOrProvinceName}", $ligne["stateOrProvinceName"]);
    $boot->set_field("localityName", "{localityName}", $ligne["localityName"]);
    $boot->set_field("OrganizationName", "{organizationName}", $ligne["OrganizationName"]);
    $boot->set_field("OrganizationalUnit", "{organizationalUnitName}", $ligne["OrganizationalUnit"]);
    $boot->set_field("emailAddress", "{emailAddress}", $ligne["emailAddress"]);
    $boot->set_field("CertificateMaxDays", "{CertificateMaxDays} ({days})", $ligne["CertificateMaxDays"]);
    $boot->set_list("levelenc", "{level_encryption}", $ENC, $ligne["levelenc"]);
    $boot->set_fieldpassword("password", "{password}", "secret");
    $boot->set_button("{apply}");
    $boot->set_RefreshFlex("flexRT{$_GET["t"]}");
    $boot->set_RefreshSearchs();
    echo $boot->Compile();
}
function tasks_popup()
{
    $page = CurrentPageName();
    $tpl = new templates();
    $users = new usersMenus();
    $tasks = new system_tasks();
    $PatternToHuman = null;
    $boot = new boostrap_form();
    $q = new mysql();
    $no_schedule_set = $tpl->javascript_parse_text("{no_schedule_set}");
    $buttontext = "{add}";
    $ID = $_GET["ID"];
    $t = $_GET["t"];
    $title = "{new_schedule}";
    $task_type = $tasks->tasks_array;
    if ($ID > 0) {
        $buttontext = "{apply}";
        $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM system_schedules WHERE ID={$ID}", "artica_backup"));
        $ligne["TimeDescription"] = utf8_encode($ligne["TimeDescription"]);
        $title = $task_type[$ligne["TaskType"]];
        $PatternToHuman = "<br>" . $tasks->PatternToHuman($ligne["TimeText"], true);
    }
    if (!is_numeric($ligne["TaskType"])) {
        $ligne["TaskType"] = 0;
    }
    if (!is_numeric($ID)) {
        $ID = 0;
    }
    if (!$users->KAV4PROXY_INSTALLED) {
        unset($task_type[5]);
        unset($task_type[12]);
    }
    if (!$users->UPDATE_UTILITYV2_INSTALLED) {
        unset($task_type[13]);
    }
    $task_type = $tasks->tasks_array;
    while (list($TaskType, $content) = each($task_type)) {
        $taskz[$TaskType] = "[{$TaskType}] " . $tpl->_ENGINE_parse_body($content);
    }
    $YahooWinHide = "YahooWin{$_GET["YahooWin"]}";
    $boot->set_formtitle($title);
    $boot->set_hidden("ID", $ID);
    if ($ID == 0) {
        if ($_GET["task-section"] > 0) {
            $boot->set_hidden("TaskType", $_GET["task-section"]);
            $boot->set_formdescription($tasks->tasks_explain_array[$_GET["task-section"]] . $PatternToHuman);
            $ligne["TimeDescription"] = $tpl->javascript_parse_text($tasks->tasks_array[$_GET["task-section"]]);
        } else {
            $boot->set_list("TaskType", "{type}", $taskz, null);
        }
        $ligne["enabled"] = 1;
    } else {
        $boot->set_hidden("TaskType", $ligne["TaskType"]);
        $boot->set_formdescription($tasks->tasks_explain_array[$ligne["TaskType"]]);
    }
    $boot->set_checkbox("enabled", "{enabled}", $ligne["enabled"]);
    $boot->set_textarea("TimeDescription", "{description}", $ligne["TimeDescription"], array("ENCODE" => true));
    $boot->set_field("TimeText", "{schedule}", $ligne["TimeText"], array("SCHEDULE" => true, "MANDATORY" => true, "DISABLED" => true));
    if ($ID == 0) {
        $boot->set_CloseYahoo($YahooWinHide);
    }
    //
    $boot->set_button($buttontext);
    $boot->set_RefreshSearchs();
    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 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 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 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 parameters()
{
    $sock = new sockets();
    $EnableChilli = $sock->GET_INFO("EnableChilli");
    if (!is_numeric($EnableChilli)) {
        $EnableChilli = 0;
    }
    $NICS = unserialize(base64_decode($sock->getFrameWork("cmd.php?list-nics=yes")));
    if (count($NICS) == 1) {
        $tpl = new templates();
        $COOVA_ERROR_NO_2_INTERFACES = $tpl->_ENGINE_parse_body("{COOVA_ERROR_NO_2_INTERFACES}");
        echo "<p class=text-error>{$COOVA_ERROR_NO_2_INTERFACES}</p>";
        return;
    }
    $ChilliConf = unserialize(base64_decode($sock->GET_INFO("ChilliConf")));
    $ip = new networking();
    $Interfaces = $ip->Local_interfaces();
    $Interfaces[null] = "{none}";
    unset($Interfaces["lo"]);
    if (!isset($ChilliConf["HS_WANIF"])) {
        $ChilliConf["HS_WANIF"] = null;
    }
    if (!isset($ChilliConf["HS_LANIF"])) {
        $arrayTCP = unserialize(base64_decode($sock->getFrameWork("cmd.php?TCP_NICS_STATUS_ARRAY=yes")));
        $ALLARRAY = $arrayTCP["eth0"];
        $PR = explode(".", $ALLARRAY["IPADDR"]);
        $ChilliConf["HS_NETWORK"] = "{$PR[0]}.{$PR[2]}.{$PR[3]}.0";
        $ChilliConf["HS_DYNIP"] = "{$PR[0]}.{$PR[2]}.{$PR[3]}.50";
        $ChilliConf["HS_DYNIP_MASK"] = $ALLARRAY["NETMASK"];
        $ChilliConf["HS_UAMLISTEN"] = $ALLARRAY["IPADDR"];
        $ChilliConf["HS_NETMASK"] = $ALLARRAY["NETMASK"];
        $ChilliConf["HS_LANIF"] = "eth0";
        $ChilliConf["HS_DYNIP_START"] = 50;
    }
    $boot = new boostrap_form();
    $boot->set_spacertitle("{service_parameters}");
    $boot->set_checkbox("EnableChilli", "{enable}", $EnableChilli, array("DISABLEALL" => true));
    $boot->set_checkbox("HS_DEBUG", "{debug}", $ChilliConf["HS_DEBUG"]);
    if (!isset($ChilliConf["HS_DNS_DOMAIN"])) {
        $ChilliConf["HS_DNS_DOMAIN"] = "hotspot.domain.tld";
    }
    if (!isset($ChilliConf["HS_PROVIDER"])) {
        $ChilliConf["HS_PROVIDER"] = "Artica";
    }
    if (!isset($ChilliConf["HS_PROVIDER_LINK"])) {
        $ChilliConf["HS_PROVIDER_LINK"] = "http://www.articatech.net";
    }
    if (!isset($ChilliConf["HS_LOC_NAME"])) {
        $ChilliConf["HS_LOC_NAME"] = "Artica HotSpot";
    }
    if ($ChilliConf["HS_LOC_NETWORK"] == null) {
        $ChilliConf["HS_LOC_NETWORK"] = "HotSpot Network";
    }
    if (!isset($ChilliConf["HS_DNS1"])) {
        $ChilliConf["HS_DNS1"] = null;
    }
    if (!isset($ChilliConf["HS_DNS2"])) {
        $ChilliConf["HS_DNS2"] = null;
    }
    if (!isset($ChilliConf["SQUID_HTTP_PORT"])) {
        $ChilliConf["SQUID_HTTP_PORT"] = rand(45000, 65400);
    }
    if (!is_numeric($ChilliConf["SQUID_HTTP_PORT"])) {
        $ChilliConf["SQUID_HTTP_PORT"] = rand(45000, 65400);
    }
    if (!isset($ChilliConf["SQUID_HTTPS_PORT"])) {
        $ChilliConf["SQUID_HTTPS_PORT"] = rand(45000, 65400);
    }
    if (!is_numeric($ChilliConf["SQUID_HTTPS_PORT"])) {
        $ChilliConf["SQUID_HTTPS_PORT"] = rand(45000, 65400);
    }
    if (!is_numeric($ChilliConf["ENABLE_DHCP_RELAY"])) {
        $ChilliConf["ENABLE_DHCP_RELAY"] = 0;
    }
    if ($ChilliConf["HS_DNS1"] == null) {
        $ChilliConf["HS_DNS1"] = "8.8.8.8";
    }
    if ($ChilliConf["HS_DNS2"] == null) {
        $ChilliConf["HS_DNS2"] = "8.8.4.4";
    }
    $boot->set_spacertitle("{hotspot_network}");
    $boot->set_list("HS_LANIF", "{HS_LANIF}", $Interfaces, $ChilliConf["HS_LANIF"]);
    $boot->set_field("HS_UAMLISTEN", "{ipaddr}", $ChilliConf["HS_UAMLISTEN"]);
    $boot->set_field("HS_NETMASK", "{mask}", $ChilliConf["HS_NETMASK"]);
    $boot->set_field("HS_DNS1", "DNS 1", $ChilliConf["HS_DNS1"]);
    $boot->set_field("HS_DNS2", "DNS 2", $ChilliConf["HS_DNS2"]);
    $boot->set_checkbox("HS_LAN_ACCESS", "{HS_LAN_ACCESS}", $ChilliConf["HS_LAN_ACCESS"]);
    $boot->set_subtitle("{dhcp_parameters}");
    $boot->set_field("HS_DYNIP_START", "{dhcp_start_ip}", $ChilliConf["HS_DYNIP_START"]);
    $boot->set_field("HS_DNS_DOMAIN", "{domain}", $ChilliConf["HS_DNS_DOMAIN"]);
    $boot->set_checkbox("ENABLE_DHCP_RELAY", "{use_remote_dhcp_server}", $ChilliConf["ENABLE_DHCP_RELAY"], array("LINK" => "DHCP_IF,HS_DHCPGATEWAY", "TOOLTIP" => "{coova_ssl_splash_explain}"));
    $boot->set_field("HS_DHCPGATEWAY", "{dhcp_server_ip}", $ChilliConf["HS_DHCPGATEWAY"]);
    $boot->set_list("DHCP_IF", "{nic}", $Interfaces, $ChilliConf["DHCP_IF"]);
    $boot->set_spacertitle("{internet_network}");
    $boot->set_list("HS_WANIF", "{HS_WANIF}", $Interfaces, $ChilliConf["HS_WANIF"]);
    $boot->set_spacertitle("{proxy_parameters}");
    $boot->set_field("SQUID_HTTP_PORT", "{proxy_http_port} (local)", $ChilliConf["SQUID_HTTP_PORT"], array("TOOLTIP" => "{coova_proxy_port}"));
    $boot->set_field("SQUID_HTTPS_PORT", "{proxy_https_port} (local)", $ChilliConf["SQUID_HTTPS_PORT"], array("TOOLTIP" => "{coova_proxy_sslport}"));
    $boot->set_checkbox("CoovaUFDBEnabled", "{webfiltering}", $ChilliConf["CoovaUFDBEnabled"], array("TOOLTIP" => "{coova_CoovaUFDBEnabled_explain}"));
    $q = new mysql();
    $sql = "SELECT servername FROM freeweb WHERE groupware='CHILLI'";
    $results = $q->QUERY_SQL($sql, 'artica_backup');
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $FREEWEBS[$ligne["servername"]] = $ligne["servername"];
    }
    $boot->set_spacertitle("{design}");
    $q = new mysql();
    $sslcertificates[null] = "{default}";
    $results = $q->QUERY_SQL("SELECT * FROM sslcertificates", 'artica_backup');
    while ($ligneZ = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $sslcertificates[$ligneZ["CommonName"]] = $ligneZ["CommonName"];
    }
    $boot->set_checkbox("EnableSSLRedirection", "{UseSSL}", $ChilliConf["EnableSSLRedirection"], array("LINK" => "certificate_center", "TOOLTIP" => "{coova_ssl_splash_explain}"));
    $boot->set_list("certificate_center", "{default_certificate}", $sslcertificates, $ChilliConf["certificate_center"]);
    $boot->set_list("HS_UAMFREEWEB", "FreeWeb", $FREEWEBS, $ChilliConf["HS_UAMFREEWEB"]);
    $boot->set_field("HS_PROVIDER", "{company}", $ChilliConf["HS_PROVIDER"]);
    $boot->set_field("HS_PROVIDER_LINK", "{website}", $ChilliConf["HS_PROVIDER_LINK"]);
    $boot->set_field("HS_LOC_NAME", "{servicename}", $ChilliConf["HS_LOC_NAME"]);
    $boot->set_field("HS_LOC_NETWORK", "{network_name}", $ChilliConf["HS_LOC_NETWORK"]);
    $page = CurrentPageName();
    $boot->set_AjaxFinal("LoadAjax('chilli-status','{$page}?srv-status=yes');");
    $boot->set_formtitle("HotSpot");
    $form = $boot->Compile();
    $html = "\n\t<table style='width:100%'>\n\t<tr>\n\t\t<td valign='top' style='vertical-align:top;width:30%'><div id='chilli-status'></div>\n\t\t\n\t\t<div style='width:100%;text-align:right'>" . imgtootltip("refresh-32.png", null, "LoadAjax('chilli-status','{$page}?srv-status=yes');") . "</div>\n\t\t</td>\n\t\t<td valign='top' style='vertical-align:top;padding-left:15px;width:70%'>{$form}</td>\n\t</tr>\n\t</table>\n\t<script>\n\t\tLoadAjax('chilli-status','{$page}?srv-status=yes');\t\t\n\t\t\t\n\t</script>";
    echo $html;
}
function watchdog_params()
{
    $page = CurrentPageName();
    $tpl = new templates();
    $sock = new sockets();
    $tcp = new networking();
    $ALL_IPS_GET_ARRAY = $tcp->ALL_IPS_GET_ARRAY();
    unset($ALL_IPS_GET_ARRAY["127.0.0.1"]);
    $ALL_IPS_GET_ARRAY[null] = "{none}";
    //echo base64_decode($sock->GET_INFO("SquidWatchdogMonitConfig"));
    $MonitConfig = unserialize(base64_decode($sock->GET_INFO("SquidWatchdogMonitConfig")));
    if (!isset($MonitConfig["SWAP_MONITOR"])) {
        $MonitConfig["SWAP_MONITOR"] = 1;
    }
    if (!isset($MonitConfig["SWAP_MIN"])) {
        $MonitConfig["SWAP_MIN"] = 5;
    }
    if (!isset($MonitConfig["SWAP_MAX"])) {
        $MonitConfig["SWAP_MAX"] = 75;
    }
    if (!isset($MonitConfig["MAX_RESTART"])) {
        $MonitConfig["MAX_RESTART"] = 2;
    }
    if (!isset($MonitConfig["MaxLoad"])) {
        $MonitConfig["MaxLoad"] = 30;
    }
    if (!isset($MonitConfig["MaxLoadReboot"])) {
        $MonitConfig["MaxLoadReboot"] = 0;
    }
    if (!isset($MonitConfig["MaxLoadFailOver"])) {
        $MonitConfig["MaxLoadFailOver"] = 0;
    }
    if (!isset($MonitConfig["MinTimeFailOverSwitch"])) {
        $MonitConfig["MinTimeFailOverSwitch"] = 15;
    }
    if (!isset($MonitConfig["REBOOT_INTERVAL"])) {
        $MonitConfig["REBOOT_INTERVAL"] = 30;
    }
    if (!isset($MonitConfig["RestartWhenCrashes"])) {
        $MonitConfig["RestartWhenCrashes"] = 1;
    }
    if (!isset($MonitConfig["DisableWebFilteringNetFailed"])) {
        $MonitConfig["DisableWebFilteringNetFailed"] = 1;
    }
    if (!isset($MonitConfig["watchdog"])) {
        $MonitConfig["watchdog"] = 1;
    }
    if (!isset($MonitConfig["watchdogCPU"])) {
        $MonitConfig["watchdogCPU"] = 95;
    }
    if (!isset($MonitConfig["watchdogMEM"])) {
        $MonitConfig["watchdogMEM"] = 1500;
    }
    if (!isset($MonitConfig["MgrInfosMaxTimeOut"])) {
        $MonitConfig["MgrInfosMaxTimeOut"] = 10;
    }
    if (!isset($MonitConfig["ExternalPageToCheck"])) {
        $MonitConfig["ExternalPageToCheck"] = "http://www.google.fr/search?q=%T";
    }
    if (!is_numeric($MonitConfig["SWAP_MIN"])) {
        $MonitConfig["SWAP_MIN"] = 5;
    }
    if (!is_numeric($MonitConfig["SWAP_MAX"])) {
        $MonitConfig["SWAP_MAX"] = 75;
    }
    if (!is_numeric($MonitConfig["MinTimeFailOverSwitch"])) {
        $MonitConfig["MinTimeFailOverSwitch"] = 15;
    }
    if (!is_numeric($MonitConfig["watchdog"])) {
        $MonitConfig["watchdog"] = 1;
    }
    if (!is_numeric($MonitConfig["watchdogCPU"])) {
        $MonitConfig["watchdogCPU"] = 95;
    }
    if (!is_numeric($MonitConfig["watchdogMEM"])) {
        $MonitConfig["watchdogMEM"] = 1500;
    }
    if (!is_numeric($MonitConfig["REBOOT_INTERVAL"])) {
        $MonitConfig["REBOOT_INTERVAL"] = 30;
    }
    if (!is_numeric($MonitConfig["WEBPROCISSUE"])) {
        $MonitConfig["WEBPROCISSUE"] = 3;
    }
    if (!is_numeric($MonitConfig["DisableWebFilteringNetFailed"])) {
        $MonitConfig["DisableWebFilteringNetFailed"] = 1;
    }
    if (!is_numeric($MonitConfig["MgrInfosMaxTimeOut"])) {
        $MonitConfig["MgrInfosMaxTimeOut"] = 10;
    }
    if ($MonitConfig["MgrInfosMaxTimeOut"] < 5) {
        $MonitConfig["MgrInfosMaxTimeOut"] = 5;
    }
    if ($MonitConfig["ExternalPageToCheck"] == null) {
        $MonitConfig["ExternalPageToCheck"] = "http://www.google.fr/search?q=%T";
    }
    if (!is_numeric($MonitConfig["MAX_RESTART"])) {
        $MonitConfig["MAX_RESTART"] = 2;
    }
    if (!is_numeric($MonitConfig["TestExternalWebPage"])) {
        $MonitConfig["TestExternalWebPage"] = 1;
    }
    if (!is_numeric($MonitConfig["NotifyDNSIssues"])) {
        $MonitConfig["NotifyDNSIssues"] = 0;
    }
    if (!is_numeric($MonitConfig["DNSIssuesMAX"])) {
        $MonitConfig["DNSIssuesMAX"] = 1;
    }
    if ($MonitConfig["DNSIssuesMAX"] == 0) {
        $MonitConfig["DNSIssuesMAX"] = 1;
    }
    if (!is_numeric($MonitConfig["MaxSwapPourc"])) {
        $MonitConfig["MaxSwapPourc"] = 10;
    }
    if (!is_numeric($MonitConfig["MaxLoad"])) {
        $MonitConfig["MaxLoad"] = 30;
    }
    if (!is_numeric($MonitConfig["MaxLoadReboot"])) {
        $MonitConfig["MaxLoadReboot"] = 0;
    }
    if (!is_numeric($MonitConfig["MaxLoadFailOver"])) {
        $MonitConfig["MaxLoadFailOver"] = 0;
    }
    if (!is_numeric($MonitConfig["MinFreeMem"])) {
        $MonitConfig["MinFreeMem"] = 50;
    }
    if (!is_numeric($MonitConfig["RestartWhenCrashes"])) {
        $MonitConfig["RestartWhenCrashes"] = 1;
    }
    if (!isset($MonitConfig["ENABLE_PING_GATEWAY"])) {
        $MonitConfig["ENABLE_PING_GATEWAY"] = 1;
    }
    if (!isset($MonitConfig["MAX_PING_GATEWAY"])) {
        $MonitConfig["MAX_PING_GATEWAY"] = 10;
    }
    if (!isset($MonitConfig["PING_FAILED_REPORT"])) {
        $MonitConfig["PING_FAILED_REPORT"] = 1;
    }
    if (!isset($MonitConfig["PING_FAILED_REBOOT"])) {
        $MonitConfig["PING_FAILED_REBOOT"] = 0;
    }
    if (!isset($MonitConfig["PING_FAILED_RELOAD_NET"])) {
        $MonitConfig["PING_FAILED_RELOAD_NET"] = 0;
    }
    if (!is_numeric($MonitConfig["ENABLE_PING_GATEWAY"])) {
        $MonitConfig["ENABLE_PING_GATEWAY"] = 1;
    }
    if (!is_numeric($MonitConfig["MAX_PING_GATEWAY"])) {
        $MonitConfig["MAX_PING_GATEWAY"] = 10;
    }
    if (!is_numeric($MonitConfig["PING_FAILED_REPORT"])) {
        $MonitConfig["PING_FAILED_REPORT"] = 1;
    }
    if (!is_numeric($MonitConfig["PING_FAILED_REBOOT"])) {
        $MonitConfig["PING_FAILED_REBOOT"] = 0;
    }
    if (!is_numeric($MonitConfig["PING_FAILED_FAILOVER"])) {
        $MonitConfig["PING_FAILED_FAILOVER"] = 0;
    }
    if (!is_numeric($MonitConfig["PING_FAILED_RELOAD_NET"])) {
        $MonitConfig["PING_FAILED_RELOAD_NET"] = 0;
    }
    $ExternalPageToCheck = $MonitConfig["ExternalPageToCheck"];
    $MgrInfosMaxTimeOut = $MonitConfig["MgrInfosMaxTimeOut"];
    $EnableFailover = $sock->GET_INFO("EnableFailover");
    if (!is_numeric($EnableFailover)) {
        $EnableFailover = 1;
    }
    if ($MonitConfig["REBOOT_INTERVAL"] < 10) {
        $MonitConfig["REBOOT_INTERVAL"] = 10;
    }
    if ($MonitConfig["MinTimeFailOverSwitch"] < 5) {
        $MonitConfig["MinTimeFailOverSwitch"] = 5;
    }
    if ($MonitConfig["PING_GATEWAY"] == null) {
        $PING_GATEWAY = null;
        $TCP_NICS_STATUS_ARRAY = unserialize(base64_decode($sock->getFrameWork("cmd.php?TCP_NICS_STATUS_ARRAY=yes")));
        if (isset($TCP_NICS_STATUS_ARRAY["eth0"])) {
            $PING_GATEWAY = $TCP_NICS_STATUS_ARRAY["eth0"]["GATEWAY"];
        }
        if ($PING_GATEWAY == null) {
            if (isset($TCP_NICS_STATUS_ARRAY["eth1"])) {
                $PING_GATEWAY = $TCP_NICS_STATUS_ARRAY["eth1"]["GATEWAY"];
            }
        }
        $MonitConfig["PING_GATEWAY"] = $PING_GATEWAY;
    }
    //FATAL: kid3 registration timed out
    $MONIT_INSTALLED = 0;
    $users = new usersMenus();
    if ($users->MONIT_INSTALLED) {
        $MONIT_INSTALLED = 1;
    }
    $SquidCacheReloadTTL = $sock->GET_INFO("SquidCacheReloadTTL");
    if (!is_numeric($SquidCacheReloadTTL)) {
        $SquidCacheReloadTTL = 10;
    }
    $sock = new sockets();
    $ini = new Bs_IniHandler();
    $ini->loadString($sock->getFrameWork("cmd.php?SmtpNotificationConfigRead=yes"));
    if ($ini->_params["SMTP"]["smtp_server_port"] == null) {
        $ini->_params["SMTP"]["smtp_server_port"] = 25;
    }
    if ($ini->_params["SMTP"]["smtp_sender"] == null) {
        $users = new usersMenus();
        $ini->_params["SMTP"]["smtp_sender"] = "artica@{$users->fqdn}";
    }
    $t = time();
    $UfdbguardSMTPNotifs = unserialize(base64_decode($sock->GET_INFO("UfdbguardSMTPNotifs")));
    if (!isset($UfdbguardSMTPNotifs["ENABLED_SQUID_WATCHDOG"])) {
        $UfdbguardSMTPNotifs["ENABLED_SQUID_WATCHDOG"] = 0;
    }
    if (!is_numeric($UfdbguardSMTPNotifs["ENABLED_SQUID_WATCHDOG"])) {
        $UfdbguardSMTPNotifs["ENABLED_SQUID_WATCHDOG"] = 0;
    }
    if (!isset($UfdbguardSMTPNotifs["smtp_server_name"])) {
        $UfdbguardSMTPNotifs["smtp_server_name"] = $ini->_params["SMTP"]["smtp_server_name"];
    }
    if (!isset($UfdbguardSMTPNotifs["smtp_server_port"])) {
        $UfdbguardSMTPNotifs["smtp_server_port"] = $ini->_params["SMTP"]["smtp_server_port"];
    }
    if (!isset($UfdbguardSMTPNotifs["smtp_sender"])) {
        $UfdbguardSMTPNotifs["smtp_server_port"] = $ini->_params["SMTP"]["smtp_sender"];
    }
    if (!isset($UfdbguardSMTPNotifs["smtp_dest"])) {
        $UfdbguardSMTPNotifs["smtp_dest"] = $ini->_params["SMTP"]["smtp_dest"];
    }
    if (!isset($UfdbguardSMTPNotifs["smtp_auth_user"])) {
        $UfdbguardSMTPNotifs["smtp_dest"] = $ini->_params["SMTP"]["smtp_auth_user"];
    }
    if (!isset($UfdbguardSMTPNotifs["smtp_auth_passwd"])) {
        $UfdbguardSMTPNotifs["smtp_auth_passwd"] = $ini->_params["SMTP"]["smtp_auth_passwd"];
    }
    if (!isset($UfdbguardSMTPNotifs["tls_enabled"])) {
        $UfdbguardSMTPNotifs["tls_enabled"] = $ini->_params["SMTP"]["tls_enabled"];
    }
    if (!isset($UfdbguardSMTPNotifs["ssl_enabled"])) {
        $UfdbguardSMTPNotifs["ssl_enabled"] = $ini->_params["SMTP"]["ssl_enabled"];
    }
    if (!is_numeric($UfdbguardSMTPNotifs["smtp_server_port"])) {
        $UfdbguardSMTPNotifs["smtp_server_port"] = 25;
    }
    if (!isset($MonitConfig["ALLOW_RETURN_1CPU"])) {
        $MonitConfig["ALLOW_RETURN_1CPU"] = 1;
    }
    if (!is_numeric($MonitConfig["ALLOW_RETURN_1CPU"])) {
        $MonitConfig["ALLOW_RETURN_1CPU"] = 1;
    }
    $boot = new boostrap_form();
    $boot->set_checkbox("watchdog", "{enable}", $MonitConfig["watchdog"], array("DISABLEALL" => true));
    $boot->set_checkbox("EnableFailover", "{enable} {failover}", $EnableFailover, array("TOOLTIP" => "{EnableFailover_explain}"));
    $boot->set_field("MinTimeFailOverSwitch", "{failover_ttl} ({minutes})", $MonitConfig["MinTimeFailOverSwitch"], array("TOOLTIP" => "{failover_ttl_explain}"));
    $boot->set_checkbox("ALLOW_RETURN_1CPU", "{ALLOW_RETURN_1CPU}", $MonitConfig["ALLOW_RETURN_1CPU"], array("TOOLTIP" => "{ALLOW_RETURN_1CPU_EXPLAIN}"));
    $boot->set_field("WEBPROCISSUE", "{max_attempts}", $MonitConfig["WEBPROCISSUE"]);
    $boot->set_checkbox("DisableWebFilteringNetFailed", "{DisableWebFilteringNetFailed}", $MonitConfig["DisableWebFilteringNetFailed"], array("TOOLTIP" => "{DisableWebFilteringNetFailed_explain}"));
    $boot->set_field("SquidCacheReloadTTL", "{minimum_reload_interval} ({minutes})", $SquidCacheReloadTTL, array("TOOLTIP" => "{SquidCacheReloadTTL_explain}"));
    $boot->set_field("REBOOT_INTERVAL", "{minimum_reboot_interval} ({minutes})", $MonitConfig["REBOOT_INTERVAL"], array("TOOLTIP" => "{minimum_reboot_interval_explain}"));
    $boot->set_field("MAX_RESTART", "{SQUID_MAX_RESTART}", $MonitConfig["MAX_RESTART"], array("TOOLTIP" => "{SQUID_MAX_RESTART_EXPLAIN}"));
    $boot->set_field("MgrInfosMaxTimeOut", "{tests_timeout}  ({seconds})", $MonitConfig["MgrInfosMaxTimeOut"]);
    $boot->set_spacertitle("{performance}");
    $boot->set_field("watchdogCPU", "{notify_when_cpu_exceed} %", $MonitConfig["watchdogCPU"]);
    $boot->set_field("watchdogMEM", "{notify_when_memory_exceed} (MB)", $MonitConfig["watchdogMEM"]);
    $boot->set_field("MaxSwapPourc", "{MaxSwapPourc}  (%)", $MonitConfig["MaxSwapPourc"], array("TOOLTIP" => "{MaxSwapPourc_explain}"));
    $boot->set_field("MaxLoad", "{max_system_load}", $MonitConfig["MaxLoad"], array("TOOLTIP" => "{max_system_load_squid_explain}"));
    $boot->set_field("MinFreeMem", "{MinFreeMem} MB", $MonitConfig["MinFreeMem"], array("TOOLTIP" => "{MinFreeMem_squid_explain}"));
    $boot->set_checkbox("MaxLoadFailOver", "{max_system_load_failover}", $MonitConfig["MaxLoadFailOver"], array("TOOLTIP" => "{max_system_load_failover_explain}"));
    $boot->set_checkbox("MaxLoadReboot", "{max_system_load_reboot}", $MonitConfig["MaxLoadReboot"], array("TOOLTIP" => "{max_system_load_reboot_explain}"));
    $boot->set_checkbox("RestartWhenCrashes", "{RestartWhenCrashes}", $MonitConfig["RestartWhenCrashes"], array("TOOLTIP" => "{RestartWhenCrashes_explain}"));
    $boot->set_spacertitle("SWAP");
    $boot->set_checkbox("SWAP_MONITOR", "{enable}", $MonitConfig["SWAP_MONITOR"], array("TOOLTIP" => "{SWAP_MONITOR_EXPLAIN}"));
    $boot->set_field("SWAP_MIN", "{SWAP_MIN} %", $MonitConfig["SWAP_MIN"], array("TOOLTIP" => "{SWAP_MIN_EXPLAIN}"));
    $boot->set_field("SWAP_MAX", "{SWAP_MAX} %", $MonitConfig["SWAP_MAX"], array("TOOLTIP" => "{SWAP_MAX_EXPLAIN}"));
    $boot->set_spacertitle("PING");
    $boot->set_checkbox("ENABLE_PING_GATEWAY", "{enable}", $MonitConfig["ENABLE_PING_GATEWAY"], array("TOOLTIP" => "{ENABLE_PING_GATEWAY_EXPLAIN}"));
    $boot->set_field("MAX_PING_GATEWAY", "{MAX_PING_GATEWAY}", $MonitConfig["MAX_PING_GATEWAY"], array("TOOLTIP" => "{MAX_PING_GATEWAY_EXPLAIN}"));
    $boot->set_field("PING_GATEWAY", "{ipaddr}", $MonitConfig["PING_GATEWAY"], array("IPV4" => true));
    $boot->set_checkbox("PING_FAILED_RELOAD_NET", "{reload_network}", $MonitConfig["PING_FAILED_RELOAD_NET"], array("TOOLTIP" => "{PING_FAILED_RELOAD_NET_EXPLAIN}"));
    $boot->set_checkbox("PING_FAILED_REPORT", "{send_report}", $MonitConfig["PING_FAILED_REPORT"], array("TOOLTIP" => "{PING_FAILED_REPORT_EXPLAIN}"));
    $boot->set_checkbox("PING_FAILED_FAILOVER", "{switch_to_failover}", $MonitConfig["PING_FAILED_FAILOVER"], array("TOOLTIP" => "{PING_FAILED_FAILOVER_EXPLAIN}"));
    $boot->set_checkbox("PING_FAILED_REBOOT", "{reboot_system}", $MonitConfig["PING_FAILED_REBOOT"], array("TOOLTIP" => "{reboot_system_explain}"));
    $boot->set_spacertitle("DNS");
    $boot->set_checkbox("NotifyDNSIssues", "{NotifyDNSIssues}", $MonitConfig["NotifyDNSIssues"], array("TOOLTIP" => "{NotifyDNSIssues_explain}"));
    $boot->set_field("DNSIssuesMAX", "{DNSIssuesMAX}", $MonitConfig["DNSIssuesMAX"]);
    $boot->set_spacertitle("{external_page}");
    $boot->set_checkbox("TestExternalWebPage", "{TestExternalWebPage}", $MonitConfig["TestExternalWebPage"], array("TOOLTIP" => "{squid_TestExternalWebPage_explain}"));
    $boot->set_field("ExternalPageToCheck", "{page_to_check}", $MonitConfig["ExternalPageToCheck"], array("TOOLTIP" => "{ExternalPageToCheck_explain}"));
    $boot->set_field("ExternalPageUsername", "{username}", $MonitConfig["ExternalPageUsername"], array("TOOLTIP" => "{ExternalPageUsername_EXPLAIN}"));
    $boot->set_fieldpassword("ExternalPagePassword", "{password}", $MonitConfig["ExternalPagePassword"], array("TOOLTIP" => "{ExternalPageUsername_EXPLAIN}", "ENCODE" => TRUE));
    $boot->set_list("ExternalPageListen", "{addr}", $ALL_IPS_GET_ARRAY, $MonitConfig["ExternalPageListen"], array("TOOLTIP" => "{ExternalPageListen_explain}"));
    $boot->set_spacertitle("{smtp_notifications}");
    $boot->set_checkbox("ENABLED_SQUID_WATCHDOG", "{smtp_enabled}", $UfdbguardSMTPNotifs["ENABLED_SQUID_WATCHDOG"]);
    $boot->set_field("smtp_server_name", "{smtp_server_name}", $UfdbguardSMTPNotifs["smtp_server_name"]);
    $boot->set_field("smtp_server_port", "{smtp_server_port}", $UfdbguardSMTPNotifs["smtp_server_port"]);
    $boot->set_field("smtp_sender", "{smtp_sender}", $UfdbguardSMTPNotifs["smtp_sender"]);
    $boot->set_field("smtp_dest", "{smtp_dest}", $UfdbguardSMTPNotifs["smtp_dest"]);
    $boot->set_field("smtp_auth_user", "{smtp_auth_user}", $UfdbguardSMTPNotifs["smtp_auth_user"]);
    $boot->set_fieldpassword("smtp_auth_passwd", "{smtp_auth_passwd}", $UfdbguardSMTPNotifs["smtp_auth_passwd"], array("ENCODE" => true));
    $boot->set_checkbox("tls_enabled", "{tls_enabled}", $UfdbguardSMTPNotifs["tls_enabled"]);
    echo $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 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 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 edit_port()
{
    $t = $_GET["t"];
    $port = $_GET["port-edit"];
    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}";
    $q = new mysql_squid_builder();
    $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM webfilters_sqaclsports WHERE aclport='{$_GET["port-edit"]}'"));
    while (list($ip, $line) = each($ips)) {
        $ipz[$ip] = $ip;
    }
    $boot->set_field("portname", "{rulename}", $ligne["portname"], array("ENCODE" => true));
    $boot->set_hidden("aclport", "{$_GET["port-edit"]}");
    $boot->set_checkbox("enabled", "{enabled}", $ligne["enabled"]);
    $boot->set_list("interface", "{listen_address}", $ipz, $ligne["interface"]);
    $boot->set_button("{apply}");
    $boot->set_hidden("aclport", "{$_GET["port-edit"]}");
    $boot->set_hidden("bubble-edit", "yes");
    $boot->set_formtitle("{port}: {$_GET["port-edit"]}");
    $boot->set_CallBack("LoadAjax('center-{$t}','{$page}?tabs=yes&t={$t}');");
    $form = $boot->Compile();
    echo $tpl->_ENGINE_parse_body($form);
}
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;
}
Example #27
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 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 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 settings()
{
    $page = CurrentPageName();
    $sock = new sockets();
    $MirrorEnableDebian = $sock->GET_INFO("MirrorEnableDebian");
    $MirrorDebianDirSizeText = null;
    $MirrorDebianBW = $sock->GET_INFO("MirrorDebianBW");
    if (!is_numeric($MirrorEnableDebian)) {
        $MirrorEnableDebian = 0;
    }
    if (!is_numeric($MirrorDebianBW)) {
        $MirrorDebianBW = 500;
    }
    $MirrorDebianDir = $sock->GET_INFO("MirrorDebianDir");
    if ($MirrorDebianDir == null) {
        $MirrorDebianDir = "/home/mirrors/Debian";
    }
    $MirrorDebianDirSize = $sock->GET_INFO("MirrorDebianDirSize");
    if (!is_numeric($MirrorDebianDirSize)) {
        $MirrorDebianDirSize = 0;
    }
    $MirrorDebianMaxExecTime = $sock->GET_INFO("MirrorDebianMaxExecTime");
    $MirrorDebianEachMn = $sock->GET_INFO("MirrorDebianEachMn");
    if (!is_numeric($MirrorDebianEachMn)) {
        $MirrorDebianEachMn = 2880;
    }
    $MirrorDebianExclude = unserialize(base64_decode($sock->GET_INFO("MirrorDebianExclude")));
    $MirrorDebianExcludeOS = unserialize(base64_decode($sock->GET_INFO("MirrorDebianExcludeOS")));
    if (!is_numeric($MirrorDebianMaxExecTime)) {
        $MirrorDebianMaxExecTime = 0;
    }
    $MirrorEnableDebianSchedule = $sock->GET_INFO("MirrorEnableDebianSchedule");
    if (!is_numeric($MirrorEnableDebianSchedule)) {
        $MirrorEnableDebianSchedule = 0;
    }
    $boot = new boostrap_form();
    $timeZ[60] = "1 {hour}";
    $timeZ[120] = "2 {hours}";
    $timeZ[300] = "5 {hours}";
    $timeZ[720] = "12 {hours}";
    $timeZ[1440] = "1 {day}";
    $timeZ[2880] = "2 {days}";
    $timeZ[10080] = "1 {week}";
    if ($MirrorDebianDirSize > 0) {
        $MirrorDebianDirSizeText = " (" . FormatBytes($MirrorDebianDirSize / 1024) . " )";
    }
    $boot->set_formdescription("{debian_mirror_howto}<br>{rsync_out_port_explain}");
    $boot->set_spacertitle("Debian{$MirrorDebianDirSizeText}");
    $boot->set_checkbox("MirrorEnableDebian", "{enable_debian_systems}", $MirrorEnableDebian);
    $boot->set_field("MirrorDebianDir", "{directory}{$MirrorDebianDirSizeText}", $MirrorDebianDir, array("ENCODE" => true));
    $boot->set_field("MirrorDebianBW", "{max_bandwidth} KB/s", $MirrorDebianBW);
    $boot->set_list("MirrorDebianEachMn", "{execute_each}", $timeZ, $MirrorDebianEachMn);
    $boot->set_checkbox("MirrorEnableDebianSchedule", "{use_schedule}", $MirrorEnableDebianSchedule, array("TOOLTIP" => "{MirrorEnableDebianSchedule_explain}"));
    $boot->set_field("MirrorDebianMaxExecTime", "{max_execution_time} ({minutes})", $MirrorDebianMaxExecTime, array("TOOLTIP" => "{MirrorDebianMaxExecTime_explain}"));
    //$boot->set_subtitle("{linux_distribution}");
    if (!is_array($MirrorDebianExcludeOS)) {
        $MirrorDebianExcludeOS["sid"] = true;
        $MirrorDebianExcludeOS["jessie"] = true;
        $MirrorDebianExcludeOS["wheezy"] = true;
        $MirrorDebianExcludeOS["oldstable"] = true;
        $MirrorDebianExcludeOS["stable"] = true;
        $MirrorDebianExcludeOS["oldstable"] = true;
        $MirrorDebianExcludeOS["unstable"] = true;
    }
    $DEBVERS[] = "sid";
    $DEBVERS[] = "testing";
    $DEBVERS[] = "jessie";
    $DEBVERS[] = "squeeze";
    $DEBVERS[] = "wheezy";
    $DEBVERS[] = "oldstable";
    $DEBVERS[] = "stable";
    $DEBVERS[] = "unstable";
    /*	while (list ($none, $pattern) = each ($DEBVERS) ){
    		$enabled=0;
    		if($MirrorDebianExclude["$pattern"]==1){$enabled=1;}
    		$boot->set_checkbox("debian-exclude-$pattern","{exclude}:&nbsp;&laquo;$pattern&raquo;",$enabled);
    	}	
    	
    */
    $boot->set_subtitle("{architecture}");
    $f = array();
    $f[] = "source";
    $f[] = "alpha";
    $f[] = "amd64";
    $f[] = "arm";
    $f[] = "armel";
    $f[] = "armhf";
    $f[] = "hppa";
    $f[] = "hurd-i386";
    $f[] = "i386";
    $f[] = "ia64";
    $f[] = "mips";
    $f[] = "mipsel";
    $f[] = "powerpc";
    $f[] = "s390";
    $f[] = "s390x";
    $f[] = "sparc";
    $f[] = "kfreebsd-i386";
    $f[] = "kfreebsd-amd64";
    if (!is_array($MirrorDebianExclude)) {
        while (list($none, $pattern) = each($f)) {
            if ($pattern == "i386") {
                continue;
            }
            if ($pattern == "amd64") {
                continue;
            }
            $MirrorDebianExclude[$pattern] = 1;
        }
        reset($f);
    }
    while (list($none, $pattern) = each($f)) {
        $enabled = 0;
        if ($MirrorDebianExclude["{$pattern}"] == 1) {
            $enabled = 1;
        }
        $boot->set_checkbox("debian-exclude-{$pattern}", "{exclude}:&nbsp;&laquo;{$pattern}&raquo;", $enabled);
    }
    $t = time();
    $boot->set_button("{apply}");
    $boot->set_Newbutton("{execute}", "Loadjs('{$page}?execute-debian-js=yes&t={$t}')");
    $form = $boot->Compile();
    $html = "<table style='width:100%'>\n\t<tr>\n\t\t<td style='vertical-align:top;width:350px'>\n\t\t\n\t\t<div id='{$t}'>\n\t\t\n\t\t</div>\n\t\t<div style='text-align:right'>" . imgtootltip("refresh-32.png", null, "LoadAjax('{$t}','{$page}?rsync-debian-status=yes')") . "</div>\n\t</td>\n\t<td style='vertical-align:top;padding-left:20px'>\t\t\n\t\t{$form}\n\t</td>\n\t</tr>\n\t</table>\n\t<script>\n\t\tLoadAjax('{$t}','{$page}?rsync-debian-status=yes');\n\t</script>\t\n\t";
    echo $html;
}