X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/1bfd77e7a15cd52b2ccfa221ea90019438c2fbc1..refs/pull/806/head:/app/Http/Controllers/ImageController.php diff --git a/app/Http/Controllers/ImageController.php b/app/Http/Controllers/ImageController.php index 81e300a68..8437c80d7 100644 --- a/app/Http/Controllers/ImageController.php +++ b/app/Http/Controllers/ImageController.php @@ -1,6 +1,7 @@ file($path); + } + /** * Get all images for a specific type, Paginated * @param string $type @@ -47,14 +63,14 @@ class ImageController extends Controller * @param Request $request * @return mixed */ - public function searchByType($type, $page = 0, Request $request) + public function searchByType(Request $request, $type, $page = 0) { $this->validate($request, [ 'term' => 'required|string' ]); $searchTerm = $request->get('term'); - $imgData = $this->imageRepo->searchPaginatedByType($type, $page, 24, $searchTerm); + $imgData = $this->imageRepo->searchPaginatedByType($type, $searchTerm, $page, 24); return response()->json($imgData); } @@ -76,17 +92,19 @@ class ImageController extends Controller * @param Request $request * @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\JsonResponse|\Symfony\Component\HttpFoundation\Response */ - public function getGalleryFiltered($filter, $page = 0, Request $request) + public function getGalleryFiltered(Request $request, $filter, $page = 0) { $this->validate($request, [ 'page_id' => 'required|integer' ]); $validFilters = collect(['page', 'book']); - if (!$validFilters->contains($filter)) return response('Invalid filter', 500); + if (!$validFilters->contains($filter)) { + return response('Invalid filter', 500); + } $pageId = $request->get('page_id'); - $imgData = $this->imageRepo->getGalleryFiltered($page, 24, strtolower($filter), $pageId); + $imgData = $this->imageRepo->getGalleryFiltered(strtolower($filter), $pageId, $page, 24); return response()->json($imgData); } @@ -104,7 +122,10 @@ class ImageController extends Controller $this->validate($request, [ 'file' => 'is_image' ]); - // TODO - Restrict & validate types + + if (!$this->imageRepo->isValidType($type)) { + return $this->jsonError(trans('errors.image_upload_type_error')); + } $imageUpload = $request->file('file'); @@ -115,6 +136,7 @@ class ImageController extends Controller return response($e->getMessage(), 500); } + return response()->json($image); } @@ -246,6 +268,4 @@ class ImageController extends Controller $this->imageRepo->destroyImage($image); return response()->json(trans('components.images_deleted')); } - - }