Example #1
0
function virtuals_add(){
	$sock=new sockets();
	$tpl=new templates();
	$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($_GET["nic"]==null){echo $tpl->_ENGINE_parse_body("{nic}=null");exit;}
	$PING=trim($sock->getFrameWork("cmd.php?ping=".urlencode($_GET["virt-ipaddr"])));
	
	if($PING=="TRUE"){
		echo $tpl->javascript_parse_text("{$_GET["virt-ipaddr"]}:\n{ip_already_exists_in_the_network}");
		return;
	}
	
	if($_GET["failover"]==1){
		$_GET["gateway"]=$_GET["virt-ipaddr"];
		$_GET["netmask"]="255.255.255.255";
		$_GET["ForceGateway"]=0;
		
	}
	
	if($_GET["metric"]==0){$_GET["metric"]=lastmetric();}
	
	$NoGatewayForVirtualNetWork=$sock->GET_INFO("NoGatewayForVirtualNetWork");
	if(!is_numeric($NoGatewayForVirtualNetWork)){$NoGatewayForVirtualNetWork=0;}	
	
	if($NoGatewayForVirtualNetWork==1){$_GET["gateway"]=null;}
	$q=new mysql();
	if(!$q->FIELD_EXISTS("nics_virtuals","ForceGateway","artica_backup")){$sql="ALTER TABLE `nics_virtuals` ADD `ForceGateway` TINYINT( 1 ) NOT NULL";$q->QUERY_SQL($sql,'artica_backup');if(!$q->ok){echo $q->mysql_error."\n$sql\n";return;}}		
	if(!$q->FIELD_EXISTS("nics_virtuals","failover","artica_backup")){$sql="ALTER TABLE `nics_virtuals` ADD `failover` TINYINT( 1 ) NOT NULL,ADD INDEX ( `failover` )";$q->QUERY_SQL($sql,'artica_backup');if(!$q->ok){echo $q->mysql_error."\n$sql\n\n";return;}}
	
	$sql="INSERT INTO nics_virtuals (nic,org,ipaddr,netmask,cdir,gateway,ForceGateway,failover,metric)
	VALUES('{$_GET["nic"]}','{$_GET["org"]}','{$_GET["virt-ipaddr"]}','{$_GET["netmask"]}',
	'{$_GET["cdir"]}','{$_GET["gateway"]}',{$_GET["ForceGateway"]},{$_GET["failover"]},{$_GET["metric"]});
	";
	
	if($_GET["ID"]>0){
		$sql="UPDATE nics_virtuals SET nic='{$_GET["nic"]}',
		org='{$_GET["org"]}',
		ipaddr='{$_GET["virt-ipaddr"]}',
		netmask='{$_GET["netmask"]}',
		cdir='{$_GET["cdir"]}',
		gateway='{$_GET["gateway"]}',
		ForceGateway='{$_GET["ForceGateway"]}',
		failover='{$_GET["failover"]}',
		metric='{$_GET["metric"]}'
		WHERE ID={$_GET["ID"]}";
	}
	writelogs("$sql",__FUNCTION__,__FILE__,__LINE__);
	
	$q->QUERY_SQL($sql,"artica_backup");
	if(!$q->ok){if(preg_match("#Unknown col#i", $q->mysql_error)){$q->BuildTables();$q->QUERY_SQL($sql,"artica_backup");}}
	if(!$q->ok){echo $q->mysql_error."\n$sql\n";}
	
}
Example #2
0
function vlan_add_form()
{
    $ldap = new clladp();
    $sock = new sockets();
    $page = CurrentPageName();
    $nics = unserialize(base64_decode($sock->getFrameWork("cmd.php?list-nics=yes")));
    $title_button = "{add}";
    $t = $_GET["t"];
    if ($_GET["ID"] > 0) {
        $sql = "SELECT * FROM nics_vlan WHERE ID='{$_GET["ID"]}'";
        $q = new mysql();
        $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
        $title_button = "{apply}";
    }
    if (isset($_GET["default-datas"])) {
        $default_array = unserialize(base64_decode($_GET["default-datas"]));
        if (is_array($default_array)) {
            $ligne["nic"] = $default_array["NIC"];
            if (preg_match("#(.+?)\\.([0-9]+)\$#", $default_array["IP"], $re)) {
                if ($re[2] > 254) {
                    $re[2] = 1;
                }
                $re[2] = $re[2] + 1;
                $ligne["ipaddr"] = "{$re[1]}.{$re[2]}";
                $ligne["gateway"] = $default_array["GW"];
                $ligne["netmask"] = $default_array["NETMASK"];
            }
        }
    }
    $styleOfFields = "font-size:16px;padding:3px";
    $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}";
    $nic_field = Field_array_Hash($nics_array, "nic", $ligne["nic"], null, null, 0, "font-size:16px;padding:3px");
    $ou_fields = Field_array_Hash($ous, "org", $ligne["org"], null, null, 0, "font-size:16px;padding:3px");
    if (!is_numeric($ligne["metric"])) {
        $ligne["metric"] = 0;
    }
    if ($ligne["metric"] == 0) {
        $ligne["metric"] = lastmetric();
    }
    $html = "\n\t<div id='virtip-vlan-{$t}'></div>\n\t" . Field_hidden("ID", "{$_GET["ID"]}") . "\n\t<table style='width:99%' class=form> \n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{nic}</td>\n\t\t<td>{$nic_field}</td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{organization}</td>\n\t\t<td>{$ou_fields}</td>\n\t</tr>\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>Vlan ID</td>\n\t\t<td>" . Field_text("vlanid-{$t}", $ligne["vlanid"], "font-size:16px;width:60px") . "</td>\n\t</tr>\t\n\t<tr>\n\t\t\t<td class=legend style='font-size:16px'>{tcp_address}:</td>\n\t\t\t<td>" . field_ipv4("ipaddr", $ligne["ipaddr"], "font-size:16px", null, "CalcCdirVirt(0)", null, false, null, $DISABLED) . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:16px'>{netmask}:</td>\n\t\t\t<td>" . field_ipv4("netmask", $ligne["netmask"], "font-size:16px", null, "CalcCdirVirt(0)", null, false, null, $DISABLED) . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:16px'>CDIR:</td>\n\t\t\t<td style='padding:-1px;margin:-1px'>\n\t\t\t<table style='width:99%;padding:-1px;margin:-1px'>\n\t\t\t<tr>\n\t\t\t<td width=1%>\n\t\t\t" . Field_text("cdir", $ligne["cdir"], "font-size:16px;width:210px", null, null, null, false, null, $DISABLED) . "</td>\n\t\t\t<td align='left'> " . imgtootltip("img_calc_icon.gif", "cdir", "CalcCdirVirt(1)") . "</td>\n\t\t\t</tr>\n\t\t\t</table></td>\n\t\t</tr>\t\t\t\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:16px'>{gateway}:</td>\n\t\t\t<td>" . field_ipv4("gateway", $ligne["gateway"], "font-size:16px", null, null, null, false, null, $DISABLED) . "</td>\n\t\t</tr>\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px'>{metric}</td>\n\t\t<td>" . Field_text("metric-{$t}", $ligne["metric"], "font-size:16px;width:60px") . "</td>\n\t</tr>\t\t\t\t\t\n\t</table>\n\n\t<div style='text-align:right'><hr>" . button($title_button, "VLANSave{$t}()", "18px") . "</div>\n\t<script>\n\t\n\t\tfunction VLANSave{$t}(){\t\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tXHR.appendData('vlan-ipaddr',document.getElementById('ipaddr').value);\n\t\t\tXHR.appendData('netmask',document.getElementById('netmask').value);\n\t\t\tXHR.appendData('cdir',document.getElementById('cdir').value);\n\t\t\tXHR.appendData('gateway',document.getElementById('gateway').value);\n\t\t\tXHR.appendData('nic',document.getElementById('nic').value);\n\t\t\tXHR.appendData('org',document.getElementById('org').value);\n\t\t\tXHR.appendData('ID',document.getElementById('ID').value);\n\t\t\tXHR.appendData('vlanid',document.getElementById('vlanid-{$t}').value);\n\t\t\tXHR.appendData('metric',document.getElementById('metric-{$t}').value);\n\t\t\tAnimateDiv('virtip-vlan-{$t}');\n\t\t\tXHR.sendAndLoad('{$page}', 'GET',XVLANSave{$t});\n\t\t}\t\n\n\t\t\n\t\t\n\t\tfunction CheckCDR{$t}(){\n\t\t\tvar cdir=document.getElementById('cdir').value;\n\t\t\tvar netmask=document.getElementById('netmask').value;\n\t\t\tif(netmask.length>0){if(cdir.length==0){CalcCdirVirt(0);}}\n\t\t}\n\t\t\t\n\t\tvar XVLANSave{$t}= function (obj) {\n\t\t\tvar results=obj.responseText;\n\t\t\tdocument.getElementById('virtip-vlan-{$t}').innerHTML='';\n\t\t\tif(results.length>0){alert(results);}\n\t\t\tYahooWin2Hide();\n\t\t\tif(document.getElementById('main_openvpn_config')){RefreshTab('main_openvpn_config');}\n\t\t\tVLANRefresh();\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\n\tCheckCDR{$t}();\n\t</script>\n\t\n\t";
    $tpl = new templates();
    echo $tpl->_ENGINE_parse_body($html);
}