blob: 1259afb6aa24b5804e95f18ab7315b8015ff2a17 (
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
119
120
121
122
|
if (typeof getURL == 'undefined') {
getURL = function(url, callback) {
if (!url)
throw 'No URL for getURL';
try {
if (typeof callback.operationComplete == 'function')
callback = callback.operationComplete;
} catch (e) {}
if (typeof callback != 'function')
throw 'No callback function for getURL';
var http_request = null;
if (typeof XMLHttpRequest != 'undefined') {
http_request = new XMLHttpRequest();
}
else if (typeof ActiveXObject != 'undefined') {
try {
http_request = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e) {
try {
http_request = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e) {}
}
}
if (!http_request)
throw 'Both getURL and XMLHttpRequest are undefined';
http_request.onreadystatechange = function() {
if (http_request.readyState == 4) {
callback( { success : true,
content : http_request.responseText,
contentType : http_request.getResponseHeader("Content-Type") } );
}
}
http_request.open('GET', url, true);
http_request.send(null);
}
}
function outputrule(req) {
alert(req.content);
}
function fetch_new_rules() {
if(isPaused)
return;
if(isBusy)
return;
isBusy = true;
getURL('diag_logs_filter_dynamic.php?lastsawtime=' + lastsawtime, fetch_new_rules_callback);
}
function fetch_new_rules_callback(callback_data) {
if(isPaused)
return;
var data_split;
var new_data_to_add = Array();
var data = callback_data.content;
data_split = data.split("\n");
for(var x=0; x<data_split.length-1; x++) {
/* loop through rows */
row_split = data_split[x].split("||");
lastsawtime = row_split[6];
new_data_to_add[new_data_to_add.length] = format_log_line(row_split);
}
update_div_rows(new_data_to_add);
isBusy = false;
}
function update_div_rows(data) {
if(isPaused)
return;
var isIE = navigator.appName.indexOf('Microsoft') != -1;
var isSafari = navigator.userAgent.indexOf('Safari') != -1;
var isOpera = navigator.userAgent.indexOf('Opera') != -1;
var showanim = 1;
if (isIE) {
showanim = 0;
}
var startat = data.length - nentries;
if (startat < 0) {
startat = 0;
}
data = data.slice(startat, data.length);
var rows = jQuery('.log-entry-mini');
if (jQuery(rows).length == 0) {
rows = jQuery('.log-entry');
}
for(var x=0; x<data.length; x++) {
/* if reverse logging is enabled we need to show the
* records in a reverse order with new items appearing
* on the top
*/
if(isReverse == false) {
for (var i = 1; i < jQuery(rows).length; i++) {
jQuery(rows[i-1]).html(jQuery(rows[i]).html());
}
} else {
for (var i = jQuery(rows).length - 1; i > 0; i--) {
jQuery(rows[i]).html(jQuery(rows[i-1]).html());
}
}
jQuery('#firstrow').html(data[x]);
}
}
function toggle_pause() {
if(isPaused) {
isPaused = false;
fetch_new_rules();
} else {
isPaused = true;
}
}
/* start local AJAX engine */
if (typeof updateDelay != 'undefined') {
timer = setInterval('fetch_new_rules()', updateDelay);
}
|