More fields added to "user-contact"

This commit is contained in:
Michael 2021-09-13 14:20:20 +00:00
parent 5abc1543fd
commit 2926282f8d
4 changed files with 31 additions and 24 deletions

View file

@ -66,17 +66,7 @@ class User
return false;
}
$fields = $contact;
if (isset($fields['readonly'])) {
$fields['ignored'] = $fields['readonly'];
}
if (!empty($fields['self'])) {
$fields['rel'] = Contact::SELF;
}
$fields = DBStructure::getFieldsForTable('user-contact', $fields);
$fields = self::preparedFields($contact);
$fields['cid'] = $pcid;
$fields['uid'] = $contact['uid'];
$fields['uri-id'] = $contact['uri-id'];
@ -101,19 +91,7 @@ class User
{
DBA::transaction();
unset($fields['uid']);
unset($fields['cid']);
unset($fields['uri-id']);
if (isset($fields['readonly'])) {
$fields['ignored'] = $fields['readonly'];
}
if (!empty($fields['self'])) {
$fields['rel'] = Contact::SELF;
}
$update_fields = DBStructure::getFieldsForTable('user-contact', $fields);
$update_fields = self::preparedFields($fields);
if (!empty($update_fields)) {
$contacts = DBA::select('contact', ['uri-id', 'uid'], $condition);
while ($row = DBA::fetch($contacts)) {
@ -129,6 +107,29 @@ class User
DBA::commit();
}
/**
* Prepare field data for update/insert
*
* @param array $fields
* @return array prepared fields
*/
private static function preparedFields(array $fields): array
{
unset($fields['uid']);
unset($fields['cid']);
unset($fields['uri-id']);
if (isset($fields['readonly'])) {
$fields['ignored'] = $fields['readonly'];
}
if (!empty($fields['self'])) {
$fields['rel'] = Contact::SELF;
}
return DBStructure::getFieldsForTable('user-contact', $fields);
}
/**
* Block contact id for user id
*