123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <script type="text/javascript">
-
-
- function _id2section(id) {
- var x = id.split(".");
- return x[2];
- }
-
-
-
- function _data2elements(data) {
-
- for( i = 1; i < data.length; i++ )
- {
- var section = data[i].section
- var cbx = document.getElementById("cbid.ddns." + section + ".enabled");
- var btn = document.getElementById("cbid.ddns." + section + "._startstop");
- var rip = document.getElementById("cbid.ddns." + section + "._domainIP.two");
- var lup = document.getElementById("cbid.ddns." + section + "._update.one");
- var nup = document.getElementById("cbid.ddns." + section + "._update.two");
- if ( !(cbx && btn && rip && lup && nup) ) { return; }
-
- if (data[i].pid > 0) {
-
- btn.value = "PID: " + data[i].pid;
- btn.className = "cbi-button cbi-input-reset";
- } else {
-
- btn.value = "<%:Start%>";
- btn.className = "cbi-button cbi-input-apply";
- }
- btn.disabled = false;
-
- switch (data[i].datelast) {
- case "_empty_":
- lup.innerHTML = '<em><%:Unknown error%></em>' ;
- break;
- case "_never_":
- lup.innerHTML = '<em><%:Never%></em>' ;
- break;
- default:
- lup.innerHTML = data[i].datelast;
- break;
- }
-
- switch (data[i].datenext) {
- case "_empty_":
- nup.innerHTML = '<em><%:Unknown error%></em>' ;
- break;
- case "_verify_":
- nup.innerHTML = '<em><%:Verify%></em>';
- break;
- case "_runonce_":
- case "_stopped_":
- case "_disabled_":
- if (cbx.checked && data[i].datenext == "_runonce_") {
- nup.innerHTML = '<em><%:Run once%></em>';
- } else if (cbx.checked) {
- nup.innerHTML = '<em><%:Stopped%></em>';
- } else {
- nup.innerHTML = '<em><%:Disabled%></em>';
- btn.value = '----------';
- btn.className = "cbi-button cbi-input-button";
- btn.disabled = true;
- }
- break;
- default:
- nup.innerHTML = data[i].datenext;
- break;
- }
-
-
-
-
- if (data[i].domain == "_nodomain_")
- rip.innerHTML = '';
- else if (data[i].reg_ip == "_nodata_")
- rip.innerHTML = '<em><%:No data%></em>';
- else
- rip.innerHTML = data[i].reg_ip;
-
-
- }
- }
-
- function onchange_enabled(id) {
-
-
- cbi_d_update(id);
- var section = _id2section(id);
- var cbx = document.getElementById("cbid.ddns." + section + ".enabled");
- var btn = document.getElementById("cbid.ddns." + section + "._startstop");
- if ( !(cbx && btn) ) { return; }
- var pid_txt = btn.value;
- var pid_found = ( pid_txt.search("PID") >= 0 ) ? true : false;
- if (pid_found) {
-
- btn.className = "cbi-button cbi-button-reset";
- btn.disabled = false;
- } else if (cbx.checked) {
- btn.value = "<%:Start%>";
- btn.className = "cbi-button cbi-button-apply";
- btn.disabled = false;
- } else {
- btn.value = '----------';
- btn.className = "cbi-button cbi-input-button";
- btn.disabled = true;
- }
- }
-
- function onclick_startstop(id) {
-
- var section = _id2section(id);
-
- var cbx = document.getElementById("cbid.ddns." + section + ".enabled");
- var obj = document.getElementById("cbi-ddns-overview-status-legend");
- if ( !(obj && cbx) ) { return; }
-
- obj.parentNode.style.display = "block";
-
- var btnXHR = new XHR();
- btnXHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "startstop")%>/' + section + '/' + cbx.checked, null,
- function(x, data) {
- if (x.responseText == "_uncommitted_") {
-
-
- txt="<%:Please [Save & Apply] your changes first%>";
- alert( txt.replace(new RegExp("<%:&%>", "g"), "&") );
- } else {
-
-
- if (data) { _data2elements(data); }
- }
-
- obj.parentNode.style.display = "none";
- }
- );
- }
-
- XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
- function(x, data) {
- if (data) { _data2elements(data); }
- }
- );
-
-
-
- XHR.poll(15, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
- function(x, data) {
- if (data) { _data2elements(data); }
- }
- );
- </script>
- <fieldset class="cbi-section" style="display:none">
- <legend id="cbi-ddns-overview-status-legend"><%:Applying changes%></legend>
- <img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
- <span id="cbi-ddns-overview-status-text"><%:Waiting for changes to be applied...%></span>
- </fieldset>
|