http://www.contenido.de/forum/viewtopic.php?t=3684
Nur wenn ich jetzt auf den Bestätigungslink klicke dann wird im Backend zwar der "Deaktiviert" deaktiviert, nur der Punkt "Bestätigt" bleibt leider deaktiviert (sollte doch sicherlich nicht der Fall sein, oder?).
Die Funktion "stop" & "unsubscribe" scheinen auch nicht zu funzen...
Meine news.php:
Code: Alles auswählen
<?php
$targetidcatart = 9;
include ("config.php");
include ($contenido_path . "includes/config.php");
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "cfg_sql.inc.php");
#include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "cfg_language_".$language.".inc.php");
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "functions.general.php");
$oldpwd = getcwd();
chdir($cfg["path"]["contenido"].$cfg["path"]["cronjobs"]);
include ($cfg["path"]["contenido"].$cfg["path"]["includes"] . "pseudo-cron.inc.php");
chdir($oldpwd);
$db = new DB_Contenido;
if ($cfgClient["set"] != "set")
{
rereadClients ();
}
$sql = "SELECT
idlang,
encoding
FROM
".$cfg["tab"]["lang"];
$db->query($sql);
while ($db->next_record())
{
$encoding[$db->f("idlang")] = $db->f("encoding");
}
// Sprache wechseln
if (isset($changelang)) $lang = $changelang;
// Client wechseln
if (isset($changeclient)){
$client = $changeclient;
unset($lang);
}
// Client initialisieren
if (!isset($client)) {
//load_client defined in frontend/config.php
$client = $load_client;
}
// Initialize language
if (!isset($lang)) {
//if is an entry load_lang in frontend/config.php use it, else use the first language of this client
if(isset($load_lang)){
//load_client is set in frontend/config.php
$lang = $load_lang;
}else{
$sql = "SELECT
A.idlang
FROM
".$cfg["tab"]["clients"]." AS A,
".$cfg["tab"]["lang"]." AS B
WHERE
idclient='$client' AND
A.idlang=B.idlang AND
B.active='1'
LIMIT
0,1";
$db->query($sql);
$db->next_record();
$lang = $db->f("idlang");
}
}
if (strlen($_GET["stop"]) == 32)
{
$loc .= "&stop=".$_GET["stop"];
}
if (strlen($_GET["goon"]) == 32){
$loc .= "&goon=".$_GET["goon"];
}
if (strlen($_GET["unsubscribe"]) == 32)
{
$loc .= "&unsubscribe=".$_GET["unsubscribe"];
}
if (strlen($_GET["confirm"]) == 32)
{
$loc .= "&confirm=".$_GET["confirm"];
}
header ("Location: ".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?idcatart=$targetidcatart".$loc);
?>
Code: Alles auswählen
<?php
/*
Created by unknown
Extended by Stefano Gregis 17.03.2004
*/
$error_mail_farbe='c1f7b3'; // farbe beliebig wählen
$now = date('Y-m-d H:i:s');
echo '<table width="100%">'; // Diese Tabelle wird am schluss des anderen Moduls geschlossen
/* Das erste mal muss das Modul keine Fehlermeldung darstellen, deshalb wird überprüft, od $firsttime auf 1 gestezt ist (das passiert nur wenn man das Form im zweiten Modul schickt)*/
if ($firsttime==1){
if (!strstr($email,".") OR !strstr($email,"@") OR $email == "" OR $name ==""){
if ($name ==""){
$error_mail_1 = $error_mail_farbe;
echo '<tr>
<td colspan="2"><em>Fügen Sie bitte Ihr Name und Vorname ein.</em>
</td>
</tr>'; //end echo
} // end if name is null
else {
$error_mail_2 = $error_mail_farbe;
echo '<tr>
<td colspan="2"><em>Sie haben keine gültige EMail Adresse angegeben, bitte überprüfen Sie Ihre Eingabe</em>
</td>
</tr>'; //end echo
} // end else
} // end if "name und/oder e-mail ungültig"
else {
$from = 'Newsletter <newsletter@rawert.de>'; //adresse selber anpassen
$confirmText = 'Vielen Dank für Ihren Eintrag in unsere Newsletter-Kartei! Sehr geehrter Interessent, 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='$name', deactivated='1', created='$now'";
$db->query($sql);
mail("$email", "Newsletter-Bestätigung", "$body", 'From: '.$from."\n"."X-Mailer: Contenido [PHP/" . phpversion()."]");
echo '<tr>
<td colspan="2"><em>Sehr geehrter Interessent,<br><br>es wurde Ihnen eine E-Mail geschickt, um Ihre Teilnahme am Newsletter zu bestätigen.</em></td>
</tr>'; // end echo
$firsttime=2; // So wird das zweites Modul nicht mehr dargestellt.
} // end if "next_record"
else {
echo '<tr>
<td colspan="2"><em>Diese E-Mail-Adresse ist bereits für den Newsletter eingetragen.</em></td>
</tr>'; //end echo
} //end else
} // end if "subscribe"
} // end else (name und e-mail gültig)
} // end if ($firsttime = 1)
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', lastmodified='$now' WHERE idnewsrcp = '".$db->f("idnewsrcp")."'";
$db->query($sql);
echo '<tr>
<td colspan="2"><em>Vielen Dank, Sie wurden nun in den Newsletter aufgenommen.</em></td>
</tr>'; //end echo
$firsttime=2; // So wird das zweites Modul nicht mehr dargestellt.
} //end if
} // end while
} // end if (action=confirm)
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', lastmodified='$now' WHERE idnewsrcp = '".$db->f("idnewsrcp")."'";
$db->query($sql);
echo '<tr>
<td colspan="2"><em>Sie wurden von der Newsletterverteilung ausgenommen.</em></td>
</tr>'; //end echo
$firsttime=2; // So wird das zweites Modul nicht mehr dargestellt.
} //end if
} // end while
} // end if (action=stop)
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', lastmodified='$now' WHERE idnewsrcp = '".$db->f("idnewsrcp")."'";
$db->query($sql);
echo '<tr>
<td colspan="2"><em>Der Newsletter wird nun wieder an Sie verschickt.</em></td>
</tr>'; //end echo
$firsttime=2; // So wird das zweites Modul nicht mehr dargestellt.
} //end if
} // end while
} // end if (action=goon)
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 '<tr>
<td colspan="2"><em>Sie wurden nun aus unserer Empfängerdatenbank entfernt.</em></td>
</tr>'; //end echo
$firsttime=2; // So wird das zweites Modul nicht mehr dargestellt.
} //end if
} // end while
} // end if (action=unsubscribe)
?>
Code: Alles auswählen
<?php
/*
Created by unknown
Extended by Stefano Gregis 17.03.2004
*/
include($cfg['path']['contenido']."includes/cfg_language_de.inc.php");
if ($firsttime !=2){
$newsletterIDCatArt = 9; // Wert selber konfigurieren hier und im news.php
echo'<tr>
<td>
<form name="Kontakt" method="post" action="front_content.php?">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2">
<input type="hidden" name="idcatart" value="' . $newsletterIDCatArt . '">
<input type="hidden" name="firsttime" value="1">
<br> <br>
</td>
</tr>
<tr>
<td>Ihr Name und Vorname:</td>
<td>
<input name="name" type="text" value="' . $name . '"'; //end echo
if (isset($error_mail1)){
echo "style='background-color:$error_mail1'";
} //end if
echo ' ></td>
</tr>
<tr>
<td valign="bottom">Ihre Email-Adresse:</td>
<td>
<input name="email" type="text" value="' . $email . '"'; //end echo
if (isset($error_mail2)){
echo "style='background-color:$error_mail2'";
} // end if
echo' ></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td>
<input type="hidden" name="action" value="subscribe">
<input type="submit" value="Anmelden!"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</td>
</tr>'; // end echo
} // end if
echo '
</table>'; // diese Tabelle wurde Anfangs des anderen Modul geöffnet
?>
Gruß
Acidgod