X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/c429cf78187e80deb63982a282a1c6889f30291a..refs/pull/3630/head:/app/Http/Controllers/Images/ImageController.php diff --git a/app/Http/Controllers/Images/ImageController.php b/app/Http/Controllers/Images/ImageController.php index 4c9737887..21ed58553 100644 --- a/app/Http/Controllers/Images/ImageController.php +++ b/app/Http/Controllers/Images/ImageController.php @@ -7,25 +7,23 @@ use BookStack\Exceptions\NotFoundException; use BookStack\Http\Controllers\Controller; use BookStack\Uploads\Image; use BookStack\Uploads\ImageRepo; +use BookStack\Uploads\ImageService; use Exception; -use Illuminate\Filesystem\Filesystem as File; use Illuminate\Http\Request; use Illuminate\Validation\ValidationException; class ImageController extends Controller { - protected $image; - protected $file; protected $imageRepo; + protected $imageService; /** * ImageController constructor. */ - public function __construct(Image $image, File $file, ImageRepo $imageRepo) + public function __construct(ImageRepo $imageRepo, ImageService $imageService) { - $this->image = $image; - $this->file = $file; $this->imageRepo = $imageRepo; + $this->imageService = $imageService; } /** @@ -35,14 +33,13 @@ class ImageController extends Controller */ public function showImage(string $path) { - $path = storage_path('uploads/images/' . $path); - if (!file_exists($path)) { + if (!$this->imageService->pathExistsInLocalSecure($path)) { throw (new NotFoundException(trans('errors.image_not_found'))) ->setSubtitle(trans('errors.image_not_found_subtitle')) ->setDetails(trans('errors.image_not_found_details')); } - return response()->file($path); + return $this->imageService->streamImageFromStorageResponse('gallery', $path); } /** @@ -54,7 +51,7 @@ class ImageController extends Controller public function update(Request $request, string $id) { $this->validate($request, [ - 'name' => 'required|min:2|string', + 'name' => ['required', 'min:2', 'string'], ]); $image = $this->imageRepo->getById($id); @@ -65,7 +62,7 @@ class ImageController extends Controller $this->imageRepo->loadThumbs($image); - return view('components.image-manager-form', [ + return view('pages.parts.image-manager-form', [ 'image' => $image, 'dependantPages' => null, ]); @@ -87,7 +84,7 @@ class ImageController extends Controller $this->imageRepo->loadThumbs($image); - return view('components.image-manager-form', [ + return view('pages.parts.image-manager-form', [ 'image' => $image, 'dependantPages' => $dependantPages ?? null, ]);