[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Groupletter - Seite 2 - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
Ruediger.Nitzsche
Beiträge: 2117
Registriert: 13. Dez 2005, 09:29
Wohnort: Coburg
Kontaktdaten: Website

Re: Groupletter für Redaxo 4 nun online

13. Dez 2007, 13:37

tgoellner hat geschrieben:
Ein paar Sachen (Bestätigungsmail, Import) habe ich allerdings erstmal rausgelassen, da muss man nochmal drüberwischen.

Grüße, Thomas.
Die Sachen haben wir gerade für ein aktuelles Projekt gefixt, bei Bedarf können wir das gerne zur Verfügung stellen.

Rüdiger
gn2 netwerk | gn2 hosting | REDAXO Referenzen | Github
Supportanfragen per PN werden gepflegt ignoriert

Benutzeravatar
Niki
Beiträge: 249
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt Main

14. Dez 2007, 11:20

Hallo,

ich habe den Groupletter erfolgreich installiert. Wenn ich nun in einen Artikel das Modul mit dem Code aus der "Moduleinbindung" einfüge, bekomme ich die folgende Fehlermeldung:

Code:
Warning: count() expects at least 1 parameter, 0 given in /kunden/159237_32584/webseiten/redaxo/include/classes/class.rex_article.inc.php(578) : eval()'d code on line 81


Wenn ich die Seite im Frontent aufrufe kommt:
Code:
Fatal error: Call to undefined function: langspec_word() in /kunden/159237_32584/webseiten/redaxo/include/classes/class.rex_article.inc.php(251) : eval()'d code on line 166

Gruppe wurde angelegt und auch sonnst ist alles vorhanden.

Woran kann das liegen ?

Gruß Ralf Wittrock


Ich habe das selbe Problem. Ich habe das AddOn installiert, alles eingerichtet, alle Artikel angelegt, aber das Modul wird mit der Fehlermeldung:

Code: Alles auswählen

Parse error: parse error, unexpected $ in /homepages/23/d10118606/htdocs/redaxo/redaxo/include/classes/class.rex_article.inc.php(251) : eval()'d code on line 257
im Front- und Backend angezeigt.

Hat jemand vielleicht eine Idee?

Danke.

Gruß,
Niki

joaopinto
Beiträge: 120
Registriert: 28. Jun 2006, 14:16
Wohnort: Österreich

14. Dez 2007, 15:30

hallo thomas,

vielen dank für deinen tipp, die fehlermeldung ist erstmal weg!
muss den groupletter erst noch testen, aber im backend siehts schon mal gut aus.

lg
paolo

webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

18. Dez 2007, 16:30

Hallo zusammen,

also ich habs geschafft das die Daten jetzt im Setup bleiben und nicht immer ständig rausfliegen, warscheinlich auch Dank der neuen Version.
Auch das anlegen der User/Gruppen funktioniert sowie deren Ein- und Austragung per Formular im Frontend.

Ich habe trotzdem noch einige Fragen zum Setup, da ich es noch nicht geschafft habe auch nur einen einzigen Newsletter zu versenden.

Ich hab im Setup einfach sendmail stehen lassen, smtp hab ich noch nicht versucht. Was soll ich bei Host eintragen? Reicht da "localhost" oder muss da direkt ne Adresse rein?

Dann habe ich einen bestehenden Artikel genommen der mein Standarttemplate enthält, es war auch erstmal egal was ankommt solange irgendetwas ankommt. Dann habe ich Absendeadresse eingegeben und die Felder für die Testmail ausgefüllt. Im Anschluss habe ich gesendet was mir auch durch ne positive Meldung bestätigt wurde. Doch es kommt nichts an.
Woran kann das liegen, ich erhalte ja keine Fehlmeldungen also kann ja das Problem an sich nur am User selbst, also mir, liegen.
Unwissenheit schützt nicht vor Mittäterschaft.

Benutzeravatar
tgoellner
Beiträge: 52
Registriert: 25. Apr 2007, 09:45
Wohnort: Bremen
Kontaktdaten: Website

Sendmail & Co.

18. Dez 2007, 17:58

Hallo webstar,

wenn Du SENDMAIL einträgst, bleiben alle anderen Felder leer. Allerdings muss natürlich auch der Server SENDMAIL unterstützen. Ich weiß zumindest von meiner lokalen XAMPP-Installation, dass SENDMAIL dort nicht funktioniert. Weiterhin habe ich bemerkt, dass SENDMAIL auf einigen Servern (z.B. 1&1) die Mails um einige Zeit verspätet verschickt. Daher würde ich es mal mit SMTP versuchen.

Grüße, Thomas.

Benutzeravatar
Ruediger.Nitzsche
Beiträge: 2117
Registriert: 13. Dez 2005, 09:29
Wohnort: Coburg
Kontaktdaten: Website

18. Dez 2007, 19:04

Man sollte prinzipiell über SMTP-Auth versenden, ansonsten wird man von vielen Mailservern abgelehnt als potientieller Spammer.

Rüdiger
gn2 netwerk | gn2 hosting | REDAXO Referenzen | Github
Supportanfragen per PN werden gepflegt ignoriert

paddle
Beiträge: 125
Registriert: 13. Jun 2006, 17:27
Wohnort: Gstaad, Schweiz

20. Dez 2007, 09:25

Hallo

Habe folgende Probleme beim Groupletter R4:
Beim Newsletterversand wird die <base href="http://<? echo $REX['SERVER']; ?>/" /> immer noch doppelt angezeigt, obwohl ich die angepasste Version installiert habe.
Bei den externen Links hab ich nun das Problem, dass zuerst die Url der Website und dann die Url der zu verlinkenden Website angezeigt wird - z.B.:

Code: Alles auswählen

<a href="http://www.meinewebsite.com/http://www.zuverlinkendewebsite.com
Kann mir hier jemand weiterhelfen? Vielen Dank!

Lieber Gruss,
Pat

paddle
Beiträge: 125
Registriert: 13. Jun 2006, 17:27
Wohnort: Gstaad, Schweiz

20. Dez 2007, 09:58

...betreffend meiner letzten Frage... beim Testmail funktioniert alles wie's soll nur beim Versand entsteht das Problem mit dem ext. Link und im Head wird die URL wie folgt angezeigt:

Code: Alles auswählen

XSSCleaned_tagref="http://www.meinewebsite.com/http://meinewebsite.com" />
Gruss,
Pat

paddle
Beiträge: 125
Registriert: 13. Jun 2006, 17:27
Wohnort: Gstaad, Schweiz

20. Dez 2007, 11:01

problem gelöst... hab in der datei newsletter.inc.php noch die zeile 137, 138 auskommentiert und jetzt geht's.

lg,
pat

webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

2. Jan 2008, 20:16

Hallöchen,

ich habe im Setup des Groupletter jetzt alle SMTP-Daten eingetragen, den Newsletter erstmal n Standarttemplate gegeben und wollte dann eine Testmail an mich selber verschicken. Allerdings bekomme ich immer diese Meldung:
SMTP Fehler: Die folgenden Empfänger sind nicht korrekt: [hier steht die Mailadresse].

Was hat denn das nun zu bedeuten??? Weiß das jemand?
Unwissenheit schützt nicht vor Mittäterschaft.

Benutzeravatar
tgoellner
Beiträge: 52
Registriert: 25. Apr 2007, 09:45
Wohnort: Bremen
Kontaktdaten: Website

SMTP-Fehler

7. Jan 2008, 12:14

Hallo webstar,

das Problem kenne ich leider nicht - eine kurze Google-Suche lässt aber auf ein Problem von phpMailer und Deinem Server schließen:

http://www.phpforum.de/archiv_20887_php ... eigen.html
oder
http://www.phpforum.de/archiv_61305_php ... eigen.html

An der E-Mail-Adresse wird es nicht liegen - habe mal verschiedene ungültige Adressen eingegeben (mit Sonderzeichen, ohne TLD etc.), aber keinen Fehler hervorrufen können (was auch doof ist, da muss ich nochmal schauen). Wie auch immer, Deine Fehlermeldung konnte ich jedenfalls nicht hervorrufen. Dumme Frage: Ein Passwort für den SMTP-server hast Du gesetzt, oder?

Tschulli, dass ich da nicht so richtig helfen kann.
Grüße, Thomas.

joaopinto
Beiträge: 120
Registriert: 28. Jun 2006, 14:16
Wohnort: Österreich

4. Feb 2008, 15:01

hallo thomas,

klappt eigentlich schon die import-funktion im groupletter version 4?
im backend ist der button ja ausgelassen..

danke & lg
paolo

Benutzeravatar
tgoellner
Beiträge: 52
Registriert: 25. Apr 2007, 09:45
Wohnort: Bremen
Kontaktdaten: Website

4. Feb 2008, 15:38

Hallo Paolo,

leider kam ich noch nicht dazu, die Ex-/Import-Funktion zu realisieren. Sorry.

Grüße, Thomas.

Benutzeravatar
Ruediger.Nitzsche
Beiträge: 2117
Registriert: 13. Dez 2005, 09:29
Wohnort: Coburg
Kontaktdaten: Website

4. Feb 2008, 15:58

Wie ich schon weiter oben mal geschrieben habe, haben wir einige Bugs gefixt und u.a. den Import/Export eingebaut, kann den Code gerne zur Verfügung stellen, nur als dritte Version bei myREDAXO reinstellen macht keinen Sinn.

Rüdiger
gn2 netwerk | gn2 hosting | REDAXO Referenzen | Github
Supportanfragen per PN werden gepflegt ignoriert

fieber
Beiträge: 37
Registriert: 22. Jan 2008, 17:41
Wohnort: Nürnberg

groupletter

4. Feb 2008, 17:51

hallo headcrash,
das wäre sehr nett wenn du mir den code schicken könntest.
danke fieber

Benutzeravatar
Ruediger.Nitzsche
Beiträge: 2117
Registriert: 13. Dez 2005, 09:29
Wohnort: Coburg
Kontaktdaten: Website

4. Feb 2008, 17:53

Ich hab Thomas den Code geschickt, der stellt ihn dann zum Download bereit.

Rüdiger
gn2 netwerk | gn2 hosting | REDAXO Referenzen | Github
Supportanfragen per PN werden gepflegt ignoriert

Benutzeravatar
elricco
Beiträge: 197
Registriert: 22. Jun 2007, 00:48
Wohnort: Bochum
Kontaktdaten: Website

9. Feb 2008, 19:28

Also ich bräuchte das Ganze bitte auch.
Die Import/Export Funktion ist mir dabei erstmal nicht so wichtig, worum es mir geht ist die Double Opt-In Funktion, sprich die Bestätigungsfunktion / Aktivierungsmail (Abmeldefunktion per Link).

Wäre ganz nett wenn ihr mir den Code zukommen lasst oder der Herr Göllner den Link rausrückt wo man die Sachen runterladen kann :wink:

Vielen Dank schonmal im Vorraus.

MfG elricco

Benutzeravatar
Ruediger.Nitzsche
Beiträge: 2117
Registriert: 13. Dez 2005, 09:29
Wohnort: Coburg
Kontaktdaten: Website

9. Feb 2008, 20:35

Anmeldemodul Eingabe:

Code: Alles auswählen

<?php
$lang=REXbabelfish::getLanguageForModule('groupletter');


if("REX_VALUE[2]" != "")
    $reply = "REX_VALUE[2]";
else                // Default Absender
    $reply = $REX["ADDON"]["settings"]["groupletter"]["REPLY_TO"];
?>
<strong><?php echo $lang['requiredfields']; ?></strong>
<br /><br />

<strong><?php echo $lang['subject']; ?></strong>:<br />
<input type="text" name="VALUE[1]" value="REX_VALUE[1]" size="50" class="inp100" />
<br /><br />
Ausgabe: 

<strong><?php echo $lang['sender']; ?></strong>:<br />
<input type="text" name="VALUE[2]" value="<?php echo $reply; ?>" size="50" class="inp100" />
<br /><br />


<!--<strong>Text für Anrede Feld</strong>:<br />
<input type="text" name="VALUE[4]" value="REX_VALUE[4]" size="50" class="inp100" />
<br /><br />-->

<strong><?php echo $lang['firstname']; ?></strong>:<br />
<input type="text" name="VALUE[5]" value="REX_VALUE[5]" size="50" class="inp100" />
<br /><br />

<strong><?php echo $lang['lastname']; ?></strong>:<br />
<input type="text" name="VALUE[6]" value="REX_VALUE[6]" size="50" class="inp100" />
<br /><br />

<strong><?php echo $lang['country']; ?></strong>:<br />
<input type="text" name="VALUE[11]" value="REX_VALUE[11]" size="50" class="inp100" />
<br /><br />

<strong><?php echo $lang['gender']; ?></strong>:<br />
<input type="text" name="VALUE[13]" value="REX_VALUE[13]" size="50" class="inp100" />
<br /><br />

<strong><?php echo $lang['email']; ?></strong>:<br />
<input type="text" name="VALUE[7]" value="REX_VALUE[7]" size="50" class="inp100" />
<br /><br />

<strong><?php echo $lang['send']; ?></strong>:<br />
<input type="text" name="VALUE[8]" value="REX_VALUE[8]" size="50" class="inp100" />
<br /><br />

<strong><?php echo $lang['error']; ?></strong>:<br />
<input type="text" name="VALUE[9]" value="REX_VALUE[9]" size="50" class="inp100" />
<br /><br />

<strong><?php echo $lang['success']; ?></strong>:<br />
<textarea name="VALUE[10]" cols="80" rows="4" class="inp100" >REX_HTML_VALUE[10]</textarea>
<br /><br />


<strong><?php echo $lang['groups']; ?></strong>:<br />
<input type="text" name="VALUE[12]" value="REX_VALUE[12]" size="50" class="inp100" />
<br /><br />
Ausgabe:

Code: Alles auswählen

<?php
/** *************************************************************
 * Group Newsletter Double-opt-in
 * based on the checkbox module from dancefan
**/

//hier anpassen.
$confirmarticle=2; //Redaxo Artikel, wo Sie das Modul "Newsletter bestätigung" hinzugefügt haben.


if ($REX['REDAXO'])
{
    //BackEnd
    echo "<div><h2>REX_VALUE[1]</h2><br/>";
    echo "Absender: REX_HTML_VALUE[2]<br />";

    //echo "Gesendet: <a href='index.php?page=content&article_id=REX_LINK_ID[1]&mode=edit' target='_blank'>Artikel REX_LINK[1]</a><br/>";

    //echo "Bestätigung: <a href='index.php?page=content&article_id=REX_LINK_ID[2]&mode=edit' target='_blank'>Artikel REX_LINK[2]</a>";
}
else
{	if (!function_exists('cleanup'))
	{	function cleanup ($string)
		{
			// falls magic quotes on
			if (get_magic_quotes_gpc())
			{
				$string = stripslashes($string);
			}
			$string = addslashes($string);
			$string = strip_tags($string);
			// "--","#";";","`","/"   Ausfiltern von SQL-Statements
			$string = str_replace(array("--","- -","#",";","`","/","<",">","{","}","[","]"),array("","","","","","","","","","","",""),$string);
			// - mit Leerzeichen dazwischen (SQL-Kommentare!)
			$string = preg_replace('#-\s+-#i',"",$string);
			return $string;
		} // end function cleanup
	
		function checkName ($string)
		{
			// $name am Anfang Buchstabe; keine Zahlen und Nicht-Wortzeichen; dann
			// beliebig viele Buchstaben, Bindestriche, Leerzeichen und Punkte
			if (preg_match("/^[^\W\d_]([^\W\d_]|[\-\'\s\.\ä\ö\ü\Ä\Ö\Ü\ß])*$/", stripslashes($string)))
			{
				return true; // OK
			}
			else
			{
				return false; // falsche Eingabe
			}
		} // end function checkName
	
		function checkEmail ($string)
		{
			// $email mindestens a@a.aa
			if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([_a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", stripslashes($string)))
			{
				return true; // OK
			}
			else
			{
				return false; // falsche Eingabe
			}
		} // end function checkEmail
	}
    //------------------------------> Formularauswerten
    $message = '';
    if(isset($_POST["newsletter_name"])) $name = $_POST["newsletter_name"]; else $name = "";
    if(isset($_POST["newsletter_firstname"])) $vorname = $_POST["newsletter_firstname"]; else $vorname = "";
    if(isset($_POST["newsletter_email"])) $email = $_POST["newsletter_email"]; else $email = "";
    if(isset($_POST["newsletter_land"])) $land = $_POST["newsletter_land"]; else $land = "";
    if(isset($_POST["newsletter_gender"])) $gender = $_POST["newsletter_gender"]; else $gender = "";


    if ( !empty($_POST['newsletter_anmelden']))
    {
        $name = cleanup($name);
        $vorname = cleanup($vorname);
        $email = cleanup($email);

        if( $_POST['newsletter_title'] == ''
        	||	($vorname == '') || (checkName($vorname)!=1)
        	||	($name == '') || (checkName($name)!=1)
        	||  ($email == '') || (checkEmail($email)!=1)
        )
        {
            $message ="REX_VALUE[9]";
        }
        else
        {
            $id=0;
            
            //this horrible code needs a rewrite....
            
            $_POST["newsletter_groups"]=array(0=>$_POST['signupgroup']);
            
            $gids =$_POST["newsletter_groups"];
            
            $result=CGroupLetter::AddNewsletterUser($_POST['newsletter_title'], $vorname
                            , $name, $email
                            , $REX['CUR_CLANG'], $gids,$id);
            if($result===true)
            {	$sql=new sql;
				$sql->setQuery('SELECT id,email,firstname,name from '.$REX['TABLE_PREFIX'].'229_gl_user 
								WHERE  email="'.mysql_real_escape_string($email).'"');          	
            	
            	//update the land and gender, CGroupLetter::AddNewsletter doesn't do this.
            	$usql=new sql;
            	$usql->setTable($REX['TABLE_PREFIX'].'229_gl_user');
            	$usql->setValue('land',$land);
            	$usql->setValue('title',$gender);
            	$usql->wherevar=' WHERE id='.$sql->getValue('id');
            	$usql->update();
            	
                $mail=new CGroupLetter();
                $mail->SetLanguage($REX['CUR_CLANG'],$REX['INCLUDE_PATH']."/addons/groupletter/lang/");
                
                $content="Newsletteranmeldung:\n";
                
                $params=array('email'=>$email,'id'=>$sql->getValue('id'));
                $params=serialize($params);
                $params=base64_encode($params);
                
                $content.='Bitte best&auml;tigen Sie Ihre Bestellung des Newsletters mit Klick auf diesen Link: <a href="http://'.$REX['SERVER'].'/index.php?article_id='.$confirmarticle.'&data='.$params.'">Best&auml;tigen</a>';
                
                
                
                // Bestätigungsmail nur für erste Gruppe
                $mail->SendNewsletter($email,$_POST['newsletter_title']
                            ,$vorname,$name,$REX['CUR_CLANG']
                            ,$id,$gids[0],""
                            ,"REX_VALUE[2]","REX_VALUE[1]",$content);
                                                        
                if($mail->IsError() > 0)
                {   $message = $mail->ErrorInfo;
                	$sent=false;
                }
                else
                {    $message ="REX_VALUE[10]";
                	$sent=true;
                }
            }
            else
            {
                $message = "Die Anmeldung konnte leider <u>nicht</u> durchgef&uuml;hrt werden!".$result;
                // . 'Die Anmeldung konnte leider<u>nicht</u> durchgef&uuml;hrt werden!';
            }
        }
    }
?>
<div class="nl-form">
<h2>Anmelden</h2>
<?php
    if ( $message != '')
    {
        echo '<p class="warning" id="GlMessage">'. $message .'</p>';
unset($message);
    }

?>
<?php if ($sent==false) {?>
<form action="index.php" method="post" id="anmelden" class="formation">
	<input type="hidden" name="article_id" value="REX_ARTICLE_ID"/>
	<input type="hidden" name="clang" value="<?php echo $REX['CUR_CLANG']; ?>"/>
	
	<select size="1" name="newsletter_title" style="display:none;">
	<?php
	CGroupLetter::TitleTypeOptions($_POST['newsletter_title'],$REX['CUR_CLANG']);
	?>
	</select>
	
	<p>
		<label for="newsletter_firstname">REX_VALUE[5]:</label>
		<input type="text" class="text" name="newsletter_firstname" id="newsletter_firstname" value="<?php echo $vorname; ?>"/>
	</p>
	
	<p>
		<label for="newsletter_name">REX_VALUE[6]:</label>
		<input type="text" class="text" name="newsletter_name" id="newsletter_name" value="<?php echo $name; ?>"/>
	</p>
	
	
	<p>
		<label for="newsletter_gender">REX_VALUE[13]:</label>
		<select name="newsletter_gender" id="newsletter_gender">
			<option value="0"<?php if ($gender=="0") { echo ' selected="selected"';} ?>>Herr</option>
			<option value="1"<?php if ($gender=="1") { echo ' selected="selected"';} ?>>Frau</option>
		</select>
	</p>
	
	
	<p>
		<label for="newsletter_email">REX_VALUE[7]:</label>
		<input type="text" class="text" name="newsletter_email" id="newsletter_email" value="<?php echo $email; ?>"/>
	</p>
	
	
	
	
<?php
  $sql = new rex_sql;
  $sql->setQuery("SELECT * FROM `".$REX['TABLE_PREFIX']."229_gl_groups` ORDER BY `gruppe`");
  $rows = $sql->getArray();

  if(count($rows)>0)
  {
?>
<p style="display:none;">
<label for="signupgroup">REX_VALUE[12]:</label>
<?php
  $select = new rex_select;
  $select->setSize(1);
  $select->setAttribute("name","signupgroup");
  $select->setAttribute("id","signupgroup");
  $select->setAttribute('style','display:none;');  // auskommentieren um die auswahlliste wieder einzublenden
  $select->setSelected($_POST['signupgroup']);
  //$select->addOption('Auswahlliste auf der Seite','-1');
  foreach($rows as $row)
    $select->addOption($row['gruppe'],$row['id']);

  echo $select->show();
  }
  else
  {
    echo 'Keine Gruppe angelegt. 
    <a href="index.php?page=groupletter&subpage=groups" target="_blank">zum GroupLetter</a>.';
  }
?>
</p>
<p class="send">
	<input type="submit" class="submit" name="newsletter_anmelden" value="REX_VALUE[8]" />
	</form>
</p>
<?php
}
}
unset($message);$email="";
?>
</div>
Abmeldung Eingabe:

Code: Alles auswählen

<?php
$lang=REXbabelfish::getLanguageForModule('groupletter');
?>

<fieldset>
  <legend><strong><?php echo $lang['cancel']; ?></strong></legend>
  <label style="width: 25%; display: bock; float: left;"><?php echo $lang['heading']; ?></label>
  <input name="VALUE[6]" value="REX_VALUE[6]" style="width: 70%; float: left;" /><br /><br />

  <label style="width: 25%; display: bock; float: left;"><?php echo $lang['bysuccess']; ?></label>
  <input name="VALUE[3]" value="REX_VALUE[3]" style="width: 70%; float: left;" /><br /><br />

  <label style="width: 25%; display: bock; float: left;"><?php echo $lang['byerror']; ?></label>
  <input name="VALUE[4]" value="REX_VALUE[4]" style="width: 70%; float: left;" /><br /><br />
</fieldset>
Ausgabe:

Code: Alles auswählen

<?php
$hide_subscription_form=1;

if($REX['REDAXO'])
{
  echo '<p>Newsletterabmeldung</p>';
}
else
{

  $style = ' style="color:#ba333f;"'; # Style for a wrong parameter-field
  
  if ( !function_exists( 'add_newsletter_user')):
  function add_newsletter_user( $vorname, $name, $email) {
    global $REX;
    $sql = new rex_sql();
  
    $qry = "SELECT `id` FROM `".$REX['TABLE_PREFIX']."229_gl_user` 
             WHERE `email` = '".$email ."'";
    $sql->setQuery($qry);
    if ( $sql->getRows() > 0)
    {
      $userid = $sql->getValue('id');
      $qry = "UPDATE `".$REX['TABLE_PREFIX']."229_gl_user`
                 SET `firstname`='".$vorname . "', `name`='". $name ."',
                     `status`='1', `updatedate`='".time()."' 
               WHERE `email` = '". $email ."'";
      $sql->setQuery($qry);
      # delete grouptable-links
      $qry = "DELETE FROM `".$REX['TABLE_PREFIX']."229_gl_links` 
                    WHERE `userid`='".$userid."'";
      $sql->setQuery($qry);
    }
    else
    {
      $qry = "INSERT INTO `".$REX['TABLE_PREFIX']."229_gl_user` 
                      SET `firstname`='". $vorname . "', `name`='". $name ."',
                          `clang` = '". $REX['CUR_CLANG'] ."', `email` = '". $email ."' , 
                          `status`='1', `updatedate` = '".time()."'";
    }
    $sql->setQuery($qry);
    
    # update grouptables
    $qry = "SELECT `id` FROM `".$REX['TABLE_PREFIX']."229_gl_user` 
             WHERE `email` = '". $email ."'";
    $sql->setQuery($qry);

    $userid = $sql->getValue('id');
    if(isset($_POST['lettergroup']) && intval($_POST['lettergroup'])>0)
    {
      $qry = "INSERT INTO `".$REX['TABLE_PREFIX']."229_gl_links` 
                      SET `userid` ='". $userid . "', `groupid`='".trim($_POST['lettergroup'])."'";
#      die($qry);
    }
    else
    {
    die("keine gruppe");
      $qry = "INSERT INTO `".$REX['TABLE_PREFIX']."229_gl_links` 
                      SET `userid` ='". $userid . "', `groupid`='0'";
    }
    $sql->setQuery($qry);
  
    return $sql->getError() == '';
  }
  endif;
  
  
  if (!function_exists( 'valid_email')):
  function valid_email( $email) {
  #  $reg_allowed = "^A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$";
  #  if(ereg($reg_allowed, $email))
    if(!ereg("^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$",$email))
      return false;
    else
      return true;
  }
  endif;
  
  
  if (!function_exists( 'remove_newsletter_user')):
  function remove_newsletter_user( $email) {
    global $REX;
    
    $qry = "UPDATE `".$REX['TABLE_PREFIX']."229_gl_user` 
               SET `status`='2' WHERE `email` = '". $email ."'";
    $sql = new sql();
    $sql->setQuery($qry);
  
    return $sql->getError() == '';
  }
  endif;
  
  //------------------------------> Formularauswerten
  $warningstyles = array('surname'=>'','lastname'=>'','email'=>'','signoff_email'=>'');
  
  
  if ( !empty($_POST['subscribe']) && $_POST['subscribe']=='true') 
  {
  
    if($_POST['newsletter_firstname']!='' && $_POST['newsletter_name']!='' && valid_email($_POST['newsletter_email']))
      $result = add_newsletter_user($_POST['newsletter_firstname'],$_POST['newsletter_name'],$_POST['newsletter_email']);
    else
      $result = false;
  
    if($_POST['newsletter_firstname']=='')
      $warningstyles['surname'] = $style;
    if($_POST['newsletter_name']=='')
      $warningstyles['lastname'] = $style;
    if(!valid_email($_POST['newsletter_email']))
      $warningstyles['email'] = $style;
      
    if ( $result === true) 
    {
       $message .= "REX_VALUE[1]";
       $hide_subscription_form = true;
    } else {
       $message .= "REX_VALUE[2]";
       $hide_subscription_form = false;
    }
  }
  else if( !empty($_POST['subscribe']) && $_POST['subscribe']=='false') 
  {
    if(valid_email($_POST['newsletter_email']))
      $result = remove_newsletter_user( $_POST['newsletter_email']);
    else
    {
      $warningstyles['signoff_email'] = $style;
    }
    
    if ($result === true)
    {
      $message .= "REX_VALUE[3]";
      $hide_unsubscription_form = true;
    }
    else
    {
      $message .= "REX_VALUE[4]";
      $hide_unsubscription_form = false;
    }
  }
  
  
  //------------------------------> Formular
  ?>
 <?php
 if($hide_unsubscription_form)
 {	if ($message!="")
 	{
 	echo '
		<div class="nl-form">
		<p class="warning">'. $message .'</p>
		</div>';
		}
}
 ?>


<?php if(!$hide_subscription_form) { 

  } // ENDIF $hide_subscription_form
  if(!$hide_unsubscription_form) { ?>
  <div class="nl-form">
    <h2>REX_VALUE[6]</h2>
    <form id="abmelden" class="formation" action="<?= rex_getURL($this->article_id,$REX['CUR_CLANG']); ?>" 
          method="post" name="sign_newsletter">
      
		<?php
		if ($message != '') {
		echo '
		<p class="warning">'. $message .'</p>';
		}
		?>

      
      <input type="hidden" name="article_id" value="REX_ARTICLE_ID"/>
      <input type="hidden" name="clang" value="REX_CLANG_ID"/>
      <input type="hidden" name="subscribe" value="false"/>

        <p>
          <label for="newsletter_email2">E-Mail</label>
          <input type="text" class="text" name="newsletter_email" 
                 id="newsletter_email2" value="<?php echo $_POST['newsletter_email']; ?>" />
        </p>
        <p>
          <input type="submit" class="submit" name="unsubscribe_newsletter" 
                 value="Newsletter abbestellen" />
        </p>
    </form>
  </div>
<?php
  }
}
unset($message);
?> 
Anmreldebestätigung Eingabe:

Code: Alles auswählen

Newsletter Opt-in. Account aktivieren
<br />
Das Modul soll aufgerufen werden wenn ein Benutzer die Newsletter-Bestätigungsmail erhält.
Ausgabe:

Code: Alles auswählen

<?php
if (!$REX['REDAXO'])
{

if ($_GET['data']!="")
{   $data=$_GET['data'];
    $data=base64_decode($data);
    $data=unserialize($data);
}

$sql=new sql;
$sql->setQuery('SELECT id,email,firstname,name from '.$REX['TABLE_PREFIX'].'229_gl_user 
                WHERE  email="'.mysql_real_escape_string($data['email']).'"
                    && id="'.mysql_real_escape_string($data['id']).'"
                ');
                
if ($sql->getRows()>0)
{    $usql=new sql;
    $usql->setTable($REX['TABLE_PREFIX']."229_gl_user");
    $usql->setValue('status',1);
    $usql->wherevar=' WHERE id="'.mysql_real_escape_string($sql->getValue('id')).'"';
    $usql->update();
    echo '<p>Vielen Dank für Ihre Anmeldung!<br />Die E-Mailadresse '.htmlentities($data['email']).' ist nun in unserer Mailingliste eingetragen.</p>';
}
else
{    echo '<p>Ein Fehler ist aufgetreten. Bitte melden Sie sich noch einmal an.</p>';
}

}
?>
http://gn2-netwerk.de/download/groupletter.zip + http://gn2-netwerk.de/download/rexbabelfish.zip (nutzen wir für Mehrsprachigkeit im Backend, kann man aber natürlich auch rausnehmen)
Bei uns funktioniert es, aber wie immer ohne Garantie.
gn2 netwerk | gn2 hosting | REDAXO Referenzen | Github
Supportanfragen per PN werden gepflegt ignoriert

Benutzeravatar
elricco
Beiträge: 197
Registriert: 22. Jun 2007, 00:48
Wohnort: Bochum
Kontaktdaten: Website

9. Feb 2008, 23:43

Hi headcrash,

erstmal vielen Dank für die Mühe auf nem Samstag :D
Ich werd es morgen mal ganz in Ruhe ausprobieren.
Also vielen Dank.

LG elricco

Benutzeravatar
tgoellner
Beiträge: 52
Registriert: 25. Apr 2007, 09:45
Wohnort: Bremen
Kontaktdaten: Website

Groupletter 1.1.005 jetzt online

12. Feb 2008, 11:40

Hallo zusammen,

ein Update mit Im- und Exportfunktion ist jetzt im AddON-Bereich zu finden:

http://www.redaxo.de/180-Addondetails.html?addon_id=229

Danke an Rüdiger von GN2!

zeroboh
Beiträge: 55
Registriert: 3. Nov 2006, 16:18

25. Mär 2008, 16:16

Hey,

ich bin gerade den Groupletter unter der aktuellen Version von redaxo zu installieren jedoch scheitert es bei mir an der Installation. Wenn ich das AddOn installieren will bekomme ich eine weiße Seite. Der Header wird allerding doch mit angezeigt - alles andere nicht.

Kann mir da einer helfen`?

Gruß!

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

9. Apr 2008, 09:26

Selbes Problem bei mir!

Safe Mode ändert nichts dran.

Gruß
Ich find ein CMS gut.

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

10. Apr 2008, 12:53

Konnte jemand diese weiße Seite nun beheben?!
Ich find ein CMS gut.

paddle
Beiträge: 125
Registriert: 13. Jun 2006, 17:27
Wohnort: Gstaad, Schweiz

14. Apr 2008, 18:46

hallo

will den Groupletter 1.1 für Rex 4 auf einer Rex Verison 4.1. installieren und erhalte folgende Fehlermeldung:
Warning: main(/home/videomin/public_html/redaxo/include/addons/phpmailer/classes/class.phpmailer.inc.php) [function.main]: failed to open stream: Datei oder Verzeichnis nicht gefunden in /home/videomin/public_html/redaxo/include/addons/groupletter/config.inc.php on line 39

Fatal error: main() [function.require]: Failed opening required '/home/videomin/public_html/redaxo/include/addons/phpmailer/classes/class.phpmailer.inc.php' (include_path='.:/usr/lib/php:/usr/local/lib/php:/usr/php4/lib/php:/usr/local/php4/lib/php:/usr/share/pear') in /home/videomin/public_html/redaxo/include/addons/groupletter/config.inc.php on line 39
Der PHPMailer ist installiert und die Datei class.phpmailer.inc.php vorhanden... weiss grad jemand woran das liegen kann?

Danke und Gruss,
Pat

burtburtson
Beiträge: 15
Registriert: 14. Nov 2007, 12:56

6. Mai 2008, 15:03

Also bei mir hat es geholfen den PHPMailer aus redaxo 4.0 zu installieren anstatt den von 4.1

Zurück zu „Allgemeines [R4]“