Explorar o código

Update StatusController, add shortcodeRedirect method

Daniel Supernault %!s(int64=5) %!d(string=hai) anos
pai
achega
f34977d9a8
Modificáronse 1 ficheiros con 11 adicións e 0 borrados
  1. 11 0
      app/Http/Controllers/StatusController.php

+ 11 - 0
app/Http/Controllers/StatusController.php

@@ -17,6 +17,7 @@ use Illuminate\Http\Request;
 use League\Fractal;
 use League\Fractal;
 use App\Util\Media\Filter;
 use App\Util\Media\Filter;
 use Illuminate\Support\Str;
 use Illuminate\Support\Str;
+use App\Services\HashidService;
 
 
 class StatusController extends Controller
 class StatusController extends Controller
 {
 {
@@ -65,6 +66,16 @@ class StatusController extends Controller
         return view($template, compact('user', 'status'));
         return view($template, compact('user', 'status'));
     }
     }
 
 
+    public function shortcodeRedirect(Request $request, $id)
+    {
+        if(strlen($id) < 5 || !Auth::check()) {
+            return redirect('/login?next='.urlencode('/' . $request->path()));
+        }
+        $id = HashidService::decode($id);
+        $status = Status::findOrFail($id);
+        return redirect($status->url());
+    }
+
     public function showId(int $id)
     public function showId(int $id)
     {
     {
         abort(404);
         abort(404);