Gästebuch mit SMS Funktion

Gesperrt
project gonzo
Beiträge: 115
Registriert: Di 25. Nov 2003, 16:47
Kontaktdaten:

Gästebuch mit SMS Funktion

Beitrag von project gonzo » Sa 27. Jan 2007, 19:41

Hallo,
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>";
und der Output:

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&uuml;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&uuml;ltig, bitte&nbsp;&uuml;berpr&uuml;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&uuml;ltig, bitte&nbsp;&uuml;berpr&uuml;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&uuml;ltig, bitte&nbsp;&uuml;berpr&uuml;fen!";}
        else {
          $valid = (int) (checkdnsrr($host,ANY));
          if ($valid == 0) {$error = "Homepage ist ung&uuml;ltig, bitte&nbsp;&uuml;berpr&uuml;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=\"&laquo;&nbsp;zur&uuml;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=\"&laquo;&nbsp;zur&uuml;ck\" class=\"button\">
  </form>
  ";
} // end else



} // end if($a == "send")


?>
Zum Anmelden bei SMS Kaufen könnt ihr hier..

hf

Gesperrt