Ich hatte das gleiche Problem. Es entsteht dadurch, dass bei der Validierung der eingegebenen Daten von irgendwelchen Objekten die Länge der Zeichenfolge gelesen wird, dieser Wert aber NULL ist. Ich habe den Code in der Datei Frontend\ModulePersonalData.php folgendermaßen geändert:
(ab Zeile 161):
PHP-Code:
$objWidget->validate();
$varValue = $objWidget->value;
//Dieser beiden Zeilen einfügen
$strLenValue = strLen(varValue);
if(strLen($varValue)==null) $strLenValue=0;
//...und in den beiden IF-Anweisungen den Term strLen($varValue) durch $strLenValue ersetzen
// Convert date formats into timestamps
if ($strLenValue && in_array($arrData['eval']['rgxp'], array('date', 'time', 'datim')))
{
$objDate = new Date($varValue, $GLOBALS['TL_CONFIG'][$arrData['eval']['rgxp'] . 'Format']);
$varValue = $objDate->tstamp;
}
// Make sure that unique fields are unique
if ($strLenValue && $arrData['eval']['unique'])
{
$objUnique = $this->Database->prepare("SELECT * FROM tl_member WHERE " . $field . "=? AND id!=?")
->limit(1)
->execute($varValue, $this->User->id);
if ($objUnique->numRows)
{
$objWidget->addError(sprintf($GLOBALS['TL_LANG']['ERR']['unique'], (strlen($arrData['label'][0]) ? $arrData['label'][0] : $field)));
}
}
Natürlich ist dies nur ein Workaround, der beim nächsten Update wohl wieder hinfällig ist...
Lesezeichen