]> git.mxchange.org Git - friendica.git/commitdiff
Don't poll locally / user self data
authorMichael <heluecht@pirati.ca>
Wed, 19 Aug 2020 05:18:19 +0000 (05:18 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 19 Aug 2020 05:18:19 +0000 (05:18 +0000)
src/Model/Contact.php
src/Worker/OnePoll.php

index 7772bad878c811f3338e15ba44c13dcae259e7b0..ed8bc7d55c44b3ec0b62cdb6ae4e8e4478f7805c 100644 (file)
@@ -1576,12 +1576,20 @@ class Contact
                        return;
                }
 
+               $local_uid = User::getIdForURL($contact['url']);
+               if (!empty($local_uid)) {
+                       $fields = self::selectFirst(['avatar', 'avatar-date', 'photo', 'thumb', 'micro'], ['self' => true, 'uid' => $local_uid]);
+               }
+
                // Replace cached avatar pictures from the default avatar with the default avatars in different sizes
                if (strpos($avatar, self::DEFAULT_AVATAR_PHOTO)) {
                        $fields = ['avatar' => $avatar, 'avatar-date' => DateTimeFormat::utcNow(),
                                'photo' => DI::baseUrl() . self::DEFAULT_AVATAR_PHOTO,
                                'thumb' => DI::baseUrl() . self::DEFAULT_AVATAR_THUMB,
                                'micro' => DI::baseUrl() . self::DEFAULT_AVATAR_MICRO];
+               }
+
+               if (!empty($fields)) {
                        if ($fields['photo'] . $fields['thumb'] . $fields['micro'] != $contact['photo'] . $contact['thumb'] . $contact['micro']) {
                                DBA::update('contact', $fields, ['id' => $cid]);
                                Photo::delete(['uid' => $uid, 'contact-id' => $cid, 'album' => Photo::CONTACT_PHOTOS]);
index 4dfbf7cadbb95863418c7d607f6d5c618e6d453c..867b11fd3018550b8e1bcd0c8f83663810fb237f 100644 (file)
@@ -103,6 +103,15 @@ class OnePoll
                        return;
                }
 
+               // Don't poll local contacts
+               if (Contact::isLocalById($contact['id'])) {
+                       Logger::info('Local contacts are not polled', ['id' => $contact['id']]);
+
+                       // set the last-update so we don't keep polling
+                       DBA::update('contact', ['last-update' => $updated], ['id' => $contact['id']]);
+                       return;
+               }               
+               
                // We don't poll AP contacts by now
                if ($protocol === Protocol::ACTIVITYPUB) {
                        Logger::log("Don't poll AP contact");