2 Copyright
2017-
2018 Dirk Brenken (dev@brenken.org)
3 This is free software, licensed under the Apache License, Version
2.0
4 local sys = require(
"luci.sys")
7 <style type=
"text/css">
18 <script type=
"text/javascript">
20 function status_update(json)
22 var view = document.getElementById(
"value_1");
23 var btn1 = document.getElementById(
"btn1");
24 var btn2 = document.getElementById(
"btn2");
25 var input = json.data.adblock_status;
27 view.innerHTML = input ||
"-";
28 if (input ===
"enabled")
30 btn1.value =
"Suspend";
31 btn2.value =
"Refresh";
32 btn1.disabled = false;
33 running(btn1_running,
0);
34 btn2.disabled = false;
35 running(btn2_running,
0);
37 else if (input ===
"paused")
39 btn1.value =
"Resume";
40 btn2.value =
"Refresh";
41 btn1.disabled = false;
42 running(btn1_running,
0);
43 btn2.disabled = false;
44 running(btn2_running,
0);
48 btn1.value =
"Suspend";
49 btn2.value =
"Refresh";
53 view = document.getElementById(
"value_2");
54 input = json.data.adblock_version;
55 view.innerHTML = input ||
"-";
56 view = document.getElementById(
"value_3");
57 input = json.data.fetch_utility;
58 view.innerHTML = input ||
"-";
59 view = document.getElementById(
"value_4");
60 input = json.data.dns_backend;
61 view.innerHTML = input ||
"-";
62 view = document.getElementById(
"value_5");
63 input = json.data.overall_domains;
64 view.innerHTML = input ||
"-";
65 view = document.getElementById(
"value_6");
66 input = json.data.last_rundate;
67 view.innerHTML = input ||
"-";
70 function btn_action(action)
72 var btn1 = document.getElementById(
"btn1");
73 var btn1_running = document.getElementById(
"btn1_running");
74 var btn2 = document.getElementById(
"btn2");
75 var btn2_running = document.getElementById(
"btn2_running");
80 if (action.value ===
"Refresh")
82 running(btn2_running,
1);
86 running(btn1_running,
1);
89 new XHR.get('<%=luci.dispatcher.build_url(
"admin",
"services",
"adblock")%
>/action/' + action.value, null,
99 function running(element, state)
103 var running_html = '
<img src=
"<%=resource%>/icons/loading.gif" alt=
"<%:Loading%>" width=
"16" height=
"16" style=
"vertical-align:middle" />';
104 element.innerHTML = running_html;
108 element.innerHTML = '';
112 XHR.get('<%=luci.dispatcher.build_url(
"admin",
"services",
"adblock",
"status")%
>', null,
113 function(x, json_info)
115 if (!x || !json_info)
117 var btn1 = document.getElementById(
"btn1");
118 var btn2 = document.getElementById(
"btn2");
119 btn1.value =
"Suspend";
120 btn2.value =
"Refresh";
121 btn1.disabled = true;
122 btn2.disabled = false;
125 status_update(json_info)
128 XHR.poll(
5, '<%=luci.dispatcher.build_url(
"admin",
"services",
"adblock",
"status")%
>', null,
129 function(x, json_info)
131 if (!x || !json_info)
135 status_update(json_info)
140 <h3>Runtime Information
</h3>
141 <div class=
"cbi-value" id=
"status_1">
142 <label class=
"cbi-value-title" for=
"status_1">Adblock Status
</label>
143 <div class=
"cbi-value-field">
144 <span class=
"runtime" id=
"value_1">-
</span>
147 <div class=
"cbi-value" id=
"status_2">
148 <label class=
"cbi-value-title" for=
"status_2">Adblock Version
</label>
149 <div class=
"cbi-value-field">
150 <span class=
"runtime" id=
"value_2">-
</span>
153 <div class=
"cbi-value" id=
"status_3">
154 <label class=
"cbi-value-title" for=
"status_3">Download Utility (SSL Library)
</label>
155 <div class=
"cbi-value-field">
156 <span class=
"runtime" id=
"value_3">-
</span>
159 <div class=
"cbi-value" id=
"status_4">
160 <label class=
"cbi-value-title" for=
"status_4">DNS Backend (DNS Directory)
</label>
161 <div class=
"cbi-value-field">
162 <span class=
"runtime" id=
"value_4">-
</span>
165 <div class=
"cbi-value" id=
"status_5">
166 <label class=
"cbi-value-title" for=
"status_5">Overall Domains
</label>
167 <div class=
"cbi-value-field">
168 <span class=
"runtime" id=
"value_5">-
</span>
171 <div class=
"cbi-value" id=
"status_6">
172 <label class=
"cbi-value-title" for=
"status_6">Last Run
</label>
173 <div class=
"cbi-value-field">
174 <span class=
"runtime" id=
"value_6">-
</span>
178 <div class=
"cbi-value" id=
"button_1">
179 <label class=
"cbi-value-title" for=
"button_1">Suspend / Resume Adblock
</label>
180 <div class=
"cbi-value-field">
181 <input class=
"cbi-button cbi-button-reset" id=
"btn1" type=
"button" value=
"" onclick=
"btn_action(this)" />
182 <span id=
"btn1_running" style=
"display:inline-block; width:16px; height:16px; margin:0 5px"></span>
186 <div class=
"cbi-value" id=
"button_2">
187 <label class=
"cbi-value-title" for=
"button_2">Refresh Blocklist Sources
</label>
188 <div class=
"cbi-value-field">
189 <input class=
"cbi-button cbi-button-apply" id=
"btn2" type=
"button" value=
"" onclick=
"btn_action(this)" />
190 <span id=
"btn2_running" style=
"display:inline-block; width:16px; height:16px; margin:0 5px"></span>