diff --git a/app/Http/Controllers/StatusController.php b/app/Http/Controllers/StatusController.php index cf209bf15..5ec19aa25 100644 --- a/app/Http/Controllers/StatusController.php +++ b/app/Http/Controllers/StatusController.php @@ -17,6 +17,7 @@ use Illuminate\Http\Request; use League\Fractal; use App\Util\Media\Filter; use Illuminate\Support\Str; +use App\Services\HashidService; class StatusController extends Controller { @@ -65,6 +66,16 @@ class StatusController extends Controller 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) { abort(404);