<?php namespace BookStack\Repos;
-
use BookStack\Image;
use BookStack\Page;
use BookStack\Services\ImageService;
use BookStack\Services\PermissionService;
-use Illuminate\Contracts\Filesystem\FileNotFoundException;
-use Setting;
use Symfony\Component\HttpFoundation\File\UploadedFile;
class ImageRepo
* @param string $searchTerm
* @return array
*/
- public function searchPaginatedByType($type, $page = 0, $pageSize = 24, $searchTerm)
+ public function searchPaginatedByType($type, $searchTerm, $page = 0, $pageSize = 24)
{
$images = $this->image->where('type', '=', strtolower($type))->where('name', 'LIKE', '%' . $searchTerm . '%');
return $this->returnPaginated($images, $page, $pageSize);
/**
* Get gallery images with a particular filter criteria such as
* being within the current book or page.
- * @param int $pagination
- * @param int $pageSize
* @param $filter
* @param $pageId
+ * @param int $pageNum
+ * @param int $pageSize
* @return array
*/
- public function getGalleryFiltered($pagination = 0, $pageSize = 24, $filter, $pageId)
+ public function getGalleryFiltered($filter, $pageId, $pageNum = 0, $pageSize = 24)
{
$images = $this->image->where('type', '=', 'gallery');
$images = $images->whereIn('uploaded_to', $validPageIds);
}
- return $this->returnPaginated($images, $pagination, $pageSize);
+ return $this->returnPaginated($images, $pageNum, $pageSize);
}
/**
public function saveDrawing(string $base64Uri, int $uploadedTo)
{
$name = 'Drawing-' . user()->getShortName(40) . '-' . strval(time()) . '.png';
- $image = $this->imageService->saveNewFromBase64Uri($base64Uri, $name, 'drawing', $uploadedTo);
+ $image = $this->imageService->saveNewFromBase64Uri($base64Uri, $name, 'drawio', $uploadedTo);
return $image;
}
* Get the thumbnail for an image.
* If $keepRatio is true only the width will be used.
* Checks the cache then storage to avoid creating / accessing the filesystem on every check.
- *
* @param Image $image
* @param int $width
* @param int $height
{
try {
return $this->imageService->getThumbnail($image, $width, $height, $keepRatio);
- } catch (FileNotFoundException $exception) {
- $image->delete();
- return [];
+ } catch (\Exception $exception) {
+ return null;
}
}
}
}
-
-}
\ No newline at end of file
+ /**
+ * Check if the provided image type is valid.
+ * @param $type
+ * @return bool
+ */
+ public function isValidType($type)
+ {
+ $validTypes = ['drawing', 'gallery', 'cover', 'system', 'user'];
+ return in_array($type, $validTypes);
+ }
+}