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";} }
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); }