Loop on expected fields instead of existing fields in Settings\UserExport

- We don't delete fields, so there can be more fields in the database than in the DB structure
- Address https://github.com/friendica/friendica/issues/8877#issuecomment-663875895
This commit is contained in:
Hypolite Petovan 2020-08-20 09:30:50 -04:00
parent ac90387d82
commit 40d12b85c4

View file

@ -114,14 +114,11 @@ class UserExport extends BaseSettings
$rows = DBA::p($query);
while ($row = DBA::fetch($rows)) {
$p = [];
foreach ($row as $k => $v) {
switch ($dbStructure[$table]['fields'][$k]['type']) {
case 'datetime':
$p[$k] = $v ?? DBA::NULL_DATETIME;
break;
default:
$p[$k] = $v;
break;
foreach ($dbStructure[$table]['fields'] as $column => $field) {
if ($field['type'] == 'datetime') {
$p[$column] = $v ?? DBA::NULL_DATETIME;
} else {
$p[$column] = $v;
}
}
$result[] = $p;