blob: fd9b00a385ce84c6299e1a8524d83260052128a7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
// Seconds * 1000 = value
var update_interval = 7000;
function updateMeters()
{
x_get_stats(stats);
window.setTimeout('updateMeters()', update_interval);
}
function stats(x) {
var values = x.split("|");
for(var counter=0; counter<x.length; x++) {
if(values[counter] == 'undefined' || values[counter] == null)
return;
}
updateCPU(values[0]);
updateMemory(values[1]);
updateUptime(values[2]);
updateState(values[3]);
updateTemp(values[4]);
updateDateTime(values[5]);
updateInterfaceStats(values[6]);
updateInterfaces(values[7]);
}
function updateMemory(x)
{
document.getElementById("memusagemeter").value = x + '%';
document.getElementById("memwidtha").style.width = x + 'px';
document.getElementById("memwidthb").style.width = (100 - x) + 'px';
}
function updateCPU(x)
{
document.getElementById("cpumeter").value = x + '%';
document.getElementById("cpuwidtha").style.width = x + 'px';
document.getElementById("cpuwidthb").style.width = (100 - x) + 'px';
}
function updateTemp(x)
{
if(document.getElementById("tempmeter") != null) {
document.getElementById("tempmeter").value = x + 'C';
document.getElementById("tempwidtha").style.width = x + 'px';
document.getElementById("tempwidthb").style.width = (100 - x) + 'px';
}
}
function updateDateTime(x) {
if(!$('datetime'))
return;
if(document.getElementById("datetime") == null)
return;
document.getElementById("datetime").firstChild.data = x;
}
function updateUptime(x)
{
document.getElementById("uptime").value = x;
}
function updateState(x)
{
document.getElementById("pfstate").value = x;
}
function updateInterfaceStats(x){
var widget = document.getElementById("interface_statistics-container");
if (widget.style.display != "none"){
statistics_split = x.split(",");
var counter = 1;
for (var y=0; y<statistics_split.length-1; y++){
document.getElementById('stat' + counter).innerHTML = statistics_split[y];
counter++;
}
}
}
function updateInterfaces(x){
interfaces = x.split("~");
for (var z=0; z<interfaces.length-1; z++){
details = interfaces[z].split(",");
if (details[1] == "up"){
document.getElementById(details[0] + '-up').style.display = "inline";
document.getElementById(details[0] + '-down').style.display = "none";
document.getElementById(details[0] + '-block').style.display = "none";
document.getElementById(details[0] + '-ip').innerHTML = details[2];
document.getElementById(details[0] + '-media').innerHTML = details[3];
} else if (details[1] == "down"){
document.getElementById(details[0] + '-down').style.display = "inline";
document.getElementById(details[0] + '-up').style.display = "none";
document.getElementById(details[0] + '-block').style.display = "none";
document.getElementById(details[0] + '-ip').innerHTML = details[2];
document.getElementById(details[0] + '-media').innerHTML = details[3];
} else if (details[1] == "block"){
document.getElementById(details[0] + '-block').style.display = "inline";
document.getElementById(details[0] + '-down').style.display = "none";
document.getElementById(details[0] + '-up').style.display = "none";
}
}
}
/* start ajax helper "thread" if not started */
if(!ajaxStarted) {
window.setTimeout('updateMeters()', update_interval);
var ajaxStarted = true;
}
|