Newsletter und Frame

Gesperrt
kirli
Beiträge: 24
Registriert: Do 23. Jun 2005, 16:14
Kontaktdaten:

Newsletter und Frame

Beitrag von kirli » Do 22. Mär 2007, 00:25

Hallo

benötige mal wieder Hilfe:
Die Webseite unserer Kirchengemeinde hat ein Frame-Set bestehend aus einer Kopfleiste und einer Hauptseite (kopf und main).
Habe nun dieses Newslettermodul im Einsatz:

Code: Alles auswählen

Newsletter Blackbox Output:
<?php 
  $from = "info@domain.de "; /* Specify sender e-mail */ 
  $welcome_title = "Herzlich willkommen beim Newsletter-Dienst";                /* Title of welcome newsletter, to deactivate function: use "" */ 

  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"   => "Newsletter: Bestätigung", 
                            "txtMsgSubscribe"             =>"Herzlich willkommen beim Newsletter-Dienst. Um Ihre Teilnahme am Newsletter zu bestätigen, klicken Sie bitte auf den unten stehenden Link:", 
                            "txtMsgDeleteHeader"       => "Newsletter: Abbestellen", 
                            "txtMsgDelete"                 => "Liebe Newsletter-Abonnentin, lieber Newsletter-Abonnent. Um den Newsletter zu kündigen, klicken Sie bitte auf untenstehenden Link:", 
                            "htmlErrNoEMail"              => "<b><font-size: 3>Bitte geben Sie eine E-Mail-Adresse an.</b></font>", 
                            "htmlOKSubscribe"           => "<b><font-size: 3>Herzlich willkommen beim Newsletter-Dienst.<br><br>Sie erhalten gleich eine E-Mail. Bitte bestätigen Sie Ihre Teilnahme am Newsletter.</b></font>", 
                            "htmlErrSubscribe"           => "<b><font-size: 3>Diese E-Mail-Addresse ist bereits für den Newsletter eingetragen.</b><font>", 
                            "htmlOKDelete"                => "<b><font-size: 3>Liebe Newsletter-Abonnentin, lieber Newsletter-Abonnent.<br><br>Sie erhalten gleich eine eMail. Bitte bestätigen Sie die Kündigung des Newsletters.</b></font>", 
                            "htmlErrDelete"                => "<b><font-size: 3>Diese E-Mail-Addresse ist nicht für den Newsletter eingetragen.</b></font>", 
                            "htmlOKConfirm"              => "<b><font-size: 3>Aktion erfolgreich, vielen Dank!<br><br>Sie gehören nun zum Kreis unserer Newsletter-Abonnenten.</b></font>", 
                            "htmlOKConfirmWelcome" => "<b><font-size: 3>Bereits unser Willkommens-Newsletter ist auf dem Weg zu Ihnen! </b></font>", 
                            "htmlErrConfirm"              => "<b><font-size: 3>Aktion fehlgeschlagen!<br><br>Newsletter-Account konnte nicht bestätigt werden.</b></font>", 
                            "htmlOKStop"                   => "<b><font-size: 3>Ihr Newsletter-Abonnement pausiert.</b></font>", 
                            "htmlErrStop"                   => "<b><font-size: 3>Aktion fehlgeschlagen!<br><br>Newsletter-Account konnte nicht pausiert werden.</b></font>", 
                            "htmlOKGoOn"                 => "<b><font-size: 3>Aktion erfolgreich. Wir senden Ihnen gerne wieder unseren Newsletter.</b></font>", 
                            "htmlErrGoOn"                 => "<b><font-size: 3>Aktion fehlgeschlagen!<br><br>Newsletter-Account konnte nicht reaktiviert werden.</b></font>", 
                            "htmlOKUnsubscribe"        => "<b><font-size: 3>Wir bestätigen hiermit die Kündigung Ihres Newsletter-Abonnements.</b></font>", 
                            "htmlErrUnsubscribe"        => "<b><font-size: 3>Aktion fehlgeschlagen!<br><br>Newsletter-Account wurde nicht gekündigt.</b></font>"); 
  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"]."front_content.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"]."front_content.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); 
        $message = str_replace("MAIL_UNSUBSCRIBE", $path."unsubscribe=".md5($encoded_email), $message); 
        $message = str_replace("MAIL_STOP", $path."stop=".md5($encoded_email), $message); 
        $message = str_replace("MAIL_GOON", $path."goon=".md5($encoded_email), $message); 
    
        if (mail("$to", "$subject", "$message", 'From: '.$from."\n"."X-Mailer: Contenido [PHP/".phpversion())) { 
          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"]; 
  }    
} 
?> 

Code: Alles auswählen

Newsletter Eingabe Output:
<?php 
  switch ($lang): 
    case 0: /* There is never a language with id 0, just an example */ 
      $msg = array ("htmlName"       => "Your name:", 
                            "htmlEMail"        => "Your e-mail:", 
                            "txtSubscribe"    => "Subscribe", 
                            "txtUnsubscribe" => "Cancel", 
                            "txtOK"              => "OK"); 
      break; 
    default: /* Use this area for your preferred (or only) language */ 
      $msg = array ("htmlName"       => "<b><font-size: 2><font-color: 000080>Ihr Name:</b></font>", 
                            "htmlEMail"        => "<b><font-size: 2><font-color: 000080>Ihre eMail-Adresse:</b></font>", 
                            "txtSubscribe"    => "Anmelden", 
                            "txtUnsubscribe" => "Abmelden", 
                            "txtOK"              => "OK"); 
  endswitch; 
?> 
<form name="frmNewsletter" method="post" action="<?php echo "front_content.php?changelang=".$lang ?>"> 
  <table width="50%" align="center" border="0" cellspacing="20" cellpadding="0"> 
    <tr> 
      <td><?php echo $msg["htmlName"]; ?></td> 
      <td><input name="emailname" type="text"></td> 
    </tr> 
    <tr> 
      <td><?php echo $msg["htmlEMail"]; ?></td> 
      <td><input name="email" type="text"><input type="hidden" name="idcatart" value="<?php echo $newsletteridcatart; ?>"></td> 
    </tr> 
    <tr> 
      <td>&nbsp;</td> 
      <td><select name="action" id="action"> 
          <option value="subscribe" selected><?php echo $msg["txtSubscribe"]; ?></option> 
          <option value="delete"><?php echo $msg["txtUnsubscribe"]; ?></option> 
        </select></td> 
    </tr> 
    <tr> 
      <td>&nbsp;</td> 
      <td><input name="subscribe" type="submit" id="subscribe" value="<?php echo $msg["txtOK"]; ?>"></td> 
    </tr> 
  </table> 
</form>
Input gibe es bei beiden Modulen nicht.
Funktioniert auch alles gut, nur wenn der Nutzer auf den per Mail zugesandten Bestätigungslink klickt, wird die Seite im Vollbild aufgerufen, d.h. die Kopfleiste ist weg.
Wo und wie muss ich die Target-Einstellungen machen? Hab schon einiges probiert, stehe aber irgendwie "auf der Leitung"

Danke für eure Hilfe

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

Beitrag von emergence » Do 22. Mär 2007, 08:48

Funktioniert auch alles gut, nur wenn der Nutzer auf den per Mail zugesandten Bestätigungslink klickt, wird die Seite im Vollbild aufgerufen, d.h. die Kopfleiste ist weg.
Wo und wie muss ich die Target-Einstellungen machen? Hab schon einiges probiert, stehe aber irgendwie "auf der Leitung"
das geht nicht mittels einer target einstellung...

such bei google mal nach "frame jammer"
*** make your own tools (wishlist :: thx)

wosch

Beitrag von wosch » Do 22. Mär 2007, 09:39

emergence,

wenn man den verschickten Link manipolieren/ändern/selber bestimmen kann,
und das weiß ich nicht beim Newsletter da ich ihn nicht verwende,
könnte man einen Link schicken der ein Frameset aufruft, wo Kopf und Zieldatei definiert sind.
Dann hat sie den kompletten Inhalt für das Bestätigen.

kirli
Beiträge: 24
Registriert: Do 23. Jun 2005, 16:14
Kontaktdaten:

Newsletter und Frameset

Beitrag von kirli » Do 22. Mär 2007, 10:46

Ja, da ist mir gestern nacht auch eingefallen, dass das mit dem target völliger Blödsinn ist. Die Seite wird ja von außen aufgerufen, daher müsste das Frame-Set nachgeladen werden. Werd mal versuchen, das hinzukriegen.

Gesperrt