]> git.mxchange.org Git - friendica.git/commitdiff
Pass the "force" parameter to the avatar update
authorMichael <heluecht@pirati.ca>
Fri, 27 May 2022 05:36:07 +0000 (05:36 +0000)
committerMichael <heluecht@pirati.ca>
Fri, 27 May 2022 05:36:07 +0000 (05:36 +0000)
src/Contact/Avatar.php
src/Model/Contact.php

index 13311580b12802b6d6a27a32ba0bdc40f04e3055..ed2cf9a50aedbc1f225cd6c1dcba9c181d8461ef 100644 (file)
@@ -44,11 +44,12 @@ class Avatar
        /**
         * Returns a field array with locally cached avatar pictures
         *
-        * @param array $contact
-        * @param string $avatar
+        * @param array $contact Contact array
+        * @param string $avatar Link to avatar picture
+        * @param bool   $force  force picture update
         * @return array
         */
-       public static function fetchAvatarContact(array $contact, string $avatar): array
+       public static function fetchAvatarContact(array $contact, string $avatar, bool $force = false): array
        {
                $fields = ['avatar' => $avatar, 'avatar-date' => DateTimeFormat::utcNow(), 'photo' => '', 'thumb' => '', 'micro' => ''];
 
@@ -61,7 +62,7 @@ class Avatar
                        return $fields;
                }
 
-               if ($avatar != $contact['avatar']) {
+               if (($avatar != $contact['avatar']) || $force) {
                        self::deleteCache($contact);
                        Logger::debug('Avatar file name changed', ['new' => $avatar, 'old' => $contact['avatar']]);
                } elseif (self::isCacheFile($contact['photo']) && self::isCacheFile($contact['thumb']) && self::isCacheFile($contact['micro'])) {
index 61dd688c7718c21d62795ab63310f97dccaa6dd1..3fff50775d19316e15daabf43d74652b48965317 100644 (file)
@@ -2049,7 +2049,7 @@ class Contact
                        }
                } else {
                        Photo::delete(['uid' => $uid, 'contact-id' => $cid, 'photo-type' => Photo::CONTACT_AVATAR]);
-                       $fields = Avatar::fetchAvatarContact($contact, $avatar);
+                       $fields = Avatar::fetchAvatarContact($contact, $avatar, $force);
                        $update = ($avatar . $fields['photo'] . $fields['thumb'] . $fields['micro'] != $contact['avatar'] . $contact['photo'] . $contact['thumb'] . $contact['micro']) || $force;
                }