Ich mal in das folgene Gästebuch die SMS Funktion von SMSKaufeneingebaut.
So bekommt man bei jedem Eintrag ins Gästebuch eine SMS an sein Handy geschickt.
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Guestbook Eingabe v1.1
* Copyright : P.beauvain
* Created : 14-02-2004
* Modified : Feb. 29th 2004 by Lars D. Forseth <lars@forseth.de>
************************************************/
Hier der Input für die Gästebuch Eingabe:
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Guestbook Eingabe v1.1
* Copyright : P.beauvain
* Created : 14-02-2004
* Modified : Feb. 29th 2004 by Lars D. Forseth <lars@forseth.de>
************************************************/
echo "<input type=\"hidden\" name=\"CMS_VAR[0]\" value=\"".$value."\">";
echo "<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\">";
echo "</SELECT></td></tr>";
echo "<tr valign=\"top\"><td width=\"202\">Emailbenachrichtigung: ";
echo "Ja <INPUT TYPE=\"checkbox\" NAME=\"CMS_VAR[3]\" VALUE=\"1\" ";
if("CMS_VALUE[3]" == 1){echo "checked=checked"; };
echo "> An:</td><td>";
echo "<INPUT TYPE=\"text\" NAME=\"CMS_VAR[4]\" VALUE=\"";
if("CMS_VALUE[4]"){ echo "CMS_VALUE[4]"; } else { echo $cfgNewsletter["from"]; };
echo "\"></td></tr>";
if("CMS_VALUE[5]" == 1) { $checked = "checked=checked"; }
//else { $checked = ""; }
echo "<tr>
<td>Sofort anzeigen:</td>
<td><input type=\"checkbox\" name=\"CMS_VAR[5]\" value=\"1\" ".$checked."></td>
</tr>
";
echo "<tr>";
echo "<td width=\"202\">Cookie gegen widerholte Einträge :</td><td><INPUT TYPE=\"radio\" NAME=\"CMS_VAR[6]\"
VALUE=\"0\"";
if("CMS_VALUE[6]" ==0){echo "checked=checked";};echo"> off
<INPUT TYPE=\"radio\" NAME=\"CMS_VAR[6]\" VALUE=\"1\"";
if("CMS_VALUE[6]" ==1){echo "checked=checked";};echo"> on</td></tr>";
echo "<tr>";
echo"<td width=\"202\">Cookie Lifetime (1 = 1 Tag etc.) :
</td><td><input type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\" ></td></tr>";
//echo "<tr>";
//echo"<td width=\"202\">Angezeigte Länge in Zeichen :
//</td><td><input type=\"text\" name=\"CMS_VAR[7]\" value=\"CMS_VALUE[7]\" ></td></tr>
//";
echo "</table>";
echo "<br />";
echo "<table align=\"center\" width=\"400\" border=\"0\" cellpsacing=\"0\" cellpadding=\"0\"
style=\"font-size: 10pt; border: 1px;border-color: #000000;
border-style: solid; background-color: #EFEFEF;\">
<tr><td><b>Daten für den SMS Versand</b></td></tr>
<tr><td>Benutzername: </td><td><input type=\"\" name=\"CMS_VAR[10]\" value=\"CMS_VALUE[10]\" size=\"60\"></td></tr>
<tr><td>Passwort: </td><td><input type=\"\" name=\"CMS_VAR[11]\" value=\"CMS_VALUE[11]\" size=\"60\"></td></tr>
<tr><td>Absendename: </td><td><input type=\"\" name=\"CMS_VAR[12]\" value=\"CMS_VALUE[12]\" size=\"60\"></td></tr>
<tr><td>Handy Nummer: </td><td><input type=\"\" name=\"CMS_VAR[13]\" value=\"CMS_VALUE[13]\" size=\"60\"></td></tr>
</table>";
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>
************************************************/
//SMS Schnittstellen Daten
$username = "CMS_VALUE[10]";
$passwort = "CMS_VALUE[11]";
$absender = "CMS_VALUE[12]";
$to = "CMS_VALUE[13]";
//SMS End
$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 = "templates/smileys/";
/* end definition v. "$dir" */
echo "
<br><p><B>Bitte mindestens Name und Kommentar angeben</B>
<div>Um Ihrem Beitrag ein <b>Emoticon</b> hinzuzufügen, einfach auf ein Smiley klicken ! Sie können auch<br> den Code eingeben, der erste Smiley wäre dann z.B.: :-)</div></p>
";
if ($a == "add") {
echo "
<br>";
echo "
<form name='gb' id='gb' action=".$link." method='post'>";
echo "
<input type=\"hidden\" name=\"a\" value=\"send\">";
echo "
<table border=0 cellpadding=2 cellspacing=0>
<tr class=text>
<td align=right class=feldbeschriftung><B> Name: </b></td>
<td><input type=text name=name value='$name' class=textfeld></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% class=feldbeschriftung> E-Mail: </td>
<td><input type=text name=email value='$email' class=textfeld></td>
</tr>
<tr class=text>
<td align=right width=12% class=feldbeschriftung> Homepage: </td>
<td><input type=\"text\" name=\"url\" value=\"$url\" class=\"textfeld\"></td>
</tr>
<tr valign=top class=text>
<td align=right width=10% class=feldbeschriftung><b> Kommentar: </b></td>
<td>
<textarea name=\"comments\" cols=21 rows=11 wrap=physical class=textfeld style=\"width:170px; height:130px\">
$comments
</text"."area>
</td>
</tr>
<tr class=text>
<td align=right>
<!-- <a href=$link onClick=gb.submit();>Eintragen</a> -->
<input type=\"submit\" value=\"Eintragen\" class=\"button\"></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("Eintrag","ja",time()+ ($lifetime*24*3600));}
/* end if no cookie-lifetime given */
if($HTTP_COOKIE_VARS["Eintrag"]=="ja" && $sperre ==1){
echo "<br><p><font class=text><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");
// SMS
if (isset($_POST['email']) || ($_POST['gb']))
{
// Text-Sezierung
// $comments = nl2br($comments);
$name = html_entity_decode($name);
$textkurz = substr($mailkomm, 0, 120);
$textkurz = trim($textkurz);
$textkurz = str_replace("<br>", " ", $textkurz);
$textkurz = str_replace("\n", " ", $textkurz);
$anhang = "...";
$von = "Gästebucheintrag von: ";
$trenn = "! ";
$sms = urlencode($von) . urlencode($name) . urlencode($trenn) . urlencode($textkurz) . urlencode($anhang);
$url = "http://gateway.smskaufen.de/" . "?id=" . $username . "&pw=" . $passwort . "&absender=" . $absender . "&empfaenger=" . $to . "&text=" . $sms . "&type=2";
$fp = fopen($url, 80, "r");
$reply = fgets($fp, 1024);
fclose($fp);
} // Ende SMS
}; // End if
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\" class=\"button\">
</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\" class=\"button\">
</form>
";
} // end else
} // end if($a == "send")
?>
hf