Seite 1 von 1

JH.eCard for Contenido 4.4 v1.0

Verfasst: Sa 14. Aug 2004, 15:39
von a.hegenbart
Hallo,

ich hab ein kleines eCard Modul geschrieben, das einen eCard-Versand direkt als Modul und nicht per IFrame in Contenido einbinden läst.

Features
  • Bilder/Thumbnails können per FTP hochgeladen werden
    Wahl des Verzeichnisses für THumbnails und Bilder bei Template-Konfiguration
    Benachrichtigung bei 1. Abruf der versendeten eCard
    Antwortfunktion
Zunächst muss in der Datenbank eine Tabelle names "ecard" erstellt werden:

Code: Alles auswählen

CREATE TABLE `ecard` (
  `id` int(6) NOT NULL default '0',
  `uid` varchar(255) NOT NULL default '',
  `to_name` varchar(30) NOT NULL default '',
  `to_email` varchar(30) NOT NULL default '',
  `from_name` varchar(30) NOT NULL default '',
  `from_email` varchar(30) NOT NULL default '',
  `nachricht` text NOT NULL,
  `card` varchar(100) NOT NULL default '',
  `date` int(20) NOT NULL default '0',
  `ip` varchar(24) NOT NULL default '',
  `status` int(1) NOT NULL default '0'
) TYPE=MyISAM;
Input

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :	    JH-Ecard v0.1
* Author      :     Alexander Hegenbart
* Copyright   :     jahegen webauthoring&design
* Created     :     27-07-2004
* Modified    :     13-08-2004
************************************************/

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr valign=\"top\">
          <td>Image-Pfad:</td>
          <td><input type=\"Text\" name=\"CMS_VAR[0]\" value=\"CMS_VALUE[0]\" size=\"30\"></td>
        </tr>
        <tr valign=\"top\">
          <td>Thumbnails-Pfad:</td>
          <td><input type=\"Text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\" size=\"30\"></td>
        </tr>
        <tr valign=\"top\">
          <td>E-Card Infomail Name:</td>
          <td><input type=\"Text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\" size=\"30\"></td>
        </tr>
        <tr valign=\"top\">
          <td>E-Card Infomail Email:</td>
          <td><input type=\"Text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\" size=\"30\"></td>
        </tr>
</table>";
Output

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :	    JH-Ecard v0.1
* Author      :     Alexander Hegenbart
* Copyright   :     jahegen webauthoring&design
* Created     :     27-07-2004
* Modified    :     13-08-2004
************************************************/

     if( $jh_page == "ecard_form" ){

         print "<h2>Sie haben folgendes Motiv gewählt:</h2>";
         print "<p align=\"center\"><img src=\"CMS_VALUE[0]/$card\" border=\"1\" alt=\"AKN E-Card\"></p>";
         print "<form action=\"\" method=\"POST\">";
         print "<p>Empfänger-Name<br>";
         print "<input type=\"Text\" name=\"to_name\" value=\"$to_name\" size=\"30\" maxlength=\"30\"></p>";
         print "<p>Empfänger-Email<br>";
         print "<input type=\"Text\" name=\"to_email\" value=\"$to_email\" size=\"30\" maxlength=\"30\"></p>";
         print "<p>Absender-Name<br>";
         print "<input type=\"Text\" name=\"from_name\" value=\"$from_name\" size=\"30\" maxlength=\"30\"></p>";
         print "<p>Absender-Email<br>";
         print "<input type=\"Text\" name=\"from_email\" value=\"$from_email\" size=\"30\" maxlength=\"30\"></p>";
         print "<p>Ihre Nachricht:<br>";
         print "<textarea name=\"nachricht\" cols=\"30\" rows=\"6\">$nachricht</textarea></p>";
         print "<input type=\"Submit\" value=\"Vorschau\" style=\"background-color: #FFFFFF\">";
         print "<input type=\"hidden\" name=\"card\" value=\"$card\">";
         print "<input type=\"hidden\" name=\"jh_page\" value=\"ecard_vorschau\">";
         print "</form>";

     }
     elseif( $jh_page == "ecard_vorschau" ){

     	print "<h1>Vorschau</h1>";
         print "<p align=\"center\"><img src=\"CMS_VALUE[0]/$card\" border=\"1\" alt=\"AKN E-Card\"></p>";
         print "<b>Empfänger:</b> $to_name ($to_email)<br>";
         print "<b>Absender:</b> $from_name($from_email)<br>";
         print "<p><b>Nachricht:</b><br>$nachricht</p>";
         print "<form action=\"\" method=\"POST\">";
         print "<input type=\"hidden\" name=\"card\" value=\"$card\">";
         print "<input type=\"hidden\" name=\"to_name\" value=\"$to_name\">";
         print "<input type=\"hidden\" name=\"to_email\" value=\"$to_email\">";
         print "<input type=\"hidden\" name=\"from_name\" value=\"$from_name\">";
         print "<input type=\"hidden\" name=\"from_email\" value=\"$from_email\">";
         print "<input type=\"hidden\" name=\"nachricht\" value=\"$nachricht\">";
         print "<input type=\"hidden\" name=\"jh_page\" value=\"ecard_send\">";
         print "<input type=\"Submit\" value=\"Abschicken\" style=\"background-color: #FFFFFF\">";
         print "</form>";
         print "<form action=\"\" method=\"POST\">";
         print "<input type=\"hidden\" name=\"card\" value=\"$card\">";
         print "<input type=\"hidden\" name=\"to_name\" value=\"$to_name\">";
         print "<input type=\"hidden\" name=\"to_email\" value=\"$to_email\">";
         print "<input type=\"hidden\" name=\"from_name\" value=\"$from_name\">";
         print "<input type=\"hidden\" name=\"from_email\" value=\"$from_email\">";
         print "<input type=\"hidden\" name=\"nachricht\" value=\"$nachricht\">";
         print "<input type=\"hidden\" name=\"jh_page\" value=\"ecard_from\">";
         print " <input type=\"Submit\" value=\"Ändern\" style=\"background-color: #FFFFFF\">";
         print "</form>";
     }
     elseif( $jh_page == "ecard_send" ){
         $db  = new DB_Contenido;
         $uid = md5( mktime() );
         $sql  = "INSERT INTO ecard (uid, to_email, to_name, from_email, from_name, nachricht, card, date, ip, status) VALUES( '".$uid."', '".$to_email."', '".$to_name."', '".$from_email."', '".$from_name."', '".$nachricht."', '".$card."', '".mktime()."', '".$REMOTE_ADDR."', '0' )";
         $db->query($sql);

         $mailtext = " Sehr geehrte/r $to_name,\n\r
Sie haben eine Grußkarte von $from_name erhalten.\n\r
Über den folgenden Link können Sie Ihre Grußkarte abrufen:\n\r
".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?idcat=".$_GET["idcat"]."&jh_page=ecard_show&cardid=$uid\n\r
Mit freundlichen Grüßen,\n\r
CMS_VALUE[2]";

         $abgesendet = mail( "$to_name <$to_email>", "Grußkarte", $mailtext, "From: $from_name <$from_email>" );

         if(!abgesendet){
            print "<h1>Grußkarte konnte nicht gesendet werden!</h1>";
         }
         else{
            print "<h1>Grußkarte gesendet</h1>";
            print "<p>Ihre Grußkarte wurde erfolgreich an $to_name versandt. Sie erhalten eine Email, sobald die Grußkarte abgerufen wurde.</p>";
         }

     }

//Output

     elseif( $jh_page == "ecard_show" ){

         if( $cardid == "" ){
             print "Bitte Ecard-ID angeben.";
         }
         else{
             $db  = new DB_Contenido;
             $sql  = "SELECT * FROM ecard WHERE uid='$cardid'";
             $db->query($sql);
             $db->next_record();

             if( $db->f("card") == "" ){
               print "<p>Ecard nicht vorhanden</p>";
             }
             else{

               $mailtxt = "Sehr geehrte/r ".$db->f("from_name").",\n\r";
               $mailtxt .= "ihr Grußkarte an ".$db->f("to_name")." wurde am ".date("d.m.Y")." um ".date("h:i")." abgerufen.\n\r";
               $mailtxt .= "Mit freundlichen Grüßen\n\rCMS_VALUE[2]";

               $to = $db->f("from_name")." <".$db->f("from_email").">";
               $from = $db->f("to_name")." <".$db->f("to_email").">";

               $db2  = new DB_Contenido;
             $sql  = "UPDATE ecard SET status='1' WHERE uid='$cardid'";
             $db2->query($sql);

               mail( $to, "Ihre Grußkarte wurde abgerufen", $mailtxt, "From: CMS_VALUE[2] <CMS_VALUE[3]>");


               print "<h1>Sie haben eine Grußkarte erhalten</h1>";
               print "<p><b>Absender:</b> ".$db->f("from_name")." (".$db->f("from_email").")<br>";
               print "<b>Empfänger:</b> ".$db->f("to_name")." (".$db->f("to_email").")</p>";
               print "<p align=\"center\"><img src=\"CMS_VALUE[0]/".$db->f("card")."\" border=\"1\" alt=\"AKN E-Card\"></p>";
               print "<p><b>Nachricht:</b><br>";
               print nl2br($db->f("nachricht"))."</p>";
               print "<p><a href=\"front_content.php?idcat=$idcat&jh_page=&to_name=".$db->f("from_name")."&to_email=".$db->f("from_email")."&from_name=".$db->f("to_name")."&from_email=".$db->f("to_email")."\">Antworten</a></p>";

             }

         }

     }

     else{

         print "<p>Bitte E-Card-Motiv auswählen:</p>";

         print "<div align=\"center\">";
	print "<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\" width=\"550\"> ";

  	$imgc = 0;
  	$verzeichnis = dir("CMS_VALUE[1]");
  	while($eintrag = $verzeichnis->read()){
             if( ! is_dir( "$eintrag" ) ){
                 if( $imgc == 0 ){
             	    print "<tr>\n";
             	    print "<td>\n";
             	    print "<div align=\"center\">";
             	    print "<a href=\"front_content.php?idcat=$idcat&jh_page=ecard_form&card=$eintrag&to_name=$to_name&to_email=$to_email&from_name=$from_name&from_email=$from_email\"><img src=\"CMS_VALUE[1]/$eintrag\" border=\"1\"></a>";
             	    print "</div>\n";
             	    print "</td>\n";
             	    $imgc = 1;
             	}
             	elseif( $imgc == 1 ){
             	    print "<td>\n";
             	    print "<div align=\"center\">";
             	    print "<a href=\"front_content.php?idcat=$idcat&jh_page=ecard_form&card=$eintrag&to_name=$to_name&to_email=$to_email&from_name=$from_name&from_email=$from_email\"><img src=\"CMS_VALUE[1]/$eintrag\" border=\"1\"></a>";
             	    print "</div>\n";
             	    print "</td>\n";
             	    $imgc = 2;
             	}
             	elseif( $imgc == 2 ){
             	    print "<td>\n";
             	    print "<div align=\"center\">";
             	    print "<a href=\"front_content.php?idcat=$idcat&jh_page=ecard_form&card=$eintrag&to_name=$to_name&to_email=$to_email&from_name=$from_name&from_email=$from_email\"><img src=\"CMS_VALUE[1]/$eintrag\" border=\"1\"></a>";
             	    print "</div>\n";
             	    print "</td>\n";
             	    print "</tr>\n";
             	    $imgc = 0;
             	}
             }
  	}
  	$verzeichnis->close();

	print "</table>";
	print "</div>";


     }

?>
Hoffe es funzt so alles. Bei Fragen melden ;)

Verfasst: Mo 16. Aug 2004, 09:56
von emergence
nettes modul...

kleine verbesserungsvorschläge...

im input bereich würde ich die db tabelle automatisch mit anlegen lassen...
wie das gemacht wird findest du hier -> http://www.contenido.de/forum/viewtopic ... 3674#23674

ebenso würd ich empfehlen den tabellen namen für ecard mittels
$cfg["tab"]["ecard"] = $cfg['sql']['sqlprefix']."_ecard";
zu definieren... (sowohl input als auch output)

wenn du dann noch die variable client für den mandanten mit in deine tabelle übernimmst, wäre das modul auch mandaten fähig...

hat sich was getan?

Verfasst: Mo 18. Okt 2004, 12:15
von djw
Hat sich inzwischen was getan? habe es gerade versucht zu installieren - hat aber nicht funktioniert - Version 4.4.4

Verfasst: Mo 3. Apr 2006, 21:44
von Grunwalski
Hallo, :)

ich muss mich im Rahmen meines Studiums mit Contenido befassen. Eine Ecard Funktion zu haben wäre gut, aber erstmal muss ich Contenido so wie es ist verstehen und/oder in den Griff kriegen. Aber dennoch schon mal ene Frage vorab: Ist das Moduldenn kompatibel zu 4.6 oder gibts es mittlerweile ein Update dazu?

grüße
grunwalski

Verfasst: Di 4. Apr 2006, 07:11
von Halchteranerin
Grunwalski hat geschrieben:Aber dennoch schon mal ene Frage vorab: Ist das Moduldenn kompatibel zu 4.6 oder gibts es mittlerweile ein Update dazu?
Ich weiss es nicht, aber versuch's einfach und berichte dann, ob's geklappt hat. :)

Verfasst: Mi 14. Jun 2006, 10:10
von zoot
Hat das Modul jemand schon unter 4.6.x mittlerweile zum laufen gebracht?

ich versuch mich schon eine weile daran und bekomme immer die Fehlermeldung

Code: Alles auswählen

Fatal error: Call to a member function on a non-object in /srv/www/htdocs/web9/html/contenido/includes/include.con_editcontent.php(644) : eval()'d code on line 813
und wegen mangelndern php kenntnissen weiss ich jetzt nicht ob es einfach am Modul liegt oder an mir[/code]