} unset($_SESSION['error_including_pfc']); // global IP-blocking active (i.e. all modules use IP-blocking)? $ip_sperre_global = true; foreach ($list_modules as $modul) { if (isset($_SESSION['set_' . $modul . '_ip']) && !$_SESSION['set_' . $modul . '_ip']) { $ip_sperre_global = false; } } // Start Analyzing while (!$done) { if (!$config_logfile_maxsize) { // for performance reasons, do not use the generic function if no spliiting used $log_line = fgets($handle); } else { @($log_line = get_next_line()); } if ($log_line === false) { // we are at the end of all log files, so stop. break; } $daten = explode('#', $log_line); unset($log_line); $col_number = count($daten); if (!is_array($daten) || $col_number < 5 || $col_number > 8) { // skip corrupt or empty lines continue; } foreach ($daten as $data_i => $data) { // unescape separation-character # $daten[$data_i] = str_replace('#', '#', $data);
function get_next_line() { global $handle, $logdatei_name, $log_file_number; if (feof($handle)) { $name = split_log_name(); $ext = $name['ext']; $name = $name['name']; $i = $log_file_number + 1; if (is_file($name . $i . $ext) || is_file($name . $i . $ext . '.gz')) { $log_file_number = $i; $logdatei_name = $name . $i . $ext; $handle = open_logfile($name . $i . $ext, 'r'); $zeile = trim(fgets($handle)); } else { return false; } } else { $zeile = trim(fgets($handle)); if (empty($zeile)) { $zeile = get_next_line(); } } return $zeile; }