117 lines
3.6 KiB
HTML
117 lines
3.6 KiB
HTML
<%+cbi/valueheader%>
|
|
<textarea id="amlogic.ophub.clog" class="cbi-input-textarea" style="width: 100%;display:inline" data-update="change" rows="8" cols="60" readonly="readonly" > </textarea>
|
|
<fieldset class="cbi-section">
|
|
<table width="100%">
|
|
<tr>
|
|
<td width="25%" align="center"><input type="button" class="cbi-button cbi-button-apply" id="stop_refresh_button" value="<%:Stop Refresh Log%>" onclick=" return stop_refresh() "/></td>
|
|
<td width="25%" align="center"><input type="button" class="cbi-button cbi-button-apply" id="start_refresh_button" value="<%:Start Refresh Log%>" onclick=" return start_refresh() "/></td>
|
|
<td width="25%" align="center"><input type="button" class="cbi-button cbi-button-apply" id="del_log_button" value="<%:Clean Log%>" style=" display:inline;" onclick=" return del_log() " /></td>
|
|
<td width="25%" align="center"><input type="button" class="cbi-button cbi-button-apply" id="down_log_button" value="<%:Download Log%>" style=" display:inline;" onclick=" return download_log() " /></td>
|
|
</tr>
|
|
</table>
|
|
</fieldset>
|
|
|
|
<script type="text/javascript">//<![CDATA[
|
|
var r
|
|
|
|
function stop_refresh() {
|
|
clearTimeout(r);
|
|
return
|
|
}
|
|
|
|
function start_refresh() {
|
|
clearTimeout(r);
|
|
r=setTimeout("poll_log()",1000*2);
|
|
return
|
|
}
|
|
|
|
function createAndDownloadFile(fileName, content) {
|
|
var aTag = document.createElement('a');
|
|
var blob = new Blob([content]);
|
|
aTag.download = fileName;
|
|
aTag.href = URL.createObjectURL(blob);
|
|
aTag.click();
|
|
URL.revokeObjectURL(blob);
|
|
}
|
|
|
|
function download_log(){
|
|
var lv = document.getElementById('amlogic.ophub.clog');
|
|
var dt = new Date();
|
|
var timestamp = dt.getFullYear()+"-"+(dt.getMonth()+1)+"-"+dt.getDate()+"-"+dt.getHours()+"-"+dt.getMinutes()+"-"+dt.getSeconds();
|
|
createAndDownloadFile("Amlogic-"+timestamp+".log",lv.innerHTML)
|
|
return
|
|
}
|
|
|
|
function del_log() {
|
|
XHR.get('<%=luci.dispatcher.build_url("admin", "system", "amlogic", "del_log")%>',null,function(x, data){
|
|
var lv = document.getElementById('amlogic.ophub.clog');
|
|
lv.innerHTML="";
|
|
}
|
|
);
|
|
return
|
|
}
|
|
|
|
function p(s) {
|
|
return s < 10 ? '0' + s: s;
|
|
}
|
|
|
|
function line_tolocal(str){
|
|
var strt=new Array();
|
|
str.trim().split('\n').forEach(function(v, i) {
|
|
var dt = new Date(v.substring(6,26));
|
|
if (dt != "Invalid Date"){
|
|
strt[i]=dt.getFullYear()+"-"+p(dt.getMonth()+1)+"-"+p(dt.getDate())+" "+p(dt.getHours())+":"+p(dt.getMinutes())+":"+p(dt.getSeconds())+v.substring(27);
|
|
}else{
|
|
strt[i]=v;}})
|
|
var old_log_line = sessionStorage.log_line;
|
|
if ( old_log_line != null && strt.length != null ) {
|
|
if (old_log_line - strt.length < 0) {
|
|
sessionStorage.log_line = strt.length;
|
|
return strt.slice('-'+(strt.length-old_log_line))
|
|
}
|
|
else if (old_log_line == strt.length) {
|
|
sessionStorage.log_line = strt.length;
|
|
return
|
|
}
|
|
else if (old_log_line - strt.length > 0) {
|
|
sessionStorage.log_line = strt.length;
|
|
var lv = document.getElementById('amlogic.ophub.clog');
|
|
lv.innerHTML = "";
|
|
return strt
|
|
}
|
|
}
|
|
else if ( strt.length != null ) {
|
|
sessionStorage.log_line = strt.length;
|
|
return strt
|
|
}
|
|
else {
|
|
sessionStorage.log_line = "0";
|
|
return strt
|
|
}
|
|
}
|
|
|
|
function poll_log(){
|
|
XHR.get('<%=luci.dispatcher.build_url("admin", "system", "amlogic", "refresh_log")%>', null,
|
|
function(x, data) {
|
|
if ( x && x.status == 200 ) {
|
|
var lv = document.getElementById('amlogic.ophub.clog');
|
|
if (x.responseText && lv) {
|
|
var lines=line_tolocal(x.responseText);
|
|
if (lines != null) {
|
|
lv.innerHTML = lines.reverse().join('\n')+'\n'+lv.innerHTML;
|
|
//lv.innerHTML = x.responseText.split('\n').reverse().join('\n')+lv.innerHTML;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
);
|
|
r=setTimeout("poll_log()",1000*2);
|
|
}
|
|
|
|
sessionStorage.removeItem("log_line");
|
|
poll_log();
|
|
|
|
//]]>
|
|
</script>
|
|
|
|
<%+cbi/valuefooter%> |