2 <!-- ++ BEGIN ++ Dynamic DNS ++ system_status.htm ++ -->
3 <script type="text/javascript">//<![CDATA[
4 // helper to move status data to the relevant
6 // called by XHR.poll and XHR.get
7 function _data2elements(x, data) {
8 var tbl = document.getElementById('ddns_status_table');
10 if ( !(tbl) ) { return; }
13 while (tbl.rows.length > 1)
16 // variable for Modulo-Division use to set cbi-rowstyle-? (0 or 1)
20 // DDNS Service disabled
21 if (data[0].enabled == 0) {
22 var txt = '<strong><font color="red"><%:DDNS Autostart disabled%></font>' ;
23 var url = '<a href="' + data[0].url_up + '"><%:enable here%></a></strong>' ;
24 var tr = tbl.insertRow(-1);
25 tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((j + i) % 2) + 1);
26 var td = tr.insertCell(-1);
28 td.innerHTML = txt + " - " + url
29 tr.insertCell(-1).colSpan = 3 ;
33 for( j = 1; j < data.length; j++ )
35 var tr = tbl.insertRow(-1);
36 tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((j + i) % 2) + 1) ;
39 tr.insertCell(-1).innerHTML = '<strong>' + data[j].section + '</strong>' ;
42 // data[j].pid ignored here
45 // data[j].datelast ignored here
48 switch (data[j].datenext) {
50 tr.insertCell(-1).innerHTML = '<em><%:Unknown error%></em>' ;
53 tr.insertCell(-1).innerHTML = '<em><%:Stopped%></em>' ;
56 tr.insertCell(-1).innerHTML = '<em><%:Disabled%></em>' ;
59 tr.insertCell(-1).innerHTML = '<em><%:Update error%></em>' ;
62 tr.insertCell(-1).innerHTML = '<em><%:Run once%></em>' ;
65 tr.insertCell(-1).innerHTML = '<em><%:Verify%></em>';
68 tr.insertCell(-1).innerHTML = data[j].datenext ;
73 if (data[j].domain == "_nodomain_")
74 tr.insertCell(-1).innerHTML = '<em><%:config error%></em>';
76 tr.insertCell(-1).innerHTML = data[j].domain;
79 switch (data[j].reg_ip) {
81 tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
84 tr.insertCell(-1).innerHTML = '<em><%:No data%></em>';
87 tr.insertCell(-1).innerHTML = '<em><%:IPv6 not supported%></em>';
90 tr.insertCell(-1).innerHTML = data[j].reg_ip;
94 // monitored interface
95 if (data[j].iface == "_nonet_")
96 tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
98 tr.insertCell(-1).innerHTML = data[j].iface;
101 if (tbl.rows.length == 1 || (data[0].enabled == 0 && tbl.rows.length == 2) ) {
103 if (tbl.rows.length > 1)
105 var tr = tbl.insertRow(-1);
106 tr.className = "cbi-section-table-row";
107 var td = tr.insertCell(-1);
109 td.innerHTML = '<em>' + br + '<%:There is no service configured.%></em>' ;
113 // force to immediate show status (not waiting for XHR.poll)
114 XHR.get('<%=url('admin/services/ddns/status')%>', null,
116 if (data) { _data2elements(x, data); }
120 XHR.poll(5, '<%=url('admin/services/ddns/status')%>', null,
122 if (data) { _data2elements(x, data); }
128 <fieldset class="cbi-section" id="ddns_status_section">
129 <legend><a href="<%=url([[admin]], [[services]], [[ddns]])%>"><%:Dynamic DNS%></a></legend>
131 <table class="cbi-section-table" id="ddns_status_table">
132 <tr class="cbi-section-table-titles">
133 <th class="cbi-section-table-cell"><%:Configuration%></th>
134 <th class="cbi-section-table-cell"><%:Next Update%></th>
135 <th class="cbi-section-table-cell"><%:Hostname/Domain%></th>
136 <th class="cbi-section-table-cell"><%:Registered IP%></th>
137 <th class="cbi-section-table-cell"><%:Network%></th>
139 <tr class="cbi-section-table-row">
140 <td colspan="5"><em><br /><%:Collecting data...%></em></td>
144 <!-- ++ END ++ Dynamic DNS ++ system_status.htm ++ -->