X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/00308ad4ab9302293afd0a65f815feeaca06b626..refs/pull/2734/head:/app/Uploads/ImageService.php diff --git a/app/Uploads/ImageService.php b/app/Uploads/ImageService.php index 5c16827cb..7793aaa01 100644 --- a/app/Uploads/ImageService.php +++ b/app/Uploads/ImageService.php @@ -106,9 +106,9 @@ class ImageService } try { - $storage->put($fullPath, $imageData); - $storage->setVisibility($fullPath, 'public'); + $storage->put($fullPath, $imageData, ['visibility' => 'public']); } catch (Exception $e) { + \Log::error('Error when attempting image upload:' . $e->getMessage()); throw new ImageUploadException(trans('errors.path_not_writable', ['filePath' => $fullPath])); } @@ -139,7 +139,7 @@ class ImageService $name = str_replace(' ', '-', $name); $nameParts = explode('.', $name); $extension = array_pop($nameParts); - $name = implode('.', $nameParts); + $name = implode('-', $nameParts); $name = Str::slug($name); if (strlen($name) === 0) { @@ -190,8 +190,7 @@ class ImageService $thumbData = $this->resizeImage($storage->get($imagePath), $width, $height, $keepRatio); - $storage->put($thumbFilePath, $thumbData); - $storage->setVisibility($thumbFilePath, 'public'); + $storage->put($thumbFilePath, $thumbData, ['visibility' => 'public']); $this->cache->put('images-' . $image->id . '-' . $thumbFilePath, $thumbFilePath, 60 * 60 * 72); @@ -304,22 +303,19 @@ class ImageService * Could be much improved to be more specific but kept it generic for now to be safe. * * Returns the path of the images that would be/have been deleted. - * @param bool $checkRevisions - * @param bool $dryRun - * @param array $types - * @return array */ - public function deleteUnusedImages($checkRevisions = true, $dryRun = true, $types = ['gallery', 'drawio']) + public function deleteUnusedImages(bool $checkRevisions = true, bool $dryRun = true) { - $types = array_intersect($types, ['gallery', 'drawio']); + $types = ['gallery', 'drawio']; $deletedPaths = []; $this->image->newQuery()->whereIn('type', $types) - ->chunk(1000, function ($images) use ($types, $checkRevisions, &$deletedPaths, $dryRun) { + ->chunk(1000, function ($images) use ($checkRevisions, &$deletedPaths, $dryRun) { foreach ($images as $image) { $searchQuery = '%' . basename($image->path) . '%'; $inPage = DB::table('pages') ->where('html', 'like', $searchQuery)->count() > 0; + $inRevision = false; if ($checkRevisions) { $inRevision = DB::table('page_revisions')