From 3bd211d7f5848f243a1d83f6696aa8ef2489ecf6 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sun, 23 Jan 2022 01:47:31 -0700 Subject: [PATCH] Update profile embeds, fix NaN bug and improve performance --- app/Http/Controllers/ProfileController.php | 11 ++-- resources/views/profile/embed.blade.php | 58 +++++++++++++--------- 2 files changed, 41 insertions(+), 28 deletions(-) diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index a3331c8d0..6657a290a 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -13,6 +13,7 @@ use App\Story; use App\User; use App\UserFilter; use League\Fractal; +use App\Services\AccountService; use App\Services\FollowerService; use App\Util\Lexer\Nickname; use App\Util\Webfinger\Webfinger; @@ -55,7 +56,6 @@ class ProfileController extends Controller $owner = false; $is_following = false; - $is_admin = $user->user->is_admin; $profile = $user; $settings = [ 'crawlable' => $settings->crawlable, @@ -227,11 +227,12 @@ class ProfileController extends Controller return response($res)->withHeaders(['X-Frame-Options' => 'ALLOWALL']); } - $content = Cache::remember('profile:embed:'.$profile->id, now()->addHours(12), function() use($profile) { - return View::make('profile.embed')->with(compact('profile'))->render(); - }); + if(AccountService::canEmbed($profile->user_id) == false) { + return response($res)->withHeaders(['X-Frame-Options' => 'ALLOWALL']); + } - return response($content)->withHeaders(['X-Frame-Options' => 'ALLOWALL']); + $profile = AccountService::get($profile->id); + return view('profile.embed', compact('profile'))->withHeaders(['X-Frame-Options' => 'ALLOWALL']); } public function stories(Request $request, $username) diff --git a/resources/views/profile/embed.blade.php b/resources/views/profile/embed.blade.php index caf3fd3df..4850f41f5 100644 --- a/resources/views/profile/embed.blade.php +++ b/resources/views/profile/embed.blade.php @@ -12,7 +12,7 @@ - + @@ -37,9 +37,9 @@
- - - {{$profile->username}} + + + {{$profile['username']}}
@@ -50,35 +50,22 @@
-

{{$profile->statuses()->count()}}

+

Posts

-

{{$profile->followerCount(true)}}

+

Followers

-
- @foreach($profile->statuses()->latest()->whereScope('public')->whereIsNsfw(false)->has('media')->whereType('photo')->take(9)->get() as $post) - - @endforeach -
+
@@ -90,8 +77,33 @@ +