App\Http\Controllers\Laralum\DownloadsController::download PHP Method

download() public method

public download ( $slug, Illuminate\Http\Request $request )
$request Illuminate\Http\Request
    public function download($slug, Request $request)
    {
        $file = Laralum::document('slug', $slug);
        if ($file) {
            # Check if disabled
            if ($file->disabled) {
                abort(404);
            }
            # Check Auth
            if ($file->authorization_required) {
                if (!Auth::check()) {
                    return redirect('/login');
                }
            }
            # Check password
            if ($file->password) {
                if (Crypt::decrypt($file->password) == $request->input('password')) {
                    return $this->fileDownload($file->name);
                } else {
                    return redirect(Laralum::downloadLink($file->name))->with('error', trans('laralum.password_not_correct'));
                }
            } else {
                return $this->fileDownload($file->name);
            }
        } else {
            abort(404);
        }
    }