summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-ddns/luasrc/view/ddns/system_status.htm
diff options
context:
space:
mode:
authorChristian Schoenebeck <christian.schoenebeck@gmail.com>2014-11-09 18:37:15 +0100
committerChristian Schoenebeck <christian.schoenebeck@gmail.com>2014-11-09 18:37:15 +0100
commitee9fdba61744111d8f5d7f7d616992ac7135ac09 (patch)
tree8d20f47184b2a2f75a7b47ad26fe354b47b02b82 /applications/luci-ddns/luasrc/view/ddns/system_status.htm
parent92bfcbbc3463cbb7f384d688cb5f1c7e4bed326c (diff)
luci-app-ddns: Update to support ddns-scripts 2.1.0-1
fix verify of entry for DNS server Issue #244 https://github.com/openwrt/luci/issues/244 add support for option 'update_script' add display of version information when click on "Dynamic DNS" on overview page add verify of installed ddns-scripts version and show as hint if not correct version modified epoch to date conversation cbi object Flag did not set section.changed state, fixed in tools.flag_parse function ucitrack entry no longer needed and removed minor fixes Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
Diffstat (limited to 'applications/luci-ddns/luasrc/view/ddns/system_status.htm')
-rw-r--r--applications/luci-ddns/luasrc/view/ddns/system_status.htm241
1 files changed, 127 insertions, 114 deletions
diff --git a/applications/luci-ddns/luasrc/view/ddns/system_status.htm b/applications/luci-ddns/luasrc/view/ddns/system_status.htm
index d2c2b7e62c..dcf06cc0bb 100644
--- a/applications/luci-ddns/luasrc/view/ddns/system_status.htm
+++ b/applications/luci-ddns/luasrc/view/ddns/system_status.htm
@@ -1,127 +1,140 @@
<!-- ++ BEGIN ++ Dynamic DNS ++ system_status.htm ++ -->
<script type="text/javascript">//<![CDATA[
- XHR.poll(10, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
- function(x, data)
+ // helper to move status data to the relevant
+ // screen objects
+ // called by XHR.poll and XHR.get
+ function _data2elements(x, data) {
+ var tbl = document.getElementById('ddns_status_table');
+ // security check
+ if ( !(tbl) ) { return; }
+
+ // clear all rows
+ while (tbl.rows.length > 1)
+ tbl.deleteRow(1);
+
+ // variable for Modulo-Division use to set cbi-rowstyle-? (0 or 1)
+ var x = -1;
+ var i = 1;
+
+ // no data => no ddns-scripts Version 2 installed
+ if ( !data ) {
+ var txt = '<br /><strong><font color="red"><%:Old version of ddns-scripts installed%></font>' ;
+ var url = '<a href="' ;
+ url += '<%=luci.dispatcher.build_url("admin", "system", "packages")%>' ;
+ url += '"><%:install update here%></a></strong>' ;
+ var tr = tbl.insertRow(-1);
+ tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1);
+ var td = tr.insertCell(-1);
+ td.colSpan = 2 ;
+ td.innerHTML = txt + " - " + url
+ tr.insertCell(-1).colSpan = 3 ;
+ return;
+ }
+
+ // DDNS Service disabled
+ if (data[0].enabled == 0) {
+ var txt = '<strong><font color="red"><%:DDNS Autostart disabled%></font>' ;
+ var url = '<a href="' + data[0].url_up + '"><%:enable here%></a></strong>' ;
+ var tr = tbl.insertRow(-1);
+ tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1);
+ var td = tr.insertCell(-1);
+ td.colSpan = 2 ;
+ td.innerHTML = txt + " - " + url
+ tr.insertCell(-1).colSpan = 3 ;
+ x++ ;
+ }
+
+ for( i = 1; i < data.length; i++ )
{
- var tbl = document.getElementById('ddns_status_table');
- // security check
- if ( !(tbl) ) { return; }
-
- // clear all rows
- while (tbl.rows.length > 1)
- tbl.deleteRow(1);
-
- // variable for Modulo-Division use to set cbi-rowstyle-? (0 or 1)
- var x = -1;
- var i = 1;
-
- // no data => no ddns-scripts Version 2 installed
- if ( !data ) {
- var txt = '<br /><strong><font color="red"><%:Old version of ddns-scripts installed%></font>' ;
- var url = '<a href="' ;
- url += '<%=luci.dispatcher.build_url("admin", "system", "packages")%>' ;
- url += '"><%:install update here%></a></strong>' ;
- var tr = tbl.insertRow(-1);
- tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1);
- var td = tr.insertCell(-1);
- td.colSpan = 2 ;
- td.innerHTML = txt + " - " + url
- tr.insertCell(-1).colSpan = 3 ;
- return;
+ var tr = tbl.insertRow(-1);
+ tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1) ;
+
+ // configuration
+ tr.insertCell(-1).innerHTML = '<strong>' + data[i].section + '</strong>' ;
+
+ // pid
+ // data[i].pid ignored here
+
+ // last update
+ // data[i].datelast ignored here
+
+ // next update
+ switch (data[i].datenext) {
+ case "_empty_":
+ tr.insertCell(-1).innerHTML = '<em><%:Unknown error%></em>' ;
+ break;
+ case "_stopped_":
+ tr.insertCell(-1).innerHTML = '<em><%:Stopped%></em>' ;
+ break;
+ case "_disabled_":
+ tr.insertCell(-1).innerHTML = '<em><%:Disabled%></em>' ;
+ break;
+ case "_noupdate_":
+ tr.insertCell(-1).innerHTML = '<em><%:Update error%></em>' ;
+ break;
+ case "_runonce_":
+ tr.insertCell(-1).innerHTML = '<em><%:Run once%></em>' ;
+ break;
+ case "_verify_":
+ tr.insertCell(-1).innerHTML = '<em><%:Verify%></em>';
+ break;
+ default:
+ tr.insertCell(-1).innerHTML = data[i].datenext ;
+ break;
}
- // DDNS Service disabled
- if (data[0].enabled == 0) {
- var txt = '<strong><font color="red"><%:DDNS Autostart disabled%></font>' ;
- var url = '<a href="' + data[0].url_up + '"><%:enable here%></a></strong>' ;
- var tr = tbl.insertRow(-1);
- tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1);
- var td = tr.insertCell(-1);
- td.colSpan = 2 ;
- td.innerHTML = txt + " - " + url
- tr.insertCell(-1).colSpan = 3 ;
- x++ ;
- }
+ // domain
+ if (data[i].domain == "_nodomain_")
+ tr.insertCell(-1).innerHTML = '<em><%:config error%></em>';
+ else
+ tr.insertCell(-1).innerHTML = data[i].domain;
- for( i = 1; i < data.length; i++ )
- {
- var tr = tbl.insertRow(-1);
- tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1) ;
-
- // configuration
- tr.insertCell(-1).innerHTML = '<strong>' + data[i].section + '</strong>' ;
-
- // pid
- // data[i].pid ignored here
-
- // last update
- // data[i].datelast ignored here
-
- // next update
- switch (data[i].datenext) {
- case "_empty_":
- tr.insertCell(-1).innerHTML = '<em><%:Unknown error%></em>' ;
- break;
- case "_stopped_":
- tr.insertCell(-1).innerHTML = '<em><%:Stopped%></em>' ;
- break;
- case "_disabled_":
- tr.insertCell(-1).innerHTML = '<em><%:Disabled%></em>' ;
- break;
- case "_noupdate_":
- tr.insertCell(-1).innerHTML = '<em><%:Update error%></em>' ;
- break;
- case "_runonce_":
- tr.insertCell(-1).innerHTML = '<em><%:Run once%></em>' ;
- break;
- case "_verify_":
- tr.insertCell(-1).innerHTML = '<em><%:Verify%></em>';
- break;
- default:
- tr.insertCell(-1).innerHTML = data[i].datenext ;
- break;
- }
-
- // domain
- if (data[i].domain == "_nodomain_")
- tr.insertCell(-1).innerHTML = '<em><%:config error%></em>';
- else
- tr.insertCell(-1).innerHTML = data[i].domain;
-
- // registered IP
- switch (data[i].reg_ip) {
- case "_nodomain_":
- tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
- break;
- case "_nodata_":
- tr.insertCell(-1).innerHTML = '<em><%:No data%></em>';
- break;
- case "_noipv6_":
- tr.insertCell(-1).innerHTML = '<em><%:IPv6 not supported%></em>';
- break;
- default:
- tr.insertCell(-1).innerHTML = data[i].reg_ip;
- break;
- }
-
- // monitored interfacce
- if (data[i].iface == "_nonet_")
+ // registered IP
+ switch (data[i].reg_ip) {
+ case "_nodomain_":
tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
- else
- tr.insertCell(-1).innerHTML = data[i].iface;
+ break;
+ case "_nodata_":
+ tr.insertCell(-1).innerHTML = '<em><%:No data%></em>';
+ break;
+ case "_noipv6_":
+ tr.insertCell(-1).innerHTML = '<em><%:IPv6 not supported%></em>';
+ break;
+ default:
+ tr.insertCell(-1).innerHTML = data[i].reg_ip;
+ break;
}
- if (tbl.rows.length == 1 || (data[0].enabled == 0 && tbl.rows.length == 2) ) {
- var br = '<br />';
- if (tbl.rows.length > 1)
- br = '';
- var tr = tbl.insertRow(-1);
- tr.className = "cbi-section-table-row";
- var td = tr.insertCell(-1);
- td.colSpan = 5;
- td.innerHTML = '<em>' + br + '<%:There is no service configured.%></em>' ;
- }
+ // monitored interfacce
+ if (data[i].iface == "_nonet_")
+ tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
+ else
+ tr.insertCell(-1).innerHTML = data[i].iface;
+ }
+
+ if (tbl.rows.length == 1 || (data[0].enabled == 0 && tbl.rows.length == 2) ) {
+ var br = '<br />';
+ if (tbl.rows.length > 1)
+ br = '';
+ var tr = tbl.insertRow(-1);
+ tr.className = "cbi-section-table-row";
+ var td = tr.insertCell(-1);
+ td.colSpan = 5;
+ td.innerHTML = '<em>' + br + '<%:There is no service configured.%></em>' ;
+ }
+ }
+
+ // force to immediate show status (not waiting for XHR.poll)
+ XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
+ function(x, data) {
+ _data2elements(x, data);
+ }
+ );
+
+ XHR.poll(10, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
+ function(x, data) {
+ _data2elements(x, data);
}
);
//]]></script>