function dumptype_save() { include_once dirname(__FILE__) . "/class.html.tools.inc"; $html = new htmltools_inc(); $_POST["dumpname"] = $html->StripSpecialsChars($_POST["dumpname"]); while (list($num, $ligne) = each($_POST)) { $field[] = "`{$num}`"; $ligne = addslashes($ligne); $vals[] = "'{$ligne}'"; $upd[] = "`{$num}`='{$ligne}'"; } $sql_add = "INSERT INTO amanda_dumptype (" . @implode(",", $field) . ") VALUES (" . @implode(",", $vals) . ")"; $sql_update = "UPDATE amanda_dumptype SET " . @implode(",", $upd) . " WHERE dumpname='{$_POST["dumpname"]}'"; $q = new mysql(); $sql = "SELECT * FROM amanda_dumptype WHERE dumpname='{$_POST["dumpname"]}'"; $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_backup')); $sql = $sql_add; if ($ligne["dumpname"] != null) { $sql = $sql_update; } $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; return; } $sock = new sockets(); $sock->getFrameWork("amanda.php?save-server-config=yes"); }
function popup() { $tpl = new templates(); $page = CurrentPageName(); $html = new htmltools_inc(); $lang = $html->LanguageArray(); $field_lang = Field_array_Hash($lang, 'lang', $_COOKIE["artica-language"], "style:font-size:14px"); $html = "\n\t\t<table class=form style='width:100%;margin-top:25px'>\n\t\t<tr>\n\t\t\t<td class=legend>{language}:</td>\n\t\t\t<td>{$field_lang}</td>\n\t\t\t<td width=1%>" . button("{apply}", "ChangeAdminLang()") . "</td> \n\t\t</tr>\n\t\t</table>\t\t\n<script>\n\tvar x_ChangeAdminLang= function (obj) {\n\t var results=obj.responseText;\n\t if(results.length>1){alert(results);}\n\t CacheOff();\n\t YahooWin4Hide();\n\t}\n\nfunction ChangeAdminLang(){\n\tvar lang=document.getElementById('lang').value;\n\tSet_Cookie('artica-language', lang, '3600', '/', '', '');\n\tvar XHR = new XHRConnection();\n\tXHR.appendData('lang',lang);\n\tXHR.sendAndLoad('{$page}', 'POST',x_ChangeAdminLang);\t\t\n\t\n}\n</script>\n"; echo $tpl->_ENGINE_parse_body($html); }
function popup() { $tpl = new templates(); $page = CurrentPageName(); $html = new htmltools_inc(); $lang = $html->LanguageArray(); $sock = new sockets(); $FixedLanguage = $sock->GET_INFO("FixedLanguage"); $enabled = 0; if ($FixedLanguage != null) { $_COOKIE["artica-language"] = $FixedLanguage; $enabled = 1; } $field_lang = Field_array_Hash($lang, 'lang', $_COOKIE["artica-language"], "style:font-size:22px"); $html = "\n\t\t<div style='width:98%' class=form>\n\t\t<table style='width:100%'>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:22px'>{language}:</td>\n\t\t\t<td>{$field_lang}</td>\n\t\t\t\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:22px'>{fix_value}:</td>\n\t\t\t<td>" . Field_checkbox("Fixit", 1, $enabled) . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td colspan=2 align='right'><hr>" . button("{apply}", "ChangeAdminLang()", 34) . "</td></td>\n\t\t</tr>\n\t\t</table>\t\t\n<script>\n\tvar x_ChangeAdminLang= function (obj) {\n\t var results=obj.responseText;\n\t if(results.length>1){alert(results);}\n\t CacheOff();\n\t YahooWin4Hide();\n\t}\n\nfunction ChangeAdminLang(){\n\tvar XHR = new XHRConnection();\n\tvar lang=document.getElementById('lang').value;\n\tif(document.getElementById('Fixit').checked){XHR.appendData('Fixit',lang);}else{XHR.appendData('Fixit','');}\n\tSet_Cookie('artica-language', lang, '3600', '/', '', '');\n\tXHR.appendData('lang',lang);\n\tXHR.sendAndLoad('{$page}', 'POST',x_ChangeAdminLang);\t\t\n\t\n}\n</script>\n"; echo $tpl->_ENGINE_parse_body($html); }
function buildconfig() { $vpn = new openvpn(); $connection_name = trim(strtolower($_POST["connection_name"])); if ($connection_name == null) { $connection_name = time(); } $connection_name = str_replace(" ", "-", $connection_name); $connection_name = replace_accents($connection_name); $connection_name = str_replace("/", "-", $connection_name); $connection_name = str_replace('\\', "-", $connection_name); $tools = new htmltools_inc(); $connection_name = $tools->StripSpecialsChars($connection_name); $vpn->ComputerOS = $_POST["ComputerOS"]; $html_logs[] = "<div><code style='font-size:10px;color:black;'>Operating system : {$config->ComputerOS}</div>"; $html_logs[] = "<div><code style='font-size:10px;color:black;'>Connection name. : {$connection_name}</div>"; $config = $vpn->BuildClientconf($connection_name); $tbconfig = explode("\n", $config); $html_logs[] = htmlentities("VPN config -> " . strlen($config) . " bytes length (" . count($tbconfig) . " lines)"); $uid = $_SESSION["uid"]; writelogs("VPN config -> " . strlen($config) . " bytes length (" . count($tbconfig) . " lines)", __FUNCTION__, __FILE__, __LINE__); $sock = new sockets(); if (!$sock->SaveConfigFile($config, "{$connection_name}.ovpn")) { $html_logs[] = htmlentities("Framework error while saving -> {$connection_name}.ovpn;" . strlen($config) . " bytes length (" . count($tbconfig) . " lines)"); } writelogs("sockets() OK", __FUNCTION__, __FILE__, __LINE__); //$datas=$sock->getfile('OpenVPNGenerate:'.$uid); $datas = $sock->getFrameWork("openvpn.php?build-vpn-user={$connection_name}&basepath=" . dirname(__FILE__)); $tbl = explode("\n", $datas); $tbl = array_reverse($tbl); while (list($num, $line) = each($tbl)) { if (trim($line) == null) { continue; } $html_logs[] = "<div><code style='font-size:10px;color:black;'>" . htmlentities($line) . "</code></div>"; } if (is_file('ressources/logs/' . $connection_name . '.zip')) { $download = "\n\t\t<center>\n\t\t<div style='width:320px;border:2px solid #CCCCCC;padding:5px;margin:10px'>\n\t\t\t<div style='font-size:14px'>{click_here}</div>\n\t\t\t<a href='ressources/logs/" . $connection_name . ".zip'>\n\t\t\t\t<img src='img/download-64.png' title=\"{DOWNLOAD_CONFIG_FILES}\" style='padding:8Px;border:1px solid #055447;margin:3px'></a>\n\t\t\t\t<br>\n\t\t\t\t<a href='ressources/logs/" . $connection_name . ".zip' style='font-size:16px;text-decoration:underline'>{$connection_name}.zip</a>\n\t\t</div>\t\t\n\t\t\t\t\n\t\t</center>\n\t\t"; } $html = "\n\t\n\t{$download}\n\t<div style='font-size:16px'>{events}</div>\n\t<div style='width:100%;height:200px;overflow:auto'>" . implode("\n", $html_logs) . "</div>"; $tpl = new templates(); echo $tpl->_ENGINE_parse_body($html); }
function buildconfig() { $vpn = new openvpn(); $connection_name = trim(strtolower($_POST["connection_name"])); if ($connection_name == null) { $connection_name = time(); } $connection_name = str_replace(" ", "-", $connection_name); $connection_name = replace_accents($connection_name); $connection_name = str_replace("/", "-", $connection_name); $connection_name = str_replace('\\', "-", $connection_name); $tools = new htmltools_inc(); $connection_name = $tools->StripSpecialsChars($connection_name); $connection_name = mysql_escape_string2($connection_name); $q = new mysql(); $q->QUERY_SQL("INSERT IGNORE INTO `openvpn_clients` (uid,ComputerOS) VALUES ('{$connection_name}','{$_POST["ComputerOS"]}')", "artica_backup"); if (!$q->ok) { echo $q->mysql_error; return; } }
function lang_popup() { $htmlT = new htmltools_inc(); $page = CurrentPageName(); $lang = $htmlT->LanguageArray(); $tpl = new templates(); $boot = new boostrap_form(); $boot->set_list("lang", "{language}", $lang, $tpl->language, array("COOKIE" => "artica-language")); $boot->set_AjaxFinal("window.location.href='{$page}';"); $boot->set_button("{apply}"); $boot->set_CloseYahoo("YahooWin3"); echo $boot->Compile(); }
function cache_popup_save() { if (!AdminPrivs()) { echo "No rights!"; return; } $ID = $_POST["ID"]; unset($_POST["ID"]); $q = new mysql_squid_builder(); include_once dirname(__FILE__) . "/ressources/class.html.tools.inc"; $html = new htmltools_inc(); $_POST["keys_zone"] = $html->StripSpecialsChars($_POST["keys_zone"]); $_POST["directory"] = url_decode_special_tool($_POST["directory"]); $editF = false; if ($ID > 0) { $editF = true; } while (list($key, $value) = each($_POST)) { $fields[] = "`{$key}`"; $values[] = "'" . mysql_escape_string2($value) . "'"; $edit[] = "`{$key}`='" . mysql_escape_string2($value) . "'"; } if ($editF) { $sql = "UPDATE nginx_caches SET " . @implode(",", $edit) . " WHERE ID='{$ID}'"; } else { $sql = "INSERT IGNORE INTO nginx_caches (" . @implode(",", $fields) . ") VALUES (" . @implode(",", $values) . ")"; } $q->QUERY_SQL($sql); if (!$q->ok) { echo $q->mysql_error; return; } $sock = new sockets(); $sock->getFrameWork("squid.php?reverse-proxy-apply=yes"); }
function route_settings_save() { $q = new mysql(); $ID = $_POST["ID"]; unset($_POST["ID"]); include_once dirname(__FILE__) . "/ressources/class.html.tools.inc"; $html = new htmltools_inc(); $_POST["routename"] = $html->StripSpecialsChars($_POST["routename"]); while (list($key, $value) = each($_POST)) { $fields[] = "`{$key}`"; $values[] = "'" . mysql_escape_string2($value) . "'"; $edit[] = "`{$key}`='" . mysql_escape_string2($value) . "'"; } if ($ID > 0) { $sql = "UPDATE iproute_table SET " . @implode(",", $edit) . " WHERE ID='{$ID}'"; } else { $sql = "INSERT IGNORE INTO iproute_table (" . @implode(",", $fields) . ") VALUES (" . @implode(",", $values) . ")"; } $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; return; } $sock = new sockets(); $sock->getFrameWork("cmd.php?ip-build-routes=yes"); }
function disk_form_save() { if ($_POST["loop-dir"] == null) { $_POST["loop-dir"] = "/home/virtuals-disks"; } if ($_POST["loop-name"] == null) { $_POST["loop-name"] = time(); } $path = $_POST["loop-dir"] . "/" . time() . ".disk"; $size = $_POST["loop-size"]; $t = new htmltools_inc(); $_POST["loop-name"] = $t->StripSpecialsChars($_POST["loop-name"]); if (!is_numeric($size)) { $size = "10000"; } $_POST["loop-name"] = addslashes($_POST["loop-name"]); $sql = "INSERT INTO loop_disks (`path`,`size`,`disk_name`) VALUES ('{$path}','{$size}','{$_POST["loop-name"]}')"; $q = new mysql(); $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; return; } $sock = new sockets(); $sock->getFrameWork("lvm.php?loopcheck=yes"); }
function uid_to_tablename($uid) { $uid = trim($uid); if (preg_match("#(.+?)\\/(.+)#", $uid, $re)) { $uid = $re[2]; } if (!class_exists("class.html.tools.inc")) { include_once dirname(__FILE__) . "/class.html.tools.inc"; } $t = new htmltools_inc(); $uid = $t->replace_accents($uid); $uid = str_replace("\$", "", $uid); $uid = str_replace(" ", "_", $uid); return $uid; }
function disk_form_save() { if ($_POST["loop-dir"] == null) { $_POST["loop-dir"] = "/home/virtuals-disks"; } if ($_POST["loop-name"] == null) { $_POST["loop-name"] = time(); } $path = $_POST["loop-dir"] . "/" . time() . ".disk"; $size = $_POST["loop-size"]; $t = new htmltools_inc(); $sock = new sockets(); $_POST["loop-name"] = $t->StripSpecialsChars($_POST["loop-name"]); if (!is_numeric($size)) { $size = 10000; } $_POST["loop-name"] = addslashes($_POST["loop-name"]); $dir = $_POST["loop-dir"]; $HardDriveSizeMB = unserialize(base64_decode($sock->getFrameWork("system.php?HardDriveDiskSizeMB=" . base64_encode($dir)))); if (!is_array($HardDriveSizeMB)) { echo "Fatal Error Cannot retreive information for `{$dir}`"; return; } $AVAILABLEMB = $HardDriveSizeMB["AVAILABLE"]; if ($AVAILABLEMB < $size) { $T = $size - $AVAILABLEMB; echo "Fatal Error : Available: {$AVAILABLEMB}MB, need at least {$T}MB"; return; } $sql = "INSERT INTO loop_disks (`path`,`size`,`disk_name`,`maxfds`) VALUES ('{$path}','{$size}','{$_POST["loop-name"]}','{$_POST["maxfds"]}')"; $q = new mysql(); $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; return; } $sock = new sockets(); if ($size < 110000) { echo base64_decode($sock->getFrameWork("lvm.php?loopcheck=yes&output=yes")); } else { $sock->getFrameWork("lvm.php?loopcheck=yes"); } }
function save_nic() { $DNS_1 = null; $DNS_2 = null; $sock = new sockets(); $tpl = new templates(); $ip = new networking(); $ERROR_NO_PRIVS = $tpl->javascript_parse_text("{ERROR_NO_PRIVS}"); $DisableNetworksManagement = $sock->GET_INFO("DisableNetworksManagement"); if ($DisableNetworksManagement == null) { $DisableNetworksManagement = 0; } if ($DisableNetworksManagement == 1) { echo $ERROR_NO_PRIVS; return; } if (isset($_GET["NICNAME"])) { $NICNAME = trim(url_decode_special_tool($_GET["NICNAME"])); } $nic = trim($_GET["save_nic"]); $sql = "UPDATE `nics` SET `enabled`='{$_GET["enabled"]}' WHERE `Interface`='{$nic}'"; $q = new mysql(); $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; } if ($_GET["netzone"] == null) { echo "Network Zone must be defined\n"; return; } if ($_GET["netzone"] != null) { if (strlen($_POST["netzone"]) > 5) { echo "Network Zone {$_GET["netzone"]} at most 5 characters long\n"; return; } if (is_numeric(substr($_GET["netzone"], 0, 1))) { echo "Network Zone Must start with a letter\n"; return; } } $nic = trim($_GET["save_nic"]); $IPADDR = trim($_GET["IPADDR"]); $NETMASK = trim($_GET["NETMASK"]); $GATEWAY = trim($_GET["GATEWAY"]); $BROADCAST = trim($_GET["BROADCAST"]); if (isset($_GET["DNS_1"])) { $DNS_1 = $_GET["DNS_1"]; } if (isset($_GET["DNS_2"])) { $DNS_2 = $_GET["DNS_2"]; } $dhcp = trim($_GET["dhcp"]); $arrayNic = $ip->GetNicInfos($nic); $q = new mysql(); $sql = "SELECT ipaddr FROM nic_virtuals WHERE ipaddr='{$IPADDR}'"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); if ($ligne["ipaddr"] != null) { echo $tpl->javascript_parse_text("{already_used}: {$IPADDR} (Virtual)"); return; } $sql = "SELECT ipaddr FROM nics_vlan WHERE ipaddr='{$IPADDR}'"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); if ($ligne["ipaddr"] != null) { echo $tpl->javascript_parse_text("{already_used}: {$IPADDR} (VLAN)"); return; } $ROUTES = base64_encode(serialize($arrayNic["ROUTES"])); if (intval($_GET["enabled"]) == 1) { if ($_GET["dhcp"] != 1) { if (!$ip->checkIP($IPADDR)) { echo "CheckIP: Address: {$IPADDR} = False;\n"; return; } if (!$ip->checkIP($NETMASK)) { echo "CheckIP: NetMask {$NETMASK} = False;\n"; return; } if ($GATEWAY != "0.0.0.0") { if (!$ip->checkIP($GATEWAY)) { echo "CheckIP: Gateway {$GATEWAY} = False;\n"; return; } } } if ($DNS_1 != null) { if (!$ip->checkIP($DNS_1)) { echo "CheckIP: DNS 1 {$DNS_1} = False;\nOr set null value to remove this message"; return; } } if ($DNS_2 != null) { if (!$ip->checkIP($DNS_2)) { echo "CheckIP: DNS 2 {$DNS_2} = False;\nOr set null value to remove this message"; return; } } } $htmltools = new htmltools_inc(); $_GET["netzone"] = $htmltools->StripSpecialsChars($_GET["netzone"]); $tpl = new templates(); $nics = new system_nic($nic); $text[] = "{$NICNAME} {$nic} {$IPADDR}"; if ($NICNAME != null) { $nics->NICNAME = $NICNAME; } $nics->eth = $nic; $nics->IPADDR = $IPADDR; $nics->NETMASK = $NETMASK; $nics->GATEWAY = $GATEWAY; $nics->BROADCAST = $BROADCAST; if ($DNS_1 != null) { $nics->DNS1 = $DNS_1; } if ($DNS_2 != null) { $nics->DNS2 = $DNS_2; } $nics->dhcp = $_GET["dhcp"]; $nics->metric = $_GET["metric"]; $nics->enabled = intval($_GET["enabled"]); $nics->netzone = $_GET["netzone"]; $nics->mtu = $_GET["mtu"]; if (isset($_GET["defaultroute"])) { $nics->defaultroute = $_GET["defaultroute"]; } if (isset($_GET["Bridged"])) { $nics->Bridged = $_GET["Bridged"]; $text[] = "Bridged, "; } if (isset($_GET["BridgedTo"])) { $nics->BridgedTo = $_GET["BridgedTo"]; $text[] = "{$_GET["BridgedTo"]}"; } if (isset($_GET["defaultroute"])) { $nics->defaultroute = $_GET["defaultroute"]; } if ($_GET["noreboot"] == "noreboot") { $nics->NoReboot = true; if ($nics->SaveNic()) { return; } } $nics->SaveNic(); }
function high_menus() { return; $sock = new sockets(); $FixedLanguage = $sock->GET_INFO("FixedLanguage"); if (!isset($GLOBALS["CLASS_USERS_MENUS"])) { $users = new usersMenus(); $GLOBALS["CLASS_USERS_MENUS"] = $users; } else { $users = $GLOBALS["CLASS_USERS_MENUS"]; } $tpl = new templates(); if (is_file("ressources/templates/{$_COOKIE["artica-template"]}/HEAD_MENUS")) { $html = @file_get_contents("ressources/templates/{$_COOKIE["artica-template"]}/HEAD_MENUS"); $html = str_replace("%articaver%", $users->ARTICA_VERSION, $html); echo $tpl->_ENGINE_parse_body($html); return; } include_once dirname(__FILE__) . "/ressources/class.html.tools.inc"; $htmlT = new htmltools_inc(); $lang = $htmlT->LanguageArray(); $users = new usersMenus(); if (!is_numeric($_SESSION["SWITCH_HIGH_MENUS"])) { $_SESSION["SWITCH_HIGH_MENUS"] = 1; } if ($users->AsAnAdministratorGeneric) { if ($_SESSION["SWITCH_HIGH_MENUS"] == 1) { $html = "\t\n\t\t\t<table style='width:80%;padding:0px;margin:0px;border:0px;margin-top:2px'>\n\t\t\t<tr>\n\t\t\t"; if ($_SESSION["uid"] == -100) { $html = $html . "<td><a href='#' OnClick=\"javascript:Loadjs('artica.settings.php?js=yes&func-AccountsInterface=yes');\" style='color:#CCCCCC;font-size:11px;text-decoration:underline'>Manager</a></td>\n\t\t\t<td style='color:white;font-size:11px;'> | </td>"; } $html = $html . "\n\t\t\t\t<td><a href='#' OnClick=\"javascript:logoff();\" style='color:#CCCCCC;font-size:11px;text-decoration:underline'>{logoff}</a></td>\n\t\t\t\t<td style='color:white;font-size:11px;'> | </td>\n\t\t\t<td><a href='#' OnClick=\"javascript:Loadjs('chg.language.php');\" style='color:#CCCCCC;font-size:11px;text-decoration:underline'>{language}: {$tpl->language}</a></td>\n\t\t\t<td style='color:white;font-size:11px;'> | </td>\n\t\t\t<td><a href='#' OnClick=\"javascript:Loadjs('artica.update.php?js=yes')\" style='color:#CCCCCC;font-size:11px;text-decoration:underline'>{version}: {$users->ARTICA_VERSION}</a></td>\n\t\t\t<td style='color:white;font-size:11px;'> | </td>\n\t\t\t<td><a href='#' OnClick=\"javascript:AjaxTopMenuTiny('div-high-menus','Inotify.php?switch-high=yes');\" \n\t\t\tstyle='color:#CCCCCC;font-size:11px;'>»»</a></td>\t\t\t\t\n\t\t\t</tr>\n\t\t\t</table>\n\t\t\t"; $_SESSION["SWITCH_HIGH_MENUS"] = 0; echo $tpl->_ENGINE_parse_body($html); } else { include_once dirname(__FILE__) . "/ressources/class.os.system.inc"; include_once dirname(__FILE__) . "/ressources/class.os.system.tools.inc"; $os = new os_system(); $cpunum = intval($users->CPU_NUMBER); $array_load = sys_getloadavg(); $org_load = $array_load[2]; $load = intval($org_load); $hash_mem = $os->realMemory(); $mem_used_p = $hash_mem["ram"]["percent"]; $mem_used_kb = FormatBytes($hash_mem["ram"]["used"]); $total = FormatBytes($hash_mem["ram"]["total"]); $swapar = $os->swap(); $max_vert_fonce = $cpunum; $max_vert_tfonce = $cpunum + 1; $max_orange = $cpunum * 0.75; $max_over = $cpunum * 2; $purc1 = $load / $cpunum; $pourc = round($purc1 * 100, 2); $color = "#5DD13D"; if ($load >= $max_orange) { $color = "#F59C44"; } if ($load > $max_vert_fonce) { $color = "#C5792D"; } if ($load > $max_vert_tfonce) { $color = "#83501F"; } if ($load >= $max_over) { $color = "#640000"; $text = "{overloaded}"; } $html = "\t\n\t\t\t<table style='width:80%;padding:0px;margin:0px;border:0px;margin-top:2px'>\n\t\t\t<tbody>\n\t\t\t<tr>"; if ($_SESSION["uid"] == -100) { $html = $html . "<td><a href='#' OnClick=\"javascript:Loadjs('artica.settings.php?js=yes&func-AccountsInterface=yes');\" style='color:#CCCCCC;font-size:11px;text-decoration:underline'>Manager</a></td>\n\t\t\t<td style='color:white;font-size:11px;'> | </td>"; } $html = $html . "<td nowrap><a href='#' OnClick=\"javascript:logoff();\" style='color:#CCCCCC;font-size:11px;text-decoration:underline'>{logoff}</a></td>\n\t\t\t<td style='color:white;font-size:11px;'> | </td>\t\t\n\t\t\t<td nowrap><a href='#' OnClick=\"javascript:Loadjs('chg.language.php');\" \n\t\t\tstyle='color:#CCCCCC;font-size:11px;'>{load}: {$org_load}</a></td>\t\n\t\t\t<td style='color:white;font-size:11px;' nowrap> | </td>\n\t\t\t<td nowrap><a href='#' OnClick=\"javascript:Loadjs('chg.language.php');\" \n\t\t\tstyle='color:#CCCCCC;font-size:11px;' nowrap>mem: {$mem_used_p}%</a></td>\n\t\t\t<td style='color:white;font-size:11px;' nowrap> | </td>\n<td nowrap><a href='#' OnClick=\"javascript:Loadjs('chg.language.php');\" \n\t\t\tstyle='color:#CCCCCC;font-size:11px;' nowrap>swap: {$swapar[0]}%</a></td>\t\n\t\t\t<td style='color:white;font-size:11px;'> | </td>\n\t\t\t<td nowrap><a href='#' OnClick=\"javascript:AjaxTopMenuTiny('div-high-menus','Inotify.php?switch-high=yes');\" \n\t\t\tstyle='color:#CCCCCC;font-size:11px;'>»»</a></td>\t\t\t\t\t\t\n\t\t\t</tR>\n\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t"; $_SESSION["SWITCH_HIGH_MENUS"] = 1; echo $tpl->_ENGINE_parse_body($html); } } }
function route_save() { include_once dirname(__FILE__) . "/class.html.tools.inc"; $html = new htmltools_inc(); $ID = $_POST["ID"]; $RouteName = trim(strtolower($html->replace_accents($_POST["RouteName"]))); $RouteName = str_replace(" ", "", $RouteName); $RouteName = str_replace("/", "", $RouteName); $RouteName = str_replace("#", "", $RouteName); $RouteName = str_replace("\$", "", $RouteName); $ADD = false; if ($ID == 0) { $sql = "INSERT INTO routing_rules (`RouteName`,`nic`,`enabled`)\n\t\tVALUES('{$RouteName}','{$_POST["nic"]}',1);"; $eth = $_POST["nic"]; $ADD = true; } else { $sql = "UPDATE routing_rules SET\n\t\t\t\t`RouteName`='{$RouteName}',\n\t\t\t\t`nic`='{$_POST["nic"]}',\n\t\t\t\t`enabled`='{$_POST["enabled"]}'\n\t\t\t\t WHERE `ID`='{$ID}'"; } $q = new mysql(); $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; return; } if ($ADD) { $ruleid = $q->last_id; $nicClass = new system_nic($eth); $metric = $ruleid + 1; $tr = explode(".", $nicClass->IPADDR); unset($tr[3]); $ipf = @implode(".", $tr) . ".0"; $sql = "INSERT INTO routing_rules_dest (`type`,`gateway`,`pattern`,`ruleid`,`nic`,`metric`,`zOrder`)\n\t\tVALUES('1','','{$ipf}/{$nicClass->NETMASK}','{$ruleid}','{$eth}','{$metric}','1');"; $q->QUERY_SQL($sql, "artica_backup"); } }
function pools_save() { $poolid = $_POST["poolid"]; unset($_POST["poolid"]); $revers = new squid_reverse(); include_once dirname(__FILE__) . "/class.html.tools.inc"; $html = new htmltools_inc(); $_POST["poolname"] = $html->StripSpecialsChars($_POST["poolname"]); while (list($key, $value) = each($_POST)) { $fields[] = "`{$key}`"; $values[] = "'" . mysql_escape_string2($value) . "'"; $edit[] = "`{$key}`='" . mysql_escape_string2($value) . "'"; } if ($poolid > 0) { $sql = "UPDATE nginx_pools SET " . @implode(",", $edit) . " WHERE ID={$poolid}"; } else { $sql = "INSERT IGNORE INTO nginx_pools (" . @implode(",", $fields) . ") VALUES (" . @implode(",", $values) . ")"; } $q = new mysql_squid_builder(); $q->QUERY_SQL($sql); if (!$q->ok) { echo $q->mysql_error; return; } $sock = new sockets(); $sock->getFrameWork("squid.php?reverse-proxy-apply=yes"); }
function servername_tokey($servername) { $html = new htmltools_inc(); return $html->StripSpecialsChars($servername); }
function add_category_save() { $_POST["personal_database"] = url_decode_special_tool($_POST["personal_database"]); $_POST["category_text"] = url_decode_special_tool($_POST["category_text"]); $org = $_POST["personal_database"]; include_once dirname(__FILE__) . "/ressources/class.html.tools.inc"; $html = new htmltools_inc(); $dans = new dansguardian_rules(); $_POST["personal_database"] = strtolower($html->StripSpecialsChars($_POST["personal_database"])); if ($_POST["personal_database"] == null) { echo "No category set or wrong category name \"{$org}\"\n"; return; } if ($_POST["personal_database"] == "security") { $_POST["personal_database"] = "security2"; } if ($_POST["CatzByGroupA"] != null) { $_POST["CatzByGroupL"] = $_POST["CatzByGroupA"]; } $_POST["CatzByGroupL"] = mysql_escape_string2($_POST["CatzByGroupL"]); $_POST["category_text"] = url_decode_special_tool($_POST["category_text"]); $_POST["category_text"] = mysql_escape_string2($_POST["category_text"]); $q = new mysql_squid_builder(); $sql = "SELECT category FROM personal_categories WHERE category='{$_POST["personal_database"]}'"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql)); if ($ligne["category"] != null) { $sql = "UPDATE personal_categories\n\t\tSET category_description='{$_POST["category_text"]}',\n\t\t`PublicMode`='{$_POST["PublicMode"]}',\n\t\tmaster_category='{$_POST["CatzByGroupL"]}'\n\t\tWHERE category='{$_POST["personal_database"]}'\n\t\t"; } else { if (isset($dans->array_blacksites[$_POST["personal_database"]])) { $tpl = new templates(); echo $tpl->javascript_parse_text("{$_POST["personal_database"]}:{category_already_exists}"); return; } $sql = "INSERT IGNORE INTO personal_categories (category,category_description,master_category,PublicMode)\n\t\tVALUES ('{$_POST["personal_database"]}','{$_POST["category_text"]}','{$_POST["CatzByGroupL"]}','{$_POST["PublicMode"]}');"; } $q->QUERY_SQL($sql); if (!$q->ok) { echo $q->mysql_error; return; } $q->CreateCategoryTable($_POST["personal_database"]); $sql = "TRUNCATE TABLE webfilters_categories_caches"; $dans->CategoriesTableCache(); $dans->CleanCategoryCaches(); }
function TEMPLATE_LANG_POPUP() { $page = CurrentPageName(); $tpl = new templates(); $html = "\t\n<table cellspacing='0' cellpadding='0' border='0' class='tableView' style='width:100%'>\n<thead class='thead'>\n\t<tr>\n\t<th> </th>\n\t\n\t</tr>\n</thead>\n<tbody class='tbody'>"; $t = time(); $htmlT = new htmltools_inc(); $lang = $htmlT->LanguageArray(); while (list($num, $val) = each($lang)) { if ($classtr == "oddRow") { $classtr = null; } else { $classtr = "oddRow"; } $html = $html . "\n\t\t<tr class={$classtr}>\n\t\t\t<td style='font-size:18px'><a href=\"javascript:blur();\" OnClick=\"javascript:SelectMyLanguage('{$num}')\" style='font-weight:bold'>{$val}</a></td>\n\t\t</tr>\n\t\t\n\t\t"; } $html = $html . "</tbody></table>\n\t<script>\n\tvar X_SelectMyLanguage= function (obj) {\n\t\tvar results=obj.responseText;\n\t\n\t}\n\t\n\t\n\t\tfunction SelectMyLanguage(lang){\n\t\t\tSet_Cookie('artica-language', lang, '3600', '/', '', '');\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tXHR.appendData('Changelang',lang);\n\t\t\tMEM_PASSWORD=document.getElementById('artica_password').value;\n\t\t\tXHR.sendAndLoad('logon.php', 'POST');\t\t\n\t\t\tsetTimeout('ReloadThisPage()',800);\t\n\t\t\t\n\t\t\n\t\t}\n\t\t\n\t\tfunction ReloadThisPage(){\n\t\t\tMEM_USERNAME=document.getElementById('artica_username').value;\n\t\t\twindow.location.href='logon.php?MEM_USERNAME='******'&t={$t}';\n\t\t}\n\t</script>\n\t\n\t"; echo $tpl->_ENGINE_parse_body($html); #F2FAFD }
function ACTION_LVM_CREATE_LV(){ $sock=new sockets(); $vg=$_POST["VG"]; $dev=$_POST["lvcreate-perform"]; $lvname=$_POST["LVNAME"]; $lvsize=$_POST["LVSIZE"]; $t=new htmltools_inc(); $lvname=$t->StripSpecialsChars($lvname); $lvname=urlencode($lvname); $sock=new sockets(); writelogs("create \"$lvname\" in $vg for {$lvsize}M",__FUNCTION__,__FILE__,__LINE__); $datas=base64_decode($sock->getFrameWork("lvm.php?lvcreate=yes&lvname=$lvname&lvsize=$lvsize&dev=".urlencode($_GET["dev"])."&gpname=".urlencode($vg))); echo $datas; }
function add_category_save() { $_POST["personal_database"] = url_decode_special_tool($_POST["personal_database"]); $_POST["category_text"] = url_decode_special_tool($_POST["category_text"]); $org = $_POST["personal_database"]; $html = new htmltools_inc(); $_POST["personal_database"] = strtolower($html->StripSpecialsChars($_POST["personal_database"])); if ($_POST["personal_database"] == null) { echo "No category set or wrong category name \"{$org}\"\n"; return; } if ($_POST["personal_database"] == "security") { $_POST["personal_database"] = "security2"; } if ($_POST["CatzByGroupA"] != null) { $_POST["CatzByGroupL"] = $_POST["CatzByGroupA"]; } $_POST["CatzByGroupL"] = mysql_escape_string2($_POST["CatzByGroupL"]); $_POST["category_text"] = url_decode_special_tool($_POST["category_text"]); $_POST["category_text"] = mysql_escape_string2($_POST["category_text"]); $q = new mysql_meta(); $sql = "CREATE TABLE IF NOT EXISTS `webfiltering_categories` (\n\t\t\t\t`category` VARCHAR( 15 ) NOT NULL ,\n\t\t\t\t`category_description` VARCHAR( 255 ) NOT NULL ,\n\t\t\t\t`PublicMode` smallint(1) NOT NULL,\n\t\t\t\tPRIMARY KEY (`category`),\n\t\t\t\tINDEX ( `category_description`) ,\n\t\t\t\tKEY `PublicMode` (`PublicMode`) ) ENGINE = MYISAM;"; $q->QUERY_SQL($sql); $sql = "SELECT category FROM webfiltering_categories WHERE category='{$_POST["personal_database"]}'"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql)); if ($ligne["category"] == null) { $sql = "INSERT IGNORE INTO webfiltering_categories (category,category_description,PublicMode)\n\t\tVALUES ('{$_POST["personal_database"]}','{$_POST["category_text"]}','{$_POST["PublicMode"]}');"; } else { $sql = "UPDATE webfiltering_categories SET category_description='{$_POST["category_text"]}',\n\t\tPublicMode='{$_POST["PublicMode"]}' WHERE category='{$_POST["personal_database"]}'"; } $q->QUERY_SQL($sql); if (!$q->ok) { echo $q->mysql_error; return; } }
function choose_language(){ include_once(dirname(__FILE__)."/ressources/class.html.tools.inc"); $tpl=new templates(); $htmltools=new htmltools_inc(); $lang=$htmltools->LanguageArray(); $page=CurrentPageName(); $lang[null]="{select}"; $html="<table style='width:100%' class=form> <tr> <td valign='top'>{language}: ($tpl->language)</td> <td>". Field_array_Hash($lang,"miniconfig-select-lang",$tpl->language,"style:font-size:16px;")."</td> </tr> <tr> <td colspan=2 align='right'>". button("{apply}","ChangeLang()")."</td> </tr> </table> <script> var x_ChangeLang= function (obj) { var response=obj.responseText; location.reload(); } function ChangeLang(){ var lang=document.getElementById('miniconfig-select-lang').value; Set_Cookie('artica-language', lang, '3600', '/', '', ''); var XHR = new XHRConnection(); XHR.appendData('miniconfig-POST-lang',lang); XHR.sendAndLoad('$page', 'POST',x_ChangeLang); location.reload(); } </script>"; echo $tpl->_ENGINE_parse_body($html); }
function logonForm(){ include_once(dirname(__FILE__)."/ressources/class.html.tools.inc"); $sock=new sockets(); $users=new usersMenus(); $_SESSION["DisableSSHControl"]=trim($sock->GET_INFO("DisableSSHControl")); $AllowInternetUsersCreateOrg=$sock->GET_INFO("AllowInternetUsersCreateOrg"); $AddInArticaLogonFrontPage=$sock->GET_INFO("AddInArticaLogonFrontPage"); $html=new htmltools_inc(); $lang=$html->LanguageArray(); if($_GET["MEM_USERNAME"]==null){ if($_COOKIE["mem-logon-user"]<>null){ $_GET["MEM_USERNAME"]=$_COOKIE["mem-logon-user"]; } } if($_COOKIE["artica-language"]==null){ $languageClass=new articaLang(); $defaultlanguage=$languageClass->get_languages(); if($defaultlanguage=="pt"){$defaultlanguage="po";} if($lang[$defaultlanguage]==null){$defaultlanguage="en";} setcookie("artica-language", $defaultlanguage, time()+172800); }else{$defaultlanguage=$_COOKIE["artica-language"];} ksort($lang); $field_lang=Field_array_Hash($lang,'lang',$defaultlanguage,"ChangeDefaultLanguage()"); $language_selector=" <tr> <td align='right' class=legend style='font-size:13px'><strong>{language}:</strong></td> <td>$field_lang</td> </tr>"; if($_GET["LANGUAGE_SELECTOR_REMOVE"]==1){ $language_selector="<tr> <td colspan=2 style='margin:-1px;padding:-1px> <input type='hidden' name='lang' id='lang' value='{$_GET["DEFAULT_LANGUAGE"]}'></td> </tr> "; $_SESSION["detected_lang"]=$_GET["DEFAULT_LANGUAGE"]; unset($_SESSION["translation"]); setcookie("artica-language", $_GET["DEFAULT_LANGUAGE"], time()+172800); } $contour_color="#005447"; if($users->KASPERSKY_WEB_APPLIANCE){ $GLOBALS["CHANGE_TEMPLATE"]="squid.kav.html"; $contour_color="#EB6947"; //bg_kavweb-appliance.jpg } if($AllowInternetUsersCreateOrg==1){ if($AddInArticaLogonFrontPage==1){ $addon=" <div> <a href=\"miniadm.register.php\" style='font-size:11px'>{register}</a> | <a href=\"miniadm.php\" style='font-size:11px'>{organization_administrator}</a> </div>"; } } if(!function_exists('ldap_connect')){ $ldap_error= " <div style='border:3px solid red;font-size:16px;color:red;padding:5px;width:220px;position:absolute;left:0;top:0;background-color:white'> <center>Error ldap_connect() try to restart the web service<br><br>or check if php5-ldap is installed <br>And restart web server</center> <center> <form name='FF1' method='POST' action='$page'> <input type='hidden' name='php5-ldap-restart' value='1'> <input type='submit' value=' Restart The web service '> </form> </center> </div> "; } if(!function_exists("posix_getuid")){ $ldap_error=$ldap_error. " <div style='border:3px solid red;font-size:16px;color:red;padding:5px;width:220px;position:absolute;left:250px;top:0;background-color:white'> Artica-postfix need <strong>posix «posix_getuid()»</strong> function <BR>... please try to install php-posix </div>"; } if(!function_exists('mysql_connect')){ $ldap_error=$ldap_error. " <div style='border:3px solid red;font-size:16px;color:red;padding:5px;width:220px;position:absolute;left:500px;top:0;background-color:white'> Artica-postfix need <strong> «mysql_connect()»</strong> function <BR>... please try to install php-mysql </div>"; } $html="<div id='loginform'> <center> <div style='color:red;font-size:13px;font-weight:bold;width:70%; font-family:Helvetica,Tahoma,Verdana,sans-serif'>{$_GET["ERROR"]}</div> </center> <H1 style='text-align:left'>{logon}</h1> <form name='logon_{$_SERVER["SERVER_NAME"]}' method='POST'> <table style='width:50%;border:3px solid $contour_color;margin:5px;padding:5px;'> <tr> <td align='right' class=legend style='font-size:13px'><strong>{username}:</strong></td> <td><input type='text' id='artica_username' name='artica_username' value='{$_GET["MEM_USERNAME"]}' style='border:1px solid black;width:100%;font-size:13px' OnkeyPress=\"javascript:SendLogon(event)\"></td> </tr> <tr> <td align='right' class=legend style='font-size:13px'><strong>{password}:</strong></td> <td><input type='password' id='artica_password' name='artica_password' value='{$_GET["MEM_PASSWORD"]}' style='border:1px solid black;width:100%;font-size:13px' OnkeyPress=\"javascript:SendLogon(event)\"></td> </tr> $language_selector <tr> <td colspan=2 align='right' ><br> <input type='button' value='{logon} »' OnClick=\"javascript:SendLogonStart();\" OnkeyPress=\"javascript:SendLogon(event)\"> </td> </tr> <tr><td colspan=2 align='right'>$addon</td> <tr> <td colspan=2 align='right' style='padding-top:10px'><span id='anim'></span></td> </tr> </table> </div> $ldap_error $script "; return $html; }