From 098cd543ea02f4cd0438a70b6e6dd0d6a546d861 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 6 Jul 2021 10:36:00 +0000 Subject: [PATCH] Cleaned code for contact avatars --- mod/message.php | 4 ++-- src/Model/Contact.php | 39 +++++++++------------------------------ src/Module/Contact.php | 2 +- src/Module/Search/Acl.php | 2 +- 4 files changed, 13 insertions(+), 34 deletions(-) diff --git a/mod/message.php b/mod/message.php index 06542bbaf2..2705708ea6 100644 --- a/mod/message.php +++ b/mod/message.php @@ -325,7 +325,7 @@ function message_content(App $a) $to_name_e = $message['name']; $contact = Contact::getByURL($message['from-url'], false, ['thumb', 'addr', 'id', 'avatar']); - $from_photo = Contact::getThumb($contact, $message['from-photo']); + $from_photo = Contact::getThumb($contact); $mails[] = [ 'id' => $message['id'], @@ -457,7 +457,7 @@ function render_messages(array $msg, $t) } $contact = Contact::getByURL($rr['url'], false, ['thumb', 'addr', 'id', 'avatar']); - $from_photo = Contact::getThumb($contact, $rr['thumb'] ?: $rr['from-photo']); + $from_photo = Contact::getThumb($contact); $rslt .= Renderer::replaceMacros($tpl, [ '$id' => $rr['id'], diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 5fc234d609..c65837bd97 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -1497,67 +1497,46 @@ class Contact * @param bool $no_update Don't perfom an update if no cached avatar was found * @return string photo path */ - private static function getAvatarPath(array $contact, string $field, string $size, string $avatar, $no_update = false) + private static function getAvatarPath(array $contact, string $size, $no_update = false) { - if (!empty($contact)) { - $contact = self::checkAvatarCacheByArray($contact, $no_update); - if (!empty($contact['id'])) { - return self::getAvatarUrlForId($contact['id'], $size, $contact['updated'] ?? ''); - } elseif (!empty($contact[$field])) { - return $contact[$field]; - } elseif (!empty($contact['avatar'])) { - $avatar = $contact['avatar']; - } - } - - if (empty($avatar)) { - $avatar = self::getDefaultAvatar([], $size); - } - - if (Proxy::isLocalImage($avatar)) { - return $avatar; - } else { - return Proxy::proxifyUrl($avatar, $size); - } + $contact = self::checkAvatarCacheByArray($contact, $no_update); + return self::getAvatarUrlForId($contact['id'], $size, $contact['updated'] ?? ''); } /** * Return the photo path for a given contact array * * @param array $contact Contact array - * @param string $avatar Avatar path that is displayed when no photo had been found * @param bool $no_update Don't perfom an update if no cached avatar was found * @return string photo path */ - public static function getPhoto(array $contact, string $avatar = '', bool $no_update = false) + public static function getPhoto(array $contact, bool $no_update = false) { - return self::getAvatarPath($contact, 'photo', Proxy::SIZE_SMALL, $avatar, $no_update); + return self::getAvatarPath($contact, Proxy::SIZE_SMALL, $no_update); } /** * Return the photo path (thumb size) for a given contact array * * @param array $contact Contact array - * @param string $avatar Avatar path that is displayed when no photo had been found * @param bool $no_update Don't perfom an update if no cached avatar was found * @return string photo path */ - public static function getThumb(array $contact, string $avatar = '', bool $no_update = false) + public static function getThumb(array $contact, bool $no_update = false) { - return self::getAvatarPath($contact, 'thumb', Proxy::SIZE_THUMB, $avatar, $no_update); + return self::getAvatarPath($contact, Proxy::SIZE_THUMB, $no_update); } /** * Return the photo path (micro size) for a given contact array * * @param array $contact Contact array - * @param string $avatar Avatar path that is displayed when no photo had been found * @param bool $no_update Don't perfom an update if no cached avatar was found * @return string photo path */ - public static function getMicro(array $contact, string $avatar = '', bool $no_update = false) + public static function getMicro(array $contact, bool $no_update = false) { - return self::getAvatarPath($contact, 'micro', Proxy::SIZE_MICRO, $avatar, $no_update); + return self::getAvatarPath($contact, Proxy::SIZE_MICRO, $no_update); } /** diff --git a/src/Module/Contact.php b/src/Module/Contact.php index cc6cc7e055..a00b0c702f 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -1111,7 +1111,7 @@ class Contact extends BaseModule 'url' => $url, 'img_hover' => DI::l10n()->t('Visit %s\'s profile [%s]', $contact['name'], $contact['url']), 'photo_menu' => Model\Contact::photoMenu($contact), - 'thumb' => Model\Contact::getThumb($contact, '', true), + 'thumb' => Model\Contact::getThumb($contact, true), 'alt_text' => $alt_text, 'name' => $contact['name'], 'nick' => $contact['nick'], diff --git a/src/Module/Search/Acl.php b/src/Module/Search/Acl.php index ab031f9cbb..aa5a0e3678 100644 --- a/src/Module/Search/Acl.php +++ b/src/Module/Search/Acl.php @@ -78,7 +78,7 @@ class Acl extends BaseModule $contacts = []; foreach ($result as $contact) { $contacts[] = [ - 'photo' => Contact::getMicro($contact, '', true), + 'photo' => Contact::getMicro($contact, true), 'name' => htmlspecialchars($contact['name']), 'nick' => $contact['addr'] ?: $contact['url'], 'network' => $contact['network'],