Rework LuCI build system
[project/luci.git] / applications / luci-app-ddns / luasrc / view / ddns / system_status.htm
1
2 <!-- ++ BEGIN ++ Dynamic DNS ++ system_status.htm ++ -->
3 <script type="text/javascript">//<![CDATA[
4 // helper to move status data to the relevant
5 // screen objects
6 // called by XHR.poll and XHR.get
7 function _data2elements(x, data) {
8 var tbl = document.getElementById('ddns_status_table');
9 // security check
10 if ( !(tbl) ) { return; }
11
12 // clear all rows
13 while (tbl.rows.length > 1)
14 tbl.deleteRow(1);
15
16 // variable for Modulo-Division use to set cbi-rowstyle-? (0 or 1)
17 var x = -1;
18 var i = 1;
19
20 // no data => no ddns-scripts Version 2 installed
21 if ( !data ) {
22 var txt = '<br /><strong><font color="red"><%:Old version of ddns-scripts installed%></font>' ;
23 var url = '<a href="' ;
24 url += '<%=luci.dispatcher.build_url("admin", "system", "packages")%>' ;
25 url += '"><%:install update here%></a></strong>' ;
26 var tr = tbl.insertRow(-1);
27 tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1);
28 var td = tr.insertCell(-1);
29 td.colSpan = 2 ;
30 td.innerHTML = txt + " - " + url
31 tr.insertCell(-1).colSpan = 3 ;
32 return;
33 }
34
35 // DDNS Service disabled
36 if (data[0].enabled == 0) {
37 var txt = '<strong><font color="red"><%:DDNS Autostart disabled%></font>' ;
38 var url = '<a href="' + data[0].url_up + '"><%:enable here%></a></strong>' ;
39 var tr = tbl.insertRow(-1);
40 tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1);
41 var td = tr.insertCell(-1);
42 td.colSpan = 2 ;
43 td.innerHTML = txt + " - " + url
44 tr.insertCell(-1).colSpan = 3 ;
45 x++ ;
46 }
47
48 for( i = 1; i < data.length; i++ )
49 {
50 var tr = tbl.insertRow(-1);
51 tr.className = 'cbi-section-table-row cbi-rowstyle-' + (((i + x) % 2) + 1) ;
52
53 // configuration
54 tr.insertCell(-1).innerHTML = '<strong>' + data[i].section + '</strong>' ;
55
56 // pid
57 // data[i].pid ignored here
58
59 // last update
60 // data[i].datelast ignored here
61
62 // next update
63 switch (data[i].datenext) {
64 case "_empty_":
65 tr.insertCell(-1).innerHTML = '<em><%:Unknown error%></em>' ;
66 break;
67 case "_stopped_":
68 tr.insertCell(-1).innerHTML = '<em><%:Stopped%></em>' ;
69 break;
70 case "_disabled_":
71 tr.insertCell(-1).innerHTML = '<em><%:Disabled%></em>' ;
72 break;
73 case "_noupdate_":
74 tr.insertCell(-1).innerHTML = '<em><%:Update error%></em>' ;
75 break;
76 case "_runonce_":
77 tr.insertCell(-1).innerHTML = '<em><%:Run once%></em>' ;
78 break;
79 case "_verify_":
80 tr.insertCell(-1).innerHTML = '<em><%:Verify%></em>';
81 break;
82 default:
83 tr.insertCell(-1).innerHTML = data[i].datenext ;
84 break;
85 }
86
87 // domain
88 if (data[i].domain == "_nodomain_")
89 tr.insertCell(-1).innerHTML = '<em><%:config error%></em>';
90 else
91 tr.insertCell(-1).innerHTML = data[i].domain;
92
93 // registered IP
94 switch (data[i].reg_ip) {
95 case "_nodomain_":
96 tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
97 break;
98 case "_nodata_":
99 tr.insertCell(-1).innerHTML = '<em><%:No data%></em>';
100 break;
101 case "_noipv6_":
102 tr.insertCell(-1).innerHTML = '<em><%:IPv6 not supported%></em>';
103 break;
104 default:
105 tr.insertCell(-1).innerHTML = data[i].reg_ip;
106 break;
107 }
108
109 // monitored interfacce
110 if (data[i].iface == "_nonet_")
111 tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
112 else
113 tr.insertCell(-1).innerHTML = data[i].iface;
114 }
115
116 if (tbl.rows.length == 1 || (data[0].enabled == 0 && tbl.rows.length == 2) ) {
117 var br = '<br />';
118 if (tbl.rows.length > 1)
119 br = '';
120 var tr = tbl.insertRow(-1);
121 tr.className = "cbi-section-table-row";
122 var td = tr.insertCell(-1);
123 td.colSpan = 5;
124 td.innerHTML = '<em>' + br + '<%:There is no service configured.%></em>' ;
125 }
126 }
127
128 // force to immediate show status (not waiting for XHR.poll)
129 XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
130 function(x, data) {
131 _data2elements(x, data);
132 }
133 );
134
135 XHR.poll(10, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
136 function(x, data) {
137 _data2elements(x, data);
138 }
139 );
140 //]]></script>
141
142 <fieldset class="cbi-section" id="ddns_status_section">
143 <legend><a href="<%=luci.dispatcher.build_url([[admin]], [[services]], [[ddns]])%>"><%:Dynamic DNS%></a></legend>
144
145 <table class="cbi-section-table" id="ddns_status_table">
146 <tr class="cbi-section-table-titles">
147 <th class="cbi-section-table-cell"><%:Configuration%></th>
148 <th class="cbi-section-table-cell"><%:Next Update%></th>
149 <th class="cbi-section-table-cell"><%:Hostname/Domain%></th>
150 <th class="cbi-section-table-cell"><%:Registered IP%></th>
151 <th class="cbi-section-table-cell"><%:Network%></th>
152 </tr>
153 <tr class="cbi-section-table-row">
154 <td colspan="5"><em><br /><%:Collecting data...%></em></td>
155 </tr>
156 </table>
157 </fieldset>
158 <!-- ++ END ++ Dynamic DNS ++ system_status.htm ++ -->