",$text);
$text=str_replace("\r","",$text);
return ($text);
}
function gbgetVars($myKey) {
// Holt Get-Vars
if (isset($_GET[$myKey])) {
if (get_magic_quotes_gpc()) {
return (stripslashes($_GET[$myKey]));
} else {
return ($_GET[$myKey]);
}
}
else {
return ("");
}
}
function gbServerVars($myKey) {
// Holt Server-Vars
if (isset($_SERVER[$myKey])) {
return ($_SERVER[$myKey]);
}
else {
return ("");
}
}
function gbfwritePad($fp,$myVar,$length) {
// Schreibt gepadded in Datei
fwrite($fp,$myVar.str_repeat(" ",$length),$length);
}
function gbfgetPad($fp,$length) {
// Liest gepaddete Daten
return rtrim(fread($fp,$length));
}
function gbformatText($text) {
// Ersetzt BB-Formate
$text=str_replace("[i]","
",$text);
$text=str_replace("[/i]","",$text);
$text=str_replace("[b]","
",$text);
$text=str_replace("[/b]","",$text);
$text=str_replace(":)","
",$text);
$text=str_replace(";)","
",$text);
$text=str_replace(":eek:","
",$text);
$text=str_replace(":(","
",$text);
$text=str_replace(":o","
",$text);
$text=str_replace(":roll:","
",$text);
$text=str_replace(":lol:","
",$text);
$text.="";
return($text);
}
$filename="../assets/plugindata/w2dgb6a530c9d807d17b932e3025ee109e535.dat";
$maxpage=10;
$admin=1;
$gbrepost=false;
// Daten schreiben
if (gbgetVars("action")=="post") {
include ('../assets/w2dcaptcha.php4');
$cap=new captchas();
$cap->datapath='../assets/plugindata/';
if ($cap->checkticket(gbpostVars('gbid'),gbpostVars('gbcode'))) {
$pos=0;
// Position ermitteln
if (!file_exists($filename)) {
// Neue Datei
$fp=fopen($filename,"w");
flock ($fp,2);
gbfwritePad($fp,1,6);
flock ($fp,3);
fclose($fp);
$pos=1;
$fp=fopen($filename,"r+");
flock ($fp,2);
} else {
// Anhängen
$fp=fopen($filename,"r+");
flock ($fp,2);
$pos=gbfgetPad($fp,6);
$pos++;
fseek($fp,0);
gbfwritePad($fp,$pos,6);
}
// Schreiben
fseek($fp,6+($pos-1)*4890);
if ($admin) {
gbfwritePad($fp,0,1);
} else {
gbfwritePad($fp,1,1);
}
gbfwritePad($fp,gbServerVars("REMOTE_ADDR"),15);
gbfwritePad($fp,gbpostVars("username"),256);
gbfwritePad($fp,substr(gbNLBR(gbpostVars("message")),0,4096),4096);
gbfwritePad($fp,gbpostVars("email"),256);
gbfwritePad($fp,gbpostVars("www"),256);
gbfwritePad($fp, date("d.m.Y"),10);
flock ($fp,3);
fclose($fp);
// Benutzerinterface
echo("
Vielen Dank für Ihren Eintrag in unser Gästebuch. Wir freuen uns über jeden Besucher und nehmen Kritik und Anregungen sehr ernst.
\n");
echo("
Das Gästebuch anzeigen\n");
} else {
echo("
Der eingegebene Sicherheitscode ist ungültig.
\n");
$gbrepost=true;
}
}
if (gbgetVars("action")=="") {
// Anzeigen
$displaycount=0;
if (file_exists($filename)) {
$fp=fopen($filename,"r");
flock ($fp,1);
$recordcount=gbfgetPad($fp,6);
$first=gbgetVars("offset");
if ($first==0) {
$first=1;
};
$last=$first+$maxpage-1;
for ($i=1; $i<=$recordcount; $i++) {
fseek($fp,6+($recordcount-$i)*4890);
$view=gbfgetPad($fp,1);
gbfgetPad($fp,15);
if ($view==1) {
$displaycount++;
if ($i>=$first && $i<=$last) {
$username=gbfgetPad($fp,256);
$message=gbfgetPad($fp,4096);
$email=gbfgetPad($fp,256);
$www=gbfgetPad($fp,256);
$date=gbfgetPad($fp,10);
echo("
");
echo("$date - ");
if ($email=="") {
echo(htmlentities($username));
} else {
echo("");
echo(htmlentities($username));
echo("\n");
}
if ($www!="") {
if (substr($www,0,7)!="http://") {
$wwwplus="http://".$www;
} else {
$wwwplus=$www;
}
echo(" ");
echo("(".htmlentities($www).")");
echo("\n");
}
echo("
\n");
echo(gbformatText($message)."
\n");
}
}
}
flock ($fp,3);
fclose ($fp);
}
// Navigation
echo("
\n");
echo("Hier klicken, um einen Eintrag zu schreiben
\n");
if ($displaycount!=0) {
if ($first>1) {
print "Zurück ";
};
$page=0;
if ($displaycount>$maxpage) {
for ($i=1;$i<=$displaycount;$i=$i+$maxpage) {
$page++;
if ($i==$first) {
print " $page ";
} else {
print "$page ";
}
}
}
if ($displaycount>$last) {
print "Weiter ";
}
}
echo("
\n");
}
if ((gbgetVars("action")=="form") or $gbrepost) { ?>