Issue-4816: Avoid SQL errors / Unarchive living relais servers

This commit is contained in:
Michael 2018-04-11 18:56:22 +00:00
parent 9d5abaca1c
commit 75f97db4ec
2 changed files with 12 additions and 1 deletions

View file

@ -345,9 +345,14 @@ class Contact extends BaseObject
$fields = ['term-date' => NULL_DATE, 'archive' => false]; $fields = ['term-date' => NULL_DATE, 'archive' => false];
dba::update('contact', $fields, ['id' => $contact['id']]); dba::update('contact', $fields, ['id' => $contact['id']]);
if ($contact['url'] != '') { if (!empty($contact['url'])) {
dba::update('contact', $fields, ['nurl' => normalise_link($contact['url'])]); dba::update('contact', $fields, ['nurl' => normalise_link($contact['url'])]);
} }
if (!empty($contact['batch'])) {
$condition = ['batch' => $contact['batch'], 'contact-type' => ACCOUNT_TYPE_RELAY];
dba::update('contact', $fields, $condition);
}
} }
/** /**

View file

@ -1418,7 +1418,13 @@ class PortableContact
dba::delete('gserver-tag', ['gserver-id' => $gserver['id']]); dba::delete('gserver-tag', ['gserver-id' => $gserver['id']]);
if ($data->scope == 'tags') { if ($data->scope == 'tags') {
// Avoid duplicates
$tags = [];
foreach ($data->tags as $tag) { foreach ($data->tags as $tag) {
$tags[$tag] = $tag;
}
foreach ($tags as $tag) {
dba::insert('gserver-tag', ['gserver-id' => $gserver['id'], 'tag' => $tag]); dba::insert('gserver-tag', ['gserver-id' => $gserver['id'], 'tag' => $tag]);
} }
} }