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(403, "Nicht autorisiert"); } 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"); } }