session_start();
include("config.php");
while(list($key,$val) = each($_POST))
$$key = $val;
while(list($key,$val) = each($_GET))
$$key = $val;
?>
echo "\n";
function delete_line($line, $change) {
$entries = file("data");
if(empty($change)) {
unset($entries[$line-1]);
} else {
$entries[$line-1] = $change; }
$newentries = implode("", $entries);
$datei = fopen("data", "w");
fputs($datei, $newentries);
fclose($datei); }
function short_words($text, $length) {
$words = explode(" ",$text);
$count_w = count($words)-1;
if($count_w >= 0) {
for($i=0;$i<=$count_w;$i++) {
if(strlen($words[$i])>=$length) {
$words[$i] = chunk_split($words[$i], $length,"-
");
$length = strlen($words[$i])-5;
$words[$i] = substr($words[$i],0,$length); }
$text = implode(" ",$words); }
} else $text = chunk_split($text,$length,"-
");
return $text; }
function replace() {
global $eintrag, $email;
$eintrag = str_replace("[b]", "", $eintrag);
$eintrag = str_replace("[/b]", "", $eintrag);
$eintrag = str_replace("[i]", "", $eintrag);
$eintrag = str_replace("[/i]", "", $eintrag);
$eintrag = str_replace("[u]", "", $eintrag);
$eintrag = str_replace("[/u]", "", $eintrag);
$eintrag = str_replace("[br]", "
", $eintrag);
$eintrag = str_replace("[url]", "", $eintrag);
$eintrag = str_replace("[/url]", "", $eintrag);
$eintrag = str_replace(":D", "
", $eintrag);
$eintrag = str_replace(":(", "
", $eintrag);
$eintrag = str_replace("?(", "
", $eintrag);
$eintrag = str_replace("8)", "
", $eintrag);
$eintrag = str_replace("8o", "
", $eintrag);
$eintrag = str_replace("X(", "
", $eintrag);
$eintrag = str_replace(":)", "
", $eintrag);
$eintrag = str_replace(":P", "
", $eintrag);
$eintrag = str_replace(";)", "
", $eintrag); }
if($_GET['page'] == "" || $_GET['page'] == "gaestebuch") { ?>
|
$datei = file("data");
$datei = array_reverse($datei);
$linien = sizeof($datei);
if ($linien == 0) echo "Keine Einträge vorhanden!";
$summe = $linien;
$proseite = $pro;
$seiten = ceil($linien / $proseite);
if (!$seite) $seite = 1;
$y = $seite * $proseite;
$x = $y - $proseite;
if ($y > $linien) $y = $linien;
$y = $linien - $y-1;
$x = $linien - $x-1;
if ($linien > 0) {
$nummerdel = $seite * $pro - $pro + 1;
for ($i = $x; $i > $y ; $i--) {
$eintraege = explode ("|@|", $datei[$i]);
?>
$nummer = $linien - $nummerdel + 1;
echo "Nr.: ".$nummer." Name: ".$eintraege[1]." | ".$eintraege[0]." | ";
if(!empty($eintraege[2])) {
echo " "; }
if($homepage && !empty($eintraege[3]) && $eintraege[3] != "http://") { echo " "; }
if($icqnr && !empty($eintraege[4])) {
echo " "; }
echo " | ";
echo "".$eintraege[5]." | ";
echo " ";
if($eintraege[7] == "") echo "
";
else {
echo "Kommentar: ".$eintraege[7]." | ";
echo "
"; }
$nummerdel++; }}
if($linien > $proseite) {
echo "";
$vor = $seite - 1;
$next = $seite + 1;
if($vor != 0) echo "";
echo "Vorherige";
if($vor != 0) echo "";
echo " | ";
if($next <= $seiten) echo "";
echo "Weitere";
if($next <= $seiten) echo "";
echo ""; } ?>
Eintragen |
if ($summe == 1) echo "1 Eintrag";
else echo "".$summe." Einträge";
$file = "count";
$ftp = fopen($file,"r+");
$count = fgets($ftp,10);
$count++;
rewind($ftp);
fwrite($ftp,$count);
fclose($ftp);
echo " ".$count." Hits";
?> |
|
}
if($_GET['page'] == "eintragen") {
$ip = getenv("REMOTE_ADDR");
$datum = date("d.m.Y - H:i:s");
$datei = file("data");
$lines = sizeof($datei);
$nummer = $lines + 1;
$comment = "";
?>
text= link= vlink= alink=>
if($submit == "Eintragen") {
function schreiben($datei,$mode){
$fp = fopen($datei,$mode);
flock($fp,2);
fwrite($fp,$_SERVER["REMOTE_ADDR"]."|".time()."\n");
flock($fp,3);
fclose($fp); }
function ip_sperre($reloadsperre) {
$reloadlogdatei = "reload";
$anzahleintraege = 1000;
if(!file_exists($reloadlogdatei)) {
$datei = fopen($reloadlogdatei,"w+");
fclose($datei); }
$fp = file($reloadlogdatei);
$size = sizeof($fp);
if($size >= $anzahleintraege){
schreiben($reloadlogdatei,"w");
} else {
for ($i=0;$i<$size;$i++) {
$zeile = explode("|",$fp[$i]);
if ($zeile[0] == $_SERVER["REMOTE_ADDR"] AND $zeile[1] > (time()-$reloadsperre)){
$ausgabe = true;
} else {
$ausgabe = false; }}
schreiben($reloadlogdatei,"a+"); }
return $ausgabe;
}
if(ip_sperre($reloadsperre)==true) { ?>
Du kannst dich erst in echo $reloadsperre; ?> Sekunden wieder eintragen!
|
die(); }
if(eregi("[<>]", $eintrag)) { ?>
Bitte kein HTML benutzen!
|
die(); }
if(!eregi("[0-9]", $icq) && $icq != "") { ?>
Bitte korrekte ICQ Nummer angeben!
|
die(); }
if($code != $_SESSION['zufallszahl'] && $captcha) { ?>
Falscher Sicherheitscode eingegeben!
|
die(); }
if($badwordFilter) {
$filename = "badwords.txt";
$handle = fopen ($filename, "r");
$contents = fread ($handle, filesize ($filename));
fclose ($handle);
$badwords = explode(",", $contents);
foreach($badwords as $key) {
$key = trim($key);
if(eregi($key, $eintrag)) {
$eintrag = eregi_replace($key, str_repeat("*", strlen($key)), $eintrag); } } }
unset($zufallszahl);
$email = str_replace("@", "(at)", $email);
$eintrag = str_replace('\"', '"', $eintrag);
$eintrag = str_replace("|@|", "~", $eintrag);
$eintrag = preg_replace ("/\r\n|\r|\n/", "
", $eintrag);
if($smilbb) { replace(); }
$eintrag = nl2br($eintrag);
$eintrag = short_words($eintrag, 50);
$datei = "newdata";
$zufallscode = substr(md5(crypt(microtime())), 0, 25);
$input = "$datum|@|$name|@|$email|@|$www|@|$icq|@|$eintrag|@|$ip|@|$comment|@|$zufallscode|@|\n";
$fp = fopen($datei, "r");
while(!feof($fp)) {
$eintraege = fgets($fp, 1000);
$input .= $eintraege; }
fclose($fp);
$fp = fopen($datei, "w+");
fputs($fp, $input);
fclose($fp);
$mailtxt = "Neuer Eintrag im Gästebuch!\n\n";
$mailtxt .= "Von ".$name." (".$email.") am ".$datum."\n\n";
$mailtxt .= "Eintrag:\n".$eintrag."\n\n";
$mailtxt .= "Freigeben: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?page=admin&action=acc&id=".$zufallscode."\n";
$mailtxt .= "Loeschen: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?page=admin&action=del&id=".$zufallscode."\n";
mail($mailadd, "Neuer Eintrag im Gästebuch", $mailtxt, "From: ".$mailadd);
?>
}
elseif($submit == "Vorschau") {
$eintrag = str_replace("\r\n", "\\r\\n", $eintrag);
?>
$email = str_replace("@", "(at)", $email);
$eintrag = str_replace('\"', '"', $eintrag);
$eintrag = str_replace("|@|", "~", $eintrag);
$eintrag = preg_replace ("/\r\n|\r|\n/", "
", $eintrag);
if($smilbb) { replace(); }
$eintrag = str_replace("\\r\\n", "
", $eintrag);
$eintrag = short_words($eintrag, 50); ?>
echo "Nr.: ".$nummer." Name: ".$name." | ".$datum." | ";
if(!empty($email)) { echo " "; }
if(!empty($www) && $www != "http://") { echo " "; }
if(!empty($icq)) {
echo " "; }
echo " |
";
echo "
"; }}
if($_GET['page'] == "admin") {
$datei = file("newdata");
$linien = sizeof($datei);
for ($i = 0; $i < $linien; $i++) {
$eintraege = explode ("|@|", $datei[$i]);
if($eintraege[8] == $_GET['id']) {
if($_GET['action'] == "acc") {
$input = "$eintraege[0]|@|$eintraege[1]|@|$eintraege[2]|@|$eintraege[3]|@|$eintraege[4]|@|$eintraege[5]|@|$eintraege[6]|@|$eintraege[7]|@|\n";
$datei2 = "data";
$fp = fopen($datei2, "r");
while(!feof($fp)) {
$eintraege = fgets($fp, 1000);
$input .= $eintraege; }
fclose($fp);
$fp = fopen($datei2, "w+");
fputs($fp, $input);
fclose($fp); }
break; } }
$datei[$i] = "";
$fp = fopen("newdata", "w+");
fwrite($fp, implode("", $datei));
fclose($fp);
if($_GET['action'] == "acc") {
echo "Eintrag eingefügt"; }
else {
echo "Eintrag gelöscht"; }
echo ""; }
?>