Vielen Dank für die große Mithilfe
In der Zwischenzeit habe ich das Problem selbst gelöst. Für alle, die evtl. auf den gleichen Fehler stoßen:
In der Datei efg/classes/FormdataProcessor.php werden in Zeile 304 die übermittelten Daten überprüft.
PHP-Code:
if ($arrSubmitted[$k] || ($strType == 'upload' && strlen($strVal)))
{
// Prepare data
$arrFieldSet = array(
'pid' => $intNewId,
'sorting' => $arrField['sorting'],
'tstamp' => $timeNow,
'ff_id' => $arrField['id'],
'ff_name' => $arrField['name'],
'value' => $strVal
);
$objNewFormdataDetails = \Database::getInstance()
->prepare("INSERT INTO tl_formdata_details %s")
->set($arrFieldSet)
->execute();
}
Durch hinzufügen einer expliziten Prüfung auf den String 0, werden auch Textfelder gespeichtert, die mit 0 ausgefüllt sind.
PHP-Code:
if ($arrSubmitted[$k] || ($strType == 'upload' && strlen($strVal)))
{
// Prepare data
$arrFieldSet = array(
'pid' => $intNewId,
'sorting' => $arrField['sorting'],
'tstamp' => $timeNow,
'ff_id' => $arrField['id'],
'ff_name' => $arrField['name'],
'value' => $strVal
);
$objNewFormdataDetails = \Database::getInstance()
->prepare("INSERT INTO tl_formdata_details %s")
->set($arrFieldSet)
->execute();
}
//Save zero Integer values
else if($strVal === "0")
{
// Prepare data
$arrFieldSet = array(
'pid' => $intNewId,
'sorting' => $arrField['sorting'],
'tstamp' => $timeNow,
'ff_id' => $arrField['id'],
'ff_name' => $arrField['name'],
'value' => $strVal
);
$objNewFormdataDetails = \Database::getInstance()
->prepare("INSERT INTO tl_formdata_details %s")
->set($arrFieldSet)
->execute();
}
Lesezeichen