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();
}
Lesezeichen