# rcp index.html root@$(TESTIP):/var/lib/asterisk/static-http/
test:
- rcp test.sh test1.sh easy.js easy1.js set_network.sh root@$(TESTIP):/www/cgi-bin
+ rcp network.sh network.js set_network.sh root@$(TESTIP):/www/cgi-bin
+++ /dev/null
-var script_path = "cgi-bin/";
-
-function doStatic() {
- $('ipaddress').disabled = 0;
- $('netmask').disabled = 0;
- $('gateway').disabled = 0;
- $('dns').disabled = 0;
-}
-
-function doDHCP() {
- $('ipaddress').disabled = 1;
- $('netmask').disabled = 1;
- $('gateway').disabled = 1;
- $('dns').disabled = 1;
-}
-
-// http://moblog.bradleyit.com/2009/06/javascript-ip-address-validation.html
-
-function isIP(obj) {
- var ary = obj.value.split(".");
- var ip = true;
-
- for (var i=0; i<4; i++) {
- ip = (!ary[i].match(/^\d{1,3}$/) || (Number(ary[i]) > 255)) ? false : ip;
- }
-
- if (ip)
- ip = (ary.length == 4);
-
- if (!ip) {
- // the value is NOT a valid IP address
- obj.style.background = "red";
- obj.select();
- }
- else { obj.style.background = ""; } // the value IS a valid IP address
-
- return ip;
-}
-
-function localInit() {
-
- if (init_dhcp == "yes") {
- $('dhcp').checked = true;
- $('ipaddress').disabled = 1;
- $('netmask').disabled = 1;
- $('gateway').disabled = 1;
- $('dns').disabled = 1;
- }
- else {
- $('static').checked = true;
- $('ipaddress').disabled = 0;
- $('netmask').disabled = 0;
- $('gateway').disabled = 0;
- $('dns').disabled = 0;
- }
- $('ipaddress').value = init_ipaddress;
- $('netmask').value = init_netmask;
- $('gateway').value = init_gateway;
- $('dns').value = init_dns;
- $('networkapply').disabled = 0;
-}
--- /dev/null
+var script_path = "cgi-bin/";
+
+function doStatic() {
+ $('ipaddress').disabled = 0;
+ $('netmask').disabled = 0;
+ $('gateway').disabled = 0;
+ $('dns').disabled = 0;
+}
+
+function doDHCP() {
+ $('ipaddress').disabled = 1;
+ $('netmask').disabled = 1;
+ $('gateway').disabled = 1;
+ $('dns').disabled = 1;
+}
+
+// http://moblog.bradleyit.com/2009/06/javascript-ip-address-validation.html
+
+function isIP(obj) {
+ var ary = obj.value.split(".");
+ var ip = true;
+
+ for (var i=0; i<4; i++) {
+ ip = (!ary[i].match(/^\d{1,3}$/) || (Number(ary[i]) > 255)) ? false : ip;
+ }
+
+ if (ip)
+ ip = (ary.length == 4);
+
+ if (!ip) {
+ // the value is NOT a valid IP address
+ obj.style.background = "red";
+ obj.select();
+ }
+ else { obj.style.background = ""; } // the value IS a valid IP address
+
+ return ip;
+}
+
+function localInit() {
+
+ if (init_dhcp == "yes") {
+ $('dhcp').checked = true;
+ $('ipaddress').disabled = 1;
+ $('netmask').disabled = 1;
+ $('gateway').disabled = 1;
+ $('dns').disabled = 1;
+ }
+ else {
+ $('static').checked = true;
+ $('ipaddress').disabled = 0;
+ $('netmask').disabled = 0;
+ $('gateway').disabled = 0;
+ $('dns').disabled = 0;
+ }
+ $('ipaddress').value = init_ipaddress;
+ $('netmask').value = init_netmask;
+ $('gateway').value = init_gateway;
+ $('dns').value = init_dns;
+ $('internet').value = init_internet;
+}
+
+function validate_form(form)
+{
+ return true;
+}
--- /dev/null
+#!/bin/sh
+# network.sh
+# David Rowe 4 Jan 2010
+# CGI for network GUI
+
+echo `date` " get_network.sh" >> /tmp/easy_gui.log
+
+if [ -f /etc/rc.d/S10network ]; then
+ dhcp=yes
+ ipaddress=`ifconfig eth0 | sed -n 's/.*inet addr:\(.*\) Bcast.*/\1/p'`
+ netmask=`ifconfig eth0 | sed -n 's/.*Mask:\(.*\)\s*/\1/p'`
+ gateway=`route -n | awk '/^0.0.0.0/ {print $2}'`
+ dns=`cat /etc/resolv.conf | awk '/^nameserver/ {print $2}'`
+fi
+
+if [ -f /etc/rc.d/S10network-static ]
+then
+ dhcp=no
+ ipaddress=`sed -n 's/IPADDRESS="\(.*\)"/\1/p' /etc/init.d/network-static`
+ netmask=`sed -n 's/NETMASK="\(.*\)"/\1/p' /etc/init.d/network-static`
+ gateway=`sed -n 's/GATEWAY="\(.*\)"/\1/p' /etc/init.d/network-static`
+ dns=`sed -n 's/DNS="\(.*\)"/\1/p' /etc/init.d/network-static`
+fi
+
+# See if we have Internet connectivity
+
+packet_loss=`ping google.com -c 1 -q | sed -n 's/.*received, \(.*\)% packet loss/\1/p'`
+if [ $packet_loss == "0" ]; then
+ internet="Good";
+else
+ internet="Not Available";
+fi
+
+# Construct the web page -------------------------------
+
+echo "<script src="prototype.js"></script>"
+echo "<link href="astman.css" media="all" rel="Stylesheet" type="text/css" />"
+echo "<script>"
+echo 'var init_dhcp="'$dhcp'";'
+echo 'var init_ipaddress="'$ipaddress'";'
+echo 'var init_netmask="'$netmask'";'
+echo 'var init_gateway="'$gateway'";'
+echo 'var init_dns="'$dns'";'
+echo 'var init_internet="'$internet'";'
+cat network.js
+echo "</script>"
+
+cat << EOF
+<html>
+<title>Easy Asterisk - Network</title>
+<body onload="localInit()">
+<form action="/cgi-bin/set_network.sh" onsubmit="return validate_form(this)" method="get">
+<table align="center" width=600>
+<tr>
+ <tr>
+ <td><input type="radio" id="static" name="dhcp" value="no" onClick="doStatic()">Static</td>
+ <td><input type="radio" id="dhcp" name="dhcp" value="yes" onClick="doDHCP()">DHCP</td>
+ </tr>
+ <tr><td>IP Address:</td><td><input type="text" name="ipaddress" id="ipaddress" onBlur="isIP(this)"></td></tr>
+ <tr><td>Netmask:</td><td><input type="text" name="netmask" id="netmask" onBlur="isIP(this)"></td></tr>
+ <tr><td>Gateway:</td><td><input type="text" name="gateway" id="gateway" onBlur="isIP(this)"></td></tr>
+ <tr><td>DNS:</td><td><input type="text" name="dns" id="dns" onBlur="isIP(this)"></td></tr>
+ <tr><td>Internet Connection:</td><td><input type="text" name="internet" id="internet" disabled=1></td></tr>
+ <tr><td><input id="networkapply" type="submit" value="Apply"></td></tr>
+</tr>
+</table>
+</form>
+</html>
+EOF
<html>
<head>
<title>set_network.sh</title>
-<meta http-equiv="REFRESH" content="0;url=http:test.sh">
+<meta http-equiv="REFRESH" content="0;url=http:network.sh">
</head>
</html>
+++ /dev/null
-#!/bin/sh
-
-echo `date` " get_network.sh" >> /tmp/easy_gui.log
-
-if [ -f /etc/rc.d/S10network ]; then
- dhcp=yes
- ipaddress=`ifconfig eth0 | sed -n 's/.*inet addr:\(.*\) Bcast.*/\1/p'`
- netmask=`ifconfig eth0 | sed -n 's/.*Mask:\(.*\)\s*/\1/p'`
- gateway=`route -n | awk '/^0.0.0.0/ {print $2}'`
- dns=`cat /etc/resolv.conf | awk '/^nameserver/ {print $2}'`
-fi
-
-if [ -f /etc/rc.d/S10network-static ]
-then
- dhcp=no
- ipaddress=`sed -n 's/IPADDRESS="\(.*\)"/\1/p' /etc/init.d/network-static`
- netmask=`sed -n 's/NETMASK="\(.*\)"/\1/p' /etc/init.d/network-static`
- gateway=`sed -n 's/GATEWAY="\(.*\)"/\1/p' /etc/init.d/network-static`
- dns=`sed -n 's/DNS="\(.*\)"/\1/p' /etc/init.d/network-static`
-fi
-
-# Construct the web page -------------------------------
-
-echo "<script src="prototype.js"></script>"
-echo "<link href="astman.css" media="all" rel="Stylesheet" type="text/css" />"
-echo "<script>"
-echo 'var init_dhcp="'$dhcp'";'
-echo 'var init_ipaddress="'$ipaddress'";'
-echo 'var init_netmask="'$netmask'";'
-echo 'var init_gateway="'$gateway'";'
-echo 'var init_dns="'$dns'";'
-cat easy.js
-echo "</script>"
-
-cat << EOF
-<html>
-<title>Easy Asterisk GUI</title>
-<body onload="localInit()">
-<form action="/cgi-bin/set_network.sh" method="get">
-<table align="center" width=600>
-<tr>
- <tr>
- <td><input type="radio" id="static" name="dhcp" value="no" onClick="doStatic()">Static</td>
- <td><input type="radio" id="dhcp" name="dhcp" value="yes" onClick="doDHCP()">DHCP</td>
- </tr>
- <tr><td>IP Address:</td><td><input type="text" name="ipaddress" id="ipaddress" onBlur="isIP(this)"></td></tr>
- <tr><td>Netmask:</td><td><input type="text" name="netmask" id="netmask" onBlur="isIP(this)"></td></tr>
- <tr><td>Gateway:</td><td><input type="text" name="gateway" id="gateway" onBlur="isIP(this)"></td></tr>
- <tr><td>DNS:</td><td><input type="text" name="dns" id="dns" onBlur="isIP(this)"></td></tr>
- <tr><td><input id="networkapply" type="submit" value="Apply"></td></tr>
-</tr>
-</table>
-</form>
-</html>
-EOF