Ergebnis 1 bis 5 von 5

Thema: C3 BETA - Newsletter Fehler / ModuleSubscribe.php / ModuleUnsubscribe.php

  1. #1
    Contao-Nutzer
    Registriert seit
    03.08.2012.
    Beiträge
    15

    HTML C3 BETA - Newsletter Fehler / ModuleSubscribe.php / ModuleUnsubscribe.php

    Hallo liebe Gemeinde,
    da ich momentan die Contao Beta 3 nutze und eine Newsletter Seite aufsetzen wollte, ist mir ein Fehler beim abonnieren eines Newsletterverteilers aufgefallen.
    Dieser Fehler machte es unmöglich eine Email Adresse in den Verteiler eintragen zu lassen.
    Die ganze Zeit wurde eine Exception angezeigt - wo drin stand in der DB das Feld 'email' nicht NULL sein darf.
    Ich habe mich auf Fehler Suche gemacht und die ModuleSubscribe.php aus der Beta 3 mit der aus der 2.10 Version verglichen.
    Mir ist dabei aufgefallen das nach Zeile 214 in der ModuleSubscribe.php (Beta3) der folgende Eintrag fehlt.
    Code:
    $varInput = $this->idnaEncodeEmail($this->Input->post('email', true));
    Habe diesen Eintrag eingefügt und schwupps war der Fehler beseitigt!

    So sollte es dann aussehen:
    PHP-Code:
            // Check the selection
            
    if (!is_array($arrChannels) || empty($arrChannels))
            {
                
    $_SESSION['SUBSCRIBE_ERROR'] = $GLOBALS['TL_LANG']['ERR']['noChannels'];
                
    $this->reload();
            }
            
            
    $varInput $this->idnaEncodeEmail($this->Input->post('email'true));


            
    // Validate the e-mail address
            
    if (!\Validator::isEmail(\Input::post('email'true)))
            {
                
    $_SESSION['SUBSCRIBE_ERROR'] = $GLOBALS['TL_LANG']['ERR']['email'];
                
    $this->reload();
            } 
    Mit freundlichen Grüßen
    Marvin


    EDIT:
    Selbiger Fehler beim kündigen eines Abonnoments, in der ModuleUnsubscribe.php (Beta3) der folgende Eintrag fehlt nach Zeile 146:
    Code:
    $varInput = $this->idnaEncodeEmail($this->Input->post('email', true));
    Sollte dann so aussehen:
    PHP-Code:
            // Check the selection
            
    if (!is_array($arrChannels) || empty($arrChannels))
            {
                
    $_SESSION['UNSUBSCRIBE_ERROR'] = $GLOBALS['TL_LANG']['ERR']['noChannels'];
                
    $this->reload();
            }

    $varInput $this->idnaEncodeEmail($this->Input->post('email'true));

            
    // Validate e-mail address
            
    if (!\Validator::isEmail(\Input::post('email'true)))
            {
                
    $_SESSION['UNSUBSCRIBE_ERROR'] = $GLOBALS['TL_LANG']['ERR']['email'];
                
    $this->reload();
            } 
    Geändert von n30xxx (03.08.2012 um 12:34 Uhr)

  2. #2
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich sehe keine Unterschied zwischen vorher/nachher, ausser den Validierungszeilen? Die hast du wohl nicht hinzugefügt?
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  3. #3
    Contao-Urgestein
    Registriert seit
    03.06.2010.
    Ort
    Wuppertal
    Beiträge
    2.149
    User beschenken
    Wunschliste

    Standard

    Ist auch kein Code Vergleich, sondern zwei geänderte Code Stellen aus 2 Dateien...

    n30xxx meint, es fehlt die komplette Zuweisung und Enkodierung in der 3.0 Beta...

    Code:
    $varInput = $this->idnaEncodeEmail($this->Input->post('email', true));
    https://github.com/contao/core/blob/...eSubscribe.php

    Und ich würde sagen das stimmt...

    Zeile 226 greift auf $varInput zu, die Variable wird in der Funktion addRecipient aber nicht erstellt...

  4. #4
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Könntest du das als Bug Report stellen? Oder besser gleich als Pull Request?

    https://github.com/contao/core/issues/new
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  5. #5
    Buchautor 'Websites erstellen mit Contao' Avatar von pmmueller
    Registriert seit
    19.06.2009.
    Ort
    Groningen (NL)
    Beiträge
    1.523

    Standard

    Ist da ein Ticket erstellt worden?

    Ich kann auf Github nichts dergleichen finden, habe aber im RC1 dieselbe Fehlermeldung beim Versuch, einen Newsletter zu abonnieren:
    https://www.contao-community.de/show...045#post217045

    /edit
    Nachdem ich die Variablendefinition in ModuleSubscribe.php nach Zeile 214 hinzugefügt habe, ändert sich die Fehlermeldung:
    Fatal error: Namespace declaration statement has to be the very first statement in the script in /home/www/c3/system/modules/newsletter/modules/ModuleSubscribe.php on line 17

    Jedenfalls ist die fragliche Zeile anscheinend nicht im Skript und ich mache dann mal ein Ticket auf:
    https://github.com/contao/core/issues/4660
    Geändert von pmmueller (16.08.2012 um 18:41 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •