Merge pull request #8954 from annando/sync-update

Directory sync: Update contact when it already exists
This commit is contained in:
Hypolite Petovan 2020-07-31 19:10:19 -04:00 committed by GitHub
commit ca2267a4a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -63,14 +63,19 @@ class PullDirectory
$now = $contacts['now'] ?? 0; $now = $contacts['now'] ?? 0;
$count = $contacts['count'] ?? 0; $count = $contacts['count'] ?? 0;
$added = 0; $added = 0;
$updated = 0;
foreach ($contacts['results'] as $url) { foreach ($contacts['results'] as $url) {
if (empty(Contact::getByURL($url, false, ['id']))) { $contact = Contact::getByURL($url, false, ['id']);
if (empty($contact['id'])) {
Worker::add(PRIORITY_LOW, 'AddContact', 0, $url); Worker::add(PRIORITY_LOW, 'AddContact', 0, $url);
++$added; ++$added;
} else {
Worker::add(PRIORITY_LOW, "UpdateContact", $contact['id']);
++$updated;
} }
} }
DI::config()->set('system', 'last-directory-sync', $now); DI::config()->set('system', 'last-directory-sync', $now);
Logger::info('Synchronization ended.', ['now' => $now, 'count' => $count, 'added' => $added, 'directory' => $directory]); Logger::info('Synchronization ended.', ['now' => $now, 'count' => $count, 'added' => $added, 'updated' => $updated, 'directory' => $directory]);
} }
} }