Erst mal ein riesen Looooob an alle beteiligten des Newsletter-Moduls!!!
Ich habe die Erweiterung von llconsult eingebaut, bei mir funktioniert soweit alles perfekt, bis auf eben diese:
Wenn ein user seine anmeldung bestätigen will klickt er auf den link in der mail, alles supi, bis dahin, die seite wird aufgerufen und vollständig angezeigt, er ist aktiviert!
Aber wenn ich nun im Backend den Namen des Willkommensnewsletters angebe und mich nun neu anmelde und den Aktivierungslink klicke erscheint die seite aber weder der Willkommensnewsletter wird gesendet und schon garnicht der Willkommenstext auf der seite (...du erhältst nun den Willkommensnewsletter...)
Code: Alles auswählen
echo $msg["htmlOKConfirmWelcome"];
Was kann das sein? kann mir jemand helfen???
Mein Code des Newsletter-Blackbox-Moduls lautet:
Code: Alles auswählen
<?php
$from = "CMS_VALUE[0]"; /* Specify sender e-mail */
$welcome_title = "CMS_VALUE[1]"; /* Willkommens-Newsletter in Contenido erzeugen und Namen dieses Newsletters eintragen, damit dieser automatisch als begrüßung versandt wird. Zum deaktivieren: "" verwenden */
switch ($lang):
case 0: /* There is never a language with id 0, just an example */
$msg = array ("txtMsgSubscribeHeader" => "Newsletter: Confirmation",
"txtMsgSubscribe" => "Dear user,\nto confirm your newsletter subscription please use this link:",
"txtMsgDeleteHeader" => "Newsletter: Cancellation",
"txtMsgDelete" => "Dear subscriber,\nto cancel your newsletter subscription please use this link:",
"htmlErrNoEMail" => "Please specify an e-mail adress.",
"htmlOKSubscribe" => "Dear user,<br><br>you should get an e-mail in just a few seconds. Please confirm your newsletter subscription using the link provided in the e-mail.",
"htmlErrSubscribe" => "This e-mail adress is already listed for the newsletter subscription.",
"htmlOKDelete" => "Dear subscriber,<br><br>you should get an e-mail in just a few seconds. To confirm the cancellation of your newsletter subscription please use the link provided in the e-mail.",
"htmlErrDelete" => "This e-mail adress doesn't receive our newsletter.",
"htmlOKConfirm" => "Operation successful, thank you!<br><br>You are now member of the big family of subscribers to our newsletter.",
"htmlOKConfirmWelcome" => " Even the welcome newsletter is on the way to you!",
"htmlErrConfirm" => "Operation not successful!<br><br>Your account hasn't been confirmed for the newsletter subscription.",
"htmlOKStop" => "Operation successful, you will not get our newsletter until you decide to do so again.",
"htmlErrStop" => "Operation not successful!<br><br>Your account doesn't take a break from newsletter subscription.",
"htmlOKGoOn" => "Operation successful. We are happy to send you our newsletter again.",
"htmlErrGoOn" => "Operation not successful!<br><br>Your account hasn't been reactivated again.",
"htmlOKUnsubscribe" => "We confirm the cancellation of the newsletter subscription.",
"htmlErrUnsubscribe" => "Operation not successful!<br><br>Your newsletter subscription hasn't been cancelled.");
break;
default: /* Use this area for your preferred (or your one and only) language */
$msg = array ("txtMsgSubscribeHeader" => "Newsletterbestätigung der Berliner Jugendfeuerwehr",
"txtMsgSubscribe" => "BERLINER JUGENDFEUERWEHR\n- Internetgruppe -\n\n\nLiebe(r) NutzerIn,\nvielen Dank für dein Interesse am Newsletter der Berliner Jugendfeuerwehr!\n\nGerne senden wir dir unseren Newsletter mit den neuesten Infos rund um die Berliner Jugendfeuerwehr, Terminen und Veranstaltungstipps zu.\n\nUm dich jedoch beim versenden zu berücksichtigen und auszuschließen, dass sich jemand anders mit deiner eMail-Adresse eingetragen hat, musst Du deine Teilnahme am Newsletter bestätigen.\n\nZum bestätigen deines Newsletterabos, klicke bitte einfach auf den unten stehenden Link:",
"txtMsgDeleteHeader" => "Abbestellen: Newsletter der Berliner Jugendfeuerwehr",
"txtMsgDelete" => "BERLINER JUGENDFEUERWEHR\n- Internetgruppe -\n\n\nLieber Newsletterabonnent, \nschade, dass Du dich entschlossen hast, unseren Newsletter nicht mehr zu beziehen!\n\nUm dein Newsletterabo zu kündigen und deine Daten endgültig zu löschen, klicke bitte auf untenstehenden Link:",
"htmlErrNoEMail" => "<h3>Fehler</h3><p class=rot><strong>Folgende Pflichfelder(*) wurden nicht ausgefüllt:</strong></p><div style=\"color:red;\" class=list1><ul><li>Deine eMail-Adresse:*</li></ul></div><p class=rot><strong>Fülle bitte alle benötigten Felder aus!</strong></p>
<strong><em><p><a href=\"".$idcat.".html\">...zurück</a></p></em></strong><p><p> </p></p>",
"htmlOKSubscribe" => "<h1>Newsletter Anmeldung</h1><p>Die eMail mit dem Bestätigungs-Link ist bereits auf dem Weg zu dir!</p><p><strong>Damit Du unseren Newsletter empfangen kannst, musst Du unbedingt deine Teilnahme durch den Link in der eMail bestätigen!</strong></p><p><p> </p></p>",
"htmlErrSubscribe" => "<h3>Fehler</h3><H1>Diese eMail-Addresse ist bereits für den Newsletter eingetragen.</H1><p><em>Wir versenden unseren Newsletter in unregelmäßigen Abständen. Solltest Du also über längere Zeit keine eMail von uns erhalten haben, bedeutet das nicht gleich, dass Du nicht mehr in der Datenbank stehst... (<a href=\"mailto:sascha.krusch%40berliner-jugendfeuerwehr.de?subject=Newsletter-Neuanmeldung: Empfänger existiert bereits\">Hilfe</a>)</em></p><p><p> </p></p>",
"htmlOKDelete" => "<H1>Lieber Abonnent,</H1><p>die eMail mit dem Aktions-Link ist auf dem Weg zu dir!</p><p><strong>Um die Kündigung deines Newsletterabos zu bestätigen, klicke bitte auf den Link in der eMail!</strong></p><p><p> </p></p>",
"htmlErrDelete" => "<h3>Fehler</h3><H1>Diese eMail-Addresse ist <u>nicht für den Newsletter eingetragen</u> und kann somit nicht gelöscht werden.</H1><p><p> </p></p>",
"htmlOKConfirm" => "<H1>Die Anmeldung war erfolgreich, vielen Dank und viel Spaß beim lesen!</H1><p>Du hast dein Newsletterabonnement erfolgreich bestätigt und erhältst von nun an unseren Newsletter!</p><p><p> </p></p>",
"htmlOKConfirmWelcome" => "<em><p>P.S. Damit Du auch nichts verpasst, erhältst Du gleich die aktuelle Ausgabe von unserem Newsletter!</p></em><em><p>Also, ein Blick in dein eMail-Postfach lohnt sich ...</p></em><p><p> </p></p>",
"htmlErrConfirm" => "<h3>Fehler</h3><H1>Aktion fehlgeschlagen!</H1><p>Dein Newsletterabonnement konnte nicht bestätigt werden (<a href=\"mailto:sascha.krusch%40berliner-jugendfeuerwehr.de?subject=Newsletter-Bestätigung: Abonnement konnte nicht bestätigt werden\">Hilfe</a>).</p><p><p> </p></p>",
"htmlOKStop" => "<H1>Dein Newsletterabonnement pausiert!</H1><p>Du hast deine eMail-Adresse temporär für den Empfang unseres Newsletters ''blockiert'' und erhältst vorerst keine eMail mehr.</p><p>Bitte beachte, dass deine Daten hiermit <u>nicht</u> aus der Datenbank gelöscht wurden.</p><p>Bei Bedarf kannst Du den Empfang wieder freischalten (letzten Newsletter mit Aktivierungslink aufbewahren!) oder deine Daten endgültig löschen.</p><p><p> </p></p>",
"htmlErrStop" => "<h3>Fehler</h3><H1>Aktion fehlgeschlagen!</H1><p>Dein Newsletterabonnement konnte nicht pausiert werden (<a href=\"mailto:sascha.krusch%40berliner-jugendfeuerwehr.de?subject=Newsletter-Bestätigung: Account konnte nicht pausiert werden\">Hilfe</a>).</p><p><p> </p></p>",
"htmlOKGoOn" => "<H1>Abonnement reaktiviert!</H1><p>Deine eMail-Adresse wurde wieder für unseren Newsletter freigeschaltet und wird nun wieder beim Versandt berücksichtigt!</p><p><p> </p></p>",
"htmlErrGoOn" => "<h3>Fehler</h3><H1>Aktion fehlgeschlagen!</H1><p>Dein Newsletterabonnement konnte nicht reaktiviert werden (<a href=\"mailto:sascha.krusch%40berliner-jugendfeuerwehr.de?subject=Newsletter-Bestätigung: Account konnte nicht reaktiviert werden\">Hilfe</a>).</p><p><p> </p></p>",
"htmlOKUnsubscribe" => "<H1>Abonnement gelöscht!</H1><p>Wir bestätigen hiermit die Kündigung deines Newsletterabonnements und die Löschung deiner Daten aus der Datenbank!</p><p>Von nun an erhältst Du keinen Newsletter mehr von uns!</p><p><p> </p></p>",
"htmlErrUnsubscribe" => "<h3>Fehler</h3><H1>Aktion fehlgeschlagen!</H1><p>Dein Newsletterabonnement konnte nicht gelöscht werden (<a href=\"mailto:sascha.krusch%40berliner-jugendfeuerwehr.de?subject=Newsletter-Bestätigung: Account konnte nicht gelöscht werden\">Hilfe</a>).</p><p><p> </p></p>");
endswitch;
$rcp_id = 0;
$rcp_found = false;
if ($action == "subscribe")
{
if (!isset($email) || !$email) {
echo $msg["htmlErrNoEMail"];
} else {
$encoded_email = urlencode(strtolower($email));
$sql = "SELECT idnewsrcp FROM ".$cfg["tab"]["news_rcp"] ." WHERE email = '$encoded_email' AND idclient='$client' AND idlang='$lang'";
$db->query($sql);
if (!$db->next_record())
{
$body = $msg["txtMsgSubscribe"]."\n".$cfgClient[$client]["path"]["htmlpath"]."index.php?changelang=".$lang."&idcatart=".$newsletteridcatart."&confirm=".md5($encoded_email)."\n\n";
$timestamp = date("Y-m-d H:i:s");
$sql = "INSERT INTO ".$cfg["tab"]["news_rcp"] ." SET idnewsrcp = '".$db->nextid($cfg["tab"]["news_rcp"])."', idclient='$client', idlang='$lang', author='website', email='$encoded_email', name='".urlencode($emailname)."', deactivated='1', created='$timestamp'";
$db->query($sql);
mail("$email", $msg["txtMsgSubscribeHeader"], "$body", 'From: '.$from."\n"."X-Mailer: Contenido [PHP/" . phpversion()."]");
echo $msg["htmlOKSubscribe"];
} else {
echo $msg["htmlErrSubscribe"];
}
}
}
if ($action == "delete")
{
if (!isset($email) || !$email) {
echo $msg["htmlErrNoEMail"];
} else {
$encoded_email = urlencode(strtolower($email));
$sql = "SELECT idnewsrcp FROM ".$cfg["tab"]["news_rcp"] ." WHERE email = '$encoded_email' AND idclient='$client' AND idlang='$lang'";
$db->query($sql);
if ($db->next_record())
{
$body = $msg["txtMsgDelete"]."\n".$cfgClient[$client]["path"]["htmlpath"]."index.php?changelang=".$lang."&idcatart=".$newsletteridcatart."&unsubscribe=".md5($encoded_email)."\n\n";
mail("$email", $msg["txtMsgDeleteHeader"], "$body", 'From: '.$from."\n"."X-Mailer: Contenido [PHP/" . phpversion()."]");
echo $msg["htmlOKDelete"];
} else {
echo $msg["htmlErrDelete"];
}
}
}
if (strlen($confirm) == 32)
{
$sql = "SELECT idnewsrcp, name, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang' AND confirmed = '0'";
$db->query($sql);
while (!$rcp_found && $db->next_record())
{
if ($confirm == md5($db->f("email")))
{
$rcp_found = true;
$rcp_id = $db->f("idnewsrcp");
$name = urldecode($db->f("name"));
$encoded_email = $db->f("email");
$to = urldecode($encoded_email);
/* If no name given, use e-mail as name */
if (empty($name)) {
$name = $to;
}
}
}
if ($rcp_found) {
$sql = "UPDATE " .$cfg["tab"]["news_rcp"] ." SET confirmed = '1', deactivated = '0' WHERE idnewsrcp = '".$rcp_id."'";
$db->query($sql);
echo $msg["htmlOKConfirm"];
if ($welcome_title != "") {
$sql = "SELECT * FROM ".$cfg["tab"]["news"]." WHERE idclient='$client' AND idlang='$lang' AND name='$welcome_title'";
$db->query($sql);
if ($db->next_record()) {
$from = $db->f("newsfrom");
$subject = $db->f("subject");
$message = $db->f("message");
$date = $db->f("newsdate");
$dateday = $date[8].$date[9].".".$date[5].$date[6].".".$date[0].$date[1].$date[2].$date[3];
$time = $date[11].$date[12].":".$date[14].$date[15].":".$date[17].$date[18];
$sql = "SELECT idclient, htmlpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='$client'";
$db->query($sql);
$db->next_record();
$path = $db->f("htmlpath")."front_content.php?changelang=".$lang."&idcatart=".$newsletteridcatart."&";
$message = str_replace("MAIL_NUMBER", "1", $message); /* $number wird mit 1 gesetzt, da nur ein Empfänger */
$message = str_replace("MAIL_DATE", "$dateday", $message);
$message = str_replace("MAIL_TIME", "$time", $message);
$message = str_replace("MAIL_NAME", $name, $message);
//HTML-Version
$messageHTML = str_replace("MAIL_UNSUBSCRIBE", "<a href=\"".$path."unsubscribe=".md5($encoded_email)."\">Zusendung einstellen und Daten löschen</a>", $message); /* HerrB: $to -> md5($encoded_email) */
$messageHTML = str_replace("MAIL_STOP", "<a href=\"".$path."stop=".md5($encoded_email)."\">Newsletter stoppen</a>", $messageHTML); /* HerrB: see above */
$messageHTML = str_replace("MAIL_GOON", "<a href=\"".$path."goon=".md5($encoded_email)."\">Newsletterversand erneut aktivieren</a>", $messageHTML); /* HerrB: see above */
//Text-Version
$messageTxt = str_replace("MAIL_UNSUBSCRIBE", $path."unsubscribe=".md5($encoded_email), $message); /* HerrB: $to -> md5($encoded_email) */
$messageTxt = str_replace("MAIL_STOP", $path."stop=".md5($encoded_email), $messageTxt); /* HerrB: see above */
$messageTxt = str_replace("MAIL_GOON", $path."goon=".md5($encoded_email), $messageTxt); /* HerrB: see above */
$messageTxt = str_replace("<BR>","\n",$messageTxt); // einfacher Zeilenumbruch
$messageTxt = str_replace("</P>","</P>\n",$messageTxt); // Absatzumbruch
$mail = new phpmailer();
$absender = explode(";",$from);
if (count($absender)>1) {
$mail->From = $absender[0];
$mail->FromName = $absender[1];
}else{
$mail->From = $from;
$mail->FromName = $from;
}
$mail->AddAddress($to, $name);
/* set mail function to use */
$mail->Mailer = "mail"; //use php mail function
/* generate subject & body */
$mail->Subject = $subject;
$mail->Body =$messageHTML;
$mail->AltBody =strip_tags(html_entity_decode($messageTxt));
if ($mail->send()) {
echo $msg["htmlOKConfirmWelcome"];
}
}
}
} else {
echo $msg["htmlErrConfirm"];
}
}
if (strlen($stop) == 32)
{
$sql = "SELECT idnewsrcp, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang'";
$db->query($sql);
while (!$rcp_found && $db->next_record())
{
if ($stop == md5($db->f("email")))
{
$rcp_found = true;
$rcp_id = $db->f("idnewsrcp");
}
}
if ($rcp_found) {
$sql = "UPDATE " .$cfg["tab"]["news_rcp"] ." SET deactivated = '1' WHERE idnewsrcp = '".$rcp_id."'";
$db->query($sql);
echo $msg["htmlOKStop"];
} else {
echo $msg["htmlErrStop"];
}
}
if (strlen($goon) == 32)
{
$sql = "SELECT idnewsrcp, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang'";
$db->query($sql);
while (!$rcp_found && $db->next_record())
{
if ($goon == md5($db->f("email")))
{
$rcp_found = true;
$rcp_id = $db->f("idnewsrcp");
}
}
if ($rcp_found) {
$sql = "UPDATE " .$cfg["tab"]["news_rcp"] ." SET deactivated = '0' WHERE idnewsrcp = '".$rcp_id."'";
$db->query($sql);
echo $msg["htmlOKGoOn"];
} else {
echo $msg["htmlErrGoOn"];
}
}
if (strlen($unsubscribe) == 32)
{
$sql = "SELECT idnewsrcp, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang'";
$db->query($sql);
while (!$rcp_found && $db->next_record())
{
if ($unsubscribe == md5($db->f("email")))
{
$rcp_found = true;
$rcp_id = $db->f("idnewsrcp");
}
}
if ($rcp_found) {
$sql = "DELETE FROM " .$cfg["tab"]["news_rcp"] ." WHERE idnewsrcp = '".$rcp_id."'";
$db->query($sql);
echo $msg["htmlOKUnsubscribe"];
} else {
echo $msg["htmlErrUnsubscribe"];
}
}
?>
Ach ja, im ErrorLog konnte ich folgendes finden:
Code: Alles auswählen
[24-Aug-2005 13:31:42] PHP Parse error: parse error, unexpected '}' in /homepages/32/d21406323/htdocs/contenido/includes/functions.mod.php(155) : eval()'d code on line 6
[24-Aug-2005 13:31:56] PHP Parse error: parse error, unexpected '}' in /homepages/32/d21406323/htdocs/contenido/includes/functions.mod.php(155) : eval()'d code on line 6
[24-Aug-2005 13:32:37] PHP Parse error: parse error, unexpected '}' in /homepages/32/d21406323/htdocs/contenido/includes/functions.mod.php(155) : eval()'d code on line 6
[24-Aug-2005 13:32:46] PHP Fatal error: Cannot instantiate non-existent class: phpmailer in /homepages/32/d21406323/htdocs/index.php(563) : eval()'d code on line 902
Würd mich echt freuen wenn jemand helfen kann!
Danke im Voraus
Chrille