X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/c429cf78187e80deb63982a282a1c6889f30291a..refs/pull/4002/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..cd6b2d406 100644 --- a/app/Http/Controllers/Images/ImageController.php +++ b/app/Http/Controllers/Images/ImageController.php @@ -7,25 +7,20 @@ 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 ImageRepo $imageRepo; + protected ImageService $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 +30,13 @@ class ImageController extends Controller */ public function showImage(string $path) { - $path = storage_path('uploads/images/' . $path); - if (!file_exists($path)) { + if (!$this->imageService->pathAccessibleInLocalSecure($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 +48,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 +59,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 +81,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, ]);