From 8e9433f2e9fb3c1b24b6fa564ed40f38ef38701b Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 1 Jul 2021 18:05:54 +0000 Subject: [PATCH] Fix: Fetching of non public photos --- src/App/Module.php | 1 - src/Core/Session.php | 5 +++-- src/Module/Photo.php | 7 +++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/App/Module.php b/src/App/Module.php index 5a2ad61837..f15b1236e8 100644 --- a/src/App/Module.php +++ b/src/App/Module.php @@ -63,7 +63,6 @@ class Module 'outbox', 'poco', 'post', - 'proxy', 'pubsub', 'pubsubhubbub', 'receive', diff --git a/src/Core/Session.php b/src/Core/Session.php index 7bbc8e5222..e648d4cac0 100644 --- a/src/Core/Session.php +++ b/src/Core/Session.php @@ -116,16 +116,17 @@ class Session $session = DI::session(); $session->set('remote', []); + $remote = []; $remote_contacts = DBA::select('contact', ['id', 'uid'], ['nurl' => Strings::normaliseLink($session->get('my_url')), 'rel' => [Contact::FOLLOWER, Contact::FRIEND], 'self' => false]); while ($contact = DBA::fetch($remote_contacts)) { if (($contact['uid'] == 0) || Contact\User::isBlocked($contact['id'], $contact['uid'])) { continue; } - - $session->set('remote', [$contact['uid'] => $contact['id']]); + $remote[$contact['uid']] = $contact['id']; } DBA::close($remote_contacts); + $session->set('remote', $remote); } /** diff --git a/src/Module/Photo.php b/src/Module/Photo.php index 3b4b7cc569..57ccd1bddb 100644 --- a/src/Module/Photo.php +++ b/src/Module/Photo.php @@ -28,10 +28,12 @@ use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Photo as MPhoto; use Friendica\Model\Post; +use Friendica\Model\Profile; use Friendica\Model\Storage\ExternalResource; use Friendica\Model\Storage\SystemResource; use Friendica\Util\Proxy; use Friendica\Object\Image; +use Friendica\Util\HTTPSignature; use Friendica\Util\Images; /** @@ -65,6 +67,11 @@ class Photo extends BaseModule exit; } + $requester = HTTPSignature::getSigner('', $_SERVER); + if (!empty($requester)) { + Profile::addVisitorCookieForHandle($requester); + } + $customsize = 0; $square_resize = true; $photo = false;