diff --git a/lib/private/legacy/OC_Image.php b/lib/private/legacy/OC_Image.php index 3988eb8eaa50c..a212d6390848c 100644 --- a/lib/private/legacy/OC_Image.php +++ b/lib/private/legacy/OC_Image.php @@ -103,10 +103,8 @@ public function __construct($imageRef = null, \OCP\ILogger $logger = null, \OCP\ * @return bool */ public function valid() { - if (is_resource($this->resource)) { - return true; - } - if (is_object($this->resource) && get_class($this->resource) === \GdImage::class) { + if ((is_resource($this->resource) && get_resource_type($this->resource) === 'gd') || + (is_object($this->resource) && get_class($this->resource) === \GdImage::class)) { return true; } @@ -486,7 +484,7 @@ public function readExif($data) { */ public function fixOrientation() { if (!$this->valid()) { - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']); return false; } $o = $this->getOrientation(); @@ -994,7 +992,7 @@ private function imagecreatefrombmp($fileName) { */ public function resize($maxSize) { if (!$this->valid()) { - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']); return false; } $result = $this->resizeNew($maxSize); @@ -1009,7 +1007,7 @@ public function resize($maxSize) { */ private function resizeNew($maxSize) { if (!$this->valid()) { - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']); return false; } $widthOrig = imagesx($this->resource); @@ -1034,7 +1032,7 @@ private function resizeNew($maxSize) { */ public function preciseResize(int $width, int $height): bool { if (!$this->valid()) { - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']); return false; } $result = $this->preciseResizeNew($width, $height); @@ -1055,14 +1053,14 @@ public function preciseResizeNew(int $width, int $height) { return false; } if (!$this->valid()) { - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']); return false; } $widthOrig = imagesx($this->resource); $heightOrig = imagesy($this->resource); $process = imagecreatetruecolor($width, $height); if ($process === false) { - $this->logger->error(__METHOD__ . '(): Error creating true color image', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): Error creating true color image', ['app' => 'core']); return false; } @@ -1075,7 +1073,7 @@ public function preciseResizeNew(int $width, int $height) { $res = imagecopyresampled($process, $this->resource, 0, 0, 0, 0, $width, $height, $widthOrig, $heightOrig); if ($res === false) { - $this->logger->error(__METHOD__ . '(): Error re-sampling process image', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): Error re-sampling process image', ['app' => 'core']); imagedestroy($process); return false; } @@ -1090,7 +1088,7 @@ public function preciseResizeNew(int $width, int $height) { */ public function centerCrop($size = 0) { if (!$this->valid()) { - $this->logger->error('OC_Image->centerCrop, No image loaded', ['app' => 'core']); + $this->logger->debug('OC_Image->centerCrop, No image loaded', ['app' => 'core']); return false; } $widthOrig = imagesx($this->resource); @@ -1117,7 +1115,7 @@ public function centerCrop($size = 0) { } $process = imagecreatetruecolor($targetWidth, $targetHeight); if ($process === false) { - $this->logger->error('OC_Image->centerCrop, Error creating true color image', ['app' => 'core']); + $this->logger->debug('OC_Image->centerCrop, Error creating true color image', ['app' => 'core']); return false; } @@ -1130,7 +1128,7 @@ public function centerCrop($size = 0) { imagecopyresampled($process, $this->resource, 0, 0, $x, $y, $targetWidth, $targetHeight, $width, $height); if ($process === false) { - $this->logger->error('OC_Image->centerCrop, Error re-sampling process image ' . $width . 'x' . $height, ['app' => 'core']); + $this->logger->debug('OC_Image->centerCrop, Error re-sampling process image ' . $width . 'x' . $height, ['app' => 'core']); return false; } imagedestroy($this->resource); @@ -1149,7 +1147,7 @@ public function centerCrop($size = 0) { */ public function crop(int $x, int $y, int $w, int $h): bool { if (!$this->valid()) { - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']); return false; } $result = $this->cropNew($x, $y, $w, $h); @@ -1169,12 +1167,12 @@ public function crop(int $x, int $y, int $w, int $h): bool { */ public function cropNew(int $x, int $y, int $w, int $h) { if (!$this->valid()) { - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']); return false; } $process = imagecreatetruecolor($w, $h); if ($process === false) { - $this->logger->error(__METHOD__ . '(): Error creating true color image', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): Error creating true color image', ['app' => 'core']); return false; } @@ -1187,7 +1185,7 @@ public function cropNew(int $x, int $y, int $w, int $h) { imagecopyresampled($process, $this->resource, 0, 0, $x, $y, $w, $h, $w, $h); if ($process === false) { - $this->logger->error(__METHOD__ . '(): Error re-sampling process image ' . $w . 'x' . $h, ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): Error re-sampling process image ' . $w . 'x' . $h, ['app' => 'core']); return false; } return $process; @@ -1204,7 +1202,7 @@ public function cropNew(int $x, int $y, int $w, int $h) { */ public function fitIn($maxWidth, $maxHeight) { if (!$this->valid()) { - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']); return false; } $widthOrig = imagesx($this->resource); @@ -1227,7 +1225,7 @@ public function fitIn($maxWidth, $maxHeight) { */ public function scaleDownToFit($maxWidth, $maxHeight) { if (!$this->valid()) { - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); + $this->logger->debug(__METHOD__ . '(): No image loaded', ['app' => 'core']); return false; } $widthOrig = imagesx($this->resource);