Modul: Newsletter-Module V4.6.0 bis V4.6.15

MediaMuchacho
Beiträge: 71
Registriert: Do 3. Nov 2005, 15:01
Wohnort: Ulm
Kontaktdaten:

Beitrag von MediaMuchacho » Fr 25. Aug 2006, 13:21

Genau daran sitze ich auch gerade. Ich habe eigentlich auch schon soweit alles fertig. Lediglich der richtig Aufruf zum Speichern der Daten im Newsletter Handler Template fehlt mir noch.

Vielleicht weiß HerrB ja Rat...wenn ich das dann soweit fertig habe veröffentliche ich es hier.

Also vielleicht zur Veranschaulichung was derzeit bei mir abläuft:
Ich habe aus dem gemeinschafts Modul von Uwe und HerrB mit den Persönlichen Daten im FEUser Profil und dem Anmeldescript hier eine Kombination gemacht:

Code: Alles auswählen

<?php 
   // Initialisation
   cInclude('classes', 'class.template.php');

   $properties = new PropertyCollection;

   $arrSettings = array();
   $arrSettings["JoinSel"]       = $properties->getValue("clientsetting", $client, "newsletter", "joinsel");
   $arrSettings["JoinMultiple"]  = $properties->getValue("clientsetting", $client, "newsletter", "joinmultiple");
   $arrSettings["JoinGroups"]    = $properties->getValue("clientsetting", $client, "newsletter", "joingroups");
   $arrSettings["OptNewWindow"]  = "CMS_VALUE[4]";

   $template = 'newsletter_form.html';

   // See Input for comments
   if ($arrSettings["JoinSel"] == "" || ($arrSettings["JoinSel"] == "UserSelected" && $arrSettings["JoinGroups"] == "")) {
      $arrSettings["JoinSel"]= "Default";
   }
   if ($arrSettings["JoinMultiple"] == "enabled") {
      $arrSettings["JoinMultiple"] = " multiple";
   } else {
      $arrSettings["JoinMultiple"] = "";
   }
   
   if (!is_object($tpl)) {
      $tpl = new Template;
   }
   $tpl->reset();
   $tpl->set('s', 'FORM_ACTION', 'front_content.php?changelang='.$lang.'&idcatart='.$properties->getValue("clientsetting", $client, "Newsletter", "idcatart"));
   if ($arrSettings["OptNewWindow"]) {
      $tpl->set('s', 'FORM_TARGET', ' target="_blank"');
   } else {
      $tpl->set('s', 'FORM_TARGET', '');
   }
   $tpl->set('s', 'EMAILNAME', mi18n("Name"));	


   if ($arrSettings["JoinSel"] == "UserSelected") {
      cInclude("classes", "class.newsletter.groups.php");
      $rgroups = new RecipientGroupCollection;
      $rgroups->select("idclient = '$client' AND idlang = '$lang' AND defaultgroup = '0' AND idnewsgroup IN (".$arrSettings["JoinGroups"].")","", "groupname ASC");

      if ($rgroups->Count() > 0) {
         $tmp_groups = '			<tr>'.chr(10);
         $tmp_groups .= '				<td><label for="groupsel" class="label_searchbox">'.mi18n("Select").'</label></td>'.chr(10);
         $tmp_groups .= '				<td><select name="GroupSel[]" size="2" id="groupsel" style="margin-bottom:.4em;" class="input_searchbox" '.$arrSettings["JoinMultiple"].'/>'.chr(10);
      
         while ($rgroup = $rgroups->next()) {
            $tmp_groups .= '					<option value="'.$rgroup->get("idnewsgroup").'">'.$rgroup->get("groupname").'</option>'.chr(10);
         }
         $tmp_groups .= '				</select></td>'.chr(10);
         $tmp_groups .= '			</tr>'.chr(10);
         $tpl->set('s', 'GROUPS', $tmp_groups);	
      } else {
         $tpl->set('s', 'GROUPS', '');	
      }
   } else {
      $tpl->set('s', 'GROUPS', '');	
   }


if (!is_object($oTpl)) {
   $oTpl = new Template;
}
$oTpl->reset();
$tpl->set('s', 'MESSAGE', $sMessage);

$tpl->set('d', 'FIELDTITLE', mi18n("email"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'email');
$tpl->set('d', 'FIELDID', 'email');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["email"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Titel"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Titel');
$tpl->set('d', 'FIELDID', 'titel');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Titel"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Vorname"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Vorname');
$tpl->set('d', 'FIELDID', 'vorname');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Vorname"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Nachname"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Nachname');
$tpl->set('d', 'FIELDID', 'nachname');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Nachname"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Strasse"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Strasse');
$tpl->set('d', 'FIELDID', 'strasse');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Strasse"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Postleitzahl"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Postleitzahl');
$tpl->set('d', 'FIELDID', 'postleitzahl');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Postleitzahl"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Ort"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Ort');
$tpl->set('d', 'FIELDID', 'ort');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Ort"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Land"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Land');
$tpl->set('d', 'FIELDID', 'land');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Land"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Firma"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Firma');
$tpl->set('d', 'FIELDID', 'firma');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Firma"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Telefon"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Telefon');
$tpl->set('d', 'FIELDID', 'telefon');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Telefon"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Fax"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Fax');
$tpl->set('d', 'FIELDID', 'fax');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Fax"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Mobil"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Mobil');
$tpl->set('d', 'FIELDID', 'mobil');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Mobil"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Homepage"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Homepage');
$tpl->set('d', 'FIELDID', 'homepage');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Homepage"]);
$tpl->next();


   $tpl->set('s', 'NEWSLETTER', mi18n("Newsletter"));
   $tpl->set('s', 'SUBSCRIBE', mi18n("Subscribe"));
   $tpl->set('s', 'DELETE', mi18n("Unsubscribe"));
   $tpl->set('s', 'WELCOME', mi18n("Willkommen"));
   $tpl->set('s', 'GO', mi18n("Go"));	
   $tpl->set('s', 'JOIN', mi18n("Join"));	

   $tpl->generate('templates/'.$template);

?> 
Entsprechend angepasst ist das Newsletter HTML Template:

Code: Alles auswählen

<p>{WELCOME}<br/><br/></p>
<div id="newsletterbox">
<p>Mit * gekennzeichnete Felder müssen ausgefüllt werden.</p>
	<form method="post" action="{FORM_ACTION}" style="padding:0;margin:0;" name="newsletterform" id="newsletterform"{FORM_TARGET}>
		<table border="0" cellspacing="0" cellpadding="0">
			<tr>
				<td><img src="images/blank.gif" width="70" height="1" border="0"/></td>
				<td><img src="images/blank.gif" width="73" height="1" border="0"/></td>
				<td><img src="images/blank.gif" width="1" height="1" border="0"/></td>
			</tr>
	<tr>
		<td class="meldung" colspan="2"><p>{MESSAGE}</p></td>
	</tr>
			<tr>
				<td><label for="emailname" class="label_searchbox"><p>{EMAILNAME}</p></label></td>
				<td><input type="text" name="emailname" id="emailname" value="" class="input_searchbox" style="margin-bottom:.4em;"/></td>
				<td>&nbsp;</td>
			</tr>

<!-- BEGIN:BLOCK -->   
	<tr>
		<td width="75" class="textklein"><p>{FIELDTITLE}</p></td>
		<td width="275" class="textklein"><input size="30" type="{FIELDTYPE}" name="{FIELDNAME}" id="{FIELDID}" value="{FIELDVALUE}" style="margin-bottom:.4em;"></td>
	</tr>
<!-- END:BLOCK -->

{GROUPS}
			<tr>
				<td align="right" colspan="2"><select name="action" id="action" class="input_newsletterselect">
					<option value="subscribe" selected>{SUBSCRIBE}</option>
					<option value="delete">{DELETE}</option>
				</select></td>
<tr></tr>
				<td align="right" colspan="2"><a href="javascript:document.forms['newsletterform'].submit();" style="color: #9d9ea2;" title="{GO}">{GO}</a></td>
			</tr>		
		</table>
	</form>
</div>
Funktioniert übrigens prima, auch wenn noch nicht alles fertig ist, bis hierhin.

Jetzt wirds aber knifflig. Aufgrund mangelnder Kentnisse der Klassen und wie was wo gespeichert wird bin ich auf Vermutungen und mehr oder weniger gezieltem herumstochern in der API angewiesen.

Den Newsletter Handler habe ich mal so angegangen:
(Nur ein Ausschnitt aus dem Code )

Code: Alles auswählen

if ($recipient = $objRecipients->next()) { 
    // $idrecipient = $recipient->get("idnewsrcp");
    $recipient->set("confirmed",1); 
    $recipient->set("confirmeddate", date("Y-m-d H:i:s"), false); 
    $recipient->set("deactivated",0); 
    $recipient->store(); 

    $strMessage = mi18n("Thank you! You have confirmed your subscription to our newsletter!");

    $newsletters = New NewsletterCollection;
    $newsletters->select("idclient = '$client' AND idlang='$lang' AND welcome='1'"); 

    if ($newsletter = $newsletters->next()) { 
      $result = $newsletter->send($objProperties->getValue("clientsetting", $client, "Newsletter", "idcatart"),"single",$recipient->get("idnewsrcp")); 

      $strMessage .= mi18n(" The welcome newsletter is already on the way to you!");
    } 

    if ($arrSettings["FrontendLink"] == "enabled" && $arrSettings["FrontendConfirm"] == "ActivateUser") {
       $frontendusers = new FrontendUserCollection;
       $frontendusers->select("idclient = '$client' AND username='".urlencode($recipient->get("email"))."'");

       if ($frontenduser = $frontendusers->next()) {
          $frontenduser->set("active",1);
          $pwd = substr(md5(rand()),0,8); // Generating password
          $frontenduser->set("password", $pwd);
          $frontenduser->store();

// Erweiterte FEUser Daten speichern
           $oFEUser = new FrontendUser;
           $oFEUser->setProperty("titel", "address", $Titel);
           $oFEUser->setProperty("vorname", "address", $Vorname);
	  $oFEUser->setProperty("nachname", "address", $Nachname);
	  $oFEUser->setProperty("postleitzahl", "address", $Postleitzahl);
	  $oFEUser->setProperty("ort", "address", $Ort);
	  $oFEUser->setProperty("strasse", "address", $Strasse);
	  $oFEUser->setProperty("land", "address", $Land);
	  $oFEUser->setProperty("firma", "address", $Firma);
	  $oFEUser->setProperty("telefon", "address", $Telefon);
	  $oFEUser->setProperty("fax", "address", $Fax);
	  $oFEUser->setProperty("mobil", "address", $Mobil);
	  $oFEUser->setProperty("email", "address", $eMail);
	  $oFEUser->setProperty("homepage", "address", $Homepage);
	  $sMessage = mi18n("Ihre Daten sind erfolgreich aktualisiert worden.");
           $oFEUser->store(); # weiss gar nicht, ob das nötig ist
// Ende des FEUser Daten speicherns

          $strMessage .= mi18n("<br><br>Additionally, your website account has been activated. You can now use the following username and password to log in to access special areas on our website:<br>");
          $strMessage .= mi18n("Username: ").$recipient->get("email").mi18n("<br>Password: ").$pwd;

          $body = mi18n("txtMailPassword")."\n\n".mi18n("Username: ").$recipient->get("email")."\n".mi18n("Password: ").$pwd."\n\n".mi18n("Click here to login: ").$cfgClient[$client]["path"]["htmlpath"]."front_content.php?changelang=".$lang;

          $mail           = new phpmailer();
          $mail->From     = $arrSettings["SenderEMail"];
          $mail->FromName = $arrSettings["SenderEMail"];
          $mail->AddAddress($recipient->get("email"));
          $mail->Mailer   = "mail";
          $mail->Subject  = mi18n("Website account");
          $mail->Body     = $body;
          // $mail->AltBody  = $body;
Ab : // Erweiterte FEUser Daten speichern hab ich mal herumprobiert. Ich vermute aber, dass das so nicht geht. Es ist vielmehr ein erster Versuch. Mir fehlt die richtige Klasse um die Daten zu speichern.
Für Hilfe wäre ich jedenfalls dankbar.

Achja mir ist klar, dass die &_REQUEST Daten derzeit nicht richtig integriert sind. Das fällt unter "feinheiten" und kommt am Schluss. Ich will das speichern der zusätzlichen Felddaten erstmal irgendwie hinkriegen...
Media in Vita - Medienagentur
Webdesign, Programmierung, Design

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mo 28. Aug 2006, 14:38

Ja, so wäre der Weg - allerdings würde ich gerne andere Property-Definitionen sehen ... der erste Parameter ist der Typ, der zweite der Name. Außerdem macht sich englisch als Kennung immer besser.

Also so etwas:

Code: Alles auswählen

$oFEUser->setProperty("address", "zip", $Postleitzahl);
("zip" statt "postleitzahl" und beide Angaben vertauscht)

Dazu muss man natürlich auch passend das FrontendUser-Plugin anpassen - das ist auch der Grund, warum bei Uwes Thread der zweite Beitrag auf "bitte warten" lautet... Es ist zwar in Arbeit, ich habe es aber noch nicht geschafft, das fertig zu machen.

->store ist bei Properties nicht erforderlich.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

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

Beitrag von zoot » Di 29. Aug 2006, 08:29

Hi Herrb
das Modul läuft prima!
ein dickes Lob für den guten Support und das Modul selbst.

MediaMuchacho
Beiträge: 71
Registriert: Do 3. Nov 2005, 15:01
Wohnort: Ulm
Kontaktdaten:

Beitrag von MediaMuchacho » Di 29. Aug 2006, 14:09

ok hier also nachtrag ein kleiner PM Austausch mit HerrB

MediaMuchacho hat folgendes geschrieben:
Servus

Genauso gut fand ich das Paket von dir und Uwe mit den erweiterten Persönlichen Daten der FEUser.

Mir fehlt nur leider die richtige Klasse für den Newsletter Handler um die erweiterten FEUser Daten aus euren persönlichen Daten Modul für neuerstellte FEUser zu speichern.

Danke dir schonmal
viele Grüße
Muchacho

Ähm, so ganz habe ich es nicht verstanden. Also: Es gibt Frontend User und Newsletter-Empfänger.

Eigenschaften der Frontend User kann ich mit
Code:

Code: Alles auswählen

cInclude ("classes", "class.frontend.users.php"); 
$oFEUser = new FrontendUser; 
$oFEUser->loadByPrimaryKey($id); 
$oFEUser->getProperty... bzw. $oFEUser->setProperty... 
lesen bzw. schreiben.

Eigenschaften der Newsletter-Empfänger mit
Code:

Code: Alles auswählen

cInclude ("classes", "class.newsletter.recipients.php"); 
$oRcp = new Recipient; 
$oRcp->loadByPrimaryKey($id); 
$oRcp->getProperty... bzw. $oRcp->setProperty... 

Damit diese im Backend gesehen und geändert werden können, benötigt man die Frontend User-Plugins und/oder die Newsletter-Empfänger-Plugins.
Ich setze mich jetzt dran und schau mal ob das funktioniert...
Media in Vita - Medienagentur
Webdesign, Programmierung, Design

MediaMuchacho
Beiträge: 71
Registriert: Do 3. Nov 2005, 15:01
Wohnort: Ulm
Kontaktdaten:

Beitrag von MediaMuchacho » Do 31. Aug 2006, 13:52

so ein kleines Update.

In meinem Projekt funktioniert die Erweiterung jetzt.
Ich werde die Module noch etwas umschreiben und dann hier veröffentlichen. Daraus lässt sich dann sicher ein hübsches gemeinsames "Newsletter & Frontenduser-Profil" Modul machen.

Ist ja auch ein Mix aus beidem...bzw eine Erweiterung.
Es ist also jetzt möglich mit einer Anmeldung einen Newsletter sowie einen Frontenduser zu erstellen.

Der Frontenduser bekommt dabei noch ein hübsches kleines persönliches Profil verpasst mit allerlei frei wählbaren Daten. Der Einfachheit halber sind es weitestgehend die Daten vom bestehenden "Persönliches Profil" Modul von Uwe und HerrB

Ich bin lediglich HerrBs Wunsch gefolgt und hab "address" und "zip" bzw das jeweilige Datenfeld vertauscht...
Die beiden vorhergehenden Module sind also nicht so ohne weiteres miteinander kompatibel...

Hier also zum durchschauen mal einige der Module und Templates:
Kundencenter Form
Kundencenter Form
Ausgabe

Code: Alles auswählen

<?php 
   // Initialisation
   cInclude('classes', 'class.template.php');

   $properties = new PropertyCollection;

   $arrSettings = array();
   $arrSettings["JoinSel"]       = $properties->getValue("clientsetting", $client, "newsletter", "joinsel");
   $arrSettings["JoinMultiple"]  = $properties->getValue("clientsetting", $client, "newsletter", "joinmultiple");
   $arrSettings["JoinGroups"]    = $properties->getValue("clientsetting", $client, "newsletter", "joingroups");
   $arrSettings["OptNewWindow"]  = "CMS_VALUE[4]";

   $template = 'newsletter_form.html';

   // See Input for comments
   if ($arrSettings["JoinSel"] == "" || ($arrSettings["JoinSel"] == "UserSelected" && $arrSettings["JoinGroups"] == "")) {
      $arrSettings["JoinSel"]= "Default";
   }
   if ($arrSettings["JoinMultiple"] == "enabled") {
      $arrSettings["JoinMultiple"] = " multiple";
   } else {
      $arrSettings["JoinMultiple"] = "";
   }
   
   if (!is_object($tpl)) {
      $tpl = new Template;
   }
   $tpl->reset();
   $tpl->set('s', 'FORM_ACTION', 'front_content.php?changelang='.$lang.'&idcatart='.$properties->getValue("clientsetting", $client, "Newsletter", "idcatart"));
   if ($arrSettings["OptNewWindow"]) {
      $tpl->set('s', 'FORM_TARGET', ' target="_blank"');
   } else {
      $tpl->set('s', 'FORM_TARGET', '');
   }
   $tpl->set('s', 'EMAILNAME', mi18n("Name"));	


   if ($arrSettings["JoinSel"] == "UserSelected") {
      cInclude("classes", "class.newsletter.groups.php");
      $rgroups = new RecipientGroupCollection;
      $rgroups->select("idclient = '$client' AND idlang = '$lang' AND defaultgroup = '0' AND idnewsgroup IN (".$arrSettings["JoinGroups"].")","", "groupname ASC");

      if ($rgroups->Count() > 0) {
         $tmp_groups = '			<tr>'.chr(10);
         $tmp_groups .= '				<td><label for="groupsel" class="label_searchbox">'.mi18n("Select").'</label></td>'.chr(10);
         $tmp_groups .= '				<td><select name="GroupSel[]" size="2" id="groupsel" style="margin-bottom:.4em;" class="input_searchbox" '.$arrSettings["JoinMultiple"].'/>'.chr(10);
      
         while ($rgroup = $rgroups->next()) {
            $tmp_groups .= '					<option value="'.$rgroup->get("idnewsgroup").'">'.$rgroup->get("groupname").'</option>'.chr(10);
         }
         $tmp_groups .= '				</select></td>'.chr(10);
         $tmp_groups .= '			</tr>'.chr(10);
         $tpl->set('s', 'GROUPS', $tmp_groups);	
      } else {
         $tpl->set('s', 'GROUPS', '');	
      }
   } else {
      $tpl->set('s', 'GROUPS', '');	
   }


$tpl->set('s', 'MESSAGE', $sMessage);

$tpl->set('d', 'FIELDTITLE', mi18n("email"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'email');
$tpl->set('d', 'FIELDID', 'email');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["email"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Vorname"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Vorname');
$tpl->set('d', 'FIELDID', 'vorname');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Vorname"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Nachname"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Nachname');
$tpl->set('d', 'FIELDID', 'nachname');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Nachname"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Strasse"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Strasse');
$tpl->set('d', 'FIELDID', 'strasse');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Strasse"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Postleitzahl"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Postleitzahl');
$tpl->set('d', 'FIELDID', 'postleitzahl');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Postleitzahl"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Ort"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Ort');
$tpl->set('d', 'FIELDID', 'ort');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Ort"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Land"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Land');
$tpl->set('d', 'FIELDID', 'land');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Land"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Firma"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Firma');
$tpl->set('d', 'FIELDID', 'firma');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Firma"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Telefon"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Telefon');
$tpl->set('d', 'FIELDID', 'telefon');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Telefon"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Fax"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Fax');
$tpl->set('d', 'FIELDID', 'fax');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Fax"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Mobil"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Mobil');
$tpl->set('d', 'FIELDID', 'mobil');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Mobil"]);
$tpl->next();

$tpl->set('d', 'FIELDTITLE', mi18n("Homepage"));
$tpl->set('d', 'FIELDTYPE', 'text');
$tpl->set('d', 'FIELDNAME', 'Homepage');
$tpl->set('d', 'FIELDID', 'homepage');
$tpl->set('d', 'FIELDVALUE', $_REQUEST["Homepage"]);
$tpl->next();

# Bin persönlich ein Fan von "Wenn Ausgabe, dann alles, kein Mischmasch". Das "\n" fügt einen Zeilenumbruch ein.

   $tpl->set('s', 'NEWSLETTER', mi18n("Newsletter"));
   $tpl->set('s', 'SUBSCRIBE', mi18n("Subscribe"));
   $tpl->set('s', 'DELETE', mi18n("Unsubscribe"));
   $tpl->set('s', 'WELCOME', mi18n("Willkommen"));
   $tpl->set('s', 'GO', mi18n("Go"));	
   $tpl->set('s', 'JOIN', mi18n("Join"));	

   $tpl->generate('templates/'.$template);

?> 
Das erweiterte newsletter_form.html Template

Code: Alles auswählen

<p>{WELCOME}<br/><br/></p>
<div id="newsletterbox">
<p>Mit * gekennzeichnete Felder müssen ausgefüllt werden.</p>
	<form method="post" action="{FORM_ACTION}" style="padding:0;margin:0;" name="newsletterform" id="newsletterform"{FORM_TARGET}>
		<table border="0" cellspacing="0" cellpadding="0">
			<tr>
				<td><img src="images/blank.gif" width="70" height="1" border="0"/></td>
				<td><img src="images/blank.gif" width="73" height="1" border="0"/></td>
				<td><img src="images/blank.gif" width="1" height="1" border="0"/></td>
			</tr>
	<tr>
		<td class="meldung" colspan="2"><p>{MESSAGE}</p></td>
	</tr>
			<tr>
				<td><label for="emailname" class="label_searchbox"><p>{EMAILNAME}</p></label></td>
				<td><input type="text" name="emailname" id="emailname" value="" class="input_searchbox" style="margin-bottom:.4em;"/></td>
				<td>&nbsp;</td>
			</tr>

<!-- BEGIN:BLOCK -->   
	<tr>
		<td width="75" class="textklein"><p>{FIELDTITLE}</p></td>
		<td width="275" class="textklein"><input size="30" type="{FIELDTYPE}" name="{FIELDNAME}" id="{FIELDID}" value="{FIELDVALUE}" style="margin-bottom:.4em;"></td>
	</tr>
<!-- END:BLOCK -->

{GROUPS}
			<tr>
				<td align="right" colspan="2"><select name="action" id="action" class="input_newsletterselect">
					<option value="subscribe" selected>{SUBSCRIBE}</option>
					<option value="delete">{DELETE}</option>
				</select></td>
<tr></tr>
				<td align="right" colspan="2"><a href="javascript:document.forms['newsletterform'].submit();" style="color: #9d9ea2;" title="{GO}">{GO}</a></td>
			</tr>		
		</table>
	</form>
</div>
Zuletzt geändert von MediaMuchacho am Do 31. Aug 2006, 14:11, insgesamt 1-mal geändert.
Media in Vita - Medienagentur
Webdesign, Programmierung, Design

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 31. Aug 2006, 13:57

Ähm, im jeweiligen Eingabe-Code hat sich etwas geändert?

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

MediaMuchacho
Beiträge: 71
Registriert: Do 3. Nov 2005, 15:01
Wohnort: Ulm
Kontaktdaten:

Beitrag von MediaMuchacho » Do 31. Aug 2006, 13:59

Newsletter Handler
Ausgabe:

Code: Alles auswählen

<?php 
cInclude("classes", "class.newsletter.recipients.php"); 
cInclude("classes", "class.newsletter.php");
cInclude("classes", "class.frontend.users.php");
cInclude("classes", "class.phpmailer.php");
$objProperties = new PropertyCollection;
$objRecipients = new RecipientCollection; 
$strMessage = "&nbsp;";

$arrSettings = array();
$arrSettings["JoinSel"]         = $objProperties->getValue("clientsetting", $client, "newsletter", "joinsel");
$arrSettings["JoinMultiple"]    = $objProperties->getValue("clientsetting", $client, "newsletter", "joinmultiple");
$arrSettings["JoinGroups"]      = $objProperties->getValue("clientsetting", $client, "newsletter", "joingroups");
$arrSettings["FrontendLink"]    = $objProperties->getValue("clientsetting", $client, "newsletter", "frontendlink");
$arrSettings["FrontendConfirm"] = "CMS_VALUE[5]";
$arrSettings["FrontendDel"]     = "CMS_VALUE[6]";
$arrSettings["SenderEMail"]     = "CMS_VALUE[7]";

// Setting default values
if ($arrSettings["JoinSel"] == "" || $arrSettings["JoinGroups"] == "") {
   $arrSettings["JoinSel"] = "Default";
}
if ($arrSettings["FrontendConfirm"] == "") {
   $arrSettings["FrontendConfirm"] = "ActivateUser";
}
if ($arrSettings["FrontendDel"] == "") {
   $arrSettings["FrontendDel"] = "DeleteUser";
}

if ($action == "subscribe") { 

  if (!isset($email) || !$email) { 
    $strMessage = mi18n("Please specify an e-mail address.");
  } elseif (!isValidMail($email)) {
    $strMessage = mi18n("Please specify a valid e-mail address.");
  } elseif ($objRecipients->emailExists($email)) {
    $strMessage = mi18n("This e-mail address has been already registered for the newsletter.");
  } elseif (!isset($Nachname) || !$Nachname ) { 
    $strMessage = mi18n("Please specify a valid surname.");
  } elseif (!isset($Vorname) || !$Vorname ) { 
    $strMessage = mi18n("Please specify a valid name.");
  } else {
    $email = ereg_replace("\n", "", $email); 
    $email = ereg_replace("\r", "", $email); 
    unset($recipient);
 
    /* Analyze group specification */
    switch ($arrSettings["JoinSel"]) {
       case "Selected":
          $recipient = $objRecipients->create($email, $emailname, 0, $arrSettings["JoinGroups"]);
          break;
       case "UserSelected":
          $intSelCount = count($GroupSel);

          if ($intSelCount == 0) {
             $recipient = $objRecipients->create($email,$emailname); // No group selected
          } else {
             if ($intSelCount > 1 && $arrSettings["JoinMultiple"] != "enabled") {
                $strMessage = mi18n("Please select one group, only.");
             } else {
                /* Recipient wants to join special groups */
                $arrGroups = explode(",",$arrSettings["JoinGroups"]);

                /* Check, if received data is valid and matches the group selection */
                $blnError = false;
                foreach ($GroupSel as $join) {
                   if (!is_numeric($join) || !in_array($join, $arrGroups)) {
                      $blnError = true;
                      break;
                   }
                }

                if ($blnError) {
                   $strMessage = mi18n("There was an error processing your request. Please ask the webmaster for help.");
                } else {
                   $recipient = $objRecipients->create($email, $emailname, 0, implode(",",$GroupSel));
                }
             }	
          }
          break;
       default:
          $recipient = $objRecipients->create($email,$emailname);
    }

    if ($recipient) { 
      $mail       = new phpmailer();

      $blackboxidcatart = $objProperties->getValue("clientsetting", $client, "Newsletter", "idcatart");
      $body = mi18n("txtMailSubscribe")."\n".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?changelang=".$lang."&idcatart=".$blackboxidcatart."&confirm=".$recipient->get("hash")."\n\n";

      $mail->From     = $arrSettings["SenderEMail"];
      $mail->FromName = $arrSettings["SenderEMail"];
      $mail->AddAddress($email);
      $mail->Mailer   = "mail";
      $mail->Subject  = mi18n("Newsletter: Confirmation");
      $mail->Body     = $body;
      // $mail->AltBody  = $body;

      if($mail->Send()) {
      // if (mail("$email", mi18n("Newsletter: Confirmation"), "$body", 'From: '.$arrSettings["SenderEMail"]."\n"."X-Mailer: Contenido [PHP/" . phpversion()."]")) {
        $strMessage = mi18n("Dear subscriber,<br>your e-mail address is now subscribed for our newsletter. You will now receive an e-mail asking you to confirm your subscription.");

        if ($arrSettings["FrontendLink"] == "enabled") {
           $frontendusers = new FrontendUserCollection;
           
           if (!$frontendusers->userExists($email)) {
              if ($frontenduser = $frontendusers->create($email)) {
                 if ($arrSettings["FrontendConfirm"] == "ActivateUser") { // Inform about frontend user account creation
                      
                      $strMessage .= mi18n("<br><br>After the confirmation you will also receive a password which you can use with your e-mail address to logon to special areas on this website.");
                      // Erweiterte FEUser Profil Daten speichern
                       $FEUserID = $frontenduser->get("idfrontenduser");
                       $oFEUser = new FrontendUser;
                       $oFEUser->loadByPrimaryKey($FEUserID);
                       
	  $oFEUser->setProperty("address", "title", $Titel);
	  $oFEUser->setProperty("address", "surname", $Vorname);
	  $oFEUser->setProperty("address", "name", $Nachname);
	  $oFEUser->setProperty("address", "zip", $Postleitzahl);
           $oFEUser->setProperty("adress", "city", $Ort);
	  $oFEUser->setProperty("address", "street", $Strasse);
	  $oFEUser->setProperty("address", "land", $Land);
	  $oFEUser->setProperty("address", "company", $Firma);
	  $oFEUser->setProperty("address", "telefone", $Telefon);
	  $oFEUser->setProperty("address", "fax", $Fax);
	  $oFEUser->setProperty("address", "mobile", $Mobil);
	  $oFEUser->setProperty("address", "homepage", $Homepage);
                 }
              } else {
                 $strMessage .= mi18n("<br><br>Sorry, there was a problem creating your website account. Please ask the webmaster for help.");
              }
           }
        }
      } else { 
        $strMessage = mi18n("Sorry, there was a problem sending the confirmation mail to your e-mail address. Please ask the webmaster for help."); 
      } 
    } else { 
      $strMessage = mi18n("Sorry, there was a problem subscribing your e-mail address for the newsletter. Please ask the webmaster for help."); 
    } 
  } 
} elseif ($action == "delete") { 
  if (!isset($email) || !$email) { 
    $strMessage = mi18n("Please specify an e-mail address.");
  } elseif (!isValidMail($email)) {
    $strMessage = mi18n("Please specify a valid e-mail address."); 
  } elseif ($recipient = $objRecipients->emailExists($email)) { 
    $mail       = new phpmailer();

    $blackboxidcatart = $objProperties->getValue("clientsetting", $client, "Newsletter", "idcatart");
    $body = mi18n("txtMailDelete")."\n".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?changelang=".$lang."&idcatart=".$blackboxidcatart."&unsubscribe=".$recipient->get("hash")."\n\n"; 

    $mail->From     = $arrSettings["SenderEMail"];
    $mail->FromName = $arrSettings["SenderEMail"];
    $mail->AddAddress($recipient->get("email"));
    $mail->Mailer   = "mail";
    $mail->Subject  = mi18n("Newsletter: Cancel subscription");
    $mail->Body     = $body;
    // $mail->AltBody  = $body;

    if($mail->Send()) {
    // if (mail($recipient->get("email"), mi18n("Newsletter: Cancel subscription"), $body, 'From: '.$arrSettings["SenderEMail"]."\n"."X-Mailer: Contenido [PHP/" . phpversion()."]")) { 
      $strMessage = mi18n("Dear subscriber,<br>a mail has been sent to your e-mail address. Please confirm the cancelation of the newsletter subscription."); 
    } else { 
      $strMessage = mi18n("Sorry, there was a problem sending you the cancelation confirmation e-mail. Please ask the webmaster for help."); 
    } 
  } else {
    $strMessage = mi18n("Sorry, the e-mail address was not found.");
  }
} elseif (strlen($confirm) == 30 && is_alphanumeric($confirm)) {  
  $objRecipients->select("idclient = '$client' AND idlang='$lang' AND hash = '$confirm'"); 
  
  if ($recipient = $objRecipients->next()) { 
    // $idrecipient = $recipient->get("idnewsrcp");
    $recipient->set("confirmed",1); 
    $recipient->set("confirmeddate", date("Y-m-d H:i:s"), false); 
    $recipient->set("deactivated",0); 
    $recipient->store(); 

    $strMessage = mi18n("Thank you! You have confirmed your subscription to our newsletter!");

    $newsletters = New NewsletterCollection;
    $newsletters->select("idclient = '$client' AND idlang='$lang' AND welcome='1'"); 

    if ($newsletter = $newsletters->next()) { 
      $result = $newsletter->send($objProperties->getValue("clientsetting", $client, "Newsletter", "idcatart"),"single",$recipient->get("idnewsrcp")); 

      $strMessage .= mi18n(" The welcome newsletter is already on the way to you!");
    } 

    if ($arrSettings["FrontendLink"] == "enabled" && $arrSettings["FrontendConfirm"] == "ActivateUser") {
       $frontendusers = new FrontendUserCollection;
       $frontendusers->select("idclient = '$client' AND username='".urlencode($recipient->get("email"))."'");

       if ($frontenduser = $frontendusers->next()) {
          $frontenduser->set("active",1);
          $pwd = substr(md5(rand()),0,8); // Generating password
          $frontenduser->set("password", $pwd);
          $frontenduser->store();



          $strMessage .= mi18n("<br><br>Additionally, your website account has been activated. You can now use the following username and password to log in to access special areas on our website:<br>");
          $strMessage .= mi18n("Username: ").$recipient->get("email").mi18n("<br>Password: ").$pwd;

          $body = mi18n("txtMailPassword")."\n\n".mi18n("Username: ").$recipient->get("email")."\n".mi18n("Password: ").$pwd."\n\n".mi18n("Click here to login: ").$cfgClient[$client]["path"]["htmlpath"]."front_content.php?changelang=".$lang;

          $mail           = new phpmailer();
          $mail->From     = $arrSettings["SenderEMail"];
          $mail->FromName = $arrSettings["SenderEMail"];
          $mail->AddAddress($recipient->get("email"));
          $mail->Mailer   = "mail";
          $mail->Subject  = mi18n("Website account");
          $mail->Body     = $body;
          // $mail->AltBody  = $body;

          if($mail->Send()) {
          // if (mail($recipient->get("email"), mi18n("Website account"), $body, 'From: '.$arrSettings["SenderEMail"]."\n"."X-Mailer: Contenido [PHP/" . phpversion()."]")) {
             $strMessage .= mi18n("<br><br>The account details and the password has also been sent to your mail account.");
          } else {
             $strMessage .= mi18n("<br><br><b>Sorry, there was a problem sending you the account details by mail. Please remember the given password.</b><b>");
          }
       } else {
          $strMessage .= mi18n("<br><br>Sorry, there was a problem activating your website account, also. Please ask the webmaster for help.");
       }
    }
  } else { 
    $strMessage = mi18n("Sorry, there was a problem confirming your subscription. Please ask the webmaster for help."); 
  } 
} elseif (strlen($stop) == 30 && is_alphanumeric($stop)) { 
  $objRecipients->select("idclient = '$client' AND idlang='$lang' AND hash = '$stop'"); 

  if ($recipient = $objRecipients->next()) { 
    $recipient->set("deactivated",1); 
    $recipient->store(); 

    $strMessage = mi18n("Your newsletter subscription has been paused.");
  } else { 
    $strMessage = mi18n("Sorry, there was a problem pausing your newsletter subscription. Please ask the webmaster for help."); 
  } 
} elseif (strlen($goon) == 30 && is_alphanumeric($goon)) { 
  $objRecipients->select("idclient = '$client' AND idlang='$lang' AND hash = '$goon'"); 

  if ($recipient = $objRecipients->next()) { 
    $recipient->set("deactivated",0); 
    $recipient->store();

    $strMessage = mi18n("Newsletter subscription has been resumed."); 
  } else { 
    $strMessage = mi18n("Sorry, there was a problem resuming your newsletter subscription. Please ask the webmaster for help."); 
  }  
} elseif (strlen($unsubscribe) == 30 && is_alphanumeric($unsubscribe)) { 
  $objRecipients->select("idclient = '$client' AND idlang='$lang' AND hash = '$unsubscribe'"); 

  if ($recipient = $objRecipients->next()) { 
    $strEMail = $recipient->get("email"); // Saving recipient e-mail address
    $objRecipients->delete($recipient->get("idnewsrcp")); 

    $strMessage = mi18n("Your e-mail address has been removed from our list of newsletter recipients.");

    if ($arrSettings["FrontendLink"] == "enabled") {
       $frontendusers = new FrontendUserCollection;
       $frontendusers->select("idclient = '$client' AND username='".urlencode($strEMail)."'");

       if ($frontenduser = $frontendusers->next()) {
          switch ($arrSettings["FrontendDel"]) {
             case "DeleteUser": // Deleting frontend account
                $frontendusers->delete($frontenduser->get("idfrontenduser"));
                $strMessage .= mi18n(" Your website account has been deleted.");
                break;
             case "DisableUser": // Disabling frontend account
                $frontenduser->set("active",0);
                $frontenduser->store();
                $strMessage .= mi18n(" Your website account has been disabled.");
                break;
             default:
          }
       }
    }
  } else { 
    $strMessage = mi18n("Sorry, there was a problem removing your e-mail address. Please ask the webmaster for help."); 
  }
}

echo $strMessage;
?> 
Soviel erstmal dazu...

Bei den ganzen Newsletter Messages würde ich vorschlagen eine CSS Klasse mit ein zu bauen. Damit die dann in der Page gleich mit formatiert werden können...

Für die Templates evtl. mal anpeilen es irgendwann auch auf CSS umzustellen. Sind doch noch arg viele Tabellen drin.
Media in Vita - Medienagentur
Webdesign, Programmierung, Design

MediaMuchacho
Beiträge: 71
Registriert: Do 3. Nov 2005, 15:01
Wohnort: Ulm
Kontaktdaten:

Beitrag von MediaMuchacho » Do 31. Aug 2006, 14:01

HerrB hat geschrieben:Ähm, im jeweiligen Eingabe-Code hat sich etwas geändert?

Gruß
HerrB

Nein eigentlich nicht...

Die Änderungen betreffen die HTML Templates, und die Ausgabe. Also die Newsletter Form und Newsletter Handler. Ausserdem auch noch die Useredit Ausgabe & Templates...

Müsste man glaube ich nen eigenen Thread machen oder erstmal Ordnung schaffen.
Ich stell das hier auch erstmal zur Diskussion nicht dass ich was vergessen habe oder sonst irgendwas verbessert werden kann auf Anhieb.

Änderungen im Details:
Newsletter Handler der Bereich:

Code: Alles auswählen

                      // Erweiterte FEUser Profil Daten speichern 
                       $FEUserID = $frontenduser->get("idfrontenduser"); 
                       $oFEUser = new FrontendUser; 
                       $oFEUser->loadByPrimaryKey($FEUserID); 
                        
     $oFEUser->setProperty("address", "title", $Titel); 
     $oFEUser->setProperty("address", "surname", $Vorname); 
     $oFEUser->setProperty("address", "name", $Nachname); 
     $oFEUser->setProperty("address", "zip", $Postleitzahl); 
           $oFEUser->setProperty("adress", "city", $Ort); 
     $oFEUser->setProperty("address", "street", $Strasse); 
     $oFEUser->setProperty("address", "land", $Land); 
     $oFEUser->setProperty("address", "company", $Firma); 
     $oFEUser->setProperty("address", "telefone", $Telefon); 
     $oFEUser->setProperty("address", "fax", $Fax); 
     $oFEUser->setProperty("address", "mobile", $Mobil); 
     $oFEUser->setProperty("address", "homepage", $Homepage);
sowie dieser Bereich:

Code: Alles auswählen

if ($action == "subscribe") { 

  if (!isset($email) || !$email) { 
    $strMessage = mi18n("Please specify an e-mail address."); 
  } elseif (!isValidMail($email)) { 
    $strMessage = mi18n("Please specify a valid e-mail address."); 
  } elseif ($objRecipients->emailExists($email)) { 
    $strMessage = mi18n("This e-mail address has been already registered for the newsletter."); 
  } elseif (!isset($Nachname) || !$Nachname ) { 
    $strMessage = mi18n("Please specify a valid surname."); 
  } elseif (!isset($Vorname) || !$Vorname ) { 
    $strMessage = mi18n("Please specify a valid name."); 
  } else {
Newsletter Form:
ab hier...

Code: Alles auswählen

$tpl->set('s', 'MESSAGE', $sMessage); 
Ausserdem haben sich sämtliche Plug-ins der frontend-user geändert...
Beispiel Nachname:

Code: Alles auswählen

<?php
/*****************************************
* File      :   $RCSfile: nachname.php,v $
* Project   :   Contenido
* Descr     :   Example plugin for adding an nachnasme address to a frontend user
* Modified  :   $Date: 2005/09/19 14:51:28 $
*
* © four for business AG, www.4fb.de
*
* $Id: nachname.php,v 1.2 2005/09/19 14:51:28 timo.hummel Exp $
* Angepasst von pixelparts
******************************************/

function frontendusers_nachname_getTitle ()
{
	return i18n("Nachname", "frontendusers_nachname");	
}

function frontendusers_nachname_display ()
{
	global $feuser;
	
	$nachname = new cHTMLTextbox("nachname", $feuser->getProperty("address", "name"),40);
	return $nachname->render();	
}

function frontendusers_nachname_wantedVariables ()
{
	return (array("nachname"));	
}

function frontendusers_nachname_canonicalVariables ()
{	
	return array("nachname" => i18n("Nachname", "frontendusers_nachname"));
}

function frontendusers_nachname_getvalue ($field)
{
	global $feuser;
	if ($field == "nachname")
	{
		return $feuser->getProperty("address", "name");
	}
}

function frontendusers_nachname_store ($variables)
{
	global $feuser;
	
	if (!array_key_exists("nachname",$variables))
	{
		return false;	
	} else {
		$feuser->setProperty("address", "name", $variables["nachname"]);
		return true;
	}
}

?>
Die Änderung bezieht sich auf Bereiche wie diesen:

Code: Alles auswählen

$feuser->setProperty("address", "name", $variables["nachname"]);
da war vorher "name", "address"
Media in Vita - Medienagentur
Webdesign, Programmierung, Design

hassarabarber
Beiträge: 131
Registriert: Fr 23. Jun 2006, 11:11
Kontaktdaten:

keine emailbestätigung - kein newsletter versand ...

Beitrag von hassarabarber » Mi 6. Sep 2006, 14:15

Hallo Contenido Freunde ...

habe das modul installiert ... und eigentlich alles befolgt was hier im thread steht ... nur habe ich noch ein kleines (?) problem bezgl. emailversand ...


wenn ich mich im frontend eintrage bekomme ich die message "angemeldet ok und bestätigungsmail ist unterwegs" - bekomme aber keine mail zugesendet ...


wenn ich im backend versuche an einem empfänger ein newsletter zu senden bekomme ich folgende meldung:

andreas (xxx@xxxxx.de): Newsletter konnte an xxx@xxxxx.de nicht versendet werden.


ich bin bei hosteurope und habe auch die modifikationen dazu gemacht ... -f etc. und die email bei hosteurope existiert auch ... auch den Briefumschlag kann ich sehen und die eingetragenen empfänger auch ....


was könnte ich falsch gemacht haben :?:

... oder muß ich noch was in diesen dateien ändern:

cInclude("classes", "class.newsletter.recipients.php");
cInclude("classes", "class.newsletter.php");
cInclude("classes", "class.frontend.users.php");
cInclude("classes", "class.phpmailer.php");



besten dank vince

hassarabarber
Beiträge: 131
Registriert: Fr 23. Jun 2006, 11:11
Kontaktdaten:

Beitrag von hassarabarber » Fr 8. Sep 2006, 11:57

so ... leute ... habe es jetzt hinbekommen das ich newsletter versenden kann ... habe noch eine änderung in der class.newsletter.php gemacht .. sender ...

nur das mit der Bestätigungsmail ... obwohl ich das häckchen "Willkommen-eMail" im backend gesetzt habe funktioniert es leider noch nicht ... ich bekomme zwar eine info im handler-artikel das die bestätigung raus ist .. aber es kommt nix ...


woran könnte das den liegen

:?:


beste grüße vince

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 8. Sep 2006, 22:55

Du musst den Sender auch im Handler-Modul im Output definieren... (komtm ein paar mal vor).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

hassarabarber
Beiträge: 131
Registriert: Fr 23. Jun 2006, 11:11
Kontaktdaten:

Beitrag von hassarabarber » So 10. Sep 2006, 23:53

vielend dank ... jetzt funzt ... hatte den sender absolut falsch eingebaut ...


beste grüße vince

uups
Beiträge: 116
Registriert: Fr 16. Jan 2004, 09:08
Kontaktdaten:

Beitrag von uups » Mo 11. Sep 2006, 22:30

uff, bis hierhin habe ich jetzt alles gelesen. Aber mein Problem wird leider nirgends angesprochen:

Eigentlich funktioniert alles - bis auf den Link zum Ändern der E-Mail Adresse. Dort erscheint ein eine Seite ohne Formular... Der Link wird aber anscheinend im richtigen Format übertragen. Etwa so:
...front_content.php?idcatart=34&change=bbab03c9d76fc52c145055a5fb46f3

Ich meine, ich habe alles nach der Anleitung von HerrB gemacht.

Version 4.6.4

Uups

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 19. Sep 2006, 00:00

Dieses Feature ist noch nicht integriert, so einfach isses... :wink:

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

maki
Beiträge: 2
Registriert: Sa 22. Apr 2006, 18:20
Kontaktdaten:

Beitrag von maki » Mo 20. Nov 2006, 14:07

Ich habe den Newsletter installiert (Version 4.6.8 mit Beispielmandant), funktioniert auch perfekt, nun möchte ich aber - ähnlich wie in der Erweiterung von mediamuchacho - das Anmeldeformular um mehrere Felder erweitern, allerdings nur für Newsletter-Empfänger (also ohne Passwort); Frontend-User brauche ich nicht - ist das möglich?
Und wenn ja, wo wären die entsprechenden Profildaten abrufbar?

Gesperrt