contrib/community-profiles/demo: remove openwifimap
[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 interface
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         var ddns_status_XHR = new XHR();
129         // force to immediate show status (not waiting for XHR.poll)
130         ddns_status_XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
131                 function(x, data) {
132                         _data2elements(x, data);
133                 }
134         );
135
136         ddns_status_XHR.poll(10, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
137                 function(x, data) {
138                         _data2elements(x, data);
139                 }
140         );
141 //]]></script>
142
143 <fieldset class="cbi-section" id="ddns_status_section">
144         <legend><a href="<%=luci.dispatcher.build_url([[admin]], [[services]], [[ddns]])%>"><%:Dynamic DNS%></a></legend>
145
146         <table class="cbi-section-table" id="ddns_status_table">
147                 <tr class="cbi-section-table-titles">
148                         <th class="cbi-section-table-cell"><%:Configuration%></th>
149                         <th class="cbi-section-table-cell"><%:Next Update%></th>
150                         <th class="cbi-section-table-cell"><%:Hostname/Domain%></th>
151                         <th class="cbi-section-table-cell"><%:Registered IP%></th>
152                         <th class="cbi-section-table-cell"><%:Network%></th>
153                 </tr>
154                 <tr class="cbi-section-table-row">
155                         <td colspan="5"><em><br /><%:Collecting data...%></em></td>
156                 </tr>
157         </table>
158 </fieldset>
159 <!-- ++ END ++ Dynamic DNS ++ system_status.htm ++ -->