@@ -37,6 +37,6 @@ |
||
37 | 37 | } |
38 | 38 | |
39 | 39 | public function isAvailable(FileInfo $file): bool { |
40 | - return (bool)(imagetypes() && IMG_WEBP); |
|
40 | + return (bool) (imagetypes() && IMG_WEBP); |
|
41 | 41 | } |
42 | 42 | } |
@@ -143,7 +143,7 @@ discard block |
||
143 | 143 | */ |
144 | 144 | public function widthTopLeft() { |
145 | 145 | $o = $this->getOrientation(); |
146 | - $this->logger->debug('OC_Image->widthTopLeft() Orientation: ' . $o, ['app' => 'core']); |
|
146 | + $this->logger->debug('OC_Image->widthTopLeft() Orientation: '.$o, ['app' => 'core']); |
|
147 | 147 | switch ($o) { |
148 | 148 | case -1: |
149 | 149 | case 1: |
@@ -167,7 +167,7 @@ discard block |
||
167 | 167 | */ |
168 | 168 | public function heightTopLeft() { |
169 | 169 | $o = $this->getOrientation(); |
170 | - $this->logger->debug('OC_Image->heightTopLeft() Orientation: ' . $o, ['app' => 'core']); |
|
170 | + $this->logger->debug('OC_Image->heightTopLeft() Orientation: '.$o, ['app' => 'core']); |
|
171 | 171 | switch ($o) { |
172 | 172 | case -1: |
173 | 173 | case 1: |
@@ -194,7 +194,7 @@ discard block |
||
194 | 194 | if ($mimeType === null) { |
195 | 195 | $mimeType = $this->mimeType(); |
196 | 196 | } |
197 | - header('Content-Type: ' . $mimeType); |
|
197 | + header('Content-Type: '.$mimeType); |
|
198 | 198 | return $this->_output(null, $mimeType); |
199 | 199 | } |
200 | 200 | |
@@ -212,7 +212,7 @@ discard block |
||
212 | 212 | } |
213 | 213 | if ($filePath === null) { |
214 | 214 | if ($this->filePath === null) { |
215 | - $this->logger->error(__METHOD__ . '(): called with no path.', ['app' => 'core']); |
|
215 | + $this->logger->error(__METHOD__.'(): called with no path.', ['app' => 'core']); |
|
216 | 216 | return false; |
217 | 217 | } else { |
218 | 218 | $filePath = $this->filePath; |
@@ -236,10 +236,10 @@ discard block |
||
236 | 236 | } |
237 | 237 | $isWritable = is_writable(dirname($filePath)); |
238 | 238 | if (!$isWritable) { |
239 | - $this->logger->error(__METHOD__ . '(): Directory \'' . dirname($filePath) . '\' is not writable.', ['app' => 'core']); |
|
239 | + $this->logger->error(__METHOD__.'(): Directory \''.dirname($filePath).'\' is not writable.', ['app' => 'core']); |
|
240 | 240 | return false; |
241 | 241 | } elseif ($isWritable && file_exists($filePath) && !is_writable($filePath)) { |
242 | - $this->logger->error(__METHOD__ . '(): File \'' . $filePath . '\' is not writable.', ['app' => 'core']); |
|
242 | + $this->logger->error(__METHOD__.'(): File \''.$filePath.'\' is not writable.', ['app' => 'core']); |
|
243 | 243 | return false; |
244 | 244 | } |
245 | 245 | } |
@@ -267,7 +267,7 @@ discard block |
||
267 | 267 | $imageType = IMAGETYPE_BMP; |
268 | 268 | break; |
269 | 269 | default: |
270 | - throw new Exception('\OC_Image::_output(): "' . $mimeType . '" is not supported when forcing a specific output format'); |
|
270 | + throw new Exception('\OC_Image::_output(): "'.$mimeType.'" is not supported when forcing a specific output format'); |
|
271 | 271 | } |
272 | 272 | } |
273 | 273 | |
@@ -452,7 +452,7 @@ discard block |
||
452 | 452 | return; |
453 | 453 | } |
454 | 454 | |
455 | - $exif = @exif_read_data('data://image/jpeg;base64,' . base64_encode($data)); |
|
455 | + $exif = @exif_read_data('data://image/jpeg;base64,'.base64_encode($data)); |
|
456 | 456 | if (!$exif) { |
457 | 457 | return; |
458 | 458 | } |
@@ -470,7 +470,7 @@ discard block |
||
470 | 470 | */ |
471 | 471 | public function fixOrientation() { |
472 | 472 | $o = $this->getOrientation(); |
473 | - $this->logger->debug('OC_Image->fixOrientation() Orientation: ' . $o, ['app' => 'core']); |
|
473 | + $this->logger->debug('OC_Image->fixOrientation() Orientation: '.$o, ['app' => 'core']); |
|
474 | 474 | $rotate = 0; |
475 | 475 | $flip = false; |
476 | 476 | switch ($o) { |
@@ -567,7 +567,7 @@ discard block |
||
567 | 567 | imagealphablending($this->resource, true); |
568 | 568 | imagesavealpha($this->resource, true); |
569 | 569 | } else { |
570 | - $this->logger->debug('OC_Image->loadFromFile, GIF images not supported: ' . $imagePath, ['app' => 'core']); |
|
570 | + $this->logger->debug('OC_Image->loadFromFile, GIF images not supported: '.$imagePath, ['app' => 'core']); |
|
571 | 571 | } |
572 | 572 | break; |
573 | 573 | case IMAGETYPE_JPEG: |
@@ -575,10 +575,10 @@ discard block |
||
575 | 575 | if (getimagesize($imagePath) !== false) { |
576 | 576 | $this->resource = @imagecreatefromjpeg($imagePath); |
577 | 577 | } else { |
578 | - $this->logger->debug('OC_Image->loadFromFile, JPG image not valid: ' . $imagePath, ['app' => 'core']); |
|
578 | + $this->logger->debug('OC_Image->loadFromFile, JPG image not valid: '.$imagePath, ['app' => 'core']); |
|
579 | 579 | } |
580 | 580 | } else { |
581 | - $this->logger->debug('OC_Image->loadFromFile, JPG images not supported: ' . $imagePath, ['app' => 'core']); |
|
581 | + $this->logger->debug('OC_Image->loadFromFile, JPG images not supported: '.$imagePath, ['app' => 'core']); |
|
582 | 582 | } |
583 | 583 | break; |
584 | 584 | case IMAGETYPE_PNG: |
@@ -588,21 +588,21 @@ discard block |
||
588 | 588 | imagealphablending($this->resource, true); |
589 | 589 | imagesavealpha($this->resource, true); |
590 | 590 | } else { |
591 | - $this->logger->debug('OC_Image->loadFromFile, PNG images not supported: ' . $imagePath, ['app' => 'core']); |
|
591 | + $this->logger->debug('OC_Image->loadFromFile, PNG images not supported: '.$imagePath, ['app' => 'core']); |
|
592 | 592 | } |
593 | 593 | break; |
594 | 594 | case IMAGETYPE_XBM: |
595 | 595 | if (imagetypes() & IMG_XPM) { |
596 | 596 | $this->resource = @imagecreatefromxbm($imagePath); |
597 | 597 | } else { |
598 | - $this->logger->debug('OC_Image->loadFromFile, XBM/XPM images not supported: ' . $imagePath, ['app' => 'core']); |
|
598 | + $this->logger->debug('OC_Image->loadFromFile, XBM/XPM images not supported: '.$imagePath, ['app' => 'core']); |
|
599 | 599 | } |
600 | 600 | break; |
601 | 601 | case IMAGETYPE_WBMP: |
602 | 602 | if (imagetypes() & IMG_WBMP) { |
603 | 603 | $this->resource = @imagecreatefromwbmp($imagePath); |
604 | 604 | } else { |
605 | - $this->logger->debug('OC_Image->loadFromFile, WBMP images not supported: ' . $imagePath, ['app' => 'core']); |
|
605 | + $this->logger->debug('OC_Image->loadFromFile, WBMP images not supported: '.$imagePath, ['app' => 'core']); |
|
606 | 606 | } |
607 | 607 | break; |
608 | 608 | case IMAGETYPE_BMP: |
@@ -612,7 +612,7 @@ discard block |
||
612 | 612 | if (imagetypes() & IMG_WEBP) { |
613 | 613 | $this->resource = @imagecreatefromwebp($imagePath); |
614 | 614 | } else { |
615 | - $this->logger->debug('OC_Image->loadFromFile, webp images not supported: ' . $imagePath, ['app' => 'core']); |
|
615 | + $this->logger->debug('OC_Image->loadFromFile, webp images not supported: '.$imagePath, ['app' => 'core']); |
|
616 | 616 | } |
617 | 617 | break; |
618 | 618 | /* |
@@ -719,7 +719,7 @@ discard block |
||
719 | 719 | */ |
720 | 720 | private function imagecreatefrombmp($fileName) { |
721 | 721 | if (!($fh = fopen($fileName, 'rb'))) { |
722 | - $this->logger->warning('imagecreatefrombmp: Can not open ' . $fileName, ['app' => 'core']); |
|
722 | + $this->logger->warning('imagecreatefrombmp: Can not open '.$fileName, ['app' => 'core']); |
|
723 | 723 | return false; |
724 | 724 | } |
725 | 725 | // read file header |
@@ -727,7 +727,7 @@ discard block |
||
727 | 727 | // check for bitmap |
728 | 728 | if ($meta['type'] != 19778) { |
729 | 729 | fclose($fh); |
730 | - $this->logger->warning('imagecreatefrombmp: Can not open ' . $fileName . ' is not a bitmap!', ['app' => 'core']); |
|
730 | + $this->logger->warning('imagecreatefrombmp: Can not open '.$fileName.' is not a bitmap!', ['app' => 'core']); |
|
731 | 731 | return false; |
732 | 732 | } |
733 | 733 | // read image header |
@@ -751,7 +751,7 @@ discard block |
||
751 | 751 | $meta['imagesize'] = @filesize($fileName) - $meta['offset']; |
752 | 752 | if ($meta['imagesize'] < 1) { |
753 | 753 | fclose($fh); |
754 | - $this->logger->warning('imagecreatefrombmp: Can not obtain file size of ' . $fileName . ' is not a bitmap!', ['app' => 'core']); |
|
754 | + $this->logger->warning('imagecreatefrombmp: Can not obtain file size of '.$fileName.' is not a bitmap!', ['app' => 'core']); |
|
755 | 755 | return false; |
756 | 756 | } |
757 | 757 | } |
@@ -761,7 +761,7 @@ discard block |
||
761 | 761 | // read color palette |
762 | 762 | $palette = []; |
763 | 763 | if ($meta['bits'] < 16) { |
764 | - $palette = unpack('l' . $meta['colors'], fread($fh, $meta['colors'] * 4)); |
|
764 | + $palette = unpack('l'.$meta['colors'], fread($fh, $meta['colors'] * 4)); |
|
765 | 765 | // in rare cases the color value is signed |
766 | 766 | if ($palette[1] < 0) { |
767 | 767 | foreach ($palette as $i => $color) { |
@@ -774,7 +774,7 @@ discard block |
||
774 | 774 | if ($im == false) { |
775 | 775 | fclose($fh); |
776 | 776 | $this->logger->warning( |
777 | - 'imagecreatefrombmp: imagecreatetruecolor failed for file "' . $fileName . '" with dimensions ' . $meta['width'] . 'x' . $meta['height'], |
|
777 | + 'imagecreatefrombmp: imagecreatetruecolor failed for file "'.$fileName.'" with dimensions '.$meta['width'].'x'.$meta['height'], |
|
778 | 778 | ['app' => 'core']); |
779 | 779 | return false; |
780 | 780 | } |
@@ -783,7 +783,7 @@ discard block |
||
783 | 783 | $p = 0; |
784 | 784 | $vide = chr(0); |
785 | 785 | $y = $meta['height'] - 1; |
786 | - $error = 'imagecreatefrombmp: ' . $fileName . ' has not enough data!'; |
|
786 | + $error = 'imagecreatefrombmp: '.$fileName.' has not enough data!'; |
|
787 | 787 | // loop through the image data beginning with the lower left corner |
788 | 788 | while ($y >= 0) { |
789 | 789 | $x = 0; |
@@ -795,7 +795,7 @@ discard block |
||
795 | 795 | $this->logger->warning($error, ['app' => 'core']); |
796 | 796 | return $im; |
797 | 797 | } |
798 | - $color = @unpack('V', $part . $vide); |
|
798 | + $color = @unpack('V', $part.$vide); |
|
799 | 799 | break; |
800 | 800 | case 16: |
801 | 801 | if (!($part = substr($data, $p, 2))) { |
@@ -807,16 +807,16 @@ discard block |
||
807 | 807 | $color[1] = (($color[1] & 0xf800) >> 8) * 65536 + (($color[1] & 0x07e0) >> 3) * 256 + (($color[1] & 0x001f) << 3); |
808 | 808 | break; |
809 | 809 | case 8: |
810 | - $color = @unpack('n', $vide . ($data[$p] ?? '')); |
|
810 | + $color = @unpack('n', $vide.($data[$p] ?? '')); |
|
811 | 811 | $color[1] = isset($palette[$color[1] + 1]) ? $palette[$color[1] + 1] : $palette[1]; |
812 | 812 | break; |
813 | 813 | case 4: |
814 | - $color = @unpack('n', $vide . ($data[floor($p)] ?? '')); |
|
814 | + $color = @unpack('n', $vide.($data[floor($p)] ?? '')); |
|
815 | 815 | $color[1] = ($p * 2) % 2 == 0 ? $color[1] >> 4 : $color[1] & 0x0F; |
816 | 816 | $color[1] = isset($palette[$color[1] + 1]) ? $palette[$color[1] + 1] : $palette[1]; |
817 | 817 | break; |
818 | 818 | case 1: |
819 | - $color = @unpack('n', $vide . ($data[floor($p)] ?? '')); |
|
819 | + $color = @unpack('n', $vide.($data[floor($p)] ?? '')); |
|
820 | 820 | switch (($p * 8) % 8) { |
821 | 821 | case 0: |
822 | 822 | $color[1] = $color[1] >> 7; |
@@ -847,7 +847,7 @@ discard block |
||
847 | 847 | break; |
848 | 848 | default: |
849 | 849 | fclose($fh); |
850 | - $this->logger->warning('imagecreatefrombmp: ' . $fileName . ' has ' . $meta['bits'] . ' bits and this is not supported!', ['app' => 'core']); |
|
850 | + $this->logger->warning('imagecreatefrombmp: '.$fileName.' has '.$meta['bits'].' bits and this is not supported!', ['app' => 'core']); |
|
851 | 851 | return false; |
852 | 852 | } |
853 | 853 | imagesetpixel($im, $x, $y, $color[1]); |
@@ -880,7 +880,7 @@ discard block |
||
880 | 880 | */ |
881 | 881 | private function resizeNew($maxSize) { |
882 | 882 | if (!$this->valid()) { |
883 | - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); |
|
883 | + $this->logger->error(__METHOD__.'(): No image loaded', ['app' => 'core']); |
|
884 | 884 | return false; |
885 | 885 | } |
886 | 886 | $widthOrig = imagesx($this->resource); |
@@ -895,7 +895,7 @@ discard block |
||
895 | 895 | $newHeight = $maxSize; |
896 | 896 | } |
897 | 897 | |
898 | - return $this->preciseResizeNew((int)round($newWidth), (int)round($newHeight)); |
|
898 | + return $this->preciseResizeNew((int) round($newWidth), (int) round($newHeight)); |
|
899 | 899 | } |
900 | 900 | |
901 | 901 | /** |
@@ -918,14 +918,14 @@ discard block |
||
918 | 918 | */ |
919 | 919 | public function preciseResizeNew(int $width, int $height) { |
920 | 920 | if (!$this->valid()) { |
921 | - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); |
|
921 | + $this->logger->error(__METHOD__.'(): No image loaded', ['app' => 'core']); |
|
922 | 922 | return false; |
923 | 923 | } |
924 | 924 | $widthOrig = imagesx($this->resource); |
925 | 925 | $heightOrig = imagesy($this->resource); |
926 | 926 | $process = imagecreatetruecolor($width, $height); |
927 | 927 | if ($process === false) { |
928 | - $this->logger->error(__METHOD__ . '(): Error creating true color image', ['app' => 'core']); |
|
928 | + $this->logger->error(__METHOD__.'(): Error creating true color image', ['app' => 'core']); |
|
929 | 929 | return false; |
930 | 930 | } |
931 | 931 | |
@@ -938,7 +938,7 @@ discard block |
||
938 | 938 | |
939 | 939 | $res = imagecopyresampled($process, $this->resource, 0, 0, 0, 0, $width, $height, $widthOrig, $heightOrig); |
940 | 940 | if ($res === false) { |
941 | - $this->logger->error(__METHOD__ . '(): Error re-sampling process image', ['app' => 'core']); |
|
941 | + $this->logger->error(__METHOD__.'(): Error re-sampling process image', ['app' => 'core']); |
|
942 | 942 | imagedestroy($process); |
943 | 943 | return false; |
944 | 944 | } |
@@ -994,7 +994,7 @@ discard block |
||
994 | 994 | |
995 | 995 | imagecopyresampled($process, $this->resource, 0, 0, $x, $y, $targetWidth, $targetHeight, $width, $height); |
996 | 996 | if ($process == false) { |
997 | - $this->logger->error('OC_Image->centerCrop, Error re-sampling process image ' . $width . 'x' . $height, ['app' => 'core']); |
|
997 | + $this->logger->error('OC_Image->centerCrop, Error re-sampling process image '.$width.'x'.$height, ['app' => 'core']); |
|
998 | 998 | imagedestroy($process); |
999 | 999 | return false; |
1000 | 1000 | } |
@@ -1030,12 +1030,12 @@ discard block |
||
1030 | 1030 | */ |
1031 | 1031 | public function cropNew(int $x, int $y, int $w, int $h) { |
1032 | 1032 | if (!$this->valid()) { |
1033 | - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); |
|
1033 | + $this->logger->error(__METHOD__.'(): No image loaded', ['app' => 'core']); |
|
1034 | 1034 | return false; |
1035 | 1035 | } |
1036 | 1036 | $process = imagecreatetruecolor($w, $h); |
1037 | 1037 | if ($process == false) { |
1038 | - $this->logger->error(__METHOD__ . '(): Error creating true color image', ['app' => 'core']); |
|
1038 | + $this->logger->error(__METHOD__.'(): Error creating true color image', ['app' => 'core']); |
|
1039 | 1039 | imagedestroy($process); |
1040 | 1040 | return false; |
1041 | 1041 | } |
@@ -1049,7 +1049,7 @@ discard block |
||
1049 | 1049 | |
1050 | 1050 | imagecopyresampled($process, $this->resource, 0, 0, $x, $y, $w, $h, $w, $h); |
1051 | 1051 | if ($process == false) { |
1052 | - $this->logger->error(__METHOD__ . '(): Error re-sampling process image ' . $w . 'x' . $h, ['app' => 'core']); |
|
1052 | + $this->logger->error(__METHOD__.'(): Error re-sampling process image '.$w.'x'.$h, ['app' => 'core']); |
|
1053 | 1053 | imagedestroy($process); |
1054 | 1054 | return false; |
1055 | 1055 | } |
@@ -1067,7 +1067,7 @@ discard block |
||
1067 | 1067 | */ |
1068 | 1068 | public function fitIn($maxWidth, $maxHeight) { |
1069 | 1069 | if (!$this->valid()) { |
1070 | - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); |
|
1070 | + $this->logger->error(__METHOD__.'(): No image loaded', ['app' => 'core']); |
|
1071 | 1071 | return false; |
1072 | 1072 | } |
1073 | 1073 | $widthOrig = imagesx($this->resource); |
@@ -1077,7 +1077,7 @@ discard block |
||
1077 | 1077 | $newWidth = min($maxWidth, $ratio * $maxHeight); |
1078 | 1078 | $newHeight = min($maxHeight, $maxWidth / $ratio); |
1079 | 1079 | |
1080 | - $this->preciseResize((int)round($newWidth), (int)round($newHeight)); |
|
1080 | + $this->preciseResize((int) round($newWidth), (int) round($newHeight)); |
|
1081 | 1081 | return true; |
1082 | 1082 | } |
1083 | 1083 | |
@@ -1090,7 +1090,7 @@ discard block |
||
1090 | 1090 | */ |
1091 | 1091 | public function scaleDownToFit($maxWidth, $maxHeight) { |
1092 | 1092 | if (!$this->valid()) { |
1093 | - $this->logger->error(__METHOD__ . '(): No image loaded', ['app' => 'core']); |
|
1093 | + $this->logger->error(__METHOD__.'(): No image loaded', ['app' => 'core']); |
|
1094 | 1094 | return false; |
1095 | 1095 | } |
1096 | 1096 | $widthOrig = imagesx($this->resource); |
@@ -1196,7 +1196,7 @@ discard block |
||
1196 | 1196 | } elseif ($bit == 32) { |
1197 | 1197 | $bit = 24; |
1198 | 1198 | } |
1199 | - $bits = (int)pow(2, $bit); |
|
1199 | + $bits = (int) pow(2, $bit); |
|
1200 | 1200 | imagetruecolortopalette($im, true, $bits); |
1201 | 1201 | $width = imagesx($im); |
1202 | 1202 | $height = imagesy($im); |
@@ -1205,7 +1205,7 @@ discard block |
||
1205 | 1205 | if ($bit <= 8) { |
1206 | 1206 | for ($i = 0; $i < $colorsNum; $i++) { |
1207 | 1207 | $colors = imagecolorsforindex($im, $i); |
1208 | - $rgbQuad .= chr($colors['blue']) . chr($colors['green']) . chr($colors['red']) . "\0"; |
|
1208 | + $rgbQuad .= chr($colors['blue']).chr($colors['green']).chr($colors['red'])."\0"; |
|
1209 | 1209 | } |
1210 | 1210 | $bmpData = ''; |
1211 | 1211 | if ($compression == 0 || $bit < 8) { |
@@ -1238,7 +1238,7 @@ discard block |
||
1238 | 1238 | $index = imagecolorat($im, $i, $j); |
1239 | 1239 | if ($index !== $lastIndex || $sameNum > 255) { |
1240 | 1240 | if ($sameNum != 0) { |
1241 | - $bmpData .= chr($sameNum) . chr($lastIndex); |
|
1241 | + $bmpData .= chr($sameNum).chr($lastIndex); |
|
1242 | 1242 | } |
1243 | 1243 | $lastIndex = $index; |
1244 | 1244 | $sameNum = 1; |
@@ -1279,15 +1279,15 @@ discard block |
||
1279 | 1279 | $sizeData = strlen($bmpData); |
1280 | 1280 | $colorsNum = 0; |
1281 | 1281 | } |
1282 | - $fileHeader = 'BM' . pack('V3', 54 + $sizeQuad + $sizeData, 0, 54 + $sizeQuad); |
|
1282 | + $fileHeader = 'BM'.pack('V3', 54 + $sizeQuad + $sizeData, 0, 54 + $sizeQuad); |
|
1283 | 1283 | $infoHeader = pack('V3v2V*', 0x28, $width, $height, 1, $bit, $compression, $sizeData, 0, 0, $colorsNum, 0); |
1284 | 1284 | if ($fileName != '') { |
1285 | 1285 | $fp = fopen($fileName, 'wb'); |
1286 | - fwrite($fp, $fileHeader . $infoHeader . $rgbQuad . $bmpData); |
|
1286 | + fwrite($fp, $fileHeader.$infoHeader.$rgbQuad.$bmpData); |
|
1287 | 1287 | fclose($fp); |
1288 | 1288 | return true; |
1289 | 1289 | } |
1290 | - echo $fileHeader . $infoHeader . $rgbQuad . $bmpData; |
|
1290 | + echo $fileHeader.$infoHeader.$rgbQuad.$bmpData; |
|
1291 | 1291 | return true; |
1292 | 1292 | } |
1293 | 1293 | } |