Hallo,
ich habe evtl. einen Fehler in der Ext. MailformPlus (benutze Version 3.9.0) entdeckt. Und zwar werden (bzw. wurden) die Datenfelder bei mir nicht mittels saveDB in die Datenbank eingetragen. Der Insert-Befehl "funktionierte" zwar, aber die values blieben leer: (debug=1)
INSERT INTO newsletter (anrede, name, email ) VALUES ( '', '', '' )
Der Datensatz wurde also angelegt, aber es wurde eben nichts eingetragen.
Meine config des VHosts sieht u.a. so aus:
php_admin_flag magic_quotes_gpc Off
Die sind also ausgeschaltet.
Ich habe daher in der pi1/class.tx_thmailformplus_pi1.php ab Zeile 543 (hier die Zeile 9 in 10) geändert und ein bisschen "schön" formatiert und nun funktionierts.
Kann das jemand von Euch nachvollziehen? Ist das ein Fehler oder bin ich der Fehler??
# prepare mapping from inputfields to DB fields
$temp = explode(",", $conf['saveDB.']['mapping']);
foreach ($temp as $temp2) {
list($inputField,$dbField) = explode(":", $temp2);
$this->conf['saveDB']['mapping'][$inputField] = $dbField;
if(get_magic_quotes_gpc()) {
$val = stripslashes($this->reverse_htmlspecialchars(t3lib_div::GPvar($inputField)));
} else {
# alt $this->reverse_htmlspecialchars($val);
$val = $this->reverse_htmlspecialchars(t3lib_div::GPvar($inputField));
}
# if the submitted value is empty AND
# if_is_empty.[formfieldname] TS is defined for this field, take this value instead
if (!$val && $val != '0' && $conf['saveDB.']['if_is_empty.'][$inputField]) {
$val = $conf['saveDB.']['if_is_empty.'][$inputField];
}
$this->conf['saveDB']['dbinsert'][$dbField] .= $val;
}