havplastsawtime = '<?php echo time(); ?>'; var havplines = Array(); var havptimer; var havpupdateDelay = 25500; var havpisBusy = false; var havpisPaused = false; <?php if(isset($config['syslog']['reverse'])) echo "var isReverse = true;\n"; else echo "var isReverse = false;\n"; ?> 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 havp_alerts_fetch_new_rules() { if(havpisPaused) return; if(havpisBusy) return; havpisBusy = true; getURL('widgets/helpers/havp_alerts_helper.php?lastsawtime=' + havplastsawtime, havp_alerts_fetch_new_rules_callback); } function havp_alerts_fetch_new_rules_callback(callback_data) { if(havpisPaused) 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("||"); var line = ''; line += '<td width="25%" class="listr">' + row_split[4] + '<br> ' + row_split[3] + '</td>'; line += '<td width="75%" class="listr">' + row_split[0] + '<br>' + row_split[1] + '</td>'; havplastsawtime = row_split[2]; new_data_to_add[new_data_to_add.length] = line; } havp_alerts_update_div_rows(new_data_to_add); havpisBusy = false; } function havp_alerts_update_div_rows(data) { if(havpisPaused) return; var isIE = navigator.appName.indexOf('Microsoft') != -1; var isSafari = navigator.userAgent.indexOf('Safari') != -1; var isOpera = navigator.userAgent.indexOf('Opera') != -1; var rulestable = document.getElementById('havp_alerts'); var rows = rulestable.getElementsByTagName('tr'); var showanim = 1; if (isIE) { showanim = 0; } //alert(data.length); for(var x=0; x<data.length; x++) { var numrows = rows.length; /* 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 < numrows; i++) { nextrecord = i + 1; if(nextrecord < numrows) rows[i].innerHTML = rows[nextrecord].innerHTML; } } else { for (var i = numrows; i > 0; i--) { nextrecord = i + 1; if(nextrecord < numrows) rows[nextrecord].innerHTML = rows[i].innerHTML; } } var item = document.getElementById('havp-firstrow'); if(x == data.length-1) { /* nothing */ showanim = false; } else { showanim = false; } if (showanim) { // item.style.display = 'none'; item.innerHTML = data[x]; // new Effect.Appear(item); } else { item.innerHTML = data[x]; } } /* rechedule AJAX interval */ //havptimer = setInterval('havp_alerts_fetch_new_rules()', havpupdateDelay); } function havp_alerts_toggle_pause() { if(havpisPaused) { havpisPaused = false; havp_alerts_fetch_new_rules(); } else { havpisPaused = true; } } /* start local AJAX engine */ havptimer = setInterval('havp_alerts_fetch_new_rules()', havpupdateDelay);