JH.eCard for Contenido 4.4 v1.0

Gesperrt
a.hegenbart
Beiträge: 10
Registriert: Mo 2. Aug 2004, 20:42
Wohnort: Kaltenkirchen
Kontaktdaten:

JH.eCard for Contenido 4.4 v1.0

Beitrag von a.hegenbart » Sa 14. Aug 2004, 15:39

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 ;)

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mo 16. Aug 2004, 09:56

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...
*** make your own tools (wishlist :: thx)

djw
Beiträge: 129
Registriert: Di 6. Apr 2004, 21:27
Wohnort: Baden
Kontaktdaten:

hat sich was getan?

Beitrag von djw » Mo 18. Okt 2004, 12:15

Hat sich inzwischen was getan? habe es gerade versucht zu installieren - hat aber nicht funktioniert - Version 4.4.4

Grunwalski
Beiträge: 1
Registriert: Mo 3. Apr 2006, 21:41
Kontaktdaten:

Beitrag von Grunwalski » Mo 3. Apr 2006, 21:44

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

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Di 4. Apr 2006, 07:11

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. :)
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

zoot
Beiträge: 34
Registriert: Mi 1. Mär 2006, 15:19
Kontaktdaten:

Beitrag von zoot » Mi 14. Jun 2006, 10:10

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]

Gesperrt