Browse Source

Update ProfileController, fixes #1912

Daniel Supernault 5 years ago
parent
commit
2f44cafbf0
1 changed files with 28 additions and 0 deletions
  1. 28 0
      app/Http/Controllers/ProfileController.php

+ 28 - 0
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'));
+    }
 }