assign('ueberschrift','Logdatei'); if(!$erlaubt){ $_inh = T_KEINZUGRIFF; } else{ $arten = array( 'db' => 'DB', 'php' => 'PHP', 'smarty' => 'Smarty', 'tkswim' => 'tkswim', 'login' => 'Login' ); $typen = array( 'Notice' => 'Hinweis', 'Warning' => 'Warnung', 'Error' => 'Fehler' ); $_GET['aktion'] = isset($_GET['aktion'])?$_GET['aktion']:''; switch($_GET['aktion']){ case 'leeren': if(!pruefeRechte('t_logdatei_leeren')){ $_inh = T_KEINZUGRIFF; break; } $dateiinhalt = file(PFAD_LOGDATEIEN.'logdatei.log'); if(count($dateiinhalt) == 0){ weiterleiten('/tools/logdatei.html','es gibt keine Einträge die gelöscht werden könnten.'); } $filter = array('art'=>false,'typ'=>false); if(isset($_POST['art']) and in_array($_POST['art'],array_keys($arten))){ $filter['art'] = $_POST['art']; } if(isset($_POST['typ']) and in_array($_POST['typ'],array_keys($typen))){ $filter['typ'] = $_POST['typ']; } $neuerinhalt = array(); $anzgeloescht = 0; foreach($dateiinhalt as $zeile){ $originaleintrag = $zeile; $teile = explode('¡',$zeile,3); $loeschen = true; if($filter['art'] !== false and $teile[0] != $filter['art']){ $loeschen = false; } if($filter['typ'] !== false and $teile[1] != $filter['typ']){ $loeschen = false; } if($loeschen){ $anzgeloescht++; continue; } $neuerinhalt[] = $originaleintrag; } $fh = fopen(PFAD_LOGDATEIEN.'logdatei.log','w'); $anz = count($neuerinhalt); if($anz > 0){ $dateiinhalt = implode('',$neuerinhalt); fwrite($fh,$dateiinhalt,strlen($dateiinhalt)); } fclose($fh); $text = 'Es wurde'.($anzgeloescht==0?' kein Eintrag':($anzgeloescht==1?' ein Eintrag':'n '.$anzgeloescht.' Einträge')).' gelöscht.'; weiterleiten('/tools/logdatei.html',$text); default: $fehler = array(); $dateiinhalt = file(PFAD_LOGDATEIEN.'logdatei.log'); if(count($dateiinhalt) > 0){ $dateiinhalt = array_map('trim',$dateiinhalt); $filter = array('art'=>false,'typ'=>false); if(isset($_GET['art']) and in_array($_GET['art'],array_keys($arten))){ $filter['art'] = $_GET['art']; } if(isset($_GET['typ']) and in_array($_GET['typ'],array_keys($typen))){ $filter['typ'] = $_GET['typ']; } foreach($dateiinhalt as $zeile){ $teile = explode('¡',$zeile,7); if($filter['art'] !== false and $teile[0] != $filter['art']){ continue; } if($filter['typ'] !== false and $teile[1] != $filter['typ']){ continue; } if($teile[0] == 'db'){ $teile[6] = str_replace('[br]',"\n",$teile[6]); } if(in_array($teile[0],array_keys($arten))){ $teile[0] = $arten[$teile[0]]; } if(in_array($teile[1],array_keys($typen))){ $teile[1] = $typen[$teile[1]]; } $dat = str_replace('\\','/',$teile[2]); if($pos = strpos($dat,PFAD_INCLUDE)!==false){ $dat = '{inc}'.substr($dat,$pos+strlen(PFAD_INCLUDE)-1); $dat = str_replace('.inc.php','',$dat); } elseif($pos = strpos($dat,PFAD_HTTP)!==false){ $dat = substr($dat,$pos+strlen(PFAD_HTTP)-1); $dat = str_replace('.html','',$dat); } $teile[2] = $dat; $fehler[] = array( 'art' => $teile[0], 'typ' => $teile[1], 'datei' => $teile[2], 'zeile' => $teile[3], 'datum' => $teile[4], 'meldung' => $teile[5], 'sonstiges' => $teile[6] ); } } $_tmpl->assign('arten',$arten); $_tmpl->assign('typen',$typen); $_tmpl->assign('meldungen',$fehler); $_inh .= $_tmpl->fetch('tools/92.logdatei.inc.html'); break; } } # Ende Rechte-else, EOF ?>