]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Contact.php
Remove unused `use` statements & remove PConfig class
[friendica.git] / src / Model / Contact.php
index 7722b6990956e825b3116233779ae339e4f30ac1..550f89f31a6343dad11e88fdbe36defccb5cb5cf 100644 (file)
@@ -314,6 +314,29 @@ class Contact
                return Strings::compareLink(self::getBasepath($url, true), DI::baseUrl());
        }
 
+       /**
+        * Check if the given contact ID is on the same server
+        *
+        * @param string $url The contact link
+        *
+        * @return boolean Is it the same server?
+        */
+       public static function isLocalById(int $cid)
+       {
+               $contact = DBA::selectFirst('contact', ['url', 'baseurl'], ['id' => $cid]);
+               if (!DBA::isResult($contact)) {
+                       return false;
+               }
+
+               if (empty($contact['baseurl'])) {
+                       $baseurl = self::getBasepath($contact['url'], true);
+               } else {
+                       $baseurl = $contact['baseurl'];
+               }
+
+               return Strings::compareLink($baseurl, DI::baseUrl());
+       }
+
        /**
         * Returns the public contact id of the given user id
         *
@@ -1899,7 +1922,7 @@ class Contact
                foreach ($data as $image_uri) {
                        $image_rid = Photo::ridFromURI($image_uri);
                        if ($image_rid && !Photo::exists(['resource-id' => $image_rid, 'uid' => $uid])) {
-                               Logger::info('Regenerating avatar for contact uid ' . $uid . ' cid ' . $cid . ' missing photo ' . $image_rid . ' avatar ' . $contact['avatar']);
+                               Logger::info('Regenerating avatar', ['contact uid' => $uid, 'cid' => $cid, 'missing photo' => $image_rid, 'avatar' => $contact['avatar']]);
                                $force = true;
                        }
                }
@@ -2126,6 +2149,12 @@ class Contact
                        if ($force) {
                                self::updateContact($id, $uid, $ret['url'], ['last-update' => $updated, 'success_update' => $updated]);
                        }
+
+                       // Update the public contact
+                       if ($uid != 0) {
+                               self::updateFromProbeByURL($ret['url']);
+                       }
+
                        return true;
                }