diff --git a/lib/models/User.class.php b/lib/models/User.class.php index 6bb38f41da3ff70478239000785ebd7fcfcc544f..5cf1e18a421c1733b0df107cfef726e2f96e0ecd 100644 --- a/lib/models/User.class.php +++ b/lib/models/User.class.php @@ -1078,16 +1078,12 @@ class User extends AuthUserMd5 implements Range, PrivacyObject $old_user = User::find($old_id); $old_user->datafields->each(function ($field) use ($new_id) { if (!$field->isNew() && $field->content !== null) { - $data = $field->toArray('datafield_id sec_range_id content mkdate chdate'); - $data['range_id'] = $new_id; + $entry = new DatafieldEntryModel([$field->datafield_id, $new_id, $field->sec_range_id, $field->lang]); - $datafield = DatafieldEntryModel::findOneBySQL('datafield_id = ?', [$data['datafield_id']]); - if(!$datafield) { - $datafield = DatafieldEntryModel::build($data); - } else { - $datafield->setData($data); + if ($entry->content === null || $entry->content === '' || $entry->content === 'default_value') { + $entry->content = $field->content; + $entry->store(); } - $datafield->store(); } });