]> BookStack Code Mirror - bookstack/commitdiff
Merge branch 'TBK-validation_fixes'
authorDan Brown <redacted>
Sat, 14 Mar 2020 12:46:01 +0000 (12:46 +0000)
committerDan Brown <redacted>
Sat, 14 Mar 2020 12:46:01 +0000 (12:46 +0000)
app/Http/Controllers/BookController.php
app/Http/Controllers/BookshelfController.php
app/Http/Controllers/Images/GalleryImageController.php
app/Http/Controllers/SettingController.php
app/Http/Controllers/UserController.php
app/Uploads/ImageRepo.php

index e7d788d91dde01b78fdd158035fe07fd6cd5f54e..bddfe3f6db005ceb8aa5857d4e44dcb399d57f17 100644 (file)
@@ -86,7 +86,7 @@ class BookController extends Controller
         $this->validate($request, [
             'name' => 'required|string|max:255',
             'description' => 'string|max:1000',
-            'image' => $this->getImageValidationRules(),
+            'image' => 'nullable|' . $this->getImageValidationRules(),
         ]);
 
         $bookshelf = null;
@@ -153,7 +153,7 @@ class BookController extends Controller
         $this->validate($request, [
             'name' => 'required|string|max:255',
             'description' => 'string|max:1000',
-            'image' => $this->getImageValidationRules(),
+            'image' => 'nullable|' . $this->getImageValidationRules(),
         ]);
 
         $book = $this->bookRepo->update($book, $request->all());
index c882ca7c32cf0521053d0afd84d48ab02b1ff7cf..a0e9b719939727feebe89020606638bf34217963 100644 (file)
@@ -85,7 +85,7 @@ class BookshelfController extends Controller
         $this->validate($request, [
             'name' => 'required|string|max:255',
             'description' => 'string|max:1000',
-            'image' => $this->getImageValidationRules(),
+            'image' => 'nullable|' . $this->getImageValidationRules(),
         ]);
 
         $bookIds = explode(',', $request->get('books', ''));
@@ -146,7 +146,7 @@ class BookshelfController extends Controller
         $this->validate($request, [
             'name' => 'required|string|max:255',
             'description' => 'string|max:1000',
-            'image' => $this->imageRepo->getImageValidationRules(),
+            'image' => 'nullable|' . $this->getImageValidationRules(),
         ]);
 
 
index fd52ffd3fb6eaa30466345b2a08e60c0227ba009..e506215ca43b919a9d79d4b6ba743f33c39e13ca 100644 (file)
@@ -48,7 +48,7 @@ class GalleryImageController extends Controller
     {
         $this->checkPermission('image-create-all');
         $this->validate($request, [
-            'file' => $this->imageRepo->getImageValidationRules()
+            'file' => $this->getImageValidationRules()
         ]);
 
         try {
index 00dd60ac759b5a005522c2e7b2b504a36bfa9107..feb6521f3a69a68bedbe4573d1edfac098da01aa 100644 (file)
@@ -44,7 +44,7 @@ class SettingController extends Controller
         $this->preventAccessInDemoMode();
         $this->checkPermission('settings-manage');
         $this->validate($request, [
-            'app_logo' => $this->imageRepo->getImageValidationRules(),
+            'app_logo' => 'nullable|' . $this->getImageValidationRules(),
         ]);
 
         // Cycles through posted settings and update them
@@ -57,7 +57,7 @@ class SettingController extends Controller
         }
 
         // Update logo image if set
-        if ($request->has('app_logo')) {
+        if ($request->hasFile('app_logo')) {
             $logoFile = $request->file('app_logo');
             $this->imageRepo->destroyByType('system');
             $image = $this->imageRepo->saveNew($logoFile, 'system', 0, null, 86);
index 207466f388fa5e8faaecdca2838f7186d7ca7cf4..55a4610bcbdd3052acdeab15d28e707df0677e48 100644 (file)
@@ -155,7 +155,7 @@ class UserController extends Controller
             'password'         => 'min:6|required_with:password_confirm',
             'password-confirm' => 'same:password|required_with:password',
             'setting'          => 'array',
-            'profile_image'    => $this->imageRepo->getImageValidationRules(),
+            'profile_image'    => 'nullable|' . $this->getImageValidationRules(),
         ]);
 
         $user = $this->userRepo->getById($id);
@@ -191,7 +191,7 @@ class UserController extends Controller
         }
 
         // Save profile image if in request
-        if ($request->has('profile_image')) {
+        if ($request->hasFile('profile_image')) {
             $imageUpload = $request->file('profile_image');
             $this->imageRepo->destroyImage($user->avatar);
             $image = $this->imageRepo->saveNew($imageUpload, 'user', $user->id);
index 01b65f882698933b54f66ba51dcee3f885aaf5cc..981c046730d7dc7c805475fc9c04252ce042c0ce 100644 (file)
@@ -219,12 +219,4 @@ class ImageRepo
             return null;
         }
     }
-
-    /**
-     * Get the validation rules for image files.
-     */
-    public function getImageValidationRules(): string
-    {
-        return 'image_extension|no_double_extension|mimes:jpeg,png,gif,bmp,webp,tiff';
-    }
 }