Ensure to reset the avatar paths when deleting avatar cache

This commit is contained in:
Michael 2023-01-14 13:10:43 +00:00
parent a7d0355849
commit 3e3f2555dc
2 changed files with 8 additions and 3 deletions

View file

@ -246,13 +246,16 @@ class Avatar
* Delete locally cached avatar pictures of a contact * Delete locally cached avatar pictures of a contact
* *
* @param string $avatar * @param string $avatar
* @return void * @return bool
*/ */
public static function deleteCache(array $contact) public static function deleteCache(array $contact): bool
{ {
$existed = (self::isCacheFile($contact['photo']) || self::isCacheFile($contact['thumb']) || self::isCacheFile($contact['micro']));
self::deleteCacheFile($contact['photo']); self::deleteCacheFile($contact['photo']);
self::deleteCacheFile($contact['thumb']); self::deleteCacheFile($contact['thumb']);
self::deleteCacheFile($contact['micro']); self::deleteCacheFile($contact['micro']);
return $existed;
} }
/** /**

View file

@ -2252,7 +2252,9 @@ class Contact
} }
if (in_array($contact['network'], [Protocol::FEED, Protocol::MAIL]) || $cache_avatar) { if (in_array($contact['network'], [Protocol::FEED, Protocol::MAIL]) || $cache_avatar) {
Avatar::deleteCache($contact); if (Avatar::deleteCache($contact)) {
$force = true;
}
if ($default_avatar && Proxy::isLocalImage($avatar)) { if ($default_avatar && Proxy::isLocalImage($avatar)) {
$fields = ['avatar' => $avatar, 'avatar-date' => DateTimeFormat::utcNow(), $fields = ['avatar' => $avatar, 'avatar-date' => DateTimeFormat::utcNow(),