summaryrefslogtreecommitdiff
path: root/cleopatre/application/spidgoahead/web
diff options
context:
space:
mode:
authorTerry Lu2013-06-20 19:25:30 +0800
committerJulien Lacour2013-10-01 12:12:51 +0200
commit02b214c04adaa0543e653d5c7fa39ddb42a29df0 (patch)
tree69774b94d68ab4d9318d5476ee93ce1e5ec26cac /cleopatre/application/spidgoahead/web
parent530ba809e1abf304d701a5a481b857f62a23363a (diff)
cleo/{app,buildroot}: port httpd and add wifi config page, closes #4210
Diffstat (limited to 'cleopatre/application/spidgoahead/web')
-rw-r--r--cleopatre/application/spidgoahead/web/action.asp83
-rw-r--r--cleopatre/application/spidgoahead/web/addgroup.asp43
-rw-r--r--cleopatre/application/spidgoahead/web/addlimit.asp37
-rw-r--r--cleopatre/application/spidgoahead/web/adduser.asp51
-rw-r--r--cleopatre/application/spidgoahead/web/back.pngbin0 -> 488 bytes
-rw-r--r--cleopatre/application/spidgoahead/web/banner.asp9
-rw-r--r--cleopatre/application/spidgoahead/web/br0.asp264
-rw-r--r--cleopatre/application/spidgoahead/web/count.asp5
-rw-r--r--cleopatre/application/spidgoahead/web/delgroup.asp28
-rw-r--r--cleopatre/application/spidgoahead/web/dellimit.asp28
-rw-r--r--cleopatre/application/spidgoahead/web/deluser.asp28
-rw-r--r--cleopatre/application/spidgoahead/web/eth0.asp239
-rw-r--r--cleopatre/application/spidgoahead/web/footer.html7
-rw-r--r--cleopatre/application/spidgoahead/web/index.asp27
-rw-r--r--cleopatre/application/spidgoahead/web/jslib/query.js111
-rw-r--r--cleopatre/application/spidgoahead/web/left.pngbin0 -> 2897 bytes
-rw-r--r--cleopatre/application/spidgoahead/web/loadcfg.asp24
-rw-r--r--cleopatre/application/spidgoahead/web/logo-spidcom.jpgbin0 -> 2271 bytes
-rw-r--r--cleopatre/application/spidgoahead/web/nav.asp70
-rw-r--r--cleopatre/application/spidgoahead/web/none.html40
-rw-r--r--cleopatre/application/spidgoahead/web/pattern.pngbin0 -> 597 bytes
-rw-r--r--cleopatre/application/spidgoahead/web/plc0.asp307
-rw-r--r--cleopatre/application/spidgoahead/web/savecfg.asp24
-rw-r--r--cleopatre/application/spidgoahead/web/soft.asp15
-rw-r--r--cleopatre/application/spidgoahead/web/spidcom.gifbin0 -> 20557 bytes
-rw-r--r--cleopatre/application/spidgoahead/web/stat.asp61
-rw-r--r--cleopatre/application/spidgoahead/web/style/doc.css42
-rw-r--r--cleopatre/application/spidgoahead/web/style/help.htm40
-rw-r--r--cleopatre/application/spidgoahead/web/style/menu.htm55
-rw-r--r--cleopatre/application/spidgoahead/web/style/normal_ws.css48
-rw-r--r--cleopatre/application/spidgoahead/web/style/option.htm28
-rw-r--r--cleopatre/application/spidgoahead/web/um.htm10
-rw-r--r--cleopatre/application/spidgoahead/web/wifi0.asp377
-rw-r--r--cleopatre/application/spidgoahead/web/ws.gifbin0 -> 1373 bytes
34 files changed, 2101 insertions, 0 deletions
diff --git a/cleopatre/application/spidgoahead/web/action.asp b/cleopatre/application/spidgoahead/web/action.asp
new file mode 100644
index 0000000000..b3d07ce70f
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/action.asp
@@ -0,0 +1,83 @@
+<html>
+<head>
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<script type="text/javascript" src="jslib/query.js"></script>
+
+<script type='text/javascript'>
+
+var qs = new Querystring();
+var action = qs.get("action","none");
+var mac = qs.get("mac","00:00:00:00:00:00");
+
+var result = <% spidcomAction(); %>;
+
+var data_array;
+var data;
+
+
+function generateLink()
+{
+ document.getElementById('stat_table').innerHTML += "<tr><td>Downlink attenuation</td><td>Uplink attenuation</td><td>Downlink quality</td><td>Uplink quality</td></tr>";
+ document.getElementById('stat_table').innerHTML += "<tr><td>"+data_array[0]+"</td><td>"+data_array[1]+"</td><td>"+data_array[2]+"</td><td>"+data_array[3]+"</td></tr>";
+}
+
+function generateDeviceInfo()
+{
+ document.getElementById('stat_table').innerHTML += "<tr><td>Model number</td><td>Port amount</td><td>Sofware version</td></tr>";
+ document.getElementById('stat_table').innerHTML += "<tr><td>" +data_array[0]+ "</td><td>" +data_array[1]+ "</td><td>" +data_array[2]+ "</td><td></tr>";
+}
+
+function generateStatistics()
+{
+
+ table_rows = new Array("Packets","Bytes","Broadcast","Multicast","Dropped");
+ document.getElementById('stat_table').innerHTML += "<tr><td colspan='2'>TX</td><td colspan='2'>RX</td></tr>";
+ for(i=0;i<data_array.length/2;i++)
+ document.getElementById('stat_table').innerHTML += "<tr> <td>"+table_rows[i]+"</td><td>" + data_array[i] + "</td><td>"+ table_rows[i] +"</td><td>" + data_array[i+5] + "</td></tr>";
+}
+
+function start(){
+ if ((action == "reboot") || (action == "reset_stat"))
+ document.getElementById("customer_message").innerHTML = "<code>" + result +"</code>";
+ else
+ if (action == "get_stat")
+ {
+ data = result;
+ data_array = data.split(':');
+ generateStatistics();
+ }
+ else
+ if (action == "get_device_info")
+ {
+ data = result;
+ data_array = data.split(':');
+ generateDeviceInfo();
+ }
+ else
+ if (action == "get_link")
+ {
+ data = result;
+ data_array = data.split(':');
+ generateLink();
+ }
+
+
+}
+
+</script>
+
+</head>
+
+
+<body onload='javascript:start();'>
+
+<table id='stat_table' style='width:100%'></table>
+
+<div id='customer_message' style='width:100%'>
+</div>
+<div align='right'>
+<input type='button' onclick='JavaScript:window.close()' value='Close'/>
+</div>
+</body>
+
+</html> \ No newline at end of file
diff --git a/cleopatre/application/spidgoahead/web/addgroup.asp b/cleopatre/application/spidgoahead/web/addgroup.asp
new file mode 100644
index 0000000000..53c8ec80f9
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/addgroup.asp
@@ -0,0 +1,43 @@
+<html>
+<!- Copyright (c) Go Ahead Software Inc., 2000-2000. All Rights Reserved. ->
+<head>
+<title>Add a User Group</title>
+<meta http-equiv="Pragma" content="no-cache">
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<% language=javascript %>
+</head>
+
+<body>
+<h1>Add a User Group</h1>
+<form action=/goform/AddGroup method=POST>
+
+<table>
+<tr>
+ <td>Group Name:</td>
+<td>
+ <input type=text name=group title="Group Name" size=40 value="">
+</td>
+</tr>
+<tr>
+ <td>Privilege:</td><td><% MakePrivilegeList(); %></td>
+</tr>
+<tr>
+ <td>Access Method:</td><td><% MakeAccessMethodList(); %></td>
+</tr>
+<tr>
+ <td>Enabled:</td>
+<td>
+ <INPUT TYPE=checkbox CHECKED name=enabled title="Enabled">
+</td>
+</tr>
+<tr>
+ <td></td>
+ <td ALIGN="CENTER">
+ <input type=submit name=ok value="OK"> <input type=submit name=ok value="Cancel"></td>
+</tr>
+</table>
+
+</form>
+
+</body>
+</html>
diff --git a/cleopatre/application/spidgoahead/web/addlimit.asp b/cleopatre/application/spidgoahead/web/addlimit.asp
new file mode 100644
index 0000000000..9c2bb613e7
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/addlimit.asp
@@ -0,0 +1,37 @@
+<html>
+<!- Copyright (c) Go Ahead Software Inc., 2000-2000. All Rights Reserved. ->
+<head>
+<title>Add an Access Limit</title>
+<meta http-equiv="Pragma" content="no-cache">
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<% language=javascript %>
+</head>
+
+<body>
+<h1>Add an Access Limit</h1>
+<form action=/goform/AddAccessLimit method=POST>
+
+<table>
+<tr>
+ <td>URL:</td><td><input type=text name=url title="URL" size=40 value=""></td>
+</tr>
+<tr>
+ <td>Group:</td><td><% MakeGroupList(); %></td>
+</tr>
+<tr>
+ <td>Access Method:</td><td><% MakeAccessMethodList(); %></td>
+</tr>
+<tr>
+ <td>Secure:</td><td><INPUT TYPE=checkbox name=secure" title="Secure"></td>
+</tr>
+<tr>
+ <td></td>
+ <td ALIGN="CENTER">
+ <input type=submit name=ok value="OK"> <input type=submit name=ok value="Cancel"></td>
+</tr>
+</table>
+
+</form>
+
+</body>
+</html>
diff --git a/cleopatre/application/spidgoahead/web/adduser.asp b/cleopatre/application/spidgoahead/web/adduser.asp
new file mode 100644
index 0000000000..91f33c931b
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/adduser.asp
@@ -0,0 +1,51 @@
+<html>
+<!- Copyright (c) Go Ahead Software Inc., 2000-2000. All Rights Reserved. ->
+<head>
+<title>Add a User</title>
+<meta http-equiv="Pragma" content="no-cache">
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<% language=javascript %>
+</head>
+
+<body>
+<h1>Add a User</h1>
+<form action=/goform/AddUser method=POST>
+<table>
+<tr>
+ <td>User ID:</td>
+<td>
+ <input type=text name=user title="User ID" size=40 value="">
+</td>
+</tr>
+<tr>
+ <td>Group:</td><td><% MakeGroupList(); %></td>
+</tr>
+<tr>
+ <td>Enabled:</td>
+<td>
+ <INPUT TYPE=checkbox CHECKED name=enabled title="Enabled">
+</td>
+</tr>
+<tr>
+ <td>Password:</td>
+<td>
+ <input type=password name=password size=40 title="Enter Password" value="">
+</td>
+</tr>
+<tr>
+ <td>Confirm:</td>
+<td>
+ <input type=password name=passconf size=40 title="Confirm Password" value="">
+</td>
+</tr>
+<tr>
+ <td></td>
+ <td ALIGN="CENTER">
+ <input type=submit name=ok value="OK"> <input type=submit name=ok value="Cancel"></td>
+</tr>
+</table>
+
+</form>
+
+</body>
+</html>
diff --git a/cleopatre/application/spidgoahead/web/back.png b/cleopatre/application/spidgoahead/web/back.png
new file mode 100644
index 0000000000..a0dd8422b0
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/back.png
Binary files differ
diff --git a/cleopatre/application/spidgoahead/web/banner.asp b/cleopatre/application/spidgoahead/web/banner.asp
new file mode 100644
index 0000000000..9f50c4513b
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/banner.asp
@@ -0,0 +1,9 @@
+<HTML>
+<body bgcolor="#F5F5F5">
+<p>
+<table bgcolor="#ffaaaa" width=100%><TR><TD align="center">&nbsp;</TD>
+</TR></table>
+</p>
+<div style='position:absolute;left:50%;margin-bottom:50%' id='naslov'></div>
+</body>
+</HTML>
diff --git a/cleopatre/application/spidgoahead/web/br0.asp b/cleopatre/application/spidgoahead/web/br0.asp
new file mode 100644
index 0000000000..3fdf176b5a
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/br0.asp
@@ -0,0 +1,264 @@
+<html>
+
+<head>
+ <title>SPC 300 - SPiDCOM</title>
+
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+
+<style type = 'text/css'>
+div.margina,table.margina{
+ margin-left:5%;
+ width:500px;
+ background-color:#F5F5F5;
+}
+td{
+ padding-left:5px;
+}
+
+input[type='text']{
+ margin-left:auto;
+ margin-right:auto;
+ text-align:center;
+}
+input[disabled='disabled'] {
+ background-color:BBBBBB;
+ color:white;
+ cursor:default;
+}
+body{
+ background-image: url("/spidcom.gif");
+ background-repeat: no-repeat;
+ background-attachment: fixed;
+ background-position: center center;
+}
+
+</style>
+
+<script type='text/javascript'>
+
+var mac = <% spidcomAspGetMac('br0'); %>
+var ip_data = <% spidcomAspGetIpData('br0'); %>
+
+
+//var online_station = '< % spidcomAspEocGetTopo(); % >';
+//var station_array = online_station.split('-');
+
+
+var ip_data_array = ip_data.split(':');
+
+var ip_array;
+var nm_array;
+var gw_array;
+
+if(ip_data_array[1].length == 0)
+ ip_array = new Array("0","0","0","0")
+else
+ ip_array = ip_data_array[1].split('.');
+
+if(ip_data_array[2].length == 0)
+ nm_array = new Array("0","0","0","0")
+else
+ nm_array = ip_data_array[2].split('.');
+
+if(ip_data_array[4].length == 0)
+ gw_array = new Array("0","0","0","0")
+else
+ gw_array = ip_data_array[4].split('.');
+
+
+
+var dhcp = ip_data_array[0];
+var mac_array = mac.split(':');
+
+
+
+function validate()
+{
+ parent.footer2.document.getElementById('error_console').innerHTML = "";
+
+ if(ip_data.indexOf("error") >= 0) // error
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>IP data : error condition: " + ip_data.toString() + "</small><br>";
+ else
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>IP data : OK</small><br>";
+
+ if(mac.indexOf("error") >= 0) // error
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>MAC : error condition: " + mac.toString() + "</small><br>";
+ else
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>MAC : OK</small><br>";
+
+ /*
+ if(online_station.indexOf("error") >= 0) // error
+ parent.footer2.document.getElementById('error_console').innerHTML += "<code>Online station : error condition: " + mac.toString(); + "</code><br>";
+ else
+ parent.footer2.document.getElementById('error_console').innerHTML += "<code>Online station : OK</code><br>";
+ */
+}
+
+
+function showTip(){
+document.getElementById('tooltip').innerHTML = "You must restart modem for the changes to take effect";
+}
+
+function clearTip(){
+document.getElementById('tooltip').innerHTML = "";
+}
+
+function reboot_flag()
+{
+ document.getElementById('reboot').value = 'yes';
+}
+
+function refresh(){
+parent.content.location.reload();
+}
+
+
+function joinadd(){
+document.getElementById('ip').value = document.getElementById('ipe1').value + '.' + document.getElementById('ipe2').value + '.' + document.getElementById('ipe3').value + '.' + document.getElementById('ipe4').value;
+document.getElementById('nm').value = document.getElementById('nete1').value + '.' + document.getElementById('nete2').value + '.' + document.getElementById('nete3').value + '.' + document.getElementById('nete4').value;
+document.getElementById('gw').value = document.getElementById('gwe1').value + '.' + document.getElementById('gwe2').value + '.' + document.getElementById('gwe3').value + '.' + document.getElementById('gwe4').value;
+}
+
+function set_refresh(){
+
+if (document.getElementById('refresh_or_not').checked)
+ document.getElementById("stat_iframe").contentWindow.RestartRefresh();
+else
+ document.getElementById('stat_iframe').contentWindow.StopRefresh();
+}
+
+function checkMainForm(){
+ return true;
+}
+
+function fill_ip_data()
+{
+
+var idip = 'ipe';
+var idnet = 'nete';
+var idgw = 'gwe';
+var idmac = 'mace'
+
+for (var i=1;i<=4;i++)
+{
+document.getElementById(idip+i).value = ip_array[i-1];
+document.getElementById(idnet+i).value = nm_array[i-1];
+document.getElementById(idgw+i).value = gw_array[i-1];
+document.getElementById(idmac+i).value = mac_array[i-1];
+}
+document.getElementById(idmac+5).value = mac_array[4];
+document.getElementById(idmac+6).value = mac_array[5];
+
+
+if (dhcp == 'DHCP')
+ document.mainForm.dhcp[0].checked = 'checked';
+
+
+ joinadd();
+}
+</script>
+</head>
+
+
+<body onload='javascript:validate();fill_ip_data();'>
+<!-- Settings name -->
+<div class='margina' > <h2>Bridge configuration</h2></div>
+
+<!-- Main form -->
+
+<form name='mainForm' action='/goform/formAction' target='_self' method='GET' onSubmit='return checkMainForm();'>
+
+<input type='hidden' name='reboot' id='reboot' value='no'/> <!-- This will be passed by form -->
+<input type='hidden' name='inter' id='inter' value='br0'/> <!-- This will be passed by form -->
+
+
+<table name = 'ipData' class='margina' style='background-color:#FFFFFF' border='0'>
+<tr>
+<td><h3>Network configuration</h3></td>
+</tr>
+<tr>
+<td>Current IP address</td>
+<td></td><td></td>
+<td><input id='ipe1' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='ipe2' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='ipe3' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='ipe4' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input type='hidden' name='ip' id='ip' value='0'/> </td> <!-- This will be passed by form -->
+</tr>
+
+<tr>
+<td>Current netmask</td>
+<td></td><td></td>
+<td><input id='nete1' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='nete2' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='nete3' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='nete4' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input type='hidden' name='nm' id='nm' value='0'/> </td> <!-- This will be passed by form -->
+</tr>
+<tr>
+<td>Current gateway address</td>
+<td></td><td></td>
+<td><input id='gwe1' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='gwe2' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='gwe3' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='gwe4' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input type='hidden' id='gw' name='gw' value='0'/> </td> <!-- This will be passed by form -->
+</tr>
+<tr align='center'>
+<td align='left'>MAC address</td>
+
+<td><input disabled='disabled' id='mace1' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace2' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace3' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace4' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace5' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace6' type='text' size=2 maxlength=2 value='0'/> </td>
+</tr>
+<tr>
+<td>DHCP Mode</td>
+<td></td><td></td><td></td><td></td>
+<td><input type='radio' name='dhcp' value='dhcp'/>ON</td>
+<td><input type='radio' name='dhcp' value='static' checked='checked'/>OFF</td>
+</tr>
+
+</table>
+
+<div class='margina'><h2>Activity statistics</h2></div>
+<table id='background-image' class='d25' style='margin-left:5%;width:500px' border='0'> <tr align='center'><td colspan='2'>RX:</td><td colspan='2'>TX:</td></tr>
+<tr><td class='d25' >Bytes</td><td class='d25' id='rb' bgcolor='lavender' align='center'></td><td>Bytes</td> <td class='d25' id = 'tb' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Packets</td><td class='d25' id='rp' bgcolor='lavender' align='center'></td><td>Packets</td> <td class='d25' id = 'tp' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Errors</td><td class='d25' id='re' bgcolor='lavender' align='center'></td><td>Errors</td> <td class='d25' id = 'te' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Drops</td><td class='d25' id='rd' bgcolor='lavender' align='center'></td><td>Drops</td> <td class='d25' id = 'td' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Fifo</td><td class='d25' id='rf' bgcolor='lavender' align='center'></td><td>Fifo</td> <td class='d25' id = 'tf' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Frame</td><td class='d25' id='rfr' bgcolor='lavender' align='center'></td><td>Colls</td> <td class='d25' id = 'tc' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Compressed</td><td class='d25' id='rc' bgcolor='lavender' align='center'></td><td>Carrier</td> <td class='d25' id = 'tcar' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Multicast</td><td class='d25' id='rm' bgcolor='lavender' align='center'></td><td>Compressed</td> <td class='d25' id = 'tcom' bgcolor='lavender' align='center'></td></tr>
+
+
+</table>
+<div class='margina' align='right'>
+Auto refresh<input type='checkbox' name='refresh_or_not' id='refresh_or_not' onchange='set_refresh();' checked='checked' >
+</div>
+
+<div class='margina' style='margin-top:5px' align='right'>
+<pre ></pre>
+<input type='button' value='Refresh' onclick='javascript:refresh();'>
+<input type='submit' onclick='javascript:joinadd();' value='Save configuration' onmouseover='javascript:showTip();' onmouseout='javascript:clearTip();'/>
+<input type='submit' value='Restart the modem' onclick='javascript:reboot_flag();'/>
+<pre id ='tooltip'></pre>
+</div>
+
+
+</form>
+
+
+
+
+
+
+
+<iframe id='stat_iframe' name='stat_iframe' src ="stat.asp?interface=br0" frameborder='0' height='5'>
+ <p>Your browser does not support iframes.</p>
+</iframe>
+</body>
+</html> \ No newline at end of file
diff --git a/cleopatre/application/spidgoahead/web/count.asp b/cleopatre/application/spidgoahead/web/count.asp
new file mode 100644
index 0000000000..f5e08e65e4
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/count.asp
@@ -0,0 +1,5 @@
+<html>
+
+<% spidcomAspReboot(); %>
+
+</html>
diff --git a/cleopatre/application/spidgoahead/web/delgroup.asp b/cleopatre/application/spidgoahead/web/delgroup.asp
new file mode 100644
index 0000000000..e0eab7b58b
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/delgroup.asp
@@ -0,0 +1,28 @@
+<html>
+<!- Copyright (c) Go Ahead Software Inc., 2000-2000. All Rights Reserved. ->
+<head>
+<title>Delete a User Group</title>
+<meta http-equiv="Pragma" content="no-cache">
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<% language=javascript %>
+</head>
+
+<body>
+<h1>Delete a User Group</h1>
+<form action=/goform/DeleteGroup method=POST>
+
+<table>
+<tr>
+<% MakeGroupList(); %>
+</tr>
+<tr>
+ <td></td>
+ <td ALIGN="CENTER">
+ <input type=submit name=ok value="OK"> <input type=submit name=ok value="Cancel"></td>
+</tr>
+</table>
+
+</form>
+
+</body>
+</html>
diff --git a/cleopatre/application/spidgoahead/web/dellimit.asp b/cleopatre/application/spidgoahead/web/dellimit.asp
new file mode 100644
index 0000000000..f613b60c44
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/dellimit.asp
@@ -0,0 +1,28 @@
+<html>
+<!- Copyright (c) Go Ahead Software Inc., 2000-2000. All Rights Reserved. ->
+<head>
+<title>Delete an Access Limit</title>
+<meta http-equiv="Pragma" content="no-cache">
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<% language=javascript %>
+</head>
+
+<body>
+<h1>Delete an Access Limit</h1>
+<form action=/goform/DeleteAccessLimit method=POST>
+
+<table>
+<tr>
+<% MakeAccessLimitList(); %>
+</tr>
+<tr>
+ <td></td>
+ <td ALIGN="CENTER">
+ <input type=submit name=ok value="OK"> <input type=submit name=ok value="Cancel"></td>
+</tr>
+</table>
+
+</form>
+
+</body>
+</html>
diff --git a/cleopatre/application/spidgoahead/web/deluser.asp b/cleopatre/application/spidgoahead/web/deluser.asp
new file mode 100644
index 0000000000..3157b3513c
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/deluser.asp
@@ -0,0 +1,28 @@
+<html>
+<!- Copyright (c) Go Ahead Software Inc., 2000-2000. All Rights Reserved. ->
+<head>
+<title>Delete a User</title>
+<meta http-equiv="Pragma" content="no-cache">
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<% language=javascript %>
+</head>
+
+<body>
+<h1>Delete a User</h1>
+<form action=/goform/DeleteUser method=POST>
+
+<table>
+<tr>
+<% MakeUserList(); %>
+</tr>
+<tr>
+ <td></td>
+ <td ALIGN="CENTER">
+ <input type=submit name=ok value="OK" title="Delete the User"> <input type=submit name=ok value="Cancel"></td>
+</tr>
+</table>
+
+</form>
+
+</body>
+</html>
diff --git a/cleopatre/application/spidgoahead/web/eth0.asp b/cleopatre/application/spidgoahead/web/eth0.asp
new file mode 100644
index 0000000000..55a65f4d62
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/eth0.asp
@@ -0,0 +1,239 @@
+<html>
+
+<head>
+ <title>SPC 300 - SPiDCOM</title>
+
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+
+<style type = 'text/css'>
+div.margina,table.margina{
+ margin-left:5%;
+ width:500px;
+ background-color:#F5F5F5;
+}
+td{
+ padding-left:5px;
+}
+
+input[type='text']{
+ margin-left:auto;
+ margin-right:auto;
+ text-align:center;
+}
+input[disabled='disabled'] {
+ background-color:BBBBBB;
+ color:white;
+ cursor:default;
+}
+
+body{
+ background-image: url("/spidcom.gif");
+ background-repeat: no-repeat;
+ background-attachment: fixed;
+ background-position: center center;
+}
+</style>
+
+<script type='text/javascript'>
+
+var mac = <% spidcomAspGetMac('eth0'); %>
+var ip_data = <% spidcomAspGetIpData('eth0'); %>
+
+
+var ip_data_array = ip_data.split(':');
+
+var ip_array;
+var nm_array;
+var gw_array;
+
+if(ip_data_array[1].length == 0)
+ ip_array = new Array("0","0","0","0")
+else
+ ip_array = ip_data_array[1].split('.');
+
+if(ip_data_array[2].length == 0)
+ nm_array = new Array("0","0","0","0")
+else
+ nm_array = ip_data_array[2].split('.');
+
+if(ip_data_array[4].length == 0)
+ gw_array = new Array("0","0","0","0")
+else
+ gw_array = ip_data_array[4].split('.');
+var mac_array = mac.split(':');
+
+var dhcp = ip_data_array[0];
+
+
+function validate()
+{
+ parent.footer2.document.getElementById('error_console').innerHTML = "";
+
+ if(ip_data.indexOf("error") >= 0) // error
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>IP data : error condition: " + ip_data.toString() + "</small><br>";
+ else
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>IP data : OK</small><br>";
+
+ if(mac.indexOf("error") >= 0) // error
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>MAC : error condition: " + mac.toString() + "</small><br>";
+ else
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>MAC : OK</small><br>";
+
+}
+
+
+function showTip(){
+document.getElementById('tooltip').innerHTML = "You must restart modem for the changes to take effect";
+}
+
+function clearTip(){
+document.getElementById('tooltip').innerHTML = "";
+}
+
+function reboot_flag()
+{
+ document.getElementById('reboot').value = 'yes';
+}
+
+function refresh(){
+parent.content.location.reload();
+}
+
+
+function joinadd(){
+document.getElementById('ip').value = document.getElementById('ipe1').value + '.' + document.getElementById('ipe2').value + '.' + document.getElementById('ipe3').value + '.' + document.getElementById('ipe4').value;
+document.getElementById('nm').value = document.getElementById('nete1').value + '.' + document.getElementById('nete2').value + '.' + document.getElementById('nete3').value + '.' + document.getElementById('nete4').value;
+document.getElementById('gw').value = document.getElementById('gwe1').value + '.' + document.getElementById('gwe2').value + '.' + document.getElementById('gwe3').value + '.' + document.getElementById('gwe4').value;
+}
+
+function set_refresh(){
+
+if (document.getElementById('refresh_or_not').checked)
+ document.getElementById("stat_iframe").contentWindow.RestartRefresh();
+else
+ document.getElementById('stat_iframe').contentWindow.StopRefresh();
+}
+
+function checkMainForm(){
+ return true;
+}
+
+function fill_ip_data()
+{
+
+var idip = 'ipe';
+var idnet = 'nete';
+var idgw = 'gwe';
+var idmac = 'mace'
+
+for (var i=1;i<=4;i++)
+{
+document.getElementById(idip+i).value = ip_array[i-1];
+document.getElementById(idnet+i).value = nm_array[i-1];
+document.getElementById(idgw+i).value = gw_array[i-1];
+document.getElementById(idmac+i).value = mac_array[i-1];
+}
+document.getElementById(idmac+5).value = mac_array[4];
+document.getElementById(idmac+6).value = mac_array[5];
+
+
+if (dhcp == 'DHCP')
+ document.mainForm.dhcp.value = 'dhcp';
+
+ joinadd();
+}
+</script>
+</head>
+
+
+<body onload='javascript:validate();fill_ip_data();'>
+<!-- Settings name -->
+<div class='margina' > <h2>Ethernet configuration</h2></div>
+
+<!-- Main form -->
+
+<form name='mainForm' action='/goform/formAction' target='_self' method = 'GET' onSubmit='return checkMainForm();'>
+
+<table name = 'ipData' class='margina' style='background-color:#FFFFFF' border='0'>
+<tr>
+<td><h3>Network configuration</h3></td>
+</tr>
+<tr>
+<td>Current IP address</td>
+<td></td><td></td>
+<td><input id='ipe1' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='ipe2' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='ipe3' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='ipe4' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input type='hidden' name='ip' id='ip' value='0'/> </td> <!-- This will be passed by form -->
+</tr>
+
+<tr>
+<td>Current netmask</td>
+<td></td><td></td>
+<td><input id='nete1' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='nete2' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='nete3' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='nete4' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input type='hidden' name='nm' id='nm' value='0'/> </td> <!-- This will be passed by form -->
+</tr>
+<tr>
+<td>Current gateway address</td>
+<td></td><td></td>
+<td><input id='gwe1' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='gwe2' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='gwe3' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='gwe4' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input type='hidden' id='gw' name='gw' value='0'/> </td> <!-- This will be passed by form -->
+</tr>
+<tr align='center'>
+<td align='left'>MAC address</td>
+
+<td><input disabled='disabled' id='mace1' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace2' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace3' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace4' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace5' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace6' type='text' size=2 maxlength=2 value='0'/> </td>
+</tr>
+
+<input type='hidden' name='dhcp' id='dhcp' value='static'/> <!-- This will be passed by form -->
+<input type='hidden' name='inter' id='inter' value='eth0'/> <!-- This will be passed by form -->
+</table>
+
+<div class='margina'><h2>Activity statistics</h2></div>
+<table id='background-image' class='d25' style='margin-left:5%;width:500px' border='0'> <tr align='center'><td colspan='2'>RX:</td><td colspan='2'>TX:</td></tr>
+<tr><td class='d25' >Bytes</td><td class='d25' id='rb' bgcolor='lavender' align='center'></td><td>Bytes</td> <td class='d25' id = 'tb' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Packets</td><td class='d25' id='rp' bgcolor='lavender' align='center'></td><td>Packets</td> <td class='d25' id = 'tp' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Errors</td><td class='d25' id='re' bgcolor='lavender' align='center'></td><td>Errors</td> <td class='d25' id = 'te' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Drops</td><td class='d25' id='rd' bgcolor='lavender' align='center'></td><td>Drops</td> <td class='d25' id = 'td' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Fifo</td><td class='d25' id='rf' bgcolor='lavender' align='center'></td><td>Fifo</td> <td class='d25' id = 'tf' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Frame</td><td class='d25' id='rfr' bgcolor='lavender' align='center'></td><td>Colls</td> <td class='d25' id = 'tc' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Compressed</td><td class='d25' id='rc' bgcolor='lavender' align='center'></td><td>Carrier</td> <td class='d25' id = 'tcar' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Multicast</td><td class='d25' id='rm' bgcolor='lavender' align='center'></td><td>Compressed</td> <td class='d25' id = 'tcom' bgcolor='lavender' align='center'></td></tr>
+
+</table>
+<div class='margina' align='right'>
+Auto refresh<input type='checkbox' name='refresh_or_not' id='refresh_or_not' onchange='set_refresh();' checked='checked'>
+</div>
+
+
+<div class='margina' align='right'>
+<pre ></pre>
+<input type='button' value='Refresh' onclick='javascript:refresh();'>
+<input type='submit' onclick='javascript:joinadd();' value='Save configuration' onmouseover='javascript:showTip();' onmouseout='javascript:clearTip();'/>
+<input type='submit' value='Restart the modem' onclick='javascript:reboot_flag();'/>
+<pre id ='tooltip'></pre>
+</div>
+
+
+</form>
+
+
+
+
+<iframe id='stat_iframe' name='stat_iframe' src ="stat.asp?interface=eth0" frameborder='0' height='5'>
+ <p>Your browser does not support iframes.</p>
+</iframe>
+</body>
+</html> \ No newline at end of file
diff --git a/cleopatre/application/spidgoahead/web/footer.html b/cleopatre/application/spidgoahead/web/footer.html
new file mode 100644
index 0000000000..25862cea00
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/footer.html
@@ -0,0 +1,7 @@
+<HTML>
+<body bgcolor="#F5F5F5">
+<table height='25' bgcolor="#ffaaaa" width=100%><TR><TD align="center">
+ <i><b></b></i>
+</TD></TR></table>
+</body>
+</HTML>
diff --git a/cleopatre/application/spidgoahead/web/index.asp b/cleopatre/application/spidgoahead/web/index.asp
new file mode 100644
index 0000000000..ca9d07be9b
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/index.asp
@@ -0,0 +1,27 @@
+<html>
+ <head>
+ <title>SPiDCOM - SPC 300</title>
+ <link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+ <script language="JavaScript">
+
+
+ function restore() {
+ self.content.location.href = "/index.asp"
+ }
+ </script>
+ </head>
+
+ <FRAMESET border="0" frameBorder="1" frameSpacing="0" ROWS="60,*,30" onResize="if (document.layers) {restore();}">
+ <FRAME marginHeight="0" marginWidth="0" noResize name='banner' id='banner' scrolling="no" src="banner.asp">
+ <FRAMESET border="0" COLS="150,*" frameBorder="no" frameSpacing="0">
+ <FRAME marginHeight="0" marginWidth="0" name="nav" noResize scrolling="auto" src="nav.asp">
+ <FRAMESET border="0" ROWS="*,100" frameBorder="no" frameSpacing="0">
+ <FRAME marginHeight="0" marginWidth="0" name="content" noResize scrolling='auto' src="br0.asp">
+ <FRAME marginHeight="0" marginWidth="0" name="footer2" noResize src="none.html">
+ </FRAMESET>
+ </FRAMESET>
+ <FRAME marginHeight="0" marginWidth="0" name="footer" noResize src="footer.html">
+ </FRAMESET>
+
+</html>
+
diff --git a/cleopatre/application/spidgoahead/web/jslib/query.js b/cleopatre/application/spidgoahead/web/jslib/query.js
new file mode 100644
index 0000000000..059bd89460
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/jslib/query.js
@@ -0,0 +1,111 @@
+//<script type='text/javascript'>
+function Querystring()
+
+
+{
+
+
+// get the query string, ignore the ? at the front.
+
+
+ var querystring=location.search.substring(1,location.search.length);
+
+
+
+
+
+// parse out name/value pairs separated via &
+
+
+ var args = querystring.split('&');
+
+
+
+
+
+// split out each name = value pair
+
+
+ for (var i=0;i<args.length;i++)
+
+
+ {
+
+
+ var pair = args[i].split('=');
+
+
+
+
+
+ // Fix broken unescaping
+
+
+ temp = unescape(pair[0]).split('+');
+
+
+ name = temp.join(' ');
+
+
+
+
+
+ temp = unescape(pair[1]).split('+');
+
+
+ value = temp.join(' ');
+
+
+
+
+
+ this[name]=value;
+
+
+ }
+
+
+
+
+
+ this.get=Querystring_get;
+
+
+}
+
+
+
+
+
+
+
+
+function Querystring_get(strKey,strDefault)
+
+
+{
+
+
+ var value=this[strKey];
+
+
+ if (value==null)
+
+
+ {
+
+
+ value=strDefault;
+
+
+ }
+
+
+
+
+
+ return value;
+
+
+}
+//<script> \ No newline at end of file
diff --git a/cleopatre/application/spidgoahead/web/left.png b/cleopatre/application/spidgoahead/web/left.png
new file mode 100644
index 0000000000..b3733eed59
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/left.png
Binary files differ
diff --git a/cleopatre/application/spidgoahead/web/loadcfg.asp b/cleopatre/application/spidgoahead/web/loadcfg.asp
new file mode 100644
index 0000000000..8a1fe46952
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/loadcfg.asp
@@ -0,0 +1,24 @@
+<html>
+<!- Copyright (c) Go Ahead Software Inc., 2000-2000. All Rights Reserved. ->
+<head>
+<title>Load the User Configuration</title>
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<% language=javascript %>
+</head>
+
+<body>
+<h1>Re-load the permanently stored user configuration</h1>
+<form action=/goform/LoadUserManagement method=POST>
+
+<table>
+<tr>
+ <td></td>
+ <td ALIGN="CENTER">
+ <input type=submit name=ok value="OK" title="Load Configuration"> <input type=submit name=ok value="Cancel"></td>
+</tr>
+</table>
+
+</form>
+
+</body>
+</html>
diff --git a/cleopatre/application/spidgoahead/web/logo-spidcom.jpg b/cleopatre/application/spidgoahead/web/logo-spidcom.jpg
new file mode 100644
index 0000000000..8d8b7f77c9
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/logo-spidcom.jpg
Binary files differ
diff --git a/cleopatre/application/spidgoahead/web/nav.asp b/cleopatre/application/spidgoahead/web/nav.asp
new file mode 100644
index 0000000000..f2b84a395f
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/nav.asp
@@ -0,0 +1,70 @@
+<html>
+
+<head>
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+
+<style type='text/css'>
+
+#one-column-emphasis
+{
+ font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
+ font-size: 11px;
+ width:100%;
+ text-align: center;
+ border-collapse: separate;
+ background:#F5F5F5;
+}
+#one-column-emphasis th
+{
+ font-size: 14px;
+ font-weight: normal;
+ padding: 12px 15px;
+ color: #039;
+}
+#one-column-emphasis td
+{
+ padding: 10px 15px;
+ color: #669;
+ border-top: 1px solid #e8edff;
+}
+
+#one-column-emphasis tr:hover td
+{
+ color: white;
+ background: #E0E0E0;
+}
+
+a:link, a:visited {
+color: black;
+
+}
+
+a:hover {
+color:red;
+}
+</style>
+
+
+</head>
+
+<body bgcolor="#F5F5F5">
+
+<div style='position:relative;margin-top:15%'></div>
+
+<div style='position:relative;margin-left:5%;margin-right:5%;background-color:#CCCCCC;text-align:center;color:black'><code>SPC 300</code>
+<table id='one-column-emphasis'>
+<tr><td><a href = 'plc0.asp' target='content'>Plc </a></td></tr>
+<tr><td><a href = 'eth0.asp' target='content'>Ethernet </a></td></tr>
+<tr><td><a href = 'br0.asp' target='content'>Bridge </a></td></tr>
+<tr><td><a href = 'wifi0.asp' target='content'>Wifi </a></td></tr>
+<tr><td><a href = 'soft.asp' target='content'>Software </a></td></tr>
+</table>
+</div>
+
+<div style='position:relative;margin-left:5%;margin-right:5%;background-color:#CCCCCC;text-align:center;color:black'><code>SPC 300</code></div>
+
+
+
+</body>
+
+<html> \ No newline at end of file
diff --git a/cleopatre/application/spidgoahead/web/none.html b/cleopatre/application/spidgoahead/web/none.html
new file mode 100644
index 0000000000..6f8fd62e8c
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/none.html
@@ -0,0 +1,40 @@
+<html>
+<head>
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<style type='text/css'>
+a:link, a:visited {
+color: black;
+
+}
+a { text-decoration: none;}
+
+a:focus { outline: none; }
+
+a:hover {
+color:red;
+}
+</style>
+<script type='text/javascript'>
+function showConsole()
+{
+ if(document.getElementById("error_console").style.visibility == "visible")
+ {
+ document.getElementById("error_console").style.visibility = "hidden";
+ }
+ else
+ {
+ document.getElementById("error_console").style.visibility = "visible";
+ }
+}
+
+</script>
+
+</head>
+<body bgcolor="#FFFFFF" style='background-image:url(/logo-spidcom.jpg);background-repeat:no-repeat;background-position: center right'>
+<!--<div id='title' style='line-height:45px;width:500px;height:45px;margin-left:5%;margin-top:5px;background-image:url(/logo-spidcom.jpg);background-repeat:no-repeat;background-position: center right'><a href='javascript:showConsole();'>Show/Hide ASP console :</a></div><br>-->
+<div id='title' style='width:500px;margin-left:5%;margin-top:5px;'><a href='javascript:showConsole();'>Show/Hide ASP console :</a></div><br>
+<div style='width:500px;border-style:dotted;border-width:thin;border-color:red;margin-left:5%;margin-bottom:15px;visibility:hidden' id='error_console'> </div>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/cleopatre/application/spidgoahead/web/pattern.png b/cleopatre/application/spidgoahead/web/pattern.png
new file mode 100644
index 0000000000..5159b3bbf1
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/pattern.png
Binary files differ
diff --git a/cleopatre/application/spidgoahead/web/plc0.asp b/cleopatre/application/spidgoahead/web/plc0.asp
new file mode 100644
index 0000000000..ee4e588eb6
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/plc0.asp
@@ -0,0 +1,307 @@
+<html>
+
+<head>
+ <title>SPC 300 - SPiDCOM</title>
+
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+
+<style type = 'text/css'>
+div.margina,table.margina{
+ margin-left:5%;
+ width:500px;
+ background-color:#F5F5F5;
+}
+td{
+ padding-left:5px;
+}
+
+input[type='text']{
+ margin-left:auto;
+ margin-right:auto;
+ text-align:center;
+}
+input[disabled='disabled'] {
+ background-color:BBBBBB;
+ color:white;
+ cursor:default;
+}
+body{
+ background-image: url("/spidcom.gif");
+ background-repeat: no-repeat;
+ background-attachment: fixed;
+ background-position: center center;
+}
+
+</style>
+
+<script type='text/javascript'>
+
+var mac = <% spidcomAspGetMac('plc0'); %>
+var ip_data = <% spidcomAspGetIpData('plc0'); %>
+
+var online_station = '<% spidcomAspEocGetTopo(); %>';
+var station_array = online_station.split('-');
+
+
+var ip_data_array = ip_data.split(':');
+
+var ip_array;
+var nm_array;
+var gw_array;
+
+if(ip_data_array[1].length == 0)
+ ip_array = new Array("0","0","0","0")
+else
+ ip_array = ip_data_array[1].split('.');
+
+if(ip_data_array[2].length == 0)
+ nm_array = new Array("0","0","0","0")
+else
+ nm_array = ip_data_array[2].split('.');
+
+if(ip_data_array[4].length == 0)
+ gw_array = new Array("0","0","0","0")
+else
+ gw_array = ip_data_array[4].split('.');
+
+
+
+var dhcp = ip_data_array[0];
+var mac_array = mac.split(':');
+
+
+
+function validate()
+{
+ parent.footer2.document.getElementById('error_console').innerHTML = "";
+
+ if(ip_data.indexOf("error") >= 0) // error
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>IP data : error condition: " + ip_data.toString() + "</small><br>";
+ else
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>IP data : OK</small><br>";
+
+ if(mac.indexOf("error") >= 0) // error
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>MAC : error condition: " + mac.toString() + "</small><br>";
+ else
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>MAC : OK</small><br>";
+
+
+ if(online_station.indexOf("error") >= 0) // error
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>Online station : error condition: " + mac.toString() + "</small><br>";
+ else
+ parent.footer2.document.getElementById('error_console').innerHTML += "<small style='margin-left:3px'>Online station : OK</small><br>";
+
+}
+
+
+function showTip(){
+document.getElementById('tooltip').innerHTML = "You must restart modem for the changes to take effect";
+}
+
+function clearTip(){
+document.getElementById('tooltip').innerHTML = "";
+}
+
+function reboot_flag()
+{
+ document.getElementById('reboot').value = 'yes';
+}
+
+function refresh(){
+parent.content.location.reload();
+}
+
+
+function perform_eoc_action()
+{
+
+temp1 = document.getElementById('station').value;
+temp2 = document.getElementById('action').value;
+
+if ( (temp1 == "-1") || (temp2 == "none") )
+{
+ alert("Please check your request.");
+ return;
+}
+
+action = document.getElementById('action')[document.getElementById('action').selectedIndex].value.toString();
+station = document.getElementById('station')[document.getElementById('station').selectedIndex].innerHTML.toString();
+mojProzor = window.open("","prozor","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=yes, width=600, height=200, left=100, top=100");
+mojProzor.focus();
+mojProzor.location.href = "action.asp?mac=" + station + "&action=" + action;
+}
+
+
+function joinadd(){
+document.getElementById('ip').value = document.getElementById('ipe1').value + '.' + document.getElementById('ipe2').value + '.' + document.getElementById('ipe3').value + '.' + document.getElementById('ipe4').value;
+document.getElementById('nm').value = document.getElementById('nete1').value + '.' + document.getElementById('nete2').value + '.' + document.getElementById('nete3').value + '.' + document.getElementById('nete4').value;
+document.getElementById('gw').value = document.getElementById('gwe1').value + '.' + document.getElementById('gwe2').value + '.' + document.getElementById('gwe3').value + '.' + document.getElementById('gwe4').value;
+}
+
+function set_refresh(){
+
+if (document.getElementById('refresh_or_not').checked)
+ document.getElementById("stat_iframe").contentWindow.RestartRefresh();
+else
+ document.getElementById('stat_iframe').contentWindow.StopRefresh();
+}
+
+function checkMainForm(){
+ return true;
+}
+
+function fill_ip_data()
+{
+
+var idip = 'ipe';
+var idnet = 'nete';
+var idgw = 'gwe';
+var idmac = 'mace'
+
+for (var i=1;i<=4;i++)
+{
+document.getElementById(idip+i).value = ip_array[i-1];
+document.getElementById(idnet+i).value = nm_array[i-1];
+document.getElementById(idgw+i).value = gw_array[i-1];
+document.getElementById(idmac+i).value = mac_array[i-1];
+}
+document.getElementById(idmac+5).value = mac_array[4];
+document.getElementById(idmac+6).value = mac_array[5];
+
+
+if (dhcp == 'DHCP')
+ document.mainForm.dhcp.value = 'dhcp';
+
+
+for (i=0;i<station_array.length-1;i++)
+ document.getElementById('station').innerHTML += "<option value='" + i.toString() + "'>" + station_array[i].toString(); + "</option>";
+
+joinadd();
+}
+</script>
+</head>
+
+
+<body onload='javascript:validate();fill_ip_data();'>
+<!-- Settings name -->
+<div class='margina' > <h2>PLC configuration</h2></div>
+
+<!-- Main form -->
+
+<form name='mainForm' action='/goform/formAction' target='_self' method = 'GET' onSubmit='return checkMainForm();'>
+
+<table name = 'ipData' class='margina' style='background-color:#FFFFFF' border='0'>
+<tr>
+<td><h3>Network configuration</h3></td>
+</tr>
+<tr>
+<td>Current IP address</td>
+<td></td><td></td>
+<td><input id='ipe1' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='ipe2' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='ipe3' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='ipe4' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input type='hidden' name='ip' id='ip' value='0'/> </td> <!-- This will be passed by form -->
+</tr>
+
+<tr>
+<td>Current netmask</td>
+<td></td><td></td>
+<td><input id='nete1' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='nete2' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='nete3' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='nete4' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input type='hidden' name='nm' id='nm' value='0'/> </td> <!-- This will be passed by form -->
+</tr>
+<tr>
+<td>Current gateway address</td>
+<td></td><td></td>
+<td><input id='gwe1' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='gwe2' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='gwe3' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input id='gwe4' type='text' size=3 maxlength=3 value='0'/> </td>
+<td><input type='hidden' id='gw' name='gw' value='0'/> </td> <!-- This will be passed by form -->
+</tr>
+<tr align='center'>
+<td align='left'>MAC address</td>
+
+<td><input disabled='disabled' id='mace1' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace2' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace3' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace4' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace5' type='text' size=2 maxlength=2 value='0'/> </td>
+<td><input disabled='disabled' id='mace6' type='text' size=2 maxlength=2 value='0'/> </td>
+</tr>
+<tr>
+
+<input type='hidden' name='dhcp' id='dhcp' value='static'/> <!-- This will be passed by form -->
+<input type='hidden' name='inter' id='inter' value='plc0'/> <!-- This will be passed by form -->
+</table>
+
+<div class='margina'><h2>Activity statistics</h2></div>
+<table id='background-image' class='d25' style='margin-left:5%;width:500px' border='0'> <tr align='center'><td colspan='2'>RX:</td><td colspan='2'>TX:</td></tr>
+<tr><td class='d25' >Bytes</td><td class='d25' id='rb' bgcolor='lavender' align='center'></td><td>Bytes</td> <td class='d25' id = 'tb' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Packets</td><td class='d25' id='rp' bgcolor='lavender' align='center'></td><td>Packets</td> <td class='d25' id = 'tp' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Errors</td><td class='d25' id='re' bgcolor='lavender' align='center'></td><td>Errors</td> <td class='d25' id = 'te' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Drops</td><td class='d25' id='rd' bgcolor='lavender' align='center'></td><td>Drops</td> <td class='d25' id = 'td' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Fifo</td><td class='d25' id='rf' bgcolor='lavender' align='center'></td><td>Fifo</td> <td class='d25' id = 'tf' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Frame</td><td class='d25' id='rfr' bgcolor='lavender' align='center'></td><td>Colls</td> <td class='d25' id = 'tc' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Compressed</td><td class='d25' id='rc' bgcolor='lavender' align='center'></td><td>Carrier</td> <td class='d25' id = 'tcar' bgcolor='lavender' align='center'></td></tr>
+<tr><td class='d25' >Multicast</td><td class='d25' id='rm' bgcolor='lavender' align='center'></td><td>Compressed</td> <td class='d25' id = 'tcom' bgcolor='lavender' align='center'></td></tr>
+
+</table>
+<div class='margina' align='right'>
+Auto refresh<input type='checkbox' name='refresh_or_not' id='refresh_or_not' onchange='set_refresh();' checked='checked'>
+</div>
+
+
+
+
+<div class='margina'><h2>Station managment</h2></div>
+
+<div class='margina' style='background-color:#FFFFFF' align='right'>
+<table border = '0' style='margin-top:5px;margin-right:5px'>
+<tr>
+<td class='margina' style ='width:500px' align='right'><select style='width:200px' name='station' id='station'><option value='-1'>Select station</option></select></td> </tr>
+<tr>
+<td align='right'>
+<select style='width:200px' name='action' id='action'>
+<option id='-1' value='none'>Select action</option>
+<option style='color:red' id='0' value='reboot'>Reboot</option>
+<option id='1' value='get_stat'>Retrieve statistics</option>
+<option id='2' value='reset_stat'>Reset statistics</option>
+<option id='3' value='get_device_info'>Retrieve device info</option>
+<option id='4' value='get_link'>Retrieve link quality</option>
+</select>
+</td>
+</tr>
+<tr>
+<td colspan='2' align = 'right'><input type='button' value='Proceed' onclick='javascript:perform_eoc_action();'/></td>
+</tr>
+</table>
+</div>
+<div class='margina' align='right'>
+<pre ></pre>
+<input type='button' value='Refresh' onclick='javascript:refresh();'>
+<input type='submit' onclick='javascript:joinadd();' value='Save configuration' onmouseover='javascript:showTip();' onmouseout='javascript:clearTip();'/>
+<input type='submit' value='Restart the modem' onclick='javascript:reboot_flag();'/>
+<pre id ='tooltip'></pre>
+</div>
+
+
+
+
+
+
+</form>
+
+
+
+
+
+<iframe id='stat_iframe' name='stat_iframe' src ="stat.asp?interface=plc0" frameborder='0' height='5'>
+ <p>Your browser does not support iframes.</p>
+</iframe>
+
+</body>
+</html> \ No newline at end of file
diff --git a/cleopatre/application/spidgoahead/web/savecfg.asp b/cleopatre/application/spidgoahead/web/savecfg.asp
new file mode 100644
index 0000000000..0947eb58dc
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/savecfg.asp
@@ -0,0 +1,24 @@
+<html>
+<!- Copyright (c) Go Ahead Software Inc., 2000-2000. All Rights Reserved. ->
+<head>
+<title>Save the User Configuration</title>
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<% language=javascript %>
+</head>
+
+<body>
+<h1>Permanently save the user configuration</h1>
+<form action=/goform/SaveUserManagement method=POST>
+
+<table>
+<tr>
+ <td></td>
+ <td ALIGN="CENTER">
+ <input type=submit name=ok value="OK" title="Save Configuration"> <input type=submit name=ok value="Cancel"></td>
+</tr>
+</table>
+
+</form>
+
+</body>
+</html>
diff --git a/cleopatre/application/spidgoahead/web/soft.asp b/cleopatre/application/spidgoahead/web/soft.asp
new file mode 100644
index 0000000000..25ccefc945
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/soft.asp
@@ -0,0 +1,15 @@
+<html>
+
+<head>
+<script type='text/javascript'>
+function clearConsole()
+{
+ parent.footer2.document.getElementById('error_console').innerHTML = "";
+}
+
+</script>
+</head>
+<body onload='javascript:clearConsole();'>
+
+</body>
+</html> \ No newline at end of file
diff --git a/cleopatre/application/spidgoahead/web/spidcom.gif b/cleopatre/application/spidgoahead/web/spidcom.gif
new file mode 100644
index 0000000000..6bf1629a29
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/spidcom.gif
Binary files differ
diff --git a/cleopatre/application/spidgoahead/web/stat.asp b/cleopatre/application/spidgoahead/web/stat.asp
new file mode 100644
index 0000000000..f1919f3dd2
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/stat.asp
@@ -0,0 +1,61 @@
+<html>
+<head>
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+<script type = 'text/javascript'>
+
+var RefreshID = setInterval("window.location.reload()",5000);
+
+
+
+
+function StopRefresh(){
+clearInterval(RefreshID);
+}
+
+function RestartRefresh(){
+RefreshID = setInterval("window.location.reload()",5000);
+}
+
+var stats = '<% spidcomAspGetStatistics(); %>';
+stats_array = stats.split(':');
+
+
+function validate()
+{
+
+ if(stats.indexOf("error") >= 0) // error
+ parent.parent.footer2.document.getElementById('error_console').innerHTML += "<code>Statistics : error condition</code><br>";
+ //else
+ //parent.parent.footer2.document.getElementById('error_console').innerHTML += "<code>Statistics : OK</code><br>";
+
+}
+
+
+function fill_it(){
+
+parent.document.getElementById('rb').innerHTML = stats_array[0];
+parent.document.getElementById('tb').innerHTML = stats_array[1];
+parent.document.getElementById('rp').innerHTML = stats_array[2];
+parent.document.getElementById('tp').innerHTML = stats_array[3];
+parent.document.getElementById('re').innerHTML = stats_array[4];
+parent.document.getElementById('te').innerHTML = stats_array[5];
+parent.document.getElementById('rd').innerHTML = stats_array[6];
+parent.document.getElementById('td').innerHTML = stats_array[7];
+parent.document.getElementById('rf').innerHTML = stats_array[8];
+parent.document.getElementById('tf').innerHTML = stats_array[9];
+parent.document.getElementById('rfr').innerHTML = stats_array[10];
+parent.document.getElementById('tc').innerHTML = stats_array[11];
+parent.document.getElementById('rc').innerHTML = stats_array[12];
+parent.document.getElementById('tcar').innerHTML = stats_array[13];
+parent.document.getElementById('rm').innerHTML = stats_array[14];
+parent.document.getElementById('tcom').innerHTML = stats_array[15];
+
+}
+
+</script>
+
+</head>
+<body onload='javascript:validate();fill_it();'>
+</body>
+
+</html> \ No newline at end of file
diff --git a/cleopatre/application/spidgoahead/web/style/doc.css b/cleopatre/application/spidgoahead/web/style/doc.css
new file mode 100644
index 0000000000..94147aac97
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/style/doc.css
@@ -0,0 +1,42 @@
+body {
+ font-family: Arial, Helvetica, sans-serif; font-size: 9pt;
+; margin-right: 5px; margin-left: 10px
+}
+p {
+; margin-left: 30px
+; font-family: Arial, Helvetica, sans-serif; color: #333333
+; font-size: 9pt
+}
+h3 {
+ font-size: 10pt; font-weight: bold;
+; margin-top: 8pt
+; font-family: Arial, Helvetica, sans-serif; color: #0066CC
+}
+h2 {
+ font-size: 11pt; font-weight: bold;
+; margin-top: 8pt
+; font-family: Arial, Helvetica, sans-serif; color: #0066CC
+}
+h1 {
+ font-size: 16pt; font-weight: bold;
+; font-family: Arial, Helvetica, sans-serif; color: #0066CC
+}
+pre {
+ background-color: #EEEEEE;
+; color: #0A0A8C; font-family: "Courier New", Courier, mono; font-size: 9pt
+; padding-left: 31px
+; padding-top: 5px; padding-right: 20px; padding-bottom: 5px
+}
+li {
+; font-family: Arial, Helvetica, sans-serif; color: #333333
+; margin-left: 30px
+; font-size: 9pt
+}
+td { font-family: Arial, Helvetica, sans-serif; font-size: 9pt; color: #333333; vertical-align: top}
+
+ul { ; font-family: Arial, Helvetica, sans-serif; color: #333333; margin-left: 30px; font-size: 9pt }
+.titleLeft { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; width: 33%; color: #0066CC; text-align: left}
+.titleCenter { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; width: 33%; color: #0066CC; text-align: center}
+.titleRight { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; width: 33%; color: #0066CC; text-align: right}
+table { padding-left: 30px}
+.apiTitle { padding-left: 0px}
diff --git a/cleopatre/application/spidgoahead/web/style/help.htm b/cleopatre/application/spidgoahead/web/style/help.htm
new file mode 100644
index 0000000000..7b1e028131
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/style/help.htm
@@ -0,0 +1,40 @@
+<style>
+<!- Copyright (c) Go Ahead Software Inc., 1999-2000. All Rights Reserved. ->
+<!--
+ body {
+ font-family: Veranda, Arial, Helvetica;
+ font-size: 12pt;
+ color: #0000A0;
+ }
+ p {
+ font-family: Arial, Helvetica;
+ font-size: 12pt;
+ color: #0000A0;
+ }
+ h2 {
+ font-family: Arial, Helvetica;
+ font-size: 14pt;
+ font-weight: bold;
+ color: #0000A0;
+ margin: 8pt 0pt 0pt 0pt;
+ padding: 0 0 0 0;
+ }
+ h1 {
+ font-family: Arial, Helvetica;
+ font-size: 16pt;
+ font-weight: bold;
+ color: #0000A0;
+ margin: 8pt 0pt 0pt 0pt;
+ padding: 0 0 0 0;
+ }
+ td {
+ font-family: Arial, Helvetica;
+ font-size: 9pt;
+ color: #0000A0;
+ }
+ a:link {
+ text-decoration: underline;
+ color: #0000A0;
+ }
+-->
+</style>
diff --git a/cleopatre/application/spidgoahead/web/style/menu.htm b/cleopatre/application/spidgoahead/web/style/menu.htm
new file mode 100644
index 0000000000..63e64fe96c
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/style/menu.htm
@@ -0,0 +1,55 @@
+<style>
+<!- Copyright (c) Go Ahead Software Inc., 1999-2000. All Rights Reserved. ->
+<!--
+ body {
+ font-family: Veranda, Arial, Helvetica;
+ font-size: 9pt;
+ color: #ffffff;
+ background-graphic: graphics/stripe.jpg;
+ }
+ p {
+ font-family: Arial, Helvetica;
+ font-size: 9pt;
+ color: #ffffff;
+ }
+ h1 {
+ font-family: Arial, Helvetica;
+ font-size: 11pt;
+ font-weight: bold;
+ color: #ffffff;
+ margin-top: 8pt;
+ margin-bottom: 4pt
+ }
+ h2 {
+ font-family: Arial, Helvetica;
+ font-size: 9pt;
+ font-weight: bold;
+ color: #ffffff;
+ margin-top: 8pt;
+ margin-bottom: 4pt;
+ padding-left: 12
+ }
+ h3 {
+ font-family: Arial, Helvetica;
+ font-size: 9pt;
+ font-weight: normal;
+ color: #ffffff;
+ margin: 0pt 0pt 0pt 0pt;
+ padding: 0 0 0 30;
+ }
+h4 { font-family: Arial, Helvetica; font-size: 9pt; font-weight: normal; color: #ffffff; ; margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 15px; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 30}
+ a:link {
+ text-decoration: underline;
+ color: #33ccff;
+ }
+ a:visited {
+ text-decoration: underline;
+ color: #3399ff;
+ }
+ a:active {
+ text-decoration: underline;
+ color: #ccffff;
+ }
+-->
+</style>
+
diff --git a/cleopatre/application/spidgoahead/web/style/normal_ws.css b/cleopatre/application/spidgoahead/web/style/normal_ws.css
new file mode 100644
index 0000000000..3c30e6bf22
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/style/normal_ws.css
@@ -0,0 +1,48 @@
+body {
+ font-family: Arial, Helvetica, sans-serif; font-size: 9pt;
+}
+p {
+ font-size: 9pt;
+; margin-left: 10px
+; font-family: Arial, Helvetica, sans-serif; color: #333333
+}
+h1 {
+ font-size: 14pt; font-weight: bold;
+; margin-left: 10px
+; font-family: Arial, Helvetica, sans-serif; color: #0066CC
+}
+h2 {
+ font-size: 12pt; font-weight: bold;
+; margin-left: 10px
+; font-family: Arial, Helvetica, sans-serif; color: #0066CC
+}
+h3 {
+ font-size: 10pt; font-weight: bold;
+; margin-left: 10px
+; font-family: Arial, Helvetica, sans-serif; color: #0066CC
+}
+pre {
+line-height: normal;
+; color: #0A0A8C
+; font-family: "Courier New", Courier, mono; font-size: 9pt; margin-left: 10px; background-color: #EEEEEE; padding-left: 20px
+; padding-top: 5px; padding-bottom: 5px; padding-right: 20px
+}
+td {
+ font-size: 9pt;
+ font-family: Arial, Helvetica, sans-serif; color: #333333;
+ padding-top:2px;
+ padding-bottom:2px;
+ padding-left:3px;
+ padding-right:3px;
+}
+a { text-decoration: none;}
+
+a:focus { outline: none; }
+
+table { margin-left: 0px;
+ background: url('/pattern.png');
+}
+ol { margin-left: 5px; color: #0066CC; font-family: Arial, Helvetica, sans-serif; font-size: 9pt}
+li a:hover { color: #0066C0;}
+ul { font-size: 9pt; margin-left: 5px; font-family: Arial, Helvetica, sans-serif; color: #0066CC}
+h4 { font-size: 9pt; font-weight: bold; margin-left: 10px ; font-family: Arial, Helvetica, sans-serif; color: #0066CC}
diff --git a/cleopatre/application/spidgoahead/web/style/option.htm b/cleopatre/application/spidgoahead/web/style/option.htm
new file mode 100644
index 0000000000..7b1406af59
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/style/option.htm
@@ -0,0 +1,28 @@
+<style>
+<!- Copyright (c) Go Ahead Software Inc., 1999-2000. All Rights Reserved. ->
+<!--
+ body {
+ font-family: MS Sans Serif, Arial, Helvetica;
+ font-size: 9pt;
+ color: #0000A0;
+ }
+ p {
+ font-family: MS Sans Serif, Arial, Helvetica;
+ font-size: 9pt;
+ color: #0000A0;
+ }
+ h2 {
+ font-family: Arial, Helvetica;
+ font-size: 9pt;
+ font-weight: bold;
+ color: #0000A0;
+ margin: 0pt 0pt 0pt 0pt;
+ padding: 0 0 0 0;
+ }
+ td {
+ font-family: MS Sans Serif, Arial, Helvetica;
+ font-size: 9pt;
+ color: #0000A0;
+ }
+-->
+</style>
diff --git a/cleopatre/application/spidgoahead/web/um.htm b/cleopatre/application/spidgoahead/web/um.htm
new file mode 100644
index 0000000000..e4d5108b5b
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/um.htm
@@ -0,0 +1,10 @@
+<html>
+<head>
+<title>Company Overview</title>
+<link rel="stylesheet" href="style/normal_ws.css">
+</head>
+
+<BODY>
+<table Width="550"><tr><td>
+<H1>User Management Functions</H1><H2>Add User </H2><P>The Add a User option calls up the URL, &quot;<A HREF="adduser.asp">adduser.asp</A>&quot;. This Add a User data entry pane contains these fields:</P><BLOCKQUOTE><P> <B>User ID</B> - enter the ID of the user in this text field<BR><B>Group</B> - select a user group from this list for the user<BR><B>Enabled</B> -ensure that the Check box is checked to enable the user<BR><B>Password</B> - secure text field (displays asterisks)<BR><B>Confirm </B>- secure text field </P></BLOCKQUOTE><H2>Delete User </H2><P>The Delete a User option calls up the URL, <A HREF="deluser.asp">&quot;deluser.asp</A>&quot;. The Delete a User data entry pane provides a list of all added users. Use this list to select the user you wish to delete.</P><P>Clicking OK deletes the selected user and updates the user list accordingly.</P><H2>Add Group </H2><P>The Add a User Group option calls up the URL, &quot;<A HREF="addgroup.asp">addgroup.asp</A>&quot;. The Add Group data entry pane contains these fields:</P><BLOCKQUOTE><P> <B>Group Name</B> - enter the name of the group in this text field.<BR> <B>Privilege</B> - select privileges from this list to assign to the group (holding down the control key allows you to select multiple privileges)<BR> <B>Access Method</B> - select the default access method from the provided list that will be assigned to the group<BR> <B>Enabled</B> - ensure that the check box is selected to enable the user group</P></BLOCKQUOTE><H2>Delete Group </H2><P>The Delete a User Group option calls up the URL, &quot;<A HREF="delgroup.asp">delgroup.asp</A>&quot;. The Delete Group data-entry pane provides a list of all added user groups. Use this list to select the user group you wish to delete. </P><P> Clicking the OK button deletes the selected user group then updates the user group list accordingly.</P><H2> Add Access Limit </H2><P>The Add an Access Limit option calls up the URL, &quot;<A HREF="addlimit.asp">addlimit.asp</A>&quot;. The Add Access Limit data entry pane box provides the following fields:</P><BLOCKQUOTE><P> <B>URL</B> - enter the URL path to the page or the directory in this text field<BR><B>Group</B> - select the group (optional) to assign to the URL<BR> <B>Access Method</B> - select the access method from this list to assign to the URL. If a group is selected, this item is ignored. <BR> <B>Secure</B> - select this check box if you require data encryption for this URL. This item will be ignored unless SSL is installed. </P></BLOCKQUOTE><H2>Delete Access Limit </H2><P>The Delete an Access Limit option calls up the URL, &quot;<A HREF="dellimit.asp">dellimit.asp</A>&quot;. The Delete Group data entry pane provides a list of all access limit that have been assigned to this URL. Use this list to select the access limit you wish to delete <B> </B></P><P>Clicking OK deletes the selected access limits then updates the list of existing access limits.</P><H2>Save the User Configuration</H2><P>This option calls up the URL, “<A HREF="savecfg.asp">savecfg.asp</A>”. The Permanently Save the User Configuration data entry pane contains no data fields. Clicking OK saves the current User Management configuration. If the user configuration data had been saved previously, it will be overwritten. Data is saved in the file “umconfig.txt”. </P><H2>Restore the User Configuration</H2><P>This option calls up the URL, &quot;<A HREF="loadcfg.asp">loadcfg.asp</A>&quot;. The Re-load the Permanently Stored User Configuration data entry pane contains no data fields. Clicking OK replaces the current User Management configuration with the user configuration data previously saved. If no data has been saved, then the user configuration data will be deleted. Data is saved in the file &quot;umconfig.txt&quot;.</P><H2>&nbsp; </H2></td></tr></table>
+</BODY></HTML>
diff --git a/cleopatre/application/spidgoahead/web/wifi0.asp b/cleopatre/application/spidgoahead/web/wifi0.asp
new file mode 100644
index 0000000000..bd14498d4c
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/wifi0.asp
@@ -0,0 +1,377 @@
+<html>
+
+<head>
+ <title>SPC 300 - SPiDCOM</title>
+
+<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
+
+<style type = 'text/css'>
+div.margina,table.margina{
+ margin-left:5%;
+ width:500px;
+ background-color:#F5F5F5;
+}
+td{
+ padding-left:5px;
+}
+
+input[type='text']{
+ margin-left:auto;
+ margin-right:auto;
+ text-align:center;
+}
+input[disabled='disabled'] {
+ background-color:BBBBBB;
+ color:white;
+ cursor:default;
+}
+body{
+ background-image: url("/spidcom.gif");
+ background-repeat: no-repeat;
+ background-attachment: fixed;
+ background-position: center center;
+}
+
+</style>
+
+<script type='text/javascript'>
+
+var wifi_data = <% spidcomAspGetWifiData('wifi0'); %>
+var ip_data = <% spidcomAspGetIpData('br0'); %>
+
+var wifi_data_array = wifi_data.split(':');
+var ip_data_array = ip_data.split(':');
+
+function validate()
+{
+ parent.footer2.document.getElementById('error_console').innerHTML = "";
+
+}
+
+
+function showTip(){
+document.getElementById('tooltip').innerHTML = "You must restart modem for the changes to take effect";
+}
+
+function clearTip(){
+document.getElementById('tooltip').innerHTML = "";
+}
+
+function reboot_flag()
+{
+ document.getElementById('reboot').value = 'yes';
+}
+
+function refresh(){
+ parent.content.location.reload();
+}
+
+function set_refresh(){
+
+if (document.getElementById('refresh_or_not').checked)
+ document.getElementById("stat_iframe").contentWindow.RestartRefresh();
+else
+ document.getElementById('stat_iframe').contentWindow.StopRefresh();
+}
+
+function change_maxlength(){
+
+var format = document.getElementById('select_wep_format').options[document.getElementById('select_wep_format').selectedIndex].value;
+var bit = document.getElementById('select_key1_bit').options[document.getElementById('select_key1_bit').selectedIndex].value;
+
+if(format == '1' && bit == '64'){
+ document.getElementById('wep_key1').value = document.getElementById('wep_key1').value.substr(0, 5);
+ document.getElementById('wep_key1').maxLength = 5;
+ document.getElementById('wep_key1_format').innerHTML = "5 ASCII characters";
+}else if(format == '0' && bit == '64'){
+ document.getElementById('wep_key1').value = document.getElementById('wep_key1').value.substr(0, 10);
+ document.getElementById('wep_key1').maxLength = 10;
+ document.getElementById('wep_key1_format').innerHTML = "10 hexadecimal characters";
+}else if(format == '1' && bit == '128'){
+ document.getElementById('wep_key1').value = document.getElementById('wep_key1').value.substr(0, 13);
+ document.getElementById('wep_key1').maxLength = 13;
+ document.getElementById('wep_key1_format').innerHTML = "13 ASCII characters";
+}else if(format == '0' && bit == '128'){
+ document.getElementById('wep_key1').value = document.getElementById('wep_key1').value.substr(0, 26);
+ document.getElementById('wep_key1').maxLength = 26;
+ document.getElementById('wep_key1_format').innerHTML = "26 hexadecimal characters";
+}
+
+}
+
+function checkMainForm(){
+ return true;
+}
+
+
+function joinadd(){
+
+}
+
+function fill_ip_data(){
+document.getElementById('ip').value = ip_data_array[1];
+
+document.getElementById('SSID').value = wifi_data_array[0];
+document.getElementById('select_channel').value = wifi_data_array[1];
+document.getElementById('select_mode').value = wifi_data_array[2];
+
+document.getElementById('wpapsk_key').value = wifi_data_array[5];
+document.getElementById('wpapsk_rekey').value = '0';
+document.getElementById('wpa_rekey').value = '0';
+document.getElementById('select_wpapsk_auth').value = 'WPAPSKWPA2PSK';
+document.getElementById('select_wpapsk_encrypt').value = 'TKIPAES';
+document.getElementById('select_wpa_auth').value = 'WPA1WPA2';
+document.getElementById('select_wpa_encrypt').value = 'TKIPAES';
+
+if(wifi_data_array[4] == 'NONE'){
+ document.mainForm.security_radiobutton[0].checked = 'checked';
+}
+
+if(wifi_data_array[3] == 'WPAPSK' || wifi_data_array[3] == 'WPA2PSK' || wifi_data_array[3] == 'WPAPSKWPA2PSK'){
+ document.mainForm.security_radiobutton[1].checked = 'checked';
+ document.getElementById('select_wpapsk_auth').value = wifi_data_array[3];
+ document.getElementById('select_wpapsk_encrypt').value = wifi_data_array[4];
+ document.getElementById('wpapsk_rekey').value = wifi_data_array[6];
+}
+
+if(wifi_data_array[3] == 'WPA' || wifi_data_array[3] == 'WPA2' || wifi_data_array[3] == 'WPA1WPA2'){
+ document.mainForm.security_radiobutton[2].checked = 'checked';
+ document.getElementById('select_wpa_auth').value = wifi_data_array[3];
+ document.getElementById('select_wpa_encrypt').value = wifi_data_array[4];
+ document.getElementById('wpa_rekey').value = wifi_data_array[6];
+ document.getElementById('wpa_radius_server').value = wifi_data_array[7];
+ document.getElementById('wpa_radius_port').value = wifi_data_array[8];
+ document.getElementById('wpa_radius_key').value = wifi_data_array[9];
+}
+
+if(wifi_data_array[4] == 'WEP'){
+ document.mainForm.security_radiobutton[3].checked = 'checked';
+ document.getElementById('wep_key1').value = wifi_data_array[11];
+ document.getElementById('select_wep_auth').value = wifi_data_array[3];
+ if(wifi_data_array[11].length==5){
+ document.getElementById('select_wep_format').value = '1';
+ document.getElementById('select_key1_bit').value = '64';
+ }else if(wifi_data_array[11].length==10){
+ document.getElementById('select_wep_format').value = '0';
+ document.getElementById('select_key1_bit').value = '64';
+ }else if(wifi_data_array[11].length==13){
+ document.getElementById('select_wep_format').value = '1';
+ document.getElementById('select_key1_bit').value = '128';
+ }else if(wifi_data_array[11].length==26){
+ document.getElementById('select_wep_format').value = '0';
+ document.getElementById('select_key1_bit').value = '128';
+ }
+
+ change_maxlength();
+}
+}
+
+</script>
+</head>
+
+
+<body onload='javascript:validate();fill_ip_data();'>
+<!-- Settings name -->
+<div class='margina' > <h2>Wifi configuration</h2>
+</div>
+
+<!-- Main form -->
+
+<form name='mainForm' action='/goform/formActionWifi' target='_self' method='GET' onSubmit='return checkMainForm();'>
+
+<input type='hidden' name='reboot' id='reboot' value='no'/> <!-- This will be passed by form -->
+<input type='hidden' name='inter' id='inter' value='wifi0'/> <!-- This will be passed by form -->
+
+
+<table width="564" border='0' class='margina' style='background-color:#FFFFFF' name = 'WifiConfig'>
+<tr>
+<td width="142"><h3>Network configuration</h3></td><td width="23"><input type='hidden' name='ip' id='ip' value='0'/> </td> <!-- This will be passed by form -->
+</tr>
+<tr>
+<td>SSID</td>
+<td colspan="5"><input name='SSID' id='SSID' type='text' size=32 maxlength=32 value='SSID_DEFAULT'/></td>
+</tr>
+<tr>
+<td>Wireless Mode</td>
+<td colspan="5">
+ <select name='select_mode' id='select_mode'>
+ <option value="0">B/G mixed</option>
+ <option value="1">B only</option>
+ <option value="2">A only</option>
+ <option value="4">G only</option>
+ <option value="6">N only</option>
+ <option value="7">G/N mixed</option>
+ <option value="8">A/N mixed</option>
+ <option value="9" selected>B/G/N mixed</option>
+ <option value="10">A/G/N mixed</option>
+ <option value="11">N in 5G band only</option>
+ </select></td>
+</tr>
+<tr>
+<td>Channel</td>
+<td colspan="5">
+ <select name='select_channel' id='select_channel'>
+ <option value="0">auto</option>
+ <option value="1">1</option>
+ <option value="2">2</option>
+ <option value="3">3</option>
+ <option value="4">4</option>
+ <option value="5">5</option>
+ <option value="6">6</option>
+ <option value="7">7</option>
+ <option value="8">8</option>
+ <option value="9">9</option>
+ <option value="10">10</option>
+ <option value="11" selected>11</option>
+ <option value="12">12</option>
+ <option value="13">13</option>
+ <option value="14">14</option>
+ </select></td>
+</tr>
+<tr>
+<td width="142"><h3>Security configuration</h3></td>
+</tr>
+<tr>
+<td><label>
+ <input name="security_radiobutton" type="radio" value="NONE" checked='checked'>
+ No security</label></td>
+<td width="304">&nbsp;</td>
+</tr>
+<tr>
+<td><label>
+ <input name="security_radiobutton" type="radio" value="WPAPSK">
+ WPA-PSK/WPA2-PSK</label></td>
+<td>&nbsp;</td>
+</tr>
+<tr>
+<td>Authentication type </td>
+<td><label>
+ <select name="select_wpapsk_auth" id="select_wpapsk_auth">
+ <option value="WPAPSKWPA2PSK" selected>AUTO</option>
+ <option value="WPAPSK">WPA-PSK</option>
+ <option value="WPA2PSK">WPA2-PSK</option>
+ </select>
+</label></td>
+</tr>
+<tr>
+<td>Encryption type </td>
+<td><label>
+ <select name="select_wpapsk_encrypt" id="select_wpapsk_encrypt">
+ <option value="TKIPAES" selected>AUTO</option>
+ <option value="TKIP">TKIP</option>
+ <option value="AES">AES</option>
+ </select>
+</label></td>
+</tr>
+<tr>
+<td>Key</td>
+<td colspan="5"><input name='wpapsk_key' id='wpapsk_key' type='password' size=50 maxlength=63 /></td>
+</tr>
+
+<tr>
+<td></td>
+<td><div>8 ~ 63 ASCII characters</div></td>
+</tr>
+
+<tr>
+<td>Rekey interval</td>
+<td colspan="5"><input name='wpapsk_rekey' id='wpapsk_rekey' type='text' size=10 maxlength=10 value="0" />
+(sec)</td>
+</tr>
+<tr>
+<td><label>
+ <input name="security_radiobutton" type="radio" value="WPA">
+ WPA/WPA2 </label></td>
+<td>&nbsp;</td>
+</tr>
+<tr>
+<td>Authentication type </td>
+<td><label>
+ <select name="select_wpa_auth" id="select_wpa_auth">
+ <option value="WPA1WPA2" selected>AUTO</option>
+ <option value="WPA">WPA</option>
+ <option value="WPA2">WPA2</option>
+ </select>
+</label></td>
+</tr>
+<tr>
+<td>Encryption type </td>
+<td><label>
+ <select name="select_wpa_encrypt" id="select_wpa_encrypt">
+ <option value="TKIPAES" selected>AUTO</option>
+ <option value="TKIP">TKIP</option>
+ <option value="AES">AES</option>
+ </select>
+</label></td>
+</tr>
+<tr>
+<td>Radius ip</td>
+<td colspan="5"><input name='wpa_radius_server' id='wpa_radius_server' type='text' size=15 maxlength=15 /></td>
+</tr>
+<tr>
+<td>Radius port</td>
+<td colspan="5"><input name='wpa_radius_port' id='wpa_radius_port' type='text' size=5 maxlength=5 /></td>
+</tr>
+<tr>
+<td>Radius key</td>
+<td colspan="5"><input name='wpa_radius_key' id='wpa_radius_key' type='password' size=50 maxlength=64 /></td>
+</tr>
+<tr>
+<td>Rekey interval</td>
+<td colspan="5"><input name='wpa_rekey' id='wpa_rekey' type='text' size=10 maxlength=10 value="0" />
+(sec) </td>
+</tr>
+<tr>
+<td><label>
+ <input name="security_radiobutton" type="radio" value="WEP" onclick='change_maxlength();'>
+ WEP </label></td>
+<td>&nbsp;</td>
+</tr>
+<tr>
+<td>Authentication type </td>
+<td><label>
+ <select name="select_wep_auth" id="select_wep_auth">
+ <option value="WEPAUTO" selected>AUTO</option>
+ <option value="OPEN">OPEN</option>
+ <option value="SHARED">SHARED</option>
+ </select>
+</label></td>
+</tr>
+<tr>
+<td>Key type </td>
+<td><label>
+ <select name="select_wep_format" id="select_wep_format" onchange='change_maxlength();'>
+ <option value="0" selected>HEX</option>
+ <option value="1">ASCII</option>
+ </select>
+</label></td>
+</tr>
+<tr>
+<td><label>Key1:</label></td>
+<td colspan="5">
+ <input name='wep_key1' id='wep_key1' type='password' size=30 maxlength=26 />
+ <select name="select_key1_bit" id="select_key1_bit" onchange='change_maxlength();'>
+ <option value="64">64 bits</option>
+ <option value="128" selected>128 bits</option>
+ </select>
+</td>
+</tr>
+<tr>
+<td></td>
+<td><div id='wep_key1_format'></div></td>
+</tr>
+</table>
+
+<div class='margina' style='margin-top:5px' align='right'>
+<pre ></pre>
+<input type='button' value='Refresh' onclick='javascript:refresh();'>
+<input type='submit' onclick='javascript:joinadd();' value='Save configuration' onmouseover='javascript:showTip();' onmouseout='javascript:clearTip();'/>
+<input type='submit' value='Restart the modem' onclick='javascript:reboot_flag();'/>
+<pre id ='tooltip'></pre>
+</div>
+
+
+</form>
+
+</body>
+</html> \ No newline at end of file
diff --git a/cleopatre/application/spidgoahead/web/ws.gif b/cleopatre/application/spidgoahead/web/ws.gif
new file mode 100644
index 0000000000..8dd2d1dc60
--- /dev/null
+++ b/cleopatre/application/spidgoahead/web/ws.gif
Binary files differ