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

"
echo -n "";
if [ "${PALANG}" = "en" ]; then 
	LANG_001="Configure"
	LANG_002="Realtime"
	LANG_003="TopFlow"
	LANG_004="Chart"
	LANG_005="LogShow"
	LANG_006="GameCloud"
	LANG_007="Disable"
	LANG_008="Enable"
	LANG_009="Interface"
	LANG_0010="IP Grp"
	LANG_0011="Null"
	LANG_0012="Pool ID"
	LANG_0013="Only provides gamecloud service for the specified IP if set."
	LANG_0014="Submit"
	LANG_0015="Work state"
	LANG_0016="Redial"
	LANG_0017="Connect Time"
	LANG_0018="License ID"
	LANG_0019="Service Time"
	LANG_0020="Cnt(max)"
	LANG_0021="Cur/Max"
	LANG_0022="IP List"
	LANG_0023="Chart"
	LANG_0024="Linkwan(/ms)"
	LANG_0025="Cur/Min/Max"
	LANG_0026="State(Cloudwan)"
	LANG_0027="State(Linkwan)"
	LANG_0028="Games"
	LANG_0029="Name"
	LANG_0030="Bps(in)"
	LANG_0031="Bps(out)"
	LANG_0032="Cloud(in)"
	LANG_0033="Cloud(out)"
	LANG_0034="AppEnable"
	LANG_0035="Error"
	LANG_0036="standby"
	LANG_0037="disable"
	LANG_0038="Modify fail"
	LANG_0039="Get the configuration again,if changed,the system will reconnect the gamecloud!"
	LANG_0040="INIT"
	LANG_0041="seconds to redial"
	LANG_0042="START"
	LANG_0043="SCCRQ"
	LANG_0044="SCCN"
	LANG_0045="ICCN"
	LANG_0046="DATA"
	LANG_0047="STOP"
	LANG_0036="GameCloud->Configure"
fi
CGI_browsertitle="${LANG_0036:=Ϸ->}"
. ../../common/common.sh
URLROOT="/cgi-bin/App/gamecloud"
myself="${URLROOT}/`basename $0`"
MOD_TAB_LIST="${LANG_001:=}#${URLROOT}/webmain ${LANG_002:=ʵʱ}#${URLROOT}/gamecloud_rtgraph ${LANG_003:=}#${URLROOT}/gamecloud_topflow"
MOD_TAB_LIST="${MOD_TAB_LIST} ${LANG_004:=ʷ}#${URLROOT}/gamecloud_graph ${LANG_005:=·־}#${URLROOT}/gamecloud_logshow" 
if [ "${REQUEST_METHOD}" = "POST" ]; then
        operator_check "${myself}"
	[ "${CGI_ifname}" = "" ] && CGI_ifname="NULL"
	[ "${CGI_ipgrpid}" = "" ] && CGI_ipgrpid="0"
	[ "${CGI_poolid}" = "" ] && CGI_poolid="0"
	[ "${CGI_closed}" = "" ] && CGI_closed="0"
	cmdargs="ifname=${CGI_ifname} ipgrpid=${CGI_ipgrpid}"
	cmdargs="${cmdargs} poolid=${CGI_poolid} closed=${CGI_closed}"
	errmsg=`${FLOWEYE} gamecloud config ${cmdargs}`
	[ "$?" != "0" ] && afm_dialog_msg "${LANG_0035:=}:${errmsg}"
else
	for nameval in `${FLOWEYE} gamecloud stat`
	do
		name=`echo ${nameval} | cut -d'=' -f1`
		val=`echo ${nameval} | cut -d'=' -f2-`
		export CGI_${name}="${val}"
	done
	if [ "${CGI_ifname}" = "NULL" ]; then
		CGI_ifname=`${FLOWEYE} nat listproxy type=proxy.pppoe.dhcp | head -n 1 | awk '{print $3}'`
	fi 
fi

echo -n "
<script type=\"text/javascript\" src=\"/img/common.js\"></script>
<script type=\"text/javascript\">
function ipList()
{
	var url;
	url = \"${URLROOT}/gamecloud_iplist\";
	ShowWindow(url, \"\", 400, 600);
}
function ipTrend()
{
	var url;
	url = \"/cgi-bin/Monitor/dnsreq_mongraph?tag=gamecloud_ipcnt\";
	ShowWindow(url, \"\", 610, 700);
}
function linkwanstat(link)
{
	var linkwan_stat = document.getElementById(\"linkwan_stat\");
	
	if (link.linkup == \"1\")
		linkwan_stat.src = '/img/yes.png';
	else
		linkwan_stat.src = '/img/no.png';
	if (link.tandby == \"yes\")
		return \"<a style=color:#00ff00>[${LANG_0036:=}]</a>\"; 
	else
	if (link.disable == \"yes\") 
		return \"<a style=color:#00ff00>[${LANG_0037:=}]</a>\";
		
	return '';
}
function cloudwanstat(link)
{ 
	var cloudwan_stat = document.getElementById(\"cloudwan_stat\");
	if (link.active == \"1\")
		cloudwan_stat.src = '/img/yes.png';
	else
		cloudwan_stat.src = '/img/no.png';
}
function appenable(app)
{
	AJXS({type: 'POST', 
	       url: '${URLROOT}/ajax_gamecloud?act=appset&app=' + app.value + '&enable=' + (app.checked?\"1\":\"0\"), 
	     error: function(status){alert('${LANG_0038:=޸ʧ}'); app.checked = !app.checked;},
	   success: function(data) {
		var d;
		try {
			d = eval('('+data+')');
		} catch(e) {
			alert('${LANG_0038:=޸ʧ}');
			app.checked = !app.checked;
			return;
		}
		if(d.ret != \"0\") {
			alert('${LANG_0038:=޸ʧ}');
			app.checked = !app.checked;
		}
	}});
}
function svrenable(stat)
{
	AJXS({type: 'POST', 
	       url: '${URLROOT}/ajax_gamecloud?act=svrenable&enable=' + (stat?\"1\":\"0\"), 
	     error: function(status){alert('${LANG_0038:=޸ʧ}');},
	   success: function(data) {
		var d;
		try {
			d = eval('('+data+')');
		} catch(e) {
			alert('${LANG_0038:=޸ʧ}');
			return;
		}
		if(d.ret != \"0\") {
			alert('${LANG_0038:=޸ʧ}');
		}
	}});
}
function redial(stat)
{
	AJXS({type: 'POST', 
	       url: '${URLROOT}/ajax_gamecloud?act=redial', 
	     error: function(status){alert('${LANG_0038:=޸ʧ}');},
	   success: function(data) {
		var d;
		try {
			d = eval('('+data+')');
		} catch(e) {
			alert('${LANG_0038:=޸ʧ}');
			return;
		}
		if(d.ret != \"0\") {
			alert('${LANG_0038:=޸ʧ}');
		}
		else {
			alert('${LANG_0039:=»ȡ·,ñ仯,ϵͳؽ·,ӿ}!');
		}
	}});
}
function getremarks()
{
	AJXS({type: 'POST', 
	       url: '${URLROOT}/ajax_gamecloud?act=stat', 
	     error: function(status){setTimeout(getremarks, 4000);},
	   success: function(data) {
		var d;
		try {
			d = eval('('+data+')');
		} catch(e) {
			setTimeout(getremarks, 4000);
			return;
		}
		var linkwan_bps = document.getElementById(\"linkwan_bps\");
		var cloudwan_bps = document.getElementById(\"cloudwan_bps\");
		var linkwan_ms = document.getElementById(\"linkwan_ms\");
		var cloudwan_ms = document.getElementById(\"cloudwan_ms\");
		var serviceinfo = document.getElementById(\"serviceinfo\");
		var workable = document.getElementById(\"workable\");
		var connect_time = document.getElementById(\"connect_time\");
		var serialno = document.getElementById(\"serialno\");
		var ipcnt = document.getElementById(\"ipcnt\");
		var str = '';
		if(d.gamecloud.enable == '0')
			workable.innerHTML = '<b style=\"color:#e0e0e0\">${LANG_0047:=ֹͣ}</b>';
		else {
			switch(d.gamecloud.state)
			{
				case 'INIT':
				  workable.innerHTML = '<b style=\"color:#ff0000\">${LANG_0040:=ʼ}</b>';
				  break;
				case 'AUTH':
				  workable.innerHTML = '<b style=\"color:#ff0000\">${LANG_0041:=֤}</b>';
				  break;
				case 'WAITIDLE':
				  workable.innerHTML = '<b style=\\"color:#ff0000\\">' + d.gamecloud.waitime_left + '${LANG_0041:=ز}</b>';
				  break;
				case 'START':
				  workable.innerHTML = '<b style=\\"color:#ff0000\\">${LANG_0042:=ʼ}</b>';
				  break;
				case 'SCCRQ':
				  workable.innerHTML = '<b style=\\"color:#ff0000\\">${LANG_0043:=}</b>';
				  break;
				case 'SCCN':
				  workable.innerHTML = '<b style=\\"color:#ff0000\\">${LANG_0044:=ɹ}</b>';
				  break;
				case 'ICCN':
				  workable.innerHTML = '<b style=\\"color:#ff0000\\">${LANG_0045:=Ựɹ}</b>';
				  break;
				case 'PPP':
				  workable.innerHTML = '<b style=\\"color:#0000ff\\">PPP(' + d.gamecloud.state + ')</b>';
				  break;
				case 'DATA':
				  workable.innerHTML = '<b style=\\"color:green\\">${LANG_0046:=}</b>';
				  connect_time.innerText = d.gamecloud.connect_time;
				  break;
			}
		}
		if(d.gamecloud.expired == \"1\")
			serviceinfo.innerHTML = '<span style=\"color:red\">' + d.gamecloud.startm + ' -> ' + d.gamecloud.endtm + '</span> [ ' + (d.gamecloud.area==''?'':d.gamecloud.area + ' - ') + d.gamecloud.bandwidth + ' ]';
		else
			serviceinfo.innerHTML = d.gamecloud.startm + ' -> ' + d.gamecloud.endtm + ' [ ' + (d.gamecloud.area==''?'':d.gamecloud.area + ' - ') + d.gamecloud.bandwidth + ' ]';
		ipcnt.innerHTML = d.gamecloud.ipcnt + '/' + d.gamecloud.license_ipcnt;
		linkwan_bps.innerHTML = d.parent.outbps + ' / ' + d.parent.inbps + ' [up/down]' + linkwanstat(d.parent);
		cloudwan_bps.innerHTML = d.gamecloud.outbps + ' / ' + d.gamecloud.inbps + ' [up/down]';
		cloudwanstat(d.gamecloud);
		if (d.gamecloud.cloud_type == \"iwan\")
			serialno.innerText = d.gamecloud.serialno + \"  [iWAN]\";
		else
			serialno.innerText = d.gamecloud.serialno;
		linkwan_ms.innerHTML = d.gamecloud.delay_cur + '/' + d.gamecloud.delay_min + '/' + d.gamecloud.delay_max;
		var e;
		for(var i = 0; i < d.apps.length; i++) {
			e = document.getElementById(d.apps[i].name + '_outbps');
			if(e!=null) e.innerText = d.apps[i].outbps;
			e = document.getElementById(d.apps[i].name + '_inbps');
			if(e!=null) e.innerText = d.apps[i].inbps;
			e = document.getElementById(d.apps[i].name + '_cloudout');
			if(e!=null) e.innerText = d.apps[i].cloudout;
			e = document.getElementById(d.apps[i].name + '_cloudin');
			if(e!=null) e.innerText = d.apps[i].cloudin;
		}
		
		setTimeout(getremarks, 2000);
	}});
}
function onDsttypeChanged(obj)
{        
		var tbl = document.getElementsByName(\"dstiptbl\")[0];   
		
}
</script>
<body onload=\"getremarks();\">
"; cgi_print_mod_header "${LANG_001:=}" "100%" 
echo -n "
<br>
<form method=post action=\"${myself}\">
<table width=\"700\" border=\"0\" cellspacing=\"0\" cellpadding=\"4\" bgcolor=\"#ffffff\">
<tr id=\"row1\">
	<td width=5></td>
	<td width=90 align=left>${LANG_006:=߹}</td>
	<td width=120 align=left>
		<select name=closed style=\"width:100%\" value=\"${CGI_closed}\">
		";
			if [ "${CGI_closed}" = "0" ]; then
				echo "<option value=0 selected>${LANG_007:=}</option>"
				echo "<option value=1>${LANG_008:=ر}</option>"
			else
				echo "<option value=0>${LANG_007:=}</option>"
				echo "<option value=1 selected>${LANG_008:=ر}</option>"
			fi
		
echo -n "
		</select>
	</td>
	<td width=*></td>
</tr>
<tr id=\"row1\">
	<td width=5></td>
	<td width=90 align=left>${LANG_009:=·}</td>
	<td width=120 align=left>
		<select name=ifname style=\"width:100%\" value=\"${CGI_ifname}\">
		";
			${FLOWEYE} nat listproxy type=proxy.pppoe.dhcp | while read type id name theothers
			do
				if [ "${name}" = "${CGI_ifname}" ]; then
					echo "<option value=\"${name}\" selected>${name}</option>"
				else
					echo "<option value=\"${name}\">${name}</option>"
                                fi
			done
		
echo -n "
		</select>
	</td>
	<td width=*></td>
</tr>
<tr id=\"row1\">
	<td></td>
	<td align=left>${LANG_0010:=ɷIP}</td>
	<td align=left>
		<select name=ipgrpid style=\"width:100%\" value=\"${CGI_ipgrpid}\">
		";
			if [ "${CGI_ipgrpid}" = "0" ]; then
				echo "<option value=\"0\" selected>${LANG_0011:=δ}</option>"
			else
				echo "<option value=\"0\">${LANG_0011:=δ}</option>"
			fi
			${FLOWEYE} table list | while read id name others
			do
				if [ "${id}" = "${CGI_ipgrpid}" ]; then
					echo "<option value=\"${id}\" selected>${name}</option>"
				else
					echo "<option value=\"${id}\">${name}</option>"
                                fi
			done
		
echo -n "
		</select>
	</td>
	<td>&nbsp;(${LANG_0013:=ãָֻIPṩϷ߷})</td>
</tr>
<tr id=\"row1\">
	<td></td>
	<td align=left>${LANG_0012:=ɷʺ}</td>
	<td align=left>
		<select name=poolid style=\"width:100%\" value=\"${CGI_poolid}\">
		";
			if [ "${CGI_poolid}" = "0" ]; then
				echo "<option value=\"0\" selected>${LANG_0011:=δ}</option>"
			else
				echo "<option value=\"0\">${LANG_0011:=δ}</option>"
			fi
			${FLOWEYE} pppoeippool list | while read id name others
			do
				if [ "${id}" = "${CGI_poolid}" ]; then
					echo "<option value=\"${id}\" selected>${name}</option>"
				else
					echo "<option value=\"${id}\">${name}</option>"
                                fi
			done
		
echo -n "
		</select>
	</td>
	<td align=left>&nbsp;(${LANG_0013:=ãָֻʺṩϷ߷})&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
		<input type=submit id=newbtn style=\"width:60px\" value=\"${LANG_0014:=ύ}\"></input>
	</td>
</tr>
</table>
</form>
<br>
<table style=\"width:700; color:#CE6C04;font-size:13px;font-bold:true;\">
<tr>
	<td align=left><b>${LANG_0015:=״̬}</b></td>
	<td width=*></td>
</tr>
</table>
<table width=\"700\" border=\"0\" cellspacing=\"0\" cellpadding=\"4\" bgcolor=\"#ffffff\">
<tr id=\"row1\">
	<td width=5></td>
	<td width=130 align=\"left\">${LANG_0015:=״̬}</td>
	<td width=* align=\"left\" colspan=\"2\">
		<span id=\"workable\"></span>&nbsp;&nbsp;&nbsp;
		<a href=\"javascript:redial()\">${LANG_0016:=ӿ}</a>
	</td>
	<td width=10></td>
</tr>
<tr id=\"row1\">
	<td></td>
	<td align=\"left\">${LANG_0017:=ʱ}</td>
	<td align=\"left\" colspan=\"2\">
		<span id=\"connect_time\"></span>
	</td>
	<td></td>
</tr>
<tr id=\"row1\">
	<td></td>
	<td align=\"left\">${LANG_0018:=Ȩ}</td>
	<td align=\"left\" colspan=\"2\">
	<span id=\"serialno\"></span>
	</td>
	<td></td>
</tr>
<tr id=\"row1\">
	<td></td>
	<td align=\"left\">${LANG_0019:=ʱ}</td>
	<td align=\"left\" colspan=\"2\"><span id=\"serviceinfo\"></span></td>
	<td></td>
</tr>
<tr id=\"row1\">
	<td></td>
	<td align=\"left\">${LANG_0020:=}</td>
	<td align=\"left\" colspan=\"2\">
		<span id=\"ipcnt\"></span>[${LANG_0021:=ǰ/}]&nbsp;&nbsp;&nbsp;
		<a style=\"color:#0000ff\" href=\"javascript:ipList()\">${LANG_0022:=鿴IP}</a>&nbsp;&nbsp;&nbsp;
		<a style=\"color:#0000ff\" href=\"javascript:ipTrend()\">${LANG_0023:=û}</a>
	</td>
	<td></td>
</tr>
<tr id=\"row1\">
	<td></td>
	<td align=\"left\">${LANG_0024:=߽ӳ}</d>
	<td align=\"left\" colspan=\"2\"><span id=\"linkwan_ms\"></span>&nbsp;[${LANG_0025:=ǰ/С/,λms}]</td>
	<td></td>
</tr>
<tr id=\"row1\">
	<td></td>
	<td align=\"left\">${LANG_0026:=ͳ}</td>
	<td align=\"left\">
	<img src='/img/no.png' style='margin-right:8px;vertical-align:middle;float:left;' id=\"cloudwan_stat\"/><span id=\"cloudwan_bps\"></span>
	</td>
	<td align=\"left\" id=\"cloudwan_ms\">
	</td>
	<td></td>
</tr>
<tr id=\"row1\">
	<td></td>
	<td align=\"left\">${LANG_0027:=·ͳ}</td>
	<td align=\"left\" colspan=\"2\">
	<img src='/img/no.png' style='margin-right:8px;vertical-align:middle;float:left;' id=\"linkwan_stat\"/><span id=\"linkwan_bps\"></span>
	</td>
	<td></td>
</tr>
</table>
<br>
<table style=\"width:700; color:#CE6C04;font-size:13px;font-bold:true;\">
<tr>
	<td align=left><b>${LANG_0028:=ɼϷ}</b></td>
	<td width=*></td>
</tr>
</table>
<table width=\"700\" border=\"0\" cellspacing=\"0\" cellpadding=\"4\" bgcolor=\"#ffffff\" class=\"table-striped\">
<tr id=tblhdr class=\"tbot-border\">
	<td width=\"5\"></td>
	<td width=\"130\" class=\"cssTDArial\" align=left>${LANG_0029:=Ϸ}</td>
	<td class=\"cssTDArial\" align=left>${LANG_0030:=}</td>
	<td class=\"cssTDArial\" align=left>${LANG_0031:=}</td>
	<td class=\"cssTDArial\" align=left>${LANG_0032:=}</td>
	<td class=\"cssTDArial\" align=left>${LANG_0033:=}</td>
	<td class=\"cssTDArial\" align=left>
	${LANG_0034:=Ƿ}
	</td>
	<td width=\"10\"></td>
</tr>
";
${FLOWEYE} gamecloud list | \
while read name cname appenable inbps outbps cloudin cloudout othe
do
	[ "${PALANG}" = "en" ] && cname=${name}
	if [ "${appenable}" = "1" ]; then
		checked="checked"
	else
		checked=""
	fi

echo -n "
<tr id=row1>
	<td></td>
	<td align=left>${cname}</td>
	<td align=left id=\"${name}_outbps\">${outbps}</td>
	<td align=left id=\"${name}_inbps\">${inbps}</td>
	<td align=left id=\"${name}_cloudout\">${cloudout}</td>
	<td align=left id=\"${name}_cloudin\">${cloudin}</td>
	<td class=\"cssTDArial\" align=left>
	  <input type=\"checkbox\" name=\"apps\" id=\"${name}_enable\" value=\"${name}\" ${checked} onclick=\"appenable(this)\" style=\"cursor: pointer;\"></input>
	</td>
	<td></td>
</tr>
";
done

echo -n "
</table>
</body>
</html>
";