added check for Internet connection, working on form validation
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Sun, 3 Jan 2010 23:47:03 +0000 (23:47 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Sun, 3 Jan 2010 23:47:03 +0000 (23:47 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@86 01035d8c-6547-0410-b346-abe4f91aad63

easy-asterisk-gui/Makefile
easy-asterisk-gui/easy.js [deleted file]
easy-asterisk-gui/network.js [new file with mode: 0644]
easy-asterisk-gui/network.sh [new file with mode: 0644]
easy-asterisk-gui/set_network.sh
easy-asterisk-gui/test.sh [deleted file]

index 42de4ab875361abf678b4c4da7e17726d76c358f..e06b264e2ccf0062da56071ecb888ac02486a253 100644 (file)
@@ -9,4 +9,4 @@ TESTIP=192.168.1.150
 #      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
diff --git a/easy-asterisk-gui/easy.js b/easy-asterisk-gui/easy.js
deleted file mode 100644 (file)
index 2620058..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-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;    
-}
diff --git a/easy-asterisk-gui/network.js b/easy-asterisk-gui/network.js
new file mode 100644 (file)
index 0000000..6a6663c
--- /dev/null
@@ -0,0 +1,66 @@
+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;
+}
diff --git a/easy-asterisk-gui/network.sh b/easy-asterisk-gui/network.sh
new file mode 100644 (file)
index 0000000..3386923
--- /dev/null
@@ -0,0 +1,69 @@
+#!/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
index 011630340167910b40ce7ad1c33dd1a8af786940..d79fe634c924c479835088b1186d961d119ec8e3 100755 (executable)
@@ -50,7 +50,7 @@ cat <<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>
 
diff --git a/easy-asterisk-gui/test.sh b/easy-asterisk-gui/test.sh
deleted file mode 100644 (file)
index bed3e7a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/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