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); } private function isPermissionAuth(){ if(Auth::check()){ return true; } abort(404); } public function show($id = null, $from = null, $do='file') { $path = ""; $filename = ""; $disk = "public"; /*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 ($from === '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 ($from === '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 ($from === '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 ($from === 'credit_detail'){ $user_credit = \App\Models\UserCredit::findOrFail($id); $this->isPermissionUserCredit($user_credit); return $this->create_credit_detail($user_credit, $do); /* $filename = $user_credit->filename; $disk = $user_credit->disk; $path = $user_credit->getDownloadPath(); */ } if ($from === 'dc_file'){ $this->isPermissionAuth(); $dc_file = \App\Models\DcFile::findOrFail($id); $filename = $dc_file->filename; $disk = 'public'; $path = $dc_file->getFile(); } if ($from === 'dc_thumb'){ $this->isPermissionAuth(); $dc_file = \App\Models\DcFile::findOrFail($id); $filename = $dc_file->filename; $disk = 'public'; $path = $dc_file->getThumb(); } if ($from === 'dc_big'){ $this->isPermissionAuth(); $dc_file = \App\Models\DcFile::findOrFail($id); $filename = $dc_file->filename; $disk = 'public'; $path = $dc_file->getBig(); } if(!Storage::disk($disk)->exists($path)){ return Response::make('Datei nicht gefunden.', 404); } if ($do === 'download') { return Storage::disk($disk)->download($path, $filename); } $file = Storage::disk($disk)->get($path); $mime = Storage::disk($disk)->mimeType($path); if(isset($file)){ if($do === 'stream'){ return Storage::disk($disk)->response($path, $filename); } if($do === 'file'){ return Response::make($file, 200) ->header("Content-Type", $mime) ->header("Content-Length", strlen($file)) ->header('Content-disposition', 'filename="'.$filename.'"'); } if($do === 'image'){ return Response::make($file, 200) ->header("Content-Type", $mime); } if($do === 'pdf'){ $path = storage_path().'/app/public/' . $path; $headers = array( 'Content-Type:'. $mime, // 'Content-Length: ' . $file->size // 'Content-Disposition: ' . $stream . '; filename=' . $file->original_name ); return Response::download($path, $filename, $headers); } } } private function create_credit_detail(UserCredit $user_credit, $do){ $credit_repo = new CreditRepository($user_credit->user); return $credit_repo->create_report($user_credit, $do); //\Session()->flash('alert-success', "Gutschrift erstellt"); } }