#!/bin/sh
#This script is created by ssparser automatically. The parser first created by MaoShouyan
printf "Content-type: text/html
Cache-Control: no-cache

"
echo -n "";
. ../common/common.sh 
myself="/cgi-bin/Route/`basename $0`"
return_url="/cgi-bin/Route/proxy_list"

echo -n "
<script type=\"text/javascript\" src=\"/img/common.js\"></script>
<script language=\"javascript\">
function beforeAddProxy(frm)
{
	var proxyname = document.getElementsByName(\"proxyname\")[0];
	var proxyaddr = document.getElementsByName(\"proxyaddr\")[0];
	var proxygw   = document.getElementsByName(\"proxygw\")[0];
	var proxydns  = document.getElementsByName(\"proxydns\")[0];
	var ifname    = document.getElementsByName(\"ifname\")[0];
	var vlan      = document.getElementsByName(\"vlan\")[0];
	var pingip    = document.getElementsByName(\"pingip\")[0];
	var wantype   = document.getElementsByName(\"wantype\")[0];
	var username  = document.getElementsByName(\"username\")[0];
	var password  = document.getElementsByName(\"password\")[0];
	proxyname.value = TrimAll(proxyname.value);
	if (!IsName(proxyname.value)) {
		alert(\"в&ַ!\");
		proxyname.select();
		return false;
	}
	if (wantype.value == \"static\") {
		proxyaddr.value = TrimAll(proxyaddr.value);
		if (!IsIPAddr(proxyaddr.value)) {
			alert(\"·IPַ!\");
			proxyaddr.select();
			return false;
		}
		proxygw.value = TrimAll(proxygw.value);
		if (!IsIPAddr(proxygw.value)) {
			alert(\"صַ!\");
			proxygw.select();
			return false;
		}
		proxydns.value = TrimAll(proxydns.value);
		if (proxydns.value != \"\" && !IsIPAddr(proxydns.value)) {
			alert(\"ȷDNSַ!\");
			proxydns.select();
			return false;
		}
	}
	else {
		username.value = TrimAll(username.value);
		if (username.value == \"\") {
			alert(\"PPPOE˺!\");
			username.select();
			return false;
		}
		password.value = TrimAll(password.value);
		if (password.value == \"\") {
			alert(\"PPPOE!\");
			password.select();
			return false;
		}
	}
	vlan.value = TrimAll(vlan.value);
	if (!IsDigitIn(vlan.value, 0, 65535)) {
		alert(\"VLAN TAG!\");
		vlan.select();
		return false;
	}
	pingip.value = TrimAll(pingip.value);
	if (pingip.value != \"\" && !IsIPAddr(pingip.value)) {
		alert(\"ȷIPַ!\n\");
		pingip.select();
		return false;
	}
	if (ifname.value == \"\") {
		alert(\"ѡ!\");
		ifname.select();
		return false;
	}
	return true;
}
function onTypeChanged(obj)
{
	var tblProxy = document.getElementById(\"idProxy\");
	var tblPppoe = document.getElementById(\"idPppoe\");
	if (obj.value == \"static\") {
		tblProxy.style.display = \"block\";
		tblPppoe.style.display = \"none\";
	}
	else {
		tblProxy.style.display = \"none\";
		tblPppoe.style.display = \"block\";
	}
}
function onCancel() 
{
	window.location.href = \"${return_url}\";
}
function onLoad()
{
	var wantype = document.getElementsByName(\"wantype\")[0];
	onTypeChanged(wantype);
}
</script>
";
if [ "${REQUEST_METHOD}" = "POST" ]; then
	operator_check "${myself}"
	[ "${CGI_vlan}" = "" ] && CGI_vlan="0"
	[ "${CGI_pingip}" = "" ] && CGI_pingip="0.0.0.0"
	[ "${CGI_clonemac}" = "" ] && CGI_clonemac="00:00:00:00:00:00"
	natcmd="name=${CGI_proxyname} ifname=${CGI_ifname}"
	if [ "${CGI_wantype}" = "static" ]; then
		[ "${CGI_proxymtu}" = "" ] && CGI_proxymtu=1500
		CGI_mtu=${CGI_proxymtu}
	else
		[ "${CGI_pppoemtu}" = "" ] && CGI_pppoemtu=1500
		CGI_mtu=${CGI_pppoemtu}
	fi
		
	natcmd="${natcmd} vlan=${CGI_vlan} mtu=${CGI_mtu} pingip=${CGI_pingip}"
	natcmd="${natcmd} clonemac=${CGI_clonemac}"
	if [ "${CGI_wantype}" = "static" ]; then
		[ "${CGI_proxydns}" = "" ] && CGI_proxydns="0.0.0.0"
		natcmd="nat addproxy ${natcmd} addr=${CGI_proxyaddr} gateway=${CGI_proxygw} dns=${CGI_proxydns}"
	else
		natcmd="nat addpppoe ${natcmd} username=${CGI_username} password=${CGI_password}"
	fi
		
	errmsg=`${FLOWEYE} ${natcmd}`
	if [ "$?" != "0" ]; then
		afm_dialog_msg "ʧ:${errmsg}"
	else
		afm_load_page 0 "${return_url}"
		exit 0
	fi
else
	CGI_proxydns="0.0.0.0"
	CGI_vlan="0"
	CGI_pingip="0.0.0.0"
	[ "${CGI_wantype}" = "" ] && CGI_wantype="static"
fi

echo -n "
<body onload=\"onLoad()\">
"; cgi_show_title "ӿ·->·" 
echo -n "
<br>
<form method=post onsubmit=\"return beforeAddProxy(this)\" action=\"${myself}\">
<table style=\"font:14px;width:800\" border=0 cellspacing=0 cellpadding=3 bgcolor=\"#ffffff\">
<tr id=row1>
	<td width=40></td>
        <td width=120 align=left>·</td>
	<td width=* align=left>
	<input type=text name=proxyname style=\"width:120px\" value=\"${CGI_proxyname}\"></input>&nbsp;(Ҫ8ֻ15Ӣַ)
	</td>
</tr>
<tr id=row1>
	<td></td>
        <td align=left></td>
        <td align=left>
		<select name=ifname style=\"width:120\">
		";
		for ifname in `${FLOWEYE} if list | grep outside | awk '{print $1}'`; do
			echo "<option value=\"${ifname}\">${ifname}</option>"
		done
		
echo -n "
		</select>
	</td>
</tr>
<tr id=row1>
	<td></td>
        <td align=left>VLAN</td>
        <td align=left>
		<input type=text name=vlan style=\"width:120px\" value=\"${CGI_vlan}\"></input>&nbsp;(ݰVLAN Tag, 0ʾݰTag)
	</td>
</tr>
<tr id=row1>
	<td></td>
        <td align=left>IP</td>
        <td align=left>
		<input type=text name=pingip style=\"width:120px\" value=\"${CGI_pingip}\"></input>&nbsp;(ͨpingIP·,0.0.0.0ʾر)
	</td>
</tr>
<tr id=row1>
	<td></td>
        <td align=left>¡MAC</td>
        <td align=left><input type=text name=clonemac style=\"width:160px\" value=\"${CGI_clonemac}\" />&nbsp;(xx:xx:xx:xx:xx:xxxx-xx-xx-xx-xx-xx)
</tr>
<tr id=row1>
	<td></td>
        <td align=left>·</td>
        <td align=left>
		<select name=wantype style=\"width:120\" value=\"${CGI_wantype}\" onchange=\"onTypeChanged(this)\">
		"; if [ "${CGI_wantype}" = "static" ]; then 
echo -n "
		<option value=\"static\" selected>̬IP</option>
		<option value=\"pppoe\">PPPOE</option>
		"; else 
echo -n "
		<option value=\"static\">̬IP</option>
		<option value=\"pppoe\" selected>PPPOE</option>
		"; fi 
echo -n "
		</select>
	</td>
</tr>
</table>
<table id=idProxy style=\"font:14px;width:800px\" border=0 cellspacing=0 cellpadding=3 bgcolor=\"#ffffff\">
<tr id=row1>
	<td></td>
        <td align=left>MTU</td>
"; 
mtu=${CGI_mtu}
[ "${mtu}" = "" ] && mtu=1500 

echo -n "
        <td align=left><input type=text name=proxymtu style=\"width:120px\" value=\"${mtu}\"></input>&nbsp;</td>
</tr>
<tr id=row1>
	<td width=40></td>
        <td width=120 align=left>IPַ</td>
        <td width=* align=left><input type=text name=proxyaddr style=\"width:120px\" value=\"${CGI_proxyaddr}\" /></td>
</tr>
<tr id=row1>
	<td></td>
        <td align=left id=tdGateway>صַ</td>
        <td align=left><input type=text name=proxygw  style=\"width:120px\" value=\"${CGI_proxygw}\" /></td>
</tr>
<tr id=row1>
	<td></td>
        <td align=left id=tdDnsaddr>DNS</td>
        <td align=left><input type=text name=proxydns style=\"width:120px\" value=\"${CGI_proxydns}\" />&nbsp;(ѡ)</td>
</tr>
</table>
<table id=idPppoe style=\"font:14px;width:800px\" border=0 cellspacing=0 cellpadding=3 bgcolor=\"#ffffff\">
<tr id=row1>
	<td></td>
        <td align=left>MTU</td>
"; 
mtu=${CGI_mtu}
[ "${mtu}" = "" ] && mtu=1480 

echo -n "
        <td align=left><input type=text name=pppoemtu style=\"width:120px\" value=\"${mtu}\"></input>&nbsp;</td>
</tr>
<tr id=row1>
	<td width=40></td>
        <td align=left width=120>PPPOE˺</td>
        <td align=left width=*><input type=text name=username  style=\"width:120px\" value=\"${CGI_username}\" /></td>
</tr>
<tr id=row1>
	<td></td>
        <td align=left>PPPOE</td>
        <td align=left><input type=password name=password style=\"width:120px;\" value=\"${CGI_password}\" /></td>
</tr>
</table>
<table style=\"width:600; border-bottom:1px #787882 solid; color:#0000ff\">
<tr><td align=right>&nbsp;</td></tr>
</table>
<table style=\"width:600\"> 
<tr>
        <td align=right>
		<input type=submit id=newbtn value=\"ύ\"></input>
		<input type=button id=newbtn value=\"ȡ\" onclick=\"onCancel()\"></input>
	</td>
</tr>
</table>
</form>
</body>
</html>
";