X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FPullDirectory.php;h=8a22e504c0454fa72e89b3c6bdc55a1672ea8d3e;hb=60532ee7e4152af9997e0d7b69c7b35262d5528d;hp=af11a3fd06d74efdd6f3b3a02d36e09aa6417c40;hpb=152842633fb487e845de868b980cae1c09d545a7;p=friendica.git diff --git a/src/Worker/PullDirectory.php b/src/Worker/PullDirectory.php index af11a3fd06..8a22e504c0 100644 --- a/src/Worker/PullDirectory.php +++ b/src/Worker/PullDirectory.php @@ -1,6 +1,6 @@ get('system', 'directory'); + $directory = Search::getGlobalDirectory(); if (empty($directory)) { Logger::info('No directory configured'); return; @@ -48,7 +49,7 @@ class PullDirectory Logger::info('Synchronization started.', ['now' => $now, 'directory' => $directory]); - $result = DI::httpRequest()->fetch($directory . '/sync/pull/since/' . $now); + $result = DI::httpClient()->fetch($directory . '/sync/pull/since/' . $now, HttpClientAccept::JSON); if (empty($result)) { Logger::info('Directory server return empty result.', ['directory' => $directory]); return; @@ -60,17 +61,11 @@ class PullDirectory return; } + $result = Contact::addByUrls($contacts['results']); + $now = $contacts['now'] ?? 0; - $count = $contacts['count'] ?? 0; - $added = 0; - foreach ($contacts['results'] as $url) { - if (empty(Contact::getByURL($url, false, ['id']))) { - Worker::add(PRIORITY_LOW, 'AddContact', 0, $url); - ++$added; - } - } 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' => $result['count'], 'added' => $result['added'], 'updated' => $result['updated'], 'unchanged' => $result['unchanged'], 'directory' => $directory]); } }