use cache data we already have to check if a thumbnail of specific size is cached
This commit is contained in:
parent
52d4495793
commit
9925ff33f1
|
@ -479,7 +479,7 @@ class Preview {
|
||||||
$preview = $this->buildCachePath($fileId, $previewWidth, $previewHeight);
|
$preview = $this->buildCachePath($fileId, $previewWidth, $previewHeight);
|
||||||
|
|
||||||
// This checks if we have a preview of those exact dimensions in the cache
|
// This checks if we have a preview of those exact dimensions in the cache
|
||||||
if ($this->userView->file_exists($preview)) {
|
if ($this->thumbnailSizeExists($allThumbnails, $previewWidth, $previewHeight)) {
|
||||||
return $preview;
|
return $preview;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -524,6 +524,29 @@ class Preview {
|
||||||
return [$maxPreviewX, $maxPreviewY];
|
return [$maxPreviewX, $maxPreviewY];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a specific thumbnail size is cached
|
||||||
|
*
|
||||||
|
* @param FileInfo[] $allThumbnails the list of all our cached thumbnails
|
||||||
|
* @param int $width
|
||||||
|
* @param int $height
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
private function thumbnailSizeExists($allThumbnails, $width, $height) {
|
||||||
|
|
||||||
|
foreach ($allThumbnails as $thumbnail) {
|
||||||
|
$name = $thumbnail['name'];
|
||||||
|
if (strpos($name, 'max')) {
|
||||||
|
list($cachedWidth, $cachedHeight) = $this->getDimensionsFromFilename($name);
|
||||||
|
if ($cachedWidth === $width && $cachedHeight === $height) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines the size of the preview we should be looking for in the cache
|
* Determines the size of the preview we should be looking for in the cache
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue