コード例 #1
0
ファイル: amanda.php プロジェクト: BillTheBest/1.6.x
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");
}
コード例 #2
0
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);
}
コード例 #3
0
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();
}
コード例 #4
0
function servername_tokey($servername)
{
    $html = new htmltools_inc();
    return $html->StripSpecialsChars($servername);
}
コード例 #5
0
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;
    }
}
コード例 #6
0
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");
}
コード例 #7
0
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");
}
コード例 #8
0
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;
    }
}
コード例 #9
0
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;		
	
}
コード例 #10
0
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");
    }
}
コード例 #11
0
ファイル: system.nic.edit.php プロジェクト: BillTheBest/1.6.x
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();
}
コード例 #12
0
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");
}
コード例 #13
0
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");
}