Direytory sync: Update contact when it already exists

This commit is contained in:
Michael 2020-07-31 14:30:33 +00:00
parent 152842633f
commit 05bc59e445

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]);
} }
} }