Hallo,
ich verwende folgende Module:
(Leider weiß ich nicht mehr wo ich die herhabe, sonst würde ich selbstverständlich den Autor nennen.)
1. Newsletter-Funktionen (Output)
Code: Alles auswählen
<?php
if (!(strstr($email,".") AND strstr($email,"@")) AND $email != "") {
$error_mail = "ff9966";
echo "<span class=red>Sie haben keine gültige EMail Adresse angegeben, bitte überprüfen Sie Ihre Eingabe </span>";
}
else {
$from = "Newsletter <newsletter@datenbank-coaching.de>";
$confirmText = "Vielen Dank für Ihren Eintrag in unsere Newsletter-Kartei!\n Sehr geehrter Interessent,\n um Ihre Teilnahme am Newsletter zu bestätigen, klicken Sie bitte auf untenstehenden Link:";
if ($action == "subscribe")
{
$sql = "SELECT idnewsrcp FROM ".$cfg["tab"]["news_rcp"] ." WHERE email = '$email' AND idclient='$client' AND idlang='$lang'";
$db->query($sql);
if (!$db->next_record())
{
$body = $confirmText."\n".$cfgClient[$client]["path"]["htmlpath"]."news.php?confirm=".md5($email)."\n\n";
$sql = "INSERT INTO ".$cfg["tab"]["news_rcp"] ." SET idnewsrcp = '".$db->nextid($cfg["tab"]["news_rcp"])."', idclient='$client', idlang='$lang', email='$email', name='$email', deactivated='1'";
$db->query($sql);
mail("$email", "Newsletter-Bestätigung", "$body", 'From: '.$from."\n"."X-Mailer: Contenido [PHP/" . phpversion()."]");
echo "<span class=\"red\">Sehr geehrter Interessent,<br><br>es wurde Ihnen eine E-Mail geschickt, um Ihre Teilnahme am Newsletter zu bestätigen.</span>";
} else {
echo "<span class=\"red\">Diese E-Mail-Adresse ist bereits für den Newsletter eingetragen.</span>";
}
}
}
if (strlen($confirm) == 32)
{
$sql = "SELECT idnewsrcp, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang' AND deactivated = 1";
$db->query($sql);
while ($db->next_record())
{
if ($confirm == md5($db->f("email")))
{
$sql = "UPDATE " .$cfg["tab"]["news_rcp"] ." SET deactivated = '0' WHERE idnewsrcp = '".$db->f("idnewsrcp")."'";
$db->query($sql);
echo "<span class=\"red\">Vielen Dank, Sie wurden nun in den Newsletter aufgenommen.</span>";
}
}
}
if (strlen($stop) == 32)
{
$sql = "SELECT idnewsrcp, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang'";
$db->query($sql);
while ($db->next_record())
{
if ($stop == md5($db->f("email")))
{
$sql = "UPDATE " .$cfg["tab"]["news_rcp"] ." SET deactivated = '1' WHERE idnewsrcp = '".$db->f("idnewsrcp")."'";
$db->query($sql);
echo "Sie wurden von der Newsletterverteilung ausgenommen.";
}
}
}
if (strlen($goon) == 32)
{
$sql = "SELECT idnewsrcp, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang'";
$db->query($sql);
while ($db->next_record())
{
if ($goon == md5($db->f("email")))
{
$sql = "UPDATE " .$cfg["tab"]["news_rcp"] ." SET deactivated = '0' WHERE idnewsrcp = '".$db->f("idnewsrcp")."'";
$db->query($sql);
echo "Der Newsletter wird nun wieder an Sie verschickt.";
}
}
}
if (strlen($unsubscribe) == 32)
{
$sql = "SELECT idnewsrcp, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang'";
$db->query($sql);
while ($db->next_record())
{
if ($unsubscribe == md5($db->f("email")))
{
$sql = "DELETE FROM " .$cfg["tab"]["news_rcp"] ." WHERE idnewsrcp = '".$db->f("idnewsrcp")."'";
$db->query($sql);
echo "Sie wurden nun aus unserer Empfängerdatenbank entfernt.";
}
}
}
?>
2. Newsletter-Eintrageformular (Output)
Code: Alles auswählen
<?php
include($cfg['path']['contenido']."includes/cfg_language_de.inc.php");
$newsletterIDCatArt = 500;
?>
<form name="Kontakt" method="post" action="front_content.php">
<table class=tab1 width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td></td>
<td width="121"></td>
<td></td>
</tr>
<tr>
<td> </td>
<td valign="bottom" width="121"><font color="#20315e">Ihre Email-Adresse:</font></td>
<td><input type="hidden" name="idcatart" value="<?php echo $newsletterIDCatArt; ?>"><input class="input" name="email" type="text"<?
if (isset($error_mail)) echo "style='background-color:$error_mail' value='$email'";
?>><input type="hidden" name="action" value="subscribe"> <input class="button" type="submit" value="Anmelden!"></td>
</tr>
<tr>
<td></td>
<td width="121"></td>
<td> </td>
</tr>
</table>
</form>
Beide Module müssen in dieser Reihenfolge im gleichen Artikel eingepflegt sein.
Leider funktioniert seit dem Upgrade auf 4.4.2 die Übergabe folgender Variable
(enthält die idcatart der Newsletter Seite mit obigen Modulen) nicht mehr. Deshalb habe ich ein bischen beschissen und diese variable in der Datei news.php (liegt in /CMS/) gesucht, gelöscht und stattdessen direkt idcatart=NummerderNewsletterseite eingetragen. Ist nicht so elegant - funktioniert aber. Wer was besseres weiß schaffe bitte Abhilfe.
Diese Module beinhalten das Versenden einer Verifizierungsmail an den Eintragenden - ist ja heutzutage nicht ganz unwichtig.
CSS müssen entsprechend den eigenen Wünschen angepasst werden.
Viele Spass
Anian