]> git.mxchange.org Git - friendica.git/commitdiff
Only query the last item on public contacts
authorMichael <heluecht@pirati.ca>
Wed, 5 Aug 2020 08:24:01 +0000 (08:24 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 5 Aug 2020 08:24:01 +0000 (08:24 +0000)
src/Model/Contact.php

index 934c628d8e276204caf4319d0378af1afc9a1fb8..278632072dc713ff49d2c1adbd13d5563771ce43 100644 (file)
@@ -1235,8 +1235,10 @@ class Contact
                        $data['gsid'] = GServer::getID($data['baseurl']);
                }
 
-               $data['last-item'] = Probe::getLastUpdate($data);
-               Logger::info('Fetched last item', ['url' => $data['url'], 'last-item' => $data['last-item']]);
+               if ($uid == 0) {
+                       $data['last-item'] = Probe::getLastUpdate($data);
+                       Logger::info('Fetched last item', ['url' => $data['url'], 'last-item' => $data['last-item']]);
+               }
 
                if (!$contact_id && !empty($data['alias']) && ($data['alias'] != $data['url']) && !$in_loop) {
                        $contact_id = self::getIdForURL($data["alias"], $uid, false, $default, true);
@@ -1267,7 +1269,6 @@ class Contact
                                'poco'      => $data['poco'] ?? '',
                                'baseurl'   => $data['baseurl'] ?? '',
                                'gsid'      => $data['gsid'] ?? null,
-                               'last-item' => $data['last-item'] ?: DBA::NULL_DATETIME,
                                'name-date' => DateTimeFormat::utcNow(),
                                'uri-date'  => DateTimeFormat::utcNow(),
                                'avatar-date' => DateTimeFormat::utcNow(),
@@ -1276,6 +1277,10 @@ class Contact
                                'readonly'  => 0,
                                'pending'   => 0];
 
+                       if (!empty($data['last-item'])) {
+                               $fields['last-item'] = $data['last-item'];
+                       }
+
                        $condition = ['nurl' => Strings::normaliseLink($data["url"]), 'uid' => $uid, 'deleted' => false];
 
                        // Before inserting we do check if the entry does exist now.
@@ -1333,7 +1338,7 @@ class Contact
                                $updated[$field] = ($data[$field] ?? '') ?: $contact[$field];
                        }
 
-                       if ($contact['last-item'] < $data['last-item']) {
+                       if (!empty($data['last-item']) && ($contact['last-item'] < $data['last-item'])) {
                                $updated['last-item'] = $data['last-item'];
                        }