$done = true;
     } else {
         $handle = open_logfile($logdatei_name, 'r');
         if (isset($pos)) {
             fseek($handle, $pos);
         }
         if (feof($handle)) {
             // everything cached? TODO: IS this needed at all?
             $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');
                 $log_line = trim(fgets($handle));
             } else {
                 $done = true;
                 $pfc_all_cached = true;
             }
         }
     }
 } elseif (isset($_GET['clearcache']) || !$cached['keyword']) {
     if (isset($_GET['clearcache']) && ($config_stat_password_protect || $config_stat_guest_cache_delete) && $config_stat_user_cache_delete) {
         clean_directory('../usr/cache/', '/.*_' . md5($config_logfile_folder) . '\\.php(\\.gz)?/');
     }
     unset($_SESSION['module_keyword_orig']);
 }
 unset($_SESSION['error_including_pfc']);
 // global IP-blocking active (i.e. all modules use IP-blocking)?
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;
}
 echo '<h2>' . basename($logdatei_name) . ($search ? ' (' . L_SHOWLOG_FILTERED . ')' : '') . '</h2>';
 if (!is_file($logdatei_name)) {
     die('<h2>' . L_MSG_ERR . '</h2><p>' . L_SHOWLOG_MSG_ERR_LOGFILE_NOTFOUND . ' ' . $logdatei_name . '<br /><a href="logs.php?' . SIDX . '">' . L_SHOWLOG_ALLLOGS . '</a></p>');
 }
 // Jumping (fseek) in .gz-files is incredibly slow -> uncompress the whole file temporarily
 if (strpos($logdatei_name, '.gz') !== false) {
     $fh_comp = fopen('compress.zlib://' . $logdatei_name, 'r');
     $logdatei = tmpfile();
     while (!feof($fh_comp)) {
         fwrite($logdatei, fgets($fh_comp));
     }
     fclose($fh_comp);
     $unc_filesize = ftell($logdatei);
     rewind($logdatei);
 } else {
     $logdatei = open_logfile($logdatei_name, 'r');
     $unc_filesize = filesize($logdatei_name);
 }
 // logseite
 if ($richtung == 'zur') {
     if (isset($_SESSION['log_seite'][0]) && $_SESSION['log_seite'][0] != $unc_filesize) {
         unset($_SESSION['log_seite']);
     }
     $_SESSION['log_seite'][0] = $unc_filesize;
 } elseif (!isset($_SESSION['log_seite'])) {
     $_SESSION['log_seite'][0] = 0;
 }
 if (!isset($_SESSION['log_seite'][$seite])) {
     $start = finde_zeiger_pos($seite);
     $_SESSION['log_seite'][$seite] = $start;
 }
 }
 if ($_SESSION['clog_zlib'] && $size_uncompressed_total + $max < $size_original_total) {
     echo '.gz';
     $handle2 = fopen('compress.zlib://' . $neueDatei['name'] . $neueDatei['i'] . $neueDatei['ext'] . '.gz', 'a');
 } else {
     $handle2 = fopen($neueDatei['name'] . $neueDatei['i'] . $neueDatei['ext'], 'a');
 }
 for ($i = 0; $i < $_SESSION['clog_ausgangsdatei_splits']; $i++) {
     flush();
     $tmp_name = $altesVerzeichnis . '/' . substr($_SESSION['clog_source_name'], 0, strpos($_SESSION['clog_source_name'], '.')) . $i . $neueDatei['ext'];
     $name = basename($tmp_name);
     echo '<br />Lese aus Datei ' . $name;
     if (!file_exists($tmp_name) && !file_exists($tmp_name . '.gz')) {
         die('<br /><b>Fehler: Datei nicht gefunden!</b>');
     }
     $handle = open_logfile($tmp_name, 'r');
     while (!feof($handle)) {
         $zeile = fgets($handle);
         $size_uncompressed += strlen($zeile);
         if (empty($zeile)) {
             echo '<br />&Uuml;berspringe leere Zeile.';
             continue;
         }
         $daten = explode('#', $zeile);
         foreach ($daten as $data_i => $data) {
             // unescape separation-character #
             $daten[$data_i] = str_replace('&num;', '#', $data);
         }
         if ($_SESSION['clog_ausgangsformat'] == 1.6) {
             foreach ($daten as $id => $data) {
                 $data = trim($data);