From 2f44cafbf07ff53c84a0e9157e94aa380fa3f3a8 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Fri, 3 Jan 2020 14:06:07 -0700 Subject: [PATCH] Update ProfileController, fixes #1912 --- app/Http/Controllers/ProfileController.php | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 7e66211d2..e004a4d4b 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -9,6 +9,7 @@ use View; use App\Follower; use App\FollowRequest; use App\Profile; +use App\Story; use App\User; use App\UserFilter; use League\Fractal; @@ -135,6 +136,21 @@ class ProfileController extends Controller return false; } + public static function accountCheck(Profile $profile) + { + switch ($profile->status) { + case 'disabled': + case 'suspended': + case 'delete': + return view('profile.disabled'); + break; + + default: + break; + } + return abort(404); + } + protected function blockedProfileCheck(Profile $profile) { $pid = Auth::user()->profile->id; @@ -215,4 +231,16 @@ class ProfileController extends Controller return response($content)->withHeaders(['X-Frame-Options' => 'ALLOWALL']); } + + public function stories(Request $request, $username) + { + abort_if(!config('instance.stories.enabled') || !$request->user(), 404); + $profile = Profile::whereNull('domain')->whereUsername($username)->firstOrFail(); + $pid = $profile->id; + $exists = Story::whereProfileId($pid) + ->where('expires_at', '>', now()) + ->count(); + abort_unless($exists > 1, 404); + return view('profile.story', compact('pid')); + } }