Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Guestbook Eingabe v1.1
* Copyright : P.beauvain
* Created : 14-02-2004
* Modified : Mar. 1st 2004 by Lars D. Forseth <lars@forseth.de>
************************************************/
$activ = "CMS_VALUE[5]";
if ($activ == "") { $activ = "0";
}
$sperre ="CMS_VALUE[6]";
$links = explode('?',$PHP_SELF);
$link = $links[0];
$link = $link."?idcat=".$idcat; // back-link
$meineseite = $auth->url();
if ($a == "") { $a = "add"; }
/* in diesem Ordner liegen meine smileys für das Gästebuch
(sollte nicht mit "/" beginnen, MUSS aber mit "/" enden!)
*/
$dir = "upload/design/gaestebuch/";
/* end definition v. "$dir" */
echo "
<B>Bitte mindestens Name und Kommentar angeben</B>
";
if ($a == "add") {
echo "
<br>";
echo "
<form name='gb' id='gb' action=http://zalu.kleinesnetz.de/cms/front_content.php?idcatart=45&lang=1&client=1 method='post'>";
echo "
<input type="hidden" name="a" value="send">";
echo "
<table border=0 cellpadding=2 cellspacing=0>
<tr class=text>
<td align=right><B> Name: </b></td>
<td><input type=text name=name value='$name'></td>
<td rowspan=8 valign=top>
<table border=0 align=right cellspacing=0 cellpadding=0>
<tr class=text>
<td class=text><strong>Bedeutung</strong></td>
<td class=text><div align=center><strong>Icon </strong></div></td>
<td class=text><strong> Code</strong></td>
</tr>
<tr class=text>
<td>lacht</td>
<td align=center valign=middle><img src=".$dir."smile.gif onClick=insert(':-)');></td>
<td>:-)</td>
</tr>
<tr class=text>
<td>Zunge streckend</td>
<td align=center valign=middle><img src=".$dir."tongue.gif onClick=insert(':-P');></td>
<td>:-P</td>
</tr>
<tr class=text>
<td>zuzwinkernd</td>
<td align=center valign=middle><img src=".$dir."wink.gif onClick=insert(';-)');></td>
<td>;-)</td>
</tr>
<tr class=text>
<td>laut lachend</td>
<td align=center valign=middle><img src=".$dir."laugh.gif onClick=insert(':lol:');></td>
<td>:lol:</td>
</tr>
<tr class=text>
<td>unsicher</td>
<td align=center valign=middle><img src=".$dir."unsure.gif onClick=insert(':unsure:');></td>
<td>:unsure:</td>
</tr>
<tr class=text>
<td>cool</td>
<td align=center valign=middle><img src=".$dir."cool.gif onClick=insert('8-)');></td>
<td>8-)</td>
</tr>
<tr class=text>
<td>nicht versteht</td>
<td align=center valign=middle><img src=".$dir."huh.gif onClick=insert(':huh:');></td>
<td>:huh:</td>
</tr>
<tr class=text>
<td>wütend</td>
<td align=center valign=middle><img src=".$dir."mad.gif onClick=insert(':angry:');></td>
<td>:angry:</td>
</tr>
<tr class=text>
<td>erstaunt</td>
<td align=center valign=middle><img src=".$dir."blink.gif onClick=insert(':blink:');></td>
<td>:blink:</td>
</tr>
<tr class=text>
<td>traurig</td>
<td align=center valign=middle><img src=".$dir."sad.gif onClick=insert(':-(');></td>
<td>:-(</td>
</tr>
<tr class=text>
<td>breit grinsend</td>
<td align=center valign=middle><img src=".$dir."biggrin.gif onClick=insert(':-))');></td>
<td>:-))</td>
</tr>
<tr class=text>
<td>erschrocken</td>
<td align=center valign=middle><img src=".$dir."surprised.gif onClick=insert(':-O');></td>
<td>:-0</td>
</tr>
<tr class=text>
<td>augenrollen</td>
<td align=center valign=middle><img src=".$dir."rolleyes.gif onClick=insert(':rolleyes:');></td>
<td>:rolleyes:</td>
</tr>
</table>
</td>
</tr>
<tr class=text>
<td align=right width=12%> E-Mail: </td>
<td><input type=text name=email value='$email'></td>
</tr>
<tr class=text>
<td align=right width=12%> Homepage: </td>
<td><input type="text" name="url" value="$url"></td>
</tr>
<tr valign=top class=text>
<td align=right width=10%><b> Kommentar: </b></td>
<td>
<textarea name="comments" cols=21 rows=6 wrap=physical>\n
$comments\n
</text"."area>
</td>
</tr>
<tr class=text>
<td align=right>
<!-- <a href=$link onClick=gb.submit();>Eintragen</a> -->
<input type="submit" value="Eintragen"></td>
</tr>
</table>
</form>
";
} // end "if($a == "add")"
// wenn ein eintrag geschrieben werden soll
if($a == "send") {
// Formatierung des Textes aus dem Kommentarfeld
if($name!="" && $comments!="") { //Abfangen der "leeren" Einträge
/* filter given data */
$error = "no";
$mailkomm = stripslashes($comments);
$comments = trim($comments);
$comments = nl2br($comments);
$comments = str_replace("'","",$comments);
$comments = str_replace(";","",$comments);
$comments = str_replace("--","",$comments);
$comments = htmlentities($comments);
$comments = str_replace("<br />","",$comments);
$comments = str_replace("<br/>","",$comments);
$comments = str_replace("<br>","",$comments);
$comments = str_replace("\n","<br>",$comments);
// filter email
if ($error == "no") {
if ($email) {
if (strlen($email) > 50) {$error = "Emailadresse ist zu lang! (max. 50 Zeichen erlaubt)";}
else {
$valid = (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]+$",$email));
if (!$valid == 1) {$error = "Emailadresse ist ungültig, bitte überprüfen!";}
else {
$parts = explode("@",$email);
$lasts = explode(".",$parts[1]);
$domain = $lasts[(count($lasts)-2)].".".$lasts[(count($lasts)-1)];
$valid = (int) (checkdnsrr($domain,ANY));
if ($valid == 0) {$error = "Emailadresse ist ungültig, bitte überprüfen!";}
} // end else
} // end else
} // end if email
} // end if no error
// filter name
if ($error == "no") {
if (strlen($name) > 30) {$error = "Name ist zu lang! (max. 30 Zeichen erlaubt)";}
else {
$name = nl2br($name);
$name = str_replace("'","",$name);
$name = str_replace(";","",$name);
$name = str_replace("--","",$name);
$name = htmlentities($name);
}
} // end if
// filter url
if ($error == "no") {
if ($url) {
if (strlen($url) > 100) {$error = "URL ist zu lang! (max. 100 Zeichen erlaubt)";}
else {
$url = str_replace("\n","",$url);
$url = str_replace("'","",$url);
$url = str_replace(";","",$url);
$url = str_replace("--","",$url);
$url = str_replace(""","",$url);
$url = str_replace("'","",$url);
$url = str_replace("\'","",$url);
$url = str_replace(" ","",$url);
$url = strtolower($url);
$sheme_given = (eregi("^([a-z]+://)",$url));
if ($sheme_given == 0) {$url = "http://".$url;}
$url1 = (parse_url($url));
$host = $url1["host"];
$valid = (eregi("([a-z0-9_\\-\\.])+(\\.)+([a-z]{2,4})",$host));
if (!$valid == 1) {$error = "Homepage ist ungültig, bitte überprüfen!";}
else {
$valid = (int) (checkdnsrr($host,ANY));
if ($valid == 0) {$error = "Homepage ist ungültig, bitte überprüfen!";}
} // end else
} // end else
} // end if url
} // end if
if ($error == "no") {
if (strlen($comments) > 3000) {$error = "Kommentar ist zu lang! (max. 3000 Zeichen erlaubt)";}
else { // no errors in given data yet...
//-------------------- konvertiere Smileys ---------------------------------
$comments = eregi_replace(":-\)\)|:\)\)|:biggrin:",
"<img src=\'".$dir."biggrin.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":-\)|:\)|:smile:",
"<img src=\'".$dir."smile.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":-D|:-D|:lol:",
"<img src=\'".$dir."laugh.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":huh:",
"<img src=\'".$dir."huh.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":rolleyes:",
"<img src=\'".$dir."rolleyes.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":O\)|:o\)",
"<img src=\'".$dir."smile2.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(";-\)|;\)|:wink:",
"<img src=\'".$dir."wink.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":-\(|:\(|:sad:",
"<img src=\'".$dir."sad.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":angry:",
"<img src=\'".$dir."mad.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":-D|:D|:happy:",
"<img src=\'".$dir."happy.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":heart:",
"<img src=\'".$dir."heart.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":-P|:P|:tongue:",
"<img src=\'".$dir."tongue.gif\' border=\'0\'>",$comments);
$comments = eregi_replace("8-\)|8\)|:cool:",
"<img src=\'".$dir."cool.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":-\(|:\(|:weep:",
"<img src=\'".$dir."weep.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":-o|:o|:astonished:",
"<img src=\'".$dir."surprised.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":blink:",
"<img src=\'".$dir."blink.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":wub:",
"<img src=\'".$dir."wub.gif\' border=\'0\'>",$comments);
$comments = eregi_replace(":unsure:",
"<img src=\'".$dir."unsure.gif\' border=\'0\'>",$comments);
// see if there are more smileys than allowed:
$imgs = explode("<img src=",$comments);
$imgs = count($imgs);
if ($imgs > 10) {
$error = "Zu viele Smileys! (max. 10 Stück pro Eintrag)";
$comments = "";
} // end if($imgs > 10)
} // end else no errors
} // end else ("no errors in given data yet")
/* end "filter given data" */
/* if no error was found while filtering */
if ($error == "no") {
/* search for words longer than 50 chars and shorten them + <br> */
$c = 0;
for ($i=0; $i < strlen($comments); $i++) {
$c++;
if (($comments[$i] == " ") or ($comments[$i] == "\n") or
($comments[$i] == "\r")) {$c = 0;}
if ($c > 48) {
$comments = substr_replace($comments, "-<br>", $i, 0);
$i = $i+4;
$c = 0;
} // end if
} // end for
// ---------Abschnitt nach n Zeichen -------------------------------------
//$z = (int) ("CMS_VALUE[7]");
//for ($i=$z; $i < $z+20; $i++) {
// $comments1 = substr($comments , 0, $i);
// $cut = substr($comments, $i);
// if ((ord ($cut) == 32)||(ord ($cut) == 44)||(ord ($cut) == 45)) {
// $comments= substr($comments , 0, $i);
// $comments .= ' .....';
// } // end if
//} // end for
// -------------- IP /Host speichern ----------------------------------
$ip = getenv('REMOTE_ADDR');
$host = gethostbyaddr($ip);
// -------------- Cookie Setzen ---------------------------------------
/* if no cookie lifetime given */
$lifetime = (int) ("CMS_VALUE[8]");
if($lifetime!="0" && $lifetime!=""){setcookie("AJUS-Forumeintrag","ja",time()+ ($lifetime*24*3600));}
/* end if no cookie-lifetime given */
if($HTTP_COOKIE_VARS["AJUS-Forumeintrag"]=="ja" && $sperre ==1){
echo "<br><p><font class=textbold><b>Sie haben sich bereits eingetragen !<br>";
if ($lifetime == 1){echo "Sie können sich Morgen erneut eintragen.";}
else {echo "Sie können sich in CMS_VALUE[8] Tagen erneut eintragen.</b></p>";}
} // end if
else {
$url = str_replace("http://","",$url);
$sql = "INSERT INTO ".$cfg["tab"]["guestbook"]." ".
"(name,email,location,url,date,comments,active,client) ".
"VALUES ('$name','$email','$ip/$host','$url',NOW(),'$comments','$activ',$client)";
$db->query($sql);
if("CMS_VALUE[3]" == 1 && "CMS_VALUE[4]" != "") {
$mailbody = "Von: $name ( $email )\nHomepage: $url\n\nKommentar:\n$mailkomm\n\n http://".getenv("HTTP_HOST")."$meineseite";
mail("CMS_VALUE[4]", "neuer Gaestebuch-Eintrag", $mailbody, "From: Gaestebuch<CMS_VALUE[4]>\nX-Mailer: PHP/" . phpversion(). "\n");
};
echo "<br><p class=text><b>Danke, Ihr Beitrag wurde eingetragen.</b></p><br>";
} // end else
} // end "if no error was found while filtering"
/* errors were found in given data */
else {
$comments = str_replace("<br>","\n",$comments);
echo "
<br><br><br><font color="red"><b><u>Fehler</u><br>".$error."</b></font><br><br>
<form action="$link" method="post">
<input type="hidden" name="name" value="$name">
<input type="hidden" name="email" value="$email">
<input type="hidden" name="url" value="$url">
<input type="hidden" name="comments" value="$comments">
<input type="submit" value="« zurück">
</form>
<br><br><br>";}
// end "errors were found in given data"
} // end "Abfangen von leeren Einträgen
else {
$comments = str_replace("<br>","\n",$comments);
echo "
<br><p><font class="text"><b>Bitte überprüfen Sie ihre Eingaben!</b></p><br><br>
";
echo"
<form action="$link" method="post">
<input type="hidden" name="name" value="$name">
<input type="hidden" name="email" value="$email">
<input type="hidden" name="url" value="$url">
<input type="hidden" name="comments" value="$comments">
<input type="submit" value="« zurück">
</form>
";
} // end else
} // end if($a == "send")
?>