2017-03-25 20:58:51 +00:00
|
|
|
<%#
|
2019-08-15 08:32:59 +00:00
|
|
|
Copyright 2017-2019 Dirk Brenken (dev@brenken.org)
|
2017-03-25 20:58:51 +00:00
|
|
|
This is free software, licensed under the Apache License, Version 2.0
|
|
|
|
-%>
|
2018-07-28 14:47:19 +00:00
|
|
|
|
2018-11-14 09:45:18 +00:00
|
|
|
<%+adblock/adblock_css%>
|
2018-07-21 20:32:16 +00:00
|
|
|
<script type="text/javascript">
|
|
|
|
//<![CDATA[
|
|
|
|
function status_update(json)
|
|
|
|
{
|
2018-09-01 06:42:00 +00:00
|
|
|
var btn1 = document.getElementById("btn1");
|
|
|
|
var btn1_running = document.getElementById("btn1_running");
|
|
|
|
var btn2 = document.getElementById("btn2");
|
|
|
|
var btn2_running = document.getElementById("btn2_running");
|
|
|
|
var input = json.data.adblock_status || "-";
|
2018-07-21 20:32:16 +00:00
|
|
|
|
2018-09-01 06:42:00 +00:00
|
|
|
document.getElementById("value_1").innerHTML = input;
|
|
|
|
if (input === "enabled")
|
|
|
|
{
|
|
|
|
btn1.value = "<%:Suspend%>";
|
|
|
|
btn1.name = "do_suspend";
|
|
|
|
btn2.value = "<%:Refresh%>";
|
|
|
|
btn2.name = "do_refresh";
|
|
|
|
btn1.disabled = false;
|
|
|
|
running(btn1_running, 0);
|
|
|
|
btn2.disabled = false;
|
|
|
|
running(btn2_running, 0);
|
|
|
|
}
|
|
|
|
else if (input === "paused")
|
|
|
|
{
|
|
|
|
btn1.value = "<%:Resume%>";
|
|
|
|
btn1.name = "do_resume";
|
|
|
|
btn2.value = "<%:Refresh%>";
|
|
|
|
btn2.name = "do_refresh";
|
|
|
|
btn1.disabled = false;
|
|
|
|
running(btn1_running, 0);
|
|
|
|
btn2.disabled = false;
|
|
|
|
running(btn2_running, 0);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
btn1.value = "<%:Suspend%>";
|
|
|
|
btn1.name = "do_suspend";
|
|
|
|
btn2.value = "<%:Refresh%>";
|
|
|
|
btn2.name = "do_refresh";
|
|
|
|
btn1.disabled = true;
|
|
|
|
btn2.disabled = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
document.getElementById("value_2").innerHTML = json.data.adblock_version || "-";
|
|
|
|
document.getElementById("value_3").innerHTML = json.data.fetch_utility || "-";
|
|
|
|
document.getElementById("value_4").innerHTML = json.data.dns_backend || "-";
|
2019-08-15 08:32:59 +00:00
|
|
|
document.getElementById("value_5").innerHTML = json.data.dns_variant || "-";
|
|
|
|
document.getElementById("value_6").innerHTML = json.data.backup_dir || "-";
|
|
|
|
document.getElementById("value_7").innerHTML = json.data.overall_domains || "-";
|
|
|
|
document.getElementById("value_8").innerHTML = json.data.last_rundate || "-";
|
2018-07-21 20:32:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function btn_action(action)
|
|
|
|
{
|
|
|
|
var btn1 = document.getElementById("btn1");
|
|
|
|
var btn1_running = document.getElementById("btn1_running");
|
|
|
|
var btn2 = document.getElementById("btn2");
|
|
|
|
var btn2_running = document.getElementById("btn2_running");
|
|
|
|
|
|
|
|
btn1.disabled = true;
|
|
|
|
btn2.disabled = true;
|
|
|
|
|
2018-07-22 20:28:26 +00:00
|
|
|
if (action.name === "do_refresh")
|
2018-07-21 20:32:16 +00:00
|
|
|
{
|
|
|
|
running(btn2_running, 1);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
running(btn1_running, 1);
|
|
|
|
}
|
|
|
|
|
2018-07-22 20:28:26 +00:00
|
|
|
new XHR.get('<%=luci.dispatcher.build_url("admin", "services", "adblock")%>/action/' + action.name, null,
|
2018-07-21 20:32:16 +00:00
|
|
|
function(x)
|
|
|
|
{
|
|
|
|
if (!x)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function running(element, state)
|
|
|
|
{
|
|
|
|
if (state === 1)
|
|
|
|
{
|
|
|
|
var running_html = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" />';
|
|
|
|
element.innerHTML = running_html;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
element.innerHTML = '';
|
|
|
|
}
|
|
|
|
}
|
2017-03-25 20:58:51 +00:00
|
|
|
|
2018-09-01 06:42:00 +00:00
|
|
|
function reset_view()
|
|
|
|
{
|
|
|
|
document.getElementById("btn1").value = "<%:Suspend%>";
|
|
|
|
document.getElementById("btn1").name = "do_suspend";
|
|
|
|
document.getElementById("btn2").value = "<%:Refresh%>";
|
|
|
|
document.getElementById("btn2").name = "do_refresh";
|
|
|
|
document.getElementById("btn1").disabled = true;
|
|
|
|
document.getElementById("btn2").disabled = true;
|
|
|
|
document.getElementById("value_1").innerHTML = "-";
|
|
|
|
document.getElementById("value_2").innerHTML = "-";
|
|
|
|
document.getElementById("value_3").innerHTML = "-";
|
|
|
|
document.getElementById("value_4").innerHTML = "-";
|
|
|
|
document.getElementById("value_5").innerHTML = "-";
|
|
|
|
document.getElementById("value_6").innerHTML = "-";
|
2019-08-15 08:32:59 +00:00
|
|
|
document.getElementById("value_7").innerHTML = "-";
|
|
|
|
document.getElementById("value_8").innerHTML = "-";
|
2018-09-01 06:42:00 +00:00
|
|
|
}
|
|
|
|
|
2018-12-19 16:33:29 +00:00
|
|
|
XHR.get('<%=luci.dispatcher.build_url("admin", "services", "adblock", "status_update")%>', null,
|
2018-07-21 20:32:16 +00:00
|
|
|
function(x, json_info)
|
|
|
|
{
|
2018-09-01 06:42:00 +00:00
|
|
|
if (!x || !json_info || !json_info.data)
|
2018-07-21 20:32:16 +00:00
|
|
|
{
|
2018-09-01 06:42:00 +00:00
|
|
|
reset_view();
|
2018-07-21 20:32:16 +00:00
|
|
|
return;
|
|
|
|
}
|
2018-09-01 06:42:00 +00:00
|
|
|
status_update(json_info);
|
2018-07-21 20:32:16 +00:00
|
|
|
});
|
2017-03-25 20:58:51 +00:00
|
|
|
|
2018-12-20 09:09:58 +00:00
|
|
|
XHR.poll(-1, '<%=luci.dispatcher.build_url("admin", "services", "adblock", "status_update")%>', null,
|
2018-07-21 20:32:16 +00:00
|
|
|
function(x, json_info)
|
|
|
|
{
|
2018-09-01 06:42:00 +00:00
|
|
|
if (!x || !json_info || !json_info.data)
|
2018-07-21 20:32:16 +00:00
|
|
|
{
|
2018-09-01 06:42:00 +00:00
|
|
|
reset_view();
|
2018-07-21 20:32:16 +00:00
|
|
|
return;
|
|
|
|
}
|
2018-09-01 06:42:00 +00:00
|
|
|
status_update(json_info);
|
2018-07-21 20:32:16 +00:00
|
|
|
});
|
|
|
|
//]]>
|
|
|
|
</script>
|
2017-03-25 20:58:51 +00:00
|
|
|
|
2018-07-22 20:28:26 +00:00
|
|
|
<h3><%:Runtime Information%></h3>
|
2018-07-21 20:32:16 +00:00
|
|
|
<div class="cbi-value" id="status_1">
|
2018-07-22 20:28:26 +00:00
|
|
|
<label class="cbi-value-title" for="status_1"><%:Adblock Status%></label>
|
2018-07-21 20:32:16 +00:00
|
|
|
<div class="cbi-value-field">
|
|
|
|
<span class="runtime" id="value_1">-</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="cbi-value" id="status_2">
|
2018-07-22 20:28:26 +00:00
|
|
|
<label class="cbi-value-title" for="status_2"><%:Adblock Version%></label>
|
2018-07-21 20:32:16 +00:00
|
|
|
<div class="cbi-value-field">
|
|
|
|
<span class="runtime" id="value_2">-</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="cbi-value" id="status_3">
|
2018-07-22 20:28:26 +00:00
|
|
|
<label class="cbi-value-title" for="status_3"><%:Download Utility (SSL Library)%></label>
|
2018-07-21 20:32:16 +00:00
|
|
|
<div class="cbi-value-field">
|
|
|
|
<span class="runtime" id="value_3">-</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="cbi-value" id="status_4">
|
2019-08-15 08:32:59 +00:00
|
|
|
<label class="cbi-value-title" for="status_4"><%:DNS Backend, DNS Directory%></label>
|
2018-07-21 20:32:16 +00:00
|
|
|
<div class="cbi-value-field">
|
|
|
|
<span class="runtime" id="value_4">-</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="cbi-value" id="status_5">
|
2019-08-15 08:32:59 +00:00
|
|
|
<label class="cbi-value-title" for="status_5"><%:DNS Variant, DNS File Reset%></label>
|
2018-07-21 20:32:16 +00:00
|
|
|
<div class="cbi-value-field">
|
|
|
|
<span class="runtime" id="value_5">-</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="cbi-value" id="status_6">
|
2019-08-15 08:32:59 +00:00
|
|
|
<label class="cbi-value-title" for="status_6"><%:Backup Directory%></label>
|
2018-07-21 20:32:16 +00:00
|
|
|
<div class="cbi-value-field">
|
|
|
|
<span class="runtime" id="value_6">-</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-08-15 08:32:59 +00:00
|
|
|
<div class="cbi-value" id="status_7">
|
|
|
|
<label class="cbi-value-title" for="status_7"><%:Overall Domains%></label>
|
|
|
|
<div class="cbi-value-field">
|
|
|
|
<span class="runtime" id="value_7">-</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="cbi-value" id="status_8">
|
|
|
|
<label class="cbi-value-title" for="status_8"><%:Last Run%></label>
|
|
|
|
<div class="cbi-value-field">
|
|
|
|
<span class="runtime" id="value_8">-</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-07-21 20:32:16 +00:00
|
|
|
<hr />
|
|
|
|
<div class="cbi-value" id="button_1">
|
2018-07-22 20:28:26 +00:00
|
|
|
<label class="cbi-value-title" for="button_1"><%:Suspend / Resume Adblock%></label>
|
2018-07-21 20:32:16 +00:00
|
|
|
<div class="cbi-value-field">
|
|
|
|
<input class="cbi-button cbi-button-reset" id="btn1" type="button" value="" onclick="btn_action(this)" />
|
2018-11-14 09:45:18 +00:00
|
|
|
<span id="btn1_running" class="btn_running"></span>
|
2018-07-21 20:32:16 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<p />
|
|
|
|
<div class="cbi-value" id="button_2">
|
2018-07-22 20:28:26 +00:00
|
|
|
<label class="cbi-value-title" for="button_2"><%:Refresh Blocklist Sources%></label>
|
2018-07-21 20:32:16 +00:00
|
|
|
<div class="cbi-value-field">
|
|
|
|
<input class="cbi-button cbi-button-apply" id="btn2" type="button" value="" onclick="btn_action(this)" />
|
2018-11-14 09:45:18 +00:00
|
|
|
<span id="btn2_running" class="btn_running"></span>
|
2018-07-21 20:32:16 +00:00
|
|
|
</div>
|
|
|
|
</div>
|