auth_user_id ? $shopping_order->auth_user_id : $shopping_order->member_id; if(Auth::user()->isAdmin() || $user_id == Auth::user()->id){ return true; } abort(404); } private function isPermissionUserCredit($user_credit){ if(Auth::user()->isAdmin() || $user_credit->user_id == Auth::user()->id){ return true; } abort(404); } public function show($id = null, $disk = null, $do='file') { $path = ""; $filename = ""; /*if($disk === 'user'){ $file = \App\Models\File::findOrFail($id); $this->isPermission($file->user_id); $path = Storage::disk($disk)->path($file->dir.$file->filename); if (file_exists($path)) { return Response::file($path); } }*/ if ($disk === 'invoice'){ $shopping_order = \App\Models\ShoppingOrder::findOrFail($id); if($shopping_order->user_invoice){ $this->isPermissionShoppingOrder($shopping_order); $user_invoice = $shopping_order->user_invoice; $filename = $user_invoice->filename; $disk = $user_invoice->disk; $path = $user_invoice->getDownloadPath(); if (!Storage::disk($disk)->exists($path)) { return Response::make('File no found.', 404);; } $file = Storage::disk($disk)->get($path); $mime = Storage::disk($disk)->mimeType($path); } } if ($disk === 'delivery'){ $shopping_order = \App\Models\ShoppingOrder::findOrFail($id); if($shopping_order->user_invoice){ $this->isPermissionShoppingOrder($shopping_order); $user_invoice = $shopping_order->user_invoice; $filename = $user_invoice->delivery_filename; $disk = $user_invoice->disk; $path = $user_invoice->getDownloadPathDelivery(); if (!Storage::disk($disk)->exists($path)) { return Response::make('File no found.', 404);; } $file = Storage::disk($disk)->get($path); $mime = Storage::disk($disk)->mimeType($path); } } if ($disk === 'credit'){ $user_credit = \App\Models\UserCredit::findOrFail($id); $this->isPermissionUserCredit($user_credit); $filename = $user_credit->filename; $disk = $user_credit->disk; $path = $user_credit->getDownloadPath(); if (!Storage::disk($disk)->exists($path)) { return Response::make('File no found.', 404);; } $file = Storage::disk($disk)->get($path); $mime = Storage::disk($disk)->mimeType($path); } if(isset($file)){ if($do === 'download'){ return Response::make($file, 200) ->header("Content-Type", $mime) ->header('Content-disposition', 'attachment; filename="'.$filename.'"'); } if($do === 'stream'){ return Response::make($file, 200) ->header("Content-Type", $mime) ->header('Content-disposition','inline; filename="'.$filename.'"'); } } /*if ($disk === 'credit'){ $this->isPermission($UserCredit->auth_user_id); $filename = Credit::getFilename($UserCredit); $path = Credit::getDownloadPath($UserCredit); if (!Storage::disk('public')->exists($path)) { return Response::make('File no found.', 404); } $file = Storage::disk('public')->get($path); $mime = Storage::disk('public')->mimeType($path); if($do === 'download'){ return Response::make($file, 200) ->header("Content-Type", $mime) ->header('Content-disposition', 'attachment; filename="'.$filename.'"'); } if($do === 'stream'){ return Response::make($file, 200) ->header("Content-Type", $mime) ->header('Content-disposition','filename="'.$filename.'"'); } }*/ } }