From 05bc59e445b585850ac937cdbfeaff71937d638c Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 31 Jul 2020 14:30:33 +0000 Subject: [PATCH] Direytory sync: Update contact when it already exists --- src/Worker/PullDirectory.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Worker/PullDirectory.php b/src/Worker/PullDirectory.php index af11a3fd06..a83b0a13be 100644 --- a/src/Worker/PullDirectory.php +++ b/src/Worker/PullDirectory.php @@ -63,14 +63,19 @@ class PullDirectory $now = $contacts['now'] ?? 0; $count = $contacts['count'] ?? 0; $added = 0; + $updated = 0; 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); ++$added; + } else { + Worker::add(PRIORITY_LOW, "UpdateContact", $contact['id']); + ++$updated; } } 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]); } }